[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] [PATCH][RFC] Support more Capability Structures andDevice Specific
Yuji: We have a discussion in xen summit for PCI CFGS emulation, are you in the summit too? Here is the slide for the discussion, we can coordinate. Thx, eddie Yuji Shimada wrote: > I am submitting the patch which supports more Capability > Structures and Device Specific Registers for passthrough > device. > > In Xen 3.3 unstable, qemu-dm supports Configuration > Header, MSI Capability Structure, and MSI-X Capability > Structure. But qemu-dm does not support PCI Express > Capability Structure, Device Specific Registers, etc > (writing them is ignored). > > To support various I/O devices, I implemented following > Capability Structures and Device Specific Registers. > > * Configuration Header Type 0 > -> emulation. > "emulation" does not mean no accessing real > I/O device. Access real I/O device, but guest > value and real value might be different. > * PCI Express Capability Structure > -> emulation. > * PCI Power Management Capability Structure > -> emulation. > * Vital Product Data Capability Structure > -> emulation (almost passthrough). > * Vendor Specific Capability Structure > -> emulation (almost passthrough). > * Device Specific Register (exclude capability > structures) -> passthrough. > The device drivers in guest domain are allowed > to access Device Specific Register. So various > I/O device will work. > > Currently MSI Capability Structure and MSI-X Capability > Structure is not implemented, and they are hidden from > guest software. I disabled MSI and MSI-X in qemu-dm > temporary. I am implementing MSI Capability Structure and > merging current MSI routines. I will release the patch if > you agree with me. > > MSI-X will be after MSI. I will be very happy if anyone > can help me. > > Other Capability Structures are hidden from guest > software. To do this, I change Next Capability Pointer's > value to point only the Capability Structure that need to > be exported to guest software (see emulate capabilities > above). And some Capability Structures are 0 hardwired, > and others are passthrough. > > This patch removes "switch" statements for emulation, and > introduces table based emulation derived from pciback > driver. You can implement new Capability Structure by > adding new table. > The other advantage of using this table is that you can > easily change the emulation policy of each field/bit by > just simply modifying the "emu_mask" value provided in > each register table. > And for only special emulation or interacting with other > components (like hypervisor), you have to implement > function corresponding to the register. > > Signed-off-by: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx> Attachment:
Xen - VT-D Enhance.pdf _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |