#
cb32a134 |
| 28-Oct-2017 |
pgoyette <pgoyette@NetBSD.org> |
Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
show more ...
|
#
fd34ea77 |
| 01-Jun-2017 |
chs <chs@NetBSD.org> |
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
al
remove checks for failure after memory allocation calls that cannot fail:
kmem_alloc() with KM_SLEEP kmem_zalloc() with KM_SLEEP percpu_alloc() pserialize_create() psref_class_create()
all of these paths include an assertion that the allocation has not failed, so callers should not assert that again.
show more ...
|
#
a7c71d30 |
| 25-Nov-2016 |
skrll <skrll@NetBSD.org> |
+#include "opt_usb.h"
|
#
990b8eeb |
| 13-Sep-2016 |
skrll <skrll@NetBSD.org> |
tiny KNF
|
#
4e8e6643 |
| 23-Apr-2016 |
skrll <skrll@NetBSD.org> |
Merge nick-nhusb
- API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debu
Merge nick-nhusb
- API / infrastructure changes to support memory management changes. - Memory management improvements and bug fixes. - HCDs should now be MP safe - conversion to KERNHIST based debug - FS/LS isoc support on ehci(4). - conversion to kmem(9) - Some USB 3 support - mostly from Takahiro HAYASHI (t-hash). - interrupt transfers now get proper DMA operations - general bug fixes - kern/48308 - uhub status notification improvements - umass(4) probe fix (applied to HEAD already) - ohci(4) short transfer fix
show more ...
|
#
34951976 |
| 13-Mar-2016 |
skrll <skrll@NetBSD.org> |
KNF
|
#
970a1b8e |
| 16-Feb-2016 |
skrll <skrll@NetBSD.org> |
Re-enable the TT support that existed previously.
|
#
178de586 |
| 05-Feb-2016 |
skrll <skrll@NetBSD.org> |
Use the port status straight after the reset and not after the
usbd_clear_port_feature(dev, port, UHF_C_PORT_RESET)
The Gadget USB HUB in the IBM x3250 sborrill sent me returns the wrong status an
Use the port status straight after the reset and not after the
usbd_clear_port_feature(dev, port, UHF_C_PORT_RESET)
The Gadget USB HUB in the IBM x3250 sborrill sent me returns the wrong status and this would appear to leave the attached cdce(4) in the default state. The next device probed fails as a result.
show more ...
|
#
fc18aa93 |
| 28-Mar-2015 |
skrll <skrll@NetBSD.org> |
Improve DPRINTFs - partially from Takahiro HAYASHI
|
#
8e89cd3c |
| 26-Mar-2015 |
skrll <skrll@NetBSD.org> |
Note the uhub the DPRINTF is about in many cases
|
#
9602c03f |
| 26-Mar-2015 |
skrll <skrll@NetBSD.org> |
Convert to USBHIST. Inspired by patch from Takahiro HAYASHI
|
#
16737816 |
| 13-Aug-2014 |
skrll <skrll@NetBSD.org> |
SS device detection needs more work. #if 0 previous attempt for now.
PR/49106: panic: ehci_open: bad device speed 4
|
#
be08e709 |
| 12-Aug-2014 |
skrll <skrll@NetBSD.org> |
Some USB3 / SS support - baby steps. From Takahiro HAYASHI.
|
#
e318f27f |
| 15-Sep-2013 |
martin <martin@NetBSD.org> |
Remove unused variable
|
#
777d27f6 |
| 25-Jun-2013 |
jakllsch <jakllsch@NetBSD.org> |
Spell "Windows 98" not-incorrectly in comment.
|
#
6f856c0a |
| 22-Jan-2013 |
jmcneill <jmcneill@NetBSD.org> |
uhub is mpsafe
|
#
38f4ff5b |
| 05-Jan-2013 |
christos <christos@NetBSD.org> |
fix debug variables. - include opt_usb.h in usb.h so that USB_DEBUG gets set properly in it. - normalize and sort debugging variables
|
#
3039e3a5 |
| 05-Jan-2013 |
christos <christos@NetBSD.org> |
- need opt_usb.h if depending on USB_DEBUG - remove trailing whitespace - add missing KERNEL_RCSID
|
#
0228517d |
| 14-Nov-2012 |
skrll <skrll@NetBSD.org> |
Fix function name in DPRINTF
|
#
b942a7ea |
| 09-Sep-2012 |
gsutre <gsutre@NetBSD.org> |
In uhub_childdet, do not free the array of sub-devices if there is none. This prevents a kernel panic at shutdown on my laptop.
|
#
c59438a7 |
| 12-Mar-2012 |
mrg <mrg@NetBSD.org> |
take the kernel lock a few more places when doing detach, to avoid triggering KERNEL_LOCK_P() asserts in both scsi and usb code.
with this and other recent fixes i can now "drvctl -d ehci0".
|
#
7ced092c |
| 09-Mar-2012 |
jakllsch <jakllsch@NetBSD.org> |
Restore parts of uhub_explore() needed to make usb_needs_reattach() work.
|
#
1d982e33 |
| 05-Mar-2012 |
sborrill <sborrill@NetBSD.org> |
not enable -> not enabled
|
#
39d42788 |
| 09-Jun-2011 |
matt <matt@NetBSD.org> |
Move EHCI_DEBUG, OHCI_DEBUG, UHCI_DEBUG, USB_DEBUG, UHUB_DEBUG to opt_usb.h (ya dependencies). Cleanup usb_mem.c a little more and add block tracking code. Help find corruption problems. Comment out
Move EHCI_DEBUG, OHCI_DEBUG, UHCI_DEBUG, USB_DEBUG, UHUB_DEBUG to opt_usb.h (ya dependencies). Cleanup usb_mem.c a little more and add block tracking code. Help find corruption problems. Comment out the SPEED check for ETTF. XXX why doesn't that work right?
show more ...
|
#
006e5dde |
| 29-May-2011 |
jmcneill <jmcneill@NetBSD.org> |
When a child device is detached and no interfaces are claimed by drivers, free the port's subdevice list. This allows for detaching a driver from a USB device and loading a different one without disc
When a child device is detached and no interfaces are claimed by drivers, free the port's subdevice list. This allows for detaching a driver from a USB device and loading a different one without disconnecting the device.
show more ...
|