OpenBSD src changes summary for 2016-04-14 ==========================================
regress/usr.bin share/man sys/arch/amd64/amd64 sys/arch/i386/i386 sys/arch/octeon/dev sys/arch/octeon/octeon sys/dev/ic sys/dev/pci sys/dev/pckbc sys/net sys/sys usr.bin/mandoc usr.bin/mg == regress =========================================================== 01/04 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/regress usr.bin ~ ssh/test-exec.sh > add test knob and warning for StrictModes (djm@) ~ ssh/forwarding.sh > unbreak test for recent ssh de-duplicated forwarding change (djm@) == share ============================================================= 02/04 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/share man + man4/nvme.4 > nvme(4) is a driver (dlg@) ~ man4/Makefile > add nvme(4) (dlg@) ~ man4/nvme.4 ~ man4/pci.4 > nvme tweaks; (jmc@) == sys =============================================================== 03/04 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys arch/amd64/amd64 ~ pctr.c > Use cpuid function 0xa to determine presence of general purpose > architectural performance counters, instead of cpu family/model values. > Fixes a panic seen on some hypervisors when pctr(1) is used when the > hypervisor masks out the counters. > Reported by Hiltjo Posthuma, thanks. > ok mikeb@, guenther@ (mlarkin@) arch/i386/i386 ~ pctr.c > Use cpuid function 0xa to determine presence of general purpose > architectural performance counters, instead of cpu family/model values. > Fixes a panic seen on some hypervisors when pctr(1) is used when the > hypervisor masks out the counters. > Reported by Hiltjo Posthuma, thanks. > ok mikeb@, guenther@ (mlarkin@) arch/octeon/dev ~ cn30xxuart.c > Wrap comintr() so that the interrupt handler always returns non-zero. > This prevents console clutter about spurious UART interrupts. (visa@) ~ cn30xxuart.c > Enable UART FIFOs. (visa@) arch/octeon/octeon ~ locore.S > Enable write buffering with write merging. This improves overall > performance notably. > Discussed with Miod long ago > Tested by and ok jasper@ (visa@) dev/ic ~ nvmevar.h > tabs, not spaces (dlg@) ~ nvme.c > dont put names in arguments. (dlg@) ~ nvme.c > check both the admin and io queue for completions in the interrupt handler > this means we'll notice io completions. (dlg@) ~ nvme.c > cut the memory for io buffers up into page sized chunks > nvme 1.0 does not use conventional scatter gather lists of > address+length pairs. instead, it simply expects a list of page > addresses. this should be ok if we only feed it single VA chunks > which map directly to only whole physical pages. > nvme 1.1 introduced another scather format, but still accepts the > 1.0 format too. we'll stick to the 1.0 format so we can support 1.0 > devs. (dlg@) ~ nvme.c > WAITOK for the dmamap create for ccbs too > again, only called during autoconf which is a kind of process context. > (dlg@) ~ nvme.c > dont complete scsi writes twice > it ends up being a use after free, which disagrees with the midlayer. > (dlg@) ~ nvme.c > dont attach if the min nvme page size is bigger than the cpu page size > nvme and the host cpu need to agree on the page size because its > the implicit size of the elements in the chips scatter gather lists. > if the min nvme size is greater than the cpus page size then we > cant guarantee that io buffers are contig for nvme pages. > nvme 1.1 provides an alternative sgl mechanism, so if this really > becomes a problem in the future we can fix it on 1.1 and later > devices. (dlg@) ~ nvme.c > allocate dma memory for ccbs to use as prpe lists > prpe is short for Physical Region Page Entry. this is where long > lists of dma regions go when they wont fit into a submission queue > entry. (dlg@) ~ nvme.c > set the scsi status to SCSI_OK (dlg@) ~ nvme.c > reallocate the ccbs after we figure out how big the sgls can be > we run with 2 entries for the nvme controller identify, and then bump it > up to cover the maxphys divided by the page size we negotiate. (dlg@) ~ nvme.c > if io needs more than two prpe slots, overflow into the ccb prpl > this should be enough to make io reliable (dlg@) ~ nvme.c > bump openings to 64 to match the number of ccbs. > still a bit magical, but good enough for now. (dlg@) ~ nvme.c > implement translation of scsi SYNC CACHE to nvme FLUSH (dlg@) ~ nvmevar.h ~ nvmereg.h ~ nvme.c > provide a shutdown hook that follows the procedure in the docs (dlg@) ~ nvme.c > apparently it's spelled NVMe, not NVME (dlg@) ~ nvme.c > shorten the io path slightly (dlg@) dev/pci ~ nvme_pci.c > provide a shutdown hook that follows the procedure in the docs (dlg@) dev/pckbc ~ pckbd.c > Re-enable pckbd on resume (similar to what we do on boot). Fixes problems > on (at least) various HP laptops that previously had no working keyboard > after resuming from 'zzz'. > Reported by Aleksandar Lakic, who also verified several versions of the > diff during development, thanks. > discussed with miod and kettenis, tested by many others on tech@ - thanks. > (mlarkin@) net ~ bpf.c > Enable device cloning for bpf. This allows to have just one bpf device > node in /dev, that services all bpf consumers (up to 1024). Also, > disallow the usage of all but the first minor device, so accidental use > of another minor device will attract attention. > Cloning bpf offers some advantages: > - Users with high bpf usage won't have to clutter their /dev with device > nodes. > - A lot of programs in base use a pattern like this to acces bpf: > int fd, n = 0; > do { > (void)snprintf(device, sizeof device, "/dev/bpf%d", n++); > fd = open(device, mode); > } while (fd < 0 && errno == EBUSY); > Those can now be replaced by a simple open(), without loop. > ok mikeb > "right time in the cycle to try" deraadt (natano@) sys ~ conf.h > Enable device cloning for bpf. This allows to have just one bpf device > node in /dev, that services all bpf consumers (up to 1024). Also, > disallow the usage of all but the first minor device, so accidental use > of another minor device will attract attention. > Cloning bpf offers some advantages: > - Users with high bpf usage won't have to clutter their /dev with device > nodes. > - A lot of programs in base use a pattern like this to acces bpf: > int fd, n = 0; > do { > (void)snprintf(device, sizeof device, "/dev/bpf%d", n++); > fd = open(device, mode); > } while (fd < 0 && errno == EBUSY); > Those can now be replaced by a simple open(), without loop. > ok mikeb > "right time in the cycle to try" deraadt (natano@) == usr.bin =========================================================== 04/04 == http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin mandoc ~ cgi.c > do not rewrite short URIs (schwarze@) ~ main.c > Fix a process group race. > It could occasionally happen that the child process spawned less(1) > before the parent process passed the control of the terminal to the > child, and in that case, less(1) sometimes complained "Stopped (tty > output)". Issue reported by naddy@. (schwarze@) ~ cgi.c > for .Xr links, use short PATH_INFO style URIs (schwarze@) mg ~ def.h ~ funmap.c ~ main.c ~ mg.1 ~ paragraph.c > Add 'sentence-end-double-space'. > If you prefer "lighter" punctuation and one space between sentences, > for example: > Mr and Mrs Jones are from the UK. They arrived today. > over more liberal use of full stops and double spaces between > sentences: > Mr. and Mrs. Jones are from the U.K. They arrived today. > then toggling 'sentence-end-double-space' will make mg's > fill-paragraph function format text using one space instead of two > (the default) between sentences. However, be careful, should you have > a double spaced document and accidentally "format" it to have single > spaces, then you may have a problem. mg won't be able to revert the > formatting for you (unless you have a previous version of the text in > the "undo" history, or are using mg's backup facility and haven't > opened and saved multiple times!). > Comments from schwarze@ (lum@) =============================================================================== _______________________________________________ odc mailing list [email protected] http://www.squish.net/mailman/listinfo/odc
