Postpone vmm module initialization until after SMP is initialized - particularly
that 'smp_started != 0'. This is required because the VT-x initialization calls smp_rendezvous() to set the CR4_VMXE bit on all the cpus. With this change we can preload vmm.ko from the loader. Reported by: alfred@, sbruno@ Obtained from: NetApp
This commit is contained in:
parent
aa7091a3ab
commit
92a8d9884d
@ -249,11 +249,15 @@ static moduledata_t vmm_kmod = {
|
||||
};
|
||||
|
||||
/*
|
||||
* Execute the module load handler after the pci passthru driver has had
|
||||
* a chance to claim devices. We need this information at the time we do
|
||||
* iommu initialization.
|
||||
* vmm initialization has the following dependencies:
|
||||
*
|
||||
* - iommu initialization must happen after the pci passthru driver has had
|
||||
* a chance to attach to any passthru devices (after SI_SUB_CONFIGURE).
|
||||
*
|
||||
* - VT-x initialization requires smp_rendezvous() and therefore must happen
|
||||
* after SMP is fully functional (after SI_SUB_SMP).
|
||||
*/
|
||||
DECLARE_MODULE(vmm, vmm_kmod, SI_SUB_CONFIGURE + 1, SI_ORDER_ANY);
|
||||
DECLARE_MODULE(vmm, vmm_kmod, SI_SUB_SMP + 1, SI_ORDER_ANY);
|
||||
MODULE_VERSION(vmm, 1);
|
||||
|
||||
SYSCTL_NODE(_hw, OID_AUTO, vmm, CTLFLAG_RW, NULL, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user