Module Name: src Committed By: mrg Date: Sat Apr 17 01:53:58 UTC 2021
Modified Files: src/sys/arch/aarch64/aarch64: pmap.c src/sys/dev/usb: usbhist.h src/sys/sys: biohist.h kernhist.h src/sys/uvm: uvm_map.c uvm_pdaemon.c uvm_stat.h src/sys/uvm/pmap: pmap.c Log Message: remove KERNHIST_INIT_STATIC(). it stradles the line between usable early in boot and broken early in boot by requiring a partly static structure with another structure that must be present by the time any uses are performed. theoretically platform code could allocate a chunk while seting up memory and assign it here, giving a dynamic sizing for the entry list, but the reality is that all users have a statically allocated entry list as well. the existing KERNHIST_LINK_STATIC() is used in conjunction with KERNHIST_INITIALIZER() instead. this stops a NULL pointer deref when the _LOG() macro is called before the storage is linked in, which happens with GCC 10 on OCTEON with UVMHIST enabled, crashing in very early kernel init. To generate a diff of this commit: cvs rdiff -u -r1.103 -r1.104 src/sys/arch/aarch64/aarch64/pmap.c cvs rdiff -u -r1.6 -r1.7 src/sys/dev/usb/usbhist.h cvs rdiff -u -r1.2 -r1.3 src/sys/sys/biohist.h cvs rdiff -u -r1.25 -r1.26 src/sys/sys/kernhist.h cvs rdiff -u -r1.386 -r1.387 src/sys/uvm/uvm_map.c cvs rdiff -u -r1.131 -r1.132 src/sys/uvm/uvm_pdaemon.c cvs rdiff -u -r1.54 -r1.55 src/sys/uvm/uvm_stat.h cvs rdiff -u -r1.61 -r1.62 src/sys/uvm/pmap/pmap.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.