History

Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc

Pull powerpc updates from Ben Herrenschmidt: "This is the powerpc new goodies for 3.17. The short story: The biggest bit is Michael removing all of pre-POWER4 processor support from the 64-bit kernel. POWER3 and rs64. This gets rid of a ton of old cruft that has been bitrotting in a long while. It was broken for quite a few versions already and nobody noticed. Nobody uses those machines anymore. While at it, he cleaned up a bunch of old dusty cabinets, getting rid of a skeletton or two. Then, we have some base VFIO support for KVM, which allows assigning of PCI devices to KVM guests, support for large 64-bit BARs on "powernv" platforms, support for HMI (Hardware Management Interrupts) on those same platforms, some sparse-vmemmap improvements (for memory hotplug), There is the usual batch of Freescale embedded updates (summary in the merge commit) and fixes here or there, I think that's it for the highlights" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (102 commits) powerpc/eeh: Export eeh_iommu_group_to_pe() powerpc/eeh: Add missing #ifdef CONFIG_IOMMU_API powerpc: Reduce scariness of interrupt frames in stack traces powerpc: start loop at section start of start in vmemmap_populated() powerpc: implement vmemmap_free() powerpc: implement vmemmap_remove_mapping() for BOOK3S powerpc: implement vmemmap_list_free() powerpc: Fail remap_4k_pfn() if PFN doesn't fit inside PTE powerpc/book3s: Fix endianess issue for HMI handling on napping cpus. powerpc/book3s: handle HMIs for cpus in nap mode. powerpc/powernv: Invoke opal call to handle hmi. powerpc/book3s: Add basic infrastructure to handle HMI in Linux. powerpc/iommu: Fix comments with it_page_shift powerpc/powernv: Handle compound PE in config accessors powerpc/powernv: Handle compound PE for EEH powerpc/powernv: Handle compound PE powerpc/powernv: Split ioda_eeh_get_state() powerpc/powernv: Allow to freeze PE powerpc/powernv: Enable M64 aperatus for PHB3 powerpc/eeh: Aux PE data for error log ...

Linus Torvalds committed 12 years ago

Commit f536b3c2 parents e669830 537e540161 files · +5477 −3284Browse files

Showing the changes to include/uapi/linux (1 of 161 files). Show all

Unified · Split

include/uapi/linux/vfio.h+34−0
@@ -30,6 +30,9 @@ · 29 unmodified lines
3030 */
3131 #define VFIO_DMA_CC_IOMMU 4
3232
33+/* Check if EEH is supported */
34+#define VFIO_EEH 5
35+
3336 /*
3437 * The IOCTL interface is designed for extensibility by embedding the
3538 * structure length (argsz) and flags into structures passed between
@@ -455,6 +458,37 @@ struct vfio_iommu_spapr_tce_info { · 419 unmodified lines
455458
456459 #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
457460
461+/*
462+ * EEH PE operation struct provides ways to:
463+ * - enable/disable EEH functionality;
464+ * - unfreeze IO/DMA for frozen PE;
465+ * - read PE state;
466+ * - reset PE;
467+ * - configure PE.
468+ */
469+struct vfio_eeh_pe_op {
470+ __u32 argsz;
471+ __u32 flags;
472+ __u32 op;
473+};
474+
475+#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */
476+#define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */
477+#define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */
478+#define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */
479+#define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */
480+#define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */
481+#define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */
482+#define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */
483+#define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */
484+#define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */
485+#define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */
486+#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */
487+#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */
488+#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */
489+
490+#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21)
491+
458492 /* ***************************************************************** */
459493
460494 #endif /* _UAPIVFIO_H */