Hello Jaeyong,

On 24/04/14 15:18, Jaeyong Yoo wrote:
> 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.

I'm not too familiar with that code, but what makes you think that 
pfnHandler points to vbvaChannelHandler() inside the guest driver?  See 
line 626 of 
src/VBox/Additions/WINNT/Graphics/Video/mp/xpdm/VBoxMPInternal.cpp:

   rc = HGSMIChannelRegister(&pCommon->hostCtx.channels, u8Channel,
                             "VGA Miniport HGSMI channel",
                             VBoxVbvaChannelGenericHandlerCB,
                             pContexts, &s_OldHandler);

So I would guess that VBoxVbvaChannelGenericHandlerCB() is what is being 
called.  In any case there should be no direct calls from the guest to 
the host address space.

Regards,

Michael
-- 
ORACLE Deutschland B.V. & Co. KG   Michael Thayer
Werkstrasse 24                     VirtualBox engineering
71384 Weinstadt, Germany           mailto:michael.tha...@oracle.com

Hauptverwaltung: Riesstr. 25, D-80992 München
Registergericht: Amtsgericht München, HRA 95603
Geschäftsführer: Jürgen Kunz

Komplementärin: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher

_______________________________________________
vbox-dev mailing list
vbox-dev@virtualbox.org
https://www.virtualbox.org/mailman/listinfo/vbox-dev

Reply via email to