aboutsummaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2018-06-12 14:32:19 +0100
committerPeter Maydell <peter.maydell@linaro.org>2018-06-12 14:32:19 +0100
commit3b68de85b9b964e1bfb8474af1208717ba29b9ff (patch)
tree00abfa23137128f716b91a9aa8d62c3adaf123d7 /include/hw
parent98d11a6e72c4c4524f9623a165d081da65936269 (diff)
parent30f79dc13f116a79ff45d37ad0f5c035012064a7 (diff)
downloadqemu-3b68de85b9b964e1bfb8474af1208717ba29b9ff.zip
qemu-3b68de85b9b964e1bfb8474af1208717ba29b9ff.tar.gz
qemu-3b68de85b9b964e1bfb8474af1208717ba29b9ff.tar.bz2
Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-3.0-20180612' into staging
ppc patch queue 2018-06-12 Here's another batch of ppc patches towards the 3.0 release. There's a fair bit here, because I've been working through my mail backlog after a holiday. There's not much of a central theme, amongst other things we have: * ppc440 / sam460ex improvements * logging and error cleanups * 40p (PReP) bugfixes * Macintosh fixes and cleanups * Add emulation of the new POWER9 store-forwarding barrier instruction variant * Hotplug cleanups # gpg: Signature made Tue 12 Jun 2018 07:43:21 BST # gpg: using RSA key 6C38CACA20D9B392 # 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: aka "David Gibson (kernel.org) <dwg@kernel.org>" # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-3.0-20180612: (33 commits) spapr_pci: Remove unhelpful pagesize warning xics_kvm: use KVM helpers ppc/pnv: fix LPC HC firmware address space spapr: handle cpu core unplug via hotplug handler chain spapr: handle pc-dimm unplug via hotplug handler chain spapr: introduce machine unplug handler spapr: move memory hotplug support check into spapr_memory_pre_plug() spapr: move lookup of the node into spapr_memory_plug() spapr: no need to verify the node target/ppc: Allow PIR read in privileged mode ppc4xx_i2c: Clean up and improve error logging target/ppc: extend eieio for POWER9 mos6522: convert VMSTATE_TIMER_PTR_TEST to VMSTATE_TIMER_PTR mos6522: move timer frequency initialisation to mos6522_reset cuda: embed mos6522_cuda device directly rather than using QOM object link mos6522: fix vmstate_mos6522_timer version in vmstate_mos6522 ppc: add missing FW_CFG_PPC_NVRAM_FLAT definition ppc: remove obsolete macio_init() definition from mac.h ppc: remove obsolete pci_pmac_init() definitions from mac.h hw/misc/mos6522: Add trailing '\n' to qemu_log() calls ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/misc/macio/cuda.h27
-rw-r--r--include/hw/misc/mos6522.h4
-rw-r--r--include/hw/pci-host/uninorth.h4
-rw-r--r--include/hw/ppc/pnv_lpc.h1
-rw-r--r--include/hw/ppc/ppc.h1
5 files changed, 20 insertions, 17 deletions
diff --git a/include/hw/misc/macio/cuda.h b/include/hw/misc/macio/cuda.h
index 494b709..7dad469 100644
--- a/include/hw/misc/macio/cuda.h
+++ b/include/hw/misc/macio/cuda.h
@@ -54,12 +54,21 @@
#define CUDA_TIMER_TICKLE 0x24
#define CUDA_COMBINED_FORMAT_IIC 0x25
+
+/* MOS6522 CUDA */
+typedef struct MOS6522CUDAState {
+ /*< private >*/
+ MOS6522State parent_obj;
+} MOS6522CUDAState;
+
+#define TYPE_MOS6522_CUDA "mos6522-cuda"
+#define MOS6522_CUDA(obj) OBJECT_CHECK(MOS6522CUDAState, (obj), \
+ TYPE_MOS6522_CUDA)
+
/* Cuda */
#define TYPE_CUDA "cuda"
#define CUDA(obj) OBJECT_CHECK(CUDAState, (obj), TYPE_CUDA)
-typedef struct MOS6522CUDAState MOS6522CUDAState;
-
typedef struct CUDAState {
/*< private >*/
SysBusDevice parent_obj;
@@ -67,7 +76,7 @@ typedef struct CUDAState {
MemoryRegion mem;
ADBBusState adb_bus;
- MOS6522CUDAState *mos6522_cuda;
+ MOS6522CUDAState mos6522_cuda;
uint32_t tick_offset;
uint64_t tb_frequency;
@@ -92,16 +101,4 @@ typedef struct CUDAState {
QEMUTimer *adb_poll_timer;
} CUDAState;
-/* MOS6522 CUDA */
-struct MOS6522CUDAState {
- /*< private >*/
- MOS6522State parent_obj;
-
- CUDAState *cuda;
-};
-
-#define TYPE_MOS6522_CUDA "mos6522-cuda"
-#define MOS6522_CUDA(obj) OBJECT_CHECK(MOS6522CUDAState, (obj), \
- TYPE_MOS6522_CUDA)
-
#endif /* CUDA_H */
diff --git a/include/hw/misc/mos6522.h b/include/hw/misc/mos6522.h
index a53c161..f52b419 100644
--- a/include/hw/misc/mos6522.h
+++ b/include/hw/misc/mos6522.h
@@ -130,7 +130,7 @@ typedef struct MOS6522State {
typedef struct MOS6522DeviceClass {
DeviceClass parent_class;
- DeviceRealize parent_realize;
+ DeviceReset parent_reset;
void (*set_sr_int)(MOS6522State *dev);
void (*portB_write)(MOS6522State *dev);
void (*portA_write)(MOS6522State *dev);
@@ -146,6 +146,8 @@ typedef struct MOS6522DeviceClass {
#define MOS6522_DEVICE_GET_CLASS(obj) \
OBJECT_GET_CLASS(MOS6522DeviceClass, (obj), TYPE_MOS6522)
+extern const VMStateDescription vmstate_mos6522;
+
uint64_t mos6522_read(void *opaque, hwaddr addr, unsigned size);
void mos6522_write(void *opaque, hwaddr addr, uint64_t val, unsigned size);
diff --git a/include/hw/pci-host/uninorth.h b/include/hw/pci-host/uninorth.h
index f6654ba..2a1cf9f 100644
--- a/include/hw/pci-host/uninorth.h
+++ b/include/hw/pci-host/uninorth.h
@@ -29,6 +29,9 @@
#include "hw/ppc/openpic.h"
+/* UniNorth version */
+#define UNINORTH_VERSION_10A 0x7
+
#define TYPE_UNI_NORTH_PCI_HOST_BRIDGE "uni-north-pci-pcihost"
#define TYPE_UNI_NORTH_AGP_HOST_BRIDGE "uni-north-agp-pcihost"
#define TYPE_UNI_NORTH_INTERNAL_PCI_HOST_BRIDGE "uni-north-internal-pci-pcihost"
@@ -57,7 +60,6 @@ typedef struct UNINState {
SysBusDevice parent_obj;
MemoryRegion mem;
- int token[1];
} UNINState;
#define TYPE_UNI_NORTH "uni-north"
diff --git a/include/hw/ppc/pnv_lpc.h b/include/hw/ppc/pnv_lpc.h
index 023b4f0..53fdd5b 100644
--- a/include/hw/ppc/pnv_lpc.h
+++ b/include/hw/ppc/pnv_lpc.h
@@ -38,6 +38,7 @@ typedef struct PnvLpcController {
/* ISA IO and Memory space */
MemoryRegion isa_io;
MemoryRegion isa_mem;
+ MemoryRegion isa_fw;
/* Windows from OPB to ISA (aliases) */
MemoryRegion opb_isa_io;
diff --git a/include/hw/ppc/ppc.h b/include/hw/ppc/ppc.h
index ff0ac30..b18ef3e 100644
--- a/include/hw/ppc/ppc.h
+++ b/include/hw/ppc/ppc.h
@@ -100,6 +100,7 @@ enum {
#define FW_CFG_PPC_KVM_PID (FW_CFG_ARCH_LOCAL + 0x07)
#define FW_CFG_PPC_NVRAM_ADDR (FW_CFG_ARCH_LOCAL + 0x08)
#define FW_CFG_PPC_BUSFREQ (FW_CFG_ARCH_LOCAL + 0x09)
+#define FW_CFG_PPC_NVRAM_FLAT (FW_CFG_ARCH_LOCAL + 0x0a)
#define PPC_SERIAL_MM_BAUDBASE 399193