AMD64 - Fix bug in mpstable pass 1 non-default configuration
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 25 Aug 2009 19:36:32 +0000 (12:36 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 25 Aug 2009 19:36:32 +0000 (12:36 -0700)
* cth was not being converted from a physical to a virtual address via
  the DMAP.

sys/platform/pc64/amd64/mp_machdep.c

index 3ffde67..9b43017 100644 (file)
@@ -787,7 +787,7 @@ mptable_pass1(void)
        else {
                if (mpfps->pap == 0)
                        panic("MP Configuration Table Header MISSING!");
-               cth = (void *)mpfps->pap;
+               cth = (void *)PHYS_TO_DMAP(mpfps->pap);
 
                cpu_apic_address = (vm_offset_t) cth->apic_address;