[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/2] Enable guest OS to program D0-D3hot states of an assigned device.



This series of patches enables guest OS to program D0-D3hot states of
an assigned device.

The basic concept is pass-through PowerState field in Power Management
Control/Status register. When guest OS programs PowerState field,
actual device will be programmed.

Some devices perform an internal reset upon transition from D3hot
state to D0 state. No_Soft_Reset bit in Power Management
Control/Status register indicates whether an internal reset is
performed or not. When the bit is 0, an internal reset is
performed. When the bit is 1, an internal reset is not performed. When
No_Soft_Reset bit is 0, the patches restore configuration registers,
and emulate an internal reset.

Some of emulated registers which guest OS can't access are restored,
because they need to be configured at system-level. For example, BARs
are restored to values assigned by dom0 linux. On the other hand, the
pass-through registers which guest OS can access are not restored,
because guest OS expects them to be uninitialized.

Emulated values of emulated registers are re-initialized to emulate an
internal reset. For example, Link Control register's emulated value is
set to the initial value(0x0000). To emulate an internal reset, MSI
and MSI-X are disabled. Memory or I/O resources are unmapped.

  [PATCH 1/2] libxc: Add xc_domain_unbind_msi_irq
  [PATCH 2/2] ioemu: Enable guest OS to program D0-D3hot states of an
              assigned device

Thanks,
--
Yuji Shimada

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.