handl I/O instruction caused VM-Exit

handl I/O instruction caused VM-Exit

Hi, I'm writting code to handl I/O instruction caused VM-Exit, exit reason is 30.My guest is Windows XP.
After get information from Exit Qualification, I can handle insturctions when String instruction bit and REP prefixed bit is cleared.
But If these two bits are set, the trouble appears.
When I tried to read data from memory where guest ESI(or EDI) pointed, I want to translate the logical address into physical address contained in guest  ESI(or EDI). but during the tranlsation,  the Page Table is not presented.
At this time, I tried to inject a Page Fault to WindowsXP by set VM-entry interruption-information to 0x80000B0E,  VM-entry instruction length to 0x0, VM-entry exception error code to many kinds of possible number. But failed.

I'am not sure whether my solution is correct.

Can any one give me some tips?

3 posts / novo 0
Último post
Para obter mais informações sobre otimizações de compiladores, consulte Aviso sobre otimizações.