summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-14unbreak test for recent ssh de-duplicated forwarding changeDamien Miller
2016-04-14for .Xr links, use short PATH_INFO style URIsIngo Schwarze
2016-04-14add test knob and warning for StrictModesDamien Miller
2016-04-14Fix a process group race.Ingo Schwarze
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@.
2016-04-14do not rewrite short URIsIngo Schwarze
2016-04-14Add 'sentence-end-double-space'.Mark Lumsden
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@
2016-04-14Enable write buffering with write merging. This improves overallVisa Hankala
performance notably. Discussed with Miod long ago Tested by and ok jasper@
2016-04-14Enable UART FIFOs.Visa Hankala
2016-04-14Wrap comintr() so that the interrupt handler always returns non-zero.Visa Hankala
This prevents console clutter about spurious UART interrupts.
2016-04-14shorten the io path slightlyDavid Gwynne
2016-04-14nvme tweaks;Jason McIntyre
2016-04-14add nvme(4)David Gwynne
2016-04-14nvme(4) is a driverDavid Gwynne
2016-04-14apparently it's spelled NVMe, not NVMEDavid Gwynne
2016-04-14provide a shutdown hook that follows the procedure in the docsDavid Gwynne
2016-04-14implement translation of scsi SYNC CACHE to nvme FLUSHDavid Gwynne
2016-04-14bump openings to 64 to match the number of ccbs.David Gwynne
still a bit magical, but good enough for now.
2016-04-14Enable device cloning for bpf. This allows to have just one bpf deviceMartin Natano
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
2016-04-14Re-enable pckbd on resume (similar to what we do on boot). Fixes problemsMike Larkin
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.
2016-04-14Use cpuid function 0xa to determine presence of general purposeMike Larkin
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@
2016-04-14if io needs more than two prpe slots, overflow into the ccb prplDavid Gwynne
this should be enough to make io reliable
2016-04-14reallocate the ccbs after we figure out how big the sgls can beDavid Gwynne
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.
2016-04-14set the scsi status to SCSI_OKDavid Gwynne
2016-04-14allocate dma memory for ccbs to use as prpe listsDavid Gwynne
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.
2016-04-14dont attach if the min nvme page size is bigger than the cpu page sizeDavid Gwynne
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.
2016-04-14dont complete scsi writes twiceDavid Gwynne
it ends up being a use after free, which disagrees with the midlayer.
2016-04-14WAITOK for the dmamap create for ccbs tooDavid Gwynne
again, only called during autoconf which is a kind of process context.
2016-04-14cut the memory for io buffers up into page sized chunksDavid Gwynne
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.
2016-04-14check both the admin and io queue for completions in the interrupt handlerDavid Gwynne
this means we'll notice io completions.
2016-04-14dont put names in arguments.David Gwynne
2016-04-14tabs, not spacesDavid Gwynne
2016-04-13Revert the recent changes to pledge.2.Theo Buehler
Requested by deraadt@
2016-04-13implement handling of scsi reads and writesDavid Gwynne
ive only tested reads, and not very big ones. nvme 1.0 has a very stupid/naive idea about what constitutes a scatter gather list. it assumes io is in whole pages in memory, but i dont know if that is true in our kernel. this could be cleaned up a bit, and it currently runs with a single opening for the whole scsi layer and a bunch of magic values for the size and number of the io queues.
2016-04-13Use the correct iv and counter when decrypting the ciphertext forJoel Sing
EVP_aead_chacha20_poly1305_ietf().
2016-04-13After opening an AEAD, ensure that the decrypted output matches theJoel Sing
plaintext for the regress test case.
2016-04-13enable interrupts before attaching the scsibusDavid Gwynne
2016-04-13allocate a queue for io commands and tell the chip about it.David Gwynne
this is necessary to run reads and writes against the device.
2016-04-13nvme_q_create() issues the commands to tell the chip about io queuesDavid Gwynne
2016-04-13stub out handling of TEST_UNIT_READY, PREVENT_ALLOW, and START_STOPDavid Gwynne
at the moment this just pretends the commands completed fine.
2016-04-13implement handling of scsi read capacity commandsDavid Gwynne
read cap 16 claims the devices are thin.
2016-04-13implement basic scsi inquiry handlingDavid Gwynne
most values are as per the nvm to scsi mapping guide. this doesnt do vpd at all, so no devids or serial numbers just yet.
2016-04-13Give manuals in purely numerical sections priority over manuals ofIngo Schwarze
the same name in sections with an alphabetical suffix; same logic as in main.c rev. 1.171.
2016-04-13provide variants of the sqe struct for q creation and io operationsDavid Gwynne
2016-04-13implement the guts of the scsi probe and free functionDavid Gwynne
probe issues a namespace identify against the "target". if it works it stashes a copy of the info, otherwise it tells the midlayer to avoid it. free gets rid of the stashed info.
2016-04-13implement the namespace identify structureDavid Gwynne
2016-04-13the io command setDavid Gwynne
2016-04-13wire up the scsi midlayer. scsibus should appear after this.David Gwynne
2016-04-13Give manuals in purely numerical sections priority over manuals ofIngo Schwarze
the same name in sections with an alphabetical suffix (on OpenBSD, mostly 3p), restoring behaviour of the traditional BSD man(1) that got lost in the switch to the mandoc-based implementation. Issue reported by jsg@, using an idea by mikeb@ for the solution, and at least afresh1@ and jasper@ also seem in favour of the direction.
2016-04-13allocate an array of things to hold info about namespacesDavid Gwynne
so far the only useful info is namespace identify info
2016-04-13stash the controller identify and number of namespaces in the softc.David Gwynne
the nn is used to size the scsi bus, and the controller identify is used to build responses for various scsi commands.