On 2014/6/25 17:04, Michael S. Tsirkin wrote:
On Wed, Jun 25, 2014 at 04:48:02PM +0800, Chen, Tiejun wrote:
On 2014/6/25 16:43, Michael S. Tsirkin wrote:
On Wed, Jun 25, 2014 at 04:39:07PM +0800, Chen, Tiejun wrote:
In fact it's exactly what passthrough does.
I wonder if more bits from ./hw/i386/kvm/pci-assign.c
can be reused. How do you poke at the host device? sysfs?
Yes, sysfs.
Thanks
Tiejun
Then you should be able to re-use large chunks of
./hw/i386/kvm/pci-assign.c: basically everything
that deals with emulation.
Do you mean those hooks to get info from the real device? Xen have its own
wrapper, xen_host_pci_get_block(), so we always go there in xen scenario.
Thanks
Tiejun
Yes and that's not good. We have two pieces of code doing mostly
identical things slightly differently.
hw/i386/kvm/pci-assign.c is a bit younger so it's cleaner,
but these really need to be unified.
Sorry, take a look at this again,
xen_host_pci_get_block(XenHostPCIDevice *d, int pos, uint8_t *buf, int len)
|
+ xen_host_pci_config_read(d, pos, buf, len)
|
+ pread(d->config_fd, buf, len, pos)
I thinks this should be same as kvm.
Thanks
Tiejun