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

[Xen-devel] switch out of 32e mode issue



Ian,

I have read the your changeset 13830
"[XEN] kexec: add compatability shim for kexec in 32on64 mode", which seems to 
be used for kexec a 32b kernel on 32e xen.

I borrow some of the code from xen/arch/x86/x86_64/compat_kexec.S for similar 
purpose(switch out of 32e mode in xen) by similar way:
1. setup identity map in idle_pg_table then switch to it.
2. ljmp to a identity map code in another code segment of compatibility mode
3. turn of paging by clear CR0.PG
4. load a new cr3 with legacy page table
5. clear EFER.LME
6. turn on paging by set CR0.PG
7. a branch instruction

But I always have a GP fault in step 3 when mov cr0:(
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) GENERAL PROTECTION FAULT
(XEN) [error_code=0000]
(XEN) ****************************************

Do you have successful run for the above code? Your code missed step 7, does it 
matter?

Do you have any comments for the GP fault?

Thanks a lot.


-- 
best rgds,
edwin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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