[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Why can't I change cr3 before ACPI boot


  • To: xen-devel <xen-devel@xxxxxxxxxxxxx>
  • From: Yuming Wu <yumingwu233@xxxxxxxxx>
  • Date: Fri, 9 Dec 2016 17:12:53 +0800
  • Delivery-date: Fri, 09 Dec 2016 09:13:01 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>

Hi,

Hypervisor will init paging when it starts. After paging is inited (paging_init() in setup.c), I copied whole pagetable (except for PML4[258] which is used as Linear page table, I create similar one in new PT) and want to switch cr3 to my new PT.

If I do this after acpi_boot_init(), everything goes well. But if I put this before acpi_boot_init(), hypervisor will no longer get acpi table. The log shows that "Incorrect checksum in table" , "Invalid FACS signature"  and other incorrect checksum. Finally early page fault in function mp_register_lapic_address().

I am confused about this because new PT also has same mapping. The only difference is address of page table page and hypervisor should have no knowledge of this.

Does anyone know this? Or what docs should I refer to?

Thanks
 

--
Yuming Wu
Institute of Parallel and Distributed Systems (IPADS),
Shanghai Jiao Tong University
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.