Jaeyong Yoo
2014-04-24 13:18:55 UTC
Hello VirtualBox!
While I'm reading the source, I found the following sequence of function call:
[In xpdm directory] VBoxMPHGSMIDpc () -->
VBoxHGSMIProcessHostQueue () -->
hgsmiHostCommandQueryProcess() -->
hgsmiHostCmdProcess () -->
HGSMIBufferProcess () -->
hgsmiBufferProcess () -->
HGSMIChannelHandlerCall () -->
pfnHandler() ==
[Host side] vbvaChannelHandler
It looks like a guest-side function (in VGA driver) VBoxMPHGSMIDpc calls the host-side function (in VGA emulator) vbvaChannelHandler.
How is this possible since host and guest are in different address space (if we are using nested paging table)?
Or, I'm feeling like I miss something.
Thanks,
Jaeyong
While I'm reading the source, I found the following sequence of function call:
[In xpdm directory] VBoxMPHGSMIDpc () -->
VBoxHGSMIProcessHostQueue () -->
hgsmiHostCommandQueryProcess() -->
hgsmiHostCmdProcess () -->
HGSMIBufferProcess () -->
hgsmiBufferProcess () -->
HGSMIChannelHandlerCall () -->
pfnHandler() ==
[Host side] vbvaChannelHandler
It looks like a guest-side function (in VGA driver) VBoxMPHGSMIDpc calls the host-side function (in VGA emulator) vbvaChannelHandler.
How is this possible since host and guest are in different address space (if we are using nested paging table)?
Or, I'm feeling like I miss something.
Thanks,
Jaeyong