mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
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 -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEdfRlhq5hpmzETofcbDjKyiDZs5IFAlsfa4kACgkQbDjKyiDZ s5IdhxAA1ZDgEMyQkMPlnjYBNSpw9ICo/v+Lj1ZvlVjIbtjP6ZWdmaNHbBLi1N/U jbY7Yb+a43xj96WigN2kxu16aL7AvgrGayscht+P+ZXGWaEAt0R1EhiqhheKjkOH n0gAxe5c9wN18tJ7ZMtq7HmWw/MyWVjPQ4Pr38npyDU037LG4xY55DigcFu9D/6N rSYtB3gWIEvbGhx2Sm+gzbkleKufUNhSJMJI9diRS2KvyocH8ENQUqcMqK//Y6w7 /Lk/j+qcAOAfCS+QWH9/XQvYdOGR9Gaw4oWLViOCD+EpTJHAYFMzVsp5ZLZZByw/ S51W3e9mfxzgtIjoDxaetrW95yx2bAcFekP+H8KQesWpydSprsnAlh3SE3dfO2Jp Z1yVPHZv2fYZQjNZ0t62Z248iJ4YiBDttDpQYzsiGTiGVfx1IKTNz+gfNwV78CCJ SkyIktky2TYAemAB+U90JL3gYSn0GHwgBFLTJ4Rrrf3kC0wNslgosGTEB9v3D+Mb zsWxaBftFwZsRnNggBtE2/35zccJ2YURASlDu9ccmczyCUrRZbKE57/GftRXdIcY Oqjf48/NSwBm98bIEQGTOw7H1NgWuTazAc2+VS4mAHtUEEYIunuRmC+eTKNM01Yu qSMCg6tPADEXwRg6z062sb6T0vvpicv+X1U++tbHNqV3gprOlts= =g3bP -----END PGP SIGNATURE----- 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>
This commit is contained in:
commit
3b68de85b9
28 changed files with 304 additions and 255 deletions
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue