On Tue, 2015-11-24 at 21:35 +0800, Lan Tianyu wrote:
> This patch is to extend PCI CAP id for migration cap and
> add reg macros. The CAP ID is trial and we may find better one if the
> solution is feasible.
>
> *PCI_VF_MIGRATION_CAP
> For VF driver to control that triggers mailbox irq or not during migration.
>
> *PCI_VF_MIGRATION_VMM_STATUS
> Qemu stores migration status in the reg
>
> *PCI_VF_MIGRATION_VF_STATUS
> VF driver tells Qemu ready for migration
>
> *PCI_VF_MIGRATION_IRQ
> VF driver stores mailbox interrupt vector in the reg for Qemu to trigger
> during migration.
>
> Signed-off-by: Lan Tianyu
> ---
> include/hw/pci/pci_regs.h | 19 +++
> 1 file changed, 19 insertions(+)
>
> diff --git a/include/hw/pci/pci_regs.h b/include/hw/pci/pci_regs.h
> index 57e8c80..0dcaf7e 100644
> --- a/include/hw/pci/pci_regs.h
> +++ b/include/hw/pci/pci_regs.h
> @@ -213,6 +213,7 @@
> #define PCI_CAP_ID_MSIX 0x11/* MSI-X */
> #define PCI_CAP_ID_SATA 0x12/* Serial ATA */
> #define PCI_CAP_ID_AF 0x13/* PCI Advanced Features */
> +#define PCI_CAP_ID_MIGRATION 0x14
> #define PCI_CAP_LIST_NEXT1 /* Next capability in the list */
> #define PCI_CAP_FLAGS2 /* Capability defined flags (16
> bits) */
> #define PCI_CAP_SIZEOF 4
> @@ -716,4 +717,22 @@
> #define PCI_ACS_CTRL 0x06/* ACS Control Register */
> #define PCI_ACS_EGRESS_CTL_V 0x08/* ACS Egress Control Vector */
>
> +/* Migration*/
> +#define PCI_VF_MIGRATION_CAP0x04
> +#define PCI_VF_MIGRATION_VMM_STATUS 0x05
> +#define PCI_VF_MIGRATION_VF_STATUS 0x06
> +#define PCI_VF_MIGRATION_IRQ 0x07
> +
> +#define PCI_VF_MIGRATION_CAP_SIZE 0x08
> +
> +#define VMM_MIGRATION_END0x00
> +#define VMM_MIGRATION_START 0x01
> +
> +#define PCI_VF_WAIT_FOR_MIGRATION 0x00
> +#define PCI_VF_READY_FOR_MIGRATION 0x01
> +
> +#define PCI_VF_MIGRATION_DISABLE0x00
> +#define PCI_VF_MIGRATION_ENABLE 0x01
> +
> +
> #endif /* LINUX_PCI_REGS_H */
This will of course break if the PCI SIG defines that capability index.
Couldn't this be done within a vendor defined capability? Thanks,
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html