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 ...
Showing the changes to include/uapi/linux (1 of 161 files). Show all
Unified · Split
| @@ -30,6 +30,9 @@ · 29 unmodified lines | |||
| 30 | */ | 30 | */ |
| 31 | #define VFIO_DMA_CC_IOMMU 4 | 31 | #define VFIO_DMA_CC_IOMMU 4 |
| 32 | 32 | ||
| 33 | /* Check if EEH is supported */ | ||
| 34 | #define VFIO_EEH 5 | ||
| 35 | |||
| 33 | /* | 36 | /* |
| 34 | * The IOCTL interface is designed for extensibility by embedding the | 37 | * The IOCTL interface is designed for extensibility by embedding the |
| 35 | * structure length (argsz) and flags into structures passed between | 38 | * structure length (argsz) and flags into structures passed between |
| @@ -455,6 +458,37 @@ struct vfio_iommu_spapr_tce_info { · 419 unmodified lines | |||
| 455 | 458 | ||
| 456 | #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) | 459 | #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) |
| 457 | 460 | ||
| 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 | |||
| 458 | /* ***************************************************************** */ | 492 | /* ***************************************************************** */ |
| 459 | 493 | ||
| 460 | #endif /* _UAPIVFIO_H */ | 494 | #endif /* _UAPIVFIO_H */ |