amd64 SMP AP init corrupting the BDA? (newbie)
jhb at freebsd.org
Wed Jun 27 17:58:52 UTC 2007
On Friday 12 May 2006 04:28:59 am Adam Soderlund wrote:
> Hi All,
> Hope this is the right place for questions like this. I've got
> something bad going on when booting 6.1release or 7-current amd64 SMP, the
> bios data area on my machine is getting whacked (killing usb legacy, which
> in turn causes a hang when kernel tries to take over the host
> controller(s)). I've debugged it a little bit and here is what I see.
> when setting up to launch the APs start_all_aps() calls into pmap_kenter()
> which is writing a pte to 0x000004e0 (physical).
> 0x04e0 in the BDA prior to pmap_kenter(va, boot_address)
> 0x04e0 in the BDA after pmap_kenter(va, boot_address)
> 0x03C10900 (boot_address on the way in 0x9C000)
The pmap_kenter() should not be changing that address. The page tables
actually are located after the kernel itself (just after kernend) in memory,
so pmap_kenter() isn't going to be writing to a PTE at an address that low.
More information about the freebsd-amd64