Changeset View
Changeset View
Standalone View
Standalone View
sys/amd64/amd64/mp_machdep.c
Show First 20 Lines • Show All 328 Lines • ▼ Show 20 Lines | start_all_aps(void) | ||||
vm_paddr_t boot_address; | vm_paddr_t boot_address; | ||||
u_int32_t mpbioswarmvec; | u_int32_t mpbioswarmvec; | ||||
int apic_id, cpu, domain, i; | int apic_id, cpu, domain, i; | ||||
u_char mpbiosreason; | u_char mpbiosreason; | ||||
mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); | mtx_init(&ap_boot_mtx, "ap boot", NULL, MTX_SPIN); | ||||
MPASS(bootMP_size <= PAGE_SIZE); | MPASS(bootMP_size <= PAGE_SIZE); | ||||
m_boottramp = vm_page_alloc_contig(NULL, 0, VM_ALLOC_NORMAL | | m_boottramp = vm_page_alloc_noobj_contig(VM_ALLOC_NORMAL, 1, 0, | ||||
alc: I observe that you eliminated VM_ALLOC_NOBUSY here but not elsewhere. Why? | |||||
markjAuthorUnsubmitted Done Inline ActionsNo good reason. I think it makes sense to simply drop the VM_ALLOC_NOBUSY flag from all callers, as it is already implied by VM_ALLOC_NOOBJ. markj: No good reason. I think it makes sense to simply drop the VM_ALLOC_NOBUSY flag from all callers… | |||||
alcUnsubmitted Not Done Inline ActionsI agree. alc: I agree. | |||||
VM_ALLOC_NOBUSY | VM_ALLOC_NOOBJ, 1, 0, | |||||
(1ULL << 20), /* Trampoline should be below 1M for real mode */ | (1ULL << 20), /* Trampoline should be below 1M for real mode */ | ||||
PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); | PAGE_SIZE, 0, VM_MEMATTR_DEFAULT); | ||||
boot_address = VM_PAGE_TO_PHYS(m_boottramp); | boot_address = VM_PAGE_TO_PHYS(m_boottramp); | ||||
/* Create a transient 1:1 mapping of low 4G */ | /* Create a transient 1:1 mapping of low 4G */ | ||||
if (la57) { | if (la57) { | ||||
m_pml4 = pmap_page_alloc_below_4g(true); | m_pml4 = pmap_page_alloc_below_4g(true); | ||||
v_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pml4)); | v_pml4 = (pml4_entry_t *)PHYS_TO_DMAP(VM_PAGE_TO_PHYS(m_pml4)); | ||||
▲ Show 20 Lines • Show All 761 Lines • Show Last 20 Lines |
I observe that you eliminated VM_ALLOC_NOBUSY here but not elsewhere. Why?