On Fri, Jan 20, 2012 at 08:54:12AM -0500, Xin Tong wrote: > On Fri, Jan 20, 2012 at 3:23 AM, 陳韋任 <che...@iis.sinica.edu.tw> wrote: > >> 1. The control of gCR3 and hCR3 needs kernel access. While they can > >> be set with a device module as what is done in kvm. Trapping into the > >> kernel every time gCR3 is reseted might be too expensive. > > > > Why the control of gCR3 needs kernel access? Isn't gCR3 just a field of the > > CPUX86State? QEMU should have the control of it. Or you mean the trapping > > thing? > > I do not think gCR3 is a field in the CPUx86State. I think inorder to > change the guest CR3, we need to trap into the kernel as kvm does.
If your scenario is pure QEMU (without kvm), I think gCR3 is a field in the CPUx86State. See below, typedef struct CPUX86State { ... target_ulong cr[5]; /* NOTE: cr1 is unused */ ... }; Or I misunderstand what you're trying to do? Regards, chenwj -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667 Homepage: http://people.cs.nctu.edu.tw/~chenwj