[vbox-dev] How does the virtualbox object-orientation work ? Any documentation ?

Christophe Devriese christophe.devriese at gmail.com
Thu Jan 28 11:01:28 PST 2010

> As the name indicates, PDM concerns itself with emulated devices and
> drivers that interfaces the host system.  A device may have multiple
> LUNs (abused SCSI term) each of which may have a chain of drivers
> attached to it.  The driver chain is a doubly linked list of driver
> instances anchored to the LUN at the "top".  (Topology: The VMM is at
> the top, devices below it, drivers under there).  To see how we
> configure drivers for LUNs take a look at the CFGM dump in the VBox.log.

What does this "mean" for a device to have a "lun" ? On SCSI it's sort of a
partition ? What does it represent ?

Is it that you, say, have a "disk subsystem" driver which then has multiple
disks (but it looks like that is implemented, at least for SATA, by having
multiple "ports") ? It's also confusing that you have an actual scsi driver
that indeed supports multiple LUNs.

> Since each kind of LUN/device have different needs from their drivers
> and ditto between the drivers, a COM inspired approach was selected
> where interfaces could be queried and used.  Unlike COM there is no need
> for reference counting.  We'd already chosen not to use C++ classes
> anywhere near the VMM, so there was no need to be compatible with any
> C++ object layout either.
I have also a rather specific question : what does the code at
DrvVD.cpp:1132 do ? The code just following this comment :

        /* First of all figure out what kind of TCP networking stack
         * to use. This is done unconditionally, as backends which don't
         * it will just ignore it. */

Or is that for the exclusive usage of the iSCSI backend ?

Thanks a lot,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100128/f2dbb078/attachment-0001.html 

More information about the vbox-dev mailing list