[vbox-dev] How does the virtualbox object-orientation work ? Any documentation ?
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...
More information about the vbox-dev