|
|
|
|
|
|
|
|
|
|
xen-devel
RE: [Xen-devel] [PATCH][RFC] Support more Capability Structures andDevic
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>
Xen - VT-D Enhance.pdf
Description: Xen - VT-D Enhance.pdf
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|