Hello there,
i'd like some hints in regards how the CR3 register is handled. From what i've
learned, it seems that VirtualBox, everytime a guest O.S. try to write on CR3.
generates a #GP and
uses a function
EMInterpretCRxWrite() that calls emUpdateCRx() which modifies the VCpu.
In particular, in regards to CR3, it sets the new value(with
CPUMSetGuestCR3
)and does a flush calling PGMFlushTLB() that remap the CR3 with the function
MapCR3(). Now, i think that VirtualBox has to do the setup of the new page
table right? And, in order to catch all the exceptions, it has to write protect
it or am i wrong?and if it is so,can anyone address me to the source code that
does these??i would appreciate
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev