Module Name: src Committed By: cherry Date: Sat Dec 22 07:45:59 UTC 2018
Modified Files: src/sys/arch/amd64/amd64: amd64_mainbus.c src/sys/arch/amd64/conf: XEN3_DOM0 files.amd64 src/sys/arch/i386/conf: XEN3PAE_DOM0 files.i386 src/sys/arch/i386/i386: i386_mainbus.c src/sys/arch/x86/include: autoconf.h src/sys/arch/xen/conf: files.xen src/sys/arch/xen/x86: autoconf.c xen_mainbus.c Added Files: src/sys/arch/x86/x86: mainbus.c Log Message: This change modifies the mainbus(4) entry point for all x86 sub-archs in the following way: i) It provides a unified entry point in x86/x86/mainbus.c:mainbus_attach() ii) It carves out the preliminary bus attachment sequence that is common to all sub-archs into x86/x86/mainbus.c: x86_cpubus_attach() iii) It consolidates the remaining pathways as internal callee functions so that these may be called piecemeal if required. A special usecase of this is XEN PVHVM which may need to call the native configure path, the xen configure path, or both. iv) It moves the driver private data structures from i386/i386_mainbus.c to an x86/ level one. This allows for other sub-arch's to do similar, if needed. (They do not at the moment). v) For dom0 kernels, it enables 'acpi0 at mainbus?' and 'acpi0 at hypervisorbus'. This serves two purposes: a) To demonstrate the possibility of dynamic configuration tree traversal ordering changes. b) To allow for the common acpi_check(self, "acpibus") call in x86/mainbus.c to not barf when it is called from the dom0 attach path. We allow for the acpi0 device to be a child of mainbus with the changes to amd64/conf/XEN3_DOM0 and i386/conf/XEN3PAE_DOM0 without actually probing further in the code. This path will later be pursued in a PVHVM boot codepath. There should be no operative changes with this change. If there are, please complain loudly. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/arch/amd64/amd64/amd64_mainbus.c cvs rdiff -u -r1.160 -r1.161 src/sys/arch/amd64/conf/XEN3_DOM0 cvs rdiff -u -r1.109 -r1.110 src/sys/arch/amd64/conf/files.amd64 cvs rdiff -u -r1.9 -r1.10 src/sys/arch/i386/conf/XEN3PAE_DOM0 cvs rdiff -u -r1.398 -r1.399 src/sys/arch/i386/conf/files.i386 cvs rdiff -u -r1.2 -r1.3 src/sys/arch/i386/i386/i386_mainbus.c cvs rdiff -u -r1.4 -r1.5 src/sys/arch/x86/include/autoconf.h cvs rdiff -u -r0 -r1.1 src/sys/arch/x86/x86/mainbus.c cvs rdiff -u -r1.171 -r1.172 src/sys/arch/xen/conf/files.xen cvs rdiff -u -r1.20 -r1.21 src/sys/arch/xen/x86/autoconf.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/xen/x86/xen_mainbus.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.