diff options
author | Peter Maydell | 2016-06-14 10:30:05 +0200 |
---|---|---|
committer | Peter Maydell | 2016-06-14 10:30:05 +0200 |
commit | a28aae041aa76a779df6467a7fe68b9e8a8b2c0a (patch) | |
tree | 4b5ff0e7a997bae3b58ef16f52c57faf49bdf50c /include | |
parent | Merge remote-tracking branch 'remotes/kraxel/tags/pull-usb-20160613-1' into s... (diff) | |
parent | spapr: Ensure all LMBs are represented in ibm,dynamic-memory (diff) | |
download | qemu-a28aae041aa76a779df6467a7fe68b9e8a8b2c0a.tar.gz qemu-a28aae041aa76a779df6467a7fe68b9e8a8b2c0a.tar.xz qemu-a28aae041aa76a779df6467a7fe68b9e8a8b2c0a.zip |
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-2.7-20160614' into staging
ppc patch queue for 2016-06-14
Latest patch queue for ppc.
* Allow qemu to support a generic architecture 2.07 (POWER8-era)
compatibility mode. This is useful for guests which are POWER8
aware, but don't know about the specific POWER8 variant that
qemu (and/or KVM) is emulating. (Thomas Huth)
* Fix a bug where macio wasn't removing DMA mappings (Mark Cave-Ayland)
* Add a workaround for Linux guest's miscalculation of maximum
memory address (including hotplugged memory), which could break
when hotplug memory was combined with VFIO. The previous
approach was technically correct by spec, but differed from
PowerVM's behaviour enough to trip a guest kernel bug. This
works around the bug, while remaining correct-to-spec. (Bharata Rao)
# gpg: Signature made Tue 14 Jun 2016 06:53:58 BST
# gpg: using RSA key 0x6C38CACA20D9B392
# gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>"
# gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>"
# gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392
* remotes/dgibson/tags/ppc-for-2.7-20160614:
spapr: Ensure all LMBs are represented in ibm,dynamic-memory
macio: call dma_memory_unmap() at the end of each DMA transfer
Add PowerPC AT_HWCAP2 definitions
ppc: Add PowerISA 2.07 compatibility mode
ppc: Improve PCR bit selection in ppc_set_compat()
ppc: Provide function to get CPU class of the host CPU
ppc: Split pcr_mask settings into supported bits and the register mask
ppc/spapr: Refactor h_client_architecture_support() CPU parsing code
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/elf.h | 13 | ||||
-rw-r--r-- | include/hw/ppc/mac_dbdma.h | 5 | ||||
-rw-r--r-- | include/hw/ppc/spapr.h | 6 |
3 files changed, 22 insertions, 2 deletions
diff --git a/include/elf.h b/include/elf.h index 28d448bbcc..8533b2a8b0 100644 --- a/include/elf.h +++ b/include/elf.h @@ -477,6 +477,19 @@ typedef struct { #define PPC_FEATURE_TRUE_LE 0x00000002 #define PPC_FEATURE_PPC_LE 0x00000001 +/* Bits present in AT_HWCAP2 for PowerPC. */ + +#define PPC_FEATURE2_ARCH_2_07 0x80000000 +#define PPC_FEATURE2_HAS_HTM 0x40000000 +#define PPC_FEATURE2_HAS_DSCR 0x20000000 +#define PPC_FEATURE2_HAS_EBB 0x10000000 +#define PPC_FEATURE2_HAS_ISEL 0x08000000 +#define PPC_FEATURE2_HAS_TAR 0x04000000 +#define PPC_FEATURE2_HAS_VEC_CRYPTO 0x02000000 +#define PPC_FEATURE2_HTM_NOSC 0x01000000 +#define PPC_FEATURE2_ARCH_3_00 0x00800000 +#define PPC_FEATURE2_HAS_IEEE128 0x00400000 + /* Bits present in AT_HWCAP for Sparc. */ #define HWCAP_SPARC_FLUSH 0x00000001 diff --git a/include/hw/ppc/mac_dbdma.h b/include/hw/ppc/mac_dbdma.h index 0cce4e8bb4..d15a6ccf3e 100644 --- a/include/hw/ppc/mac_dbdma.h +++ b/include/hw/ppc/mac_dbdma.h @@ -24,6 +24,7 @@ #include "exec/memory.h" #include "qemu/iov.h" +#include "sysemu/dma.h" typedef struct DBDMA_io DBDMA_io; @@ -44,6 +45,10 @@ struct DBDMA_io { uint8_t head_remainder[0x200]; uint8_t tail_remainder[0x200]; QEMUIOVector iov; + /* DMA request */ + void *dma_mem; + dma_addr_t dma_len; + DMADirection dir; }; /* diff --git a/include/hw/ppc/spapr.h b/include/hw/ppc/spapr.h index 971df3d0df..3ac85c07d7 100644 --- a/include/hw/ppc/spapr.h +++ b/include/hw/ppc/spapr.h @@ -620,9 +620,11 @@ int spapr_rng_populate_dt(void *fdt); #define SPAPR_DR_LMB_LIST_ENTRY_SIZE 6 /* - * This flag value defines the LMB as assigned in ibm,dynamic-memory - * property under ibm,dynamic-reconfiguration-memory node. + * Defines for flag value in ibm,dynamic-memory property under + * ibm,dynamic-reconfiguration-memory node. */ #define SPAPR_LMB_FLAGS_ASSIGNED 0x00000008 +#define SPAPR_LMB_FLAGS_DRC_INVALID 0x00000020 +#define SPAPR_LMB_FLAGS_RESERVED 0x00000080 #endif /* !defined (__HW_SPAPR_H__) */ |