Statistics
| Branch: | Revision:

root / hw / ppc @ a8aec295

# Date Author Comment
a1014f25 07/01/2013 02:11 am Alexander Graf

PPC: Add clock-frequency export for Mac machines

Support in fwcfg has been around for exposure of the clock-frequency
CPU property. OpenBIOS reads it, we just never exposed it.

Since Mac OS X is very picky about its clock frequency values, let's
just take a known good value and always expose that....

4e46dcdb 07/01/2013 02:11 am Alexander Graf

PPC: Newworld: Add uninorth token register

Mac OS X expects the uninorth control register set to contain one
register that always reads back what it writes in. Expose that.

This is just a temporary hack. Eventually, we want to expose the
uninorth (/uni-n in device tree) as a separate QOM device....

593c1811 07/01/2013 02:11 am Alexander Graf

PPC: Newworld: Add second uninorth control register set

Mac OS X requires a second uninorth register set to be mapped a few
bytes above the first one. Let's just expose it to make it happy.

Signed-off-by: Alexander Graf <>

210b580b 07/01/2013 02:11 am Anthony Liguori

spapr-rtas: add CPU argument to RTAS calls

RTAS is a hypervisor provided binary blob that a guest loads and
calls into to execute certain functions. It's similar to the
vsyscall page in Linux or the short lived VMCI paravirt interface
from VMware.

The QEMU implementation of the RTAS blob is simply a passthrough...

ec4936e1 07/01/2013 02:11 am Stefan Weil

pseries: Fix compiler warning (conversion of pointer to integral value)

This kind of type cast must use uintptr_t or target_ulong to be portable
for hosts with sizeof(void *) != sizeof(long).

Here the value is assigned to a variable of type target_ulong....

ab8131af 07/01/2013 02:11 am Bharat Bhushan

booke_ppc: limit booke timer to max when timeout overflow

Limit watchdog and fit timer to maximum timeout value which
qemu timer can support (INT64_MAX). This maximum timeout will be
hundreds of years, so limiting to max timeout is pretty safe.

Signed-off-by: Bharat Bhushan <>...

dd49c038 07/01/2013 02:11 am Andreas Färber

intc/openpic_kvm: Fix QOM and build issues

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

1f1a83f4 07/01/2013 02:11 am Andreas Färber

mpc8544_guts: Fix MemoryRegion name

6544 -> 8544

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

43f691e9 07/01/2013 02:11 am Andreas Färber

mpc8544_guts: QOM'ify

Introduce type constant, cast macro and rename parent field.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

7587ea5b 07/01/2013 02:11 am Andreas Färber

mpc8544_guts: Turn qdev initfn into instance_init

SysBus can deal with NULL SysBusDeviceClass::init since 4ce5dae.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

159f8286 07/01/2013 02:11 am David Gibson

target-ppc: Change default machine for 64-bit

Currently, for qemu-system-ppc64, the default machine type is 'mac99'.
The mac99 machine is not being actively maintained, and represents a
bizarre hybrid of components that never actually existed as a real system....

82fc73b6 07/01/2013 02:11 am Scott Wood

PPC: e500: factor out mpic init code

KVM in-kernel MPIC support is going to expand this even more,
so let's keep it contained.

Signed-off-by: Scott Wood <>
Signed-off-by: Alexander Graf <>

d85937e6 07/01/2013 02:11 am Scott Wood

kvm/openpic: in-kernel mpic support

Enables support for the in-kernel MPIC that thas been merged into the
KVM next branch. This includes irqfd/KVM_IRQ_LINE support from Alex
Graf (along with some other improvements).

Note from Alex regarding kvm_irqchip_create():...

e1766344 07/01/2013 02:11 am Andreas Färber

intc/openpic: QOM'ify

Introduce type constant and cast macro.

Signed-off-by: Andreas Färber <>
Reviewed-by: Peter Crosthwaite <>
Signed-off-by: Alexander Graf <>

dd1750d7 06/28/2013 02:25 pm Andreas Färber

kvm: Change kvm_cpu_synchronize_state() argument to CPUState

It no longer relies on CPUArchState since 20d695a.

Reviewed-by: liguang <>
Acked-by: Paolo Bonzini <>
Reviewed-by: Richard Henderson <>...

cb446eca 06/28/2013 02:25 pm Andreas Färber

kvm: Change cpu_synchronize_state() argument to CPUState

Change Monitor::mon_cpu to CPUState as well.

Reviewed-by: liguang <>
Acked-by: Paolo Bonzini <>
Signed-off-by: Andreas Färber <>

60a3e17a 06/28/2013 02:25 pm Andreas Färber

cpu: Change cpu_exit() argument to CPUState

It no longer depends on CPUArchState, so move it to qom/cpu.c.

Prepares for changing GDBState::c_cpu to CPUState.

Signed-off-by: Andreas Färber <>

df32fd1c 06/20/2013 05:39 pm Paolo Bonzini

dma: eliminate DMAContext

The DMAContext is a simple pointer to an AddressSpace that is now always
already available. Make everyone hold the address space directly,
and clean up the DMA API to use the AddressSpace directly.

Reviewed-by: Peter Maydell <>...

7dca8043 06/20/2013 05:39 pm Alexey Kardashevskiy

memory: give name to every AddressSpace

The "info mtree" command in QEMU console prints only "memory" and "I/O"
address spaces while there are actually a lot more other AddressSpace
structs created by PCI and VIO devices. Those devices do not normally
have names and therefore not present in "info mtree" output....

96478592 06/20/2013 05:32 pm Paolo Bonzini

spapr_vio: take care of creating our own AddressSpace/DMAContext

Fetch the root region from the sPAPRTCETable, and use it to build
an AddressSpace and DMAContext.

Now, everywhere we have a DMAContext we also have access to the
corresponding AddressSpace (either because we create it just before...

2b7dc949 06/20/2013 05:32 pm Paolo Bonzini

spapr: convert TCE API to use an opaque type

The TCE table is currently returned as a DMAContext, and non-type-safe
APIs are called later passing back the DMAContext. Since we want to move
away from DMAContext, use an opaque type instead, and add an accessor...

a71bfbfe 06/20/2013 05:32 pm Paolo Bonzini

spapr: make IOMMU translation go through IOMMUTLBEntry

The next step is to introduce the translation code that will be used for
IOMMU MemoryRegions, but still do the actual translation in a DMAContext.

Acked-by: David Gibson <>...

a84bb436 06/20/2013 05:32 pm Paolo Bonzini

spapr: use memory core for iommu support

Now we can stop using a "translating" DMAContext, but we do not yet modify
the sPAPRTCETable users to get an AddressSpace; they keep using the table
via a DMAContext.

Acked-by: David Gibson <>...

24addbc7 06/20/2013 05:32 pm Paolo Bonzini

dma: eliminate old-style IOMMU support

The translate function in the DMAContext is now always NULL.
Remove every reference to it.

Reviewed-by: Peter Maydell <>
Signed-off-by: Paolo Bonzini <>

e00387d5 06/20/2013 05:32 pm Avi Kivity

pci: use memory core for iommu support

Use the new iommu support in the memory core for iommu support. The only
user, spapr, is also converted, but it still provides a DMAContext
interface until the non-PCI bits switch to AddressSpace.

Reviewed-by: Michael S. Tsirkin <>...

38aea177 06/17/2013 04:57 pm Anthony Liguori

Merge remote-tracking branch 'pmaydell/configury.next' into staging

  1. By Paolo Bonzini (4) and others
  2. Via Peter Maydell
    • pmaydell/configury.next:
      ppc: Remove CONFIG_FDT conditionals
      microblaze: Remove CONFIG_FDT conditionals
      arm: Remove CONFIG_FDT conditionals...
371a775d 06/15/2013 01:53 pm Blue Swirl

Merge branch 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu

  • 'realize-isa.v2' of git://github.com/afaerber/qemu-cpu:
    qdev: Drop FROM_QBUS() macro
    isa: QOM'ify ISADevice
    isa: QOM'ify ISABus
    i8259: Convert PICCommonState to use QOM realizefn...
187f1bcb 06/14/2013 05:34 pm Peter Maydell

ppc: Remove CONFIG_FDT conditionals

Now that we know we're compiling with libfdt we can remove the
CONFIG_FDT conditionals.

Signed-off-by: Peter Maydell <>
Reviewed-by: Edgar E. Iglesias <>
Reviewed-by: Peter Crosthwaite <>...

c67e216b 06/13/2013 01:11 am Andreas Färber

spapr_rtas: Abstract rtas_start_cpu() with qemu_get_cpu()

Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState.
Free the "cpu" variable for PowerPCCPU, to access its CPUPPCState.

Signed-off-by: Andreas Färber <>

05318a85 06/13/2013 12:43 am Andreas Färber

spapr_rtas: Abstract rtas_query_cpu_stopped_state() with qemu_get_cpu()

Instead of looping over all CPUArchState, use a helper to obtain the
desired CPUState directly. Saves a CPUPPCState variable and QOM cast.

Signed-off-by: Andreas Färber <>

4a17cc4f 06/07/2013 03:55 pm Andreas Färber

isa: QOM'ify ISADevice

Rename its parent field and use DEVICE where necessary.

Signed-off-by: Andreas Färber <>

2ae0e48d 06/07/2013 03:55 pm Andreas Färber

isa: QOM'ify ISABus

Rename its parent field and use ISA_BUS() where necessary.

Signed-off-by: Andreas Färber <>

997aba8e 05/18/2013 03:35 pm Michael Tokarev

remove some double-includes

Some source files #include the same header more than
once for no good reason. Remove second #includes in
such cases.

Signed-off-by: Michael Tokarev <>

43d03f29 05/06/2013 06:22 pm Tiejun Chen

PPC: e500: correct params->ram_size with ram_size

We should sync params->ram_size after we fixup memory size on
a alignment boundary. Otherwise Guest would exceed the actual
memory region.

Signed-off-by: Tiejun Chen <>
Signed-off-by: Alexander Graf <>

d4261662 05/06/2013 06:22 pm David Gibson

pseries: Factor out check for out-of-bounds LIOBN

PAPR defines LIOBNs (Logical IO Bus Numbers) to be 32-bit, and we check for
values that aren't in the code for H_PUT_TCE. This patch factors the check
into spapr_tce_find_by_liobn(), which already checks if a 32-bit LIOBN...

b55519a0 05/06/2013 06:22 pm David Gibson

pseries: Fix debug message for out-of-bounds address in H_PUT_TCE

Due to a brain outage, this message says "out-of-boards" instead of
"out-of-bounds".

Signed-off-by: David Gibson <>
Signed-off-by: Alexey Kardashevskiy <>...

cefd3cdb 05/06/2013 06:22 pm Bharat Bhushan

PPC: e500: initialize GPRs as per epapr

ePAPR defines the initial values of cpu registers.
This patch initialize the GPRs as per ePAPR specification.

This resolves the issue of guest reboot/reset (guest hang on reboot).

Signed-off-by: Bharat Bhushan <>...

b6f54b31 05/06/2013 03:27 am Julio Guerra

prep: Make System I/O port 0092 read/write

Port 0x0092 is documented as read/write, so for now return the
endianness state instead of hardcoded 0x00.

Signed-off-by: Julio Guerra <>
[AF: Extracted from larger port 0092 patch]
Signed-off-by: Andreas Färber <>

97c42c3c 05/05/2013 09:44 pm Andreas Färber

prep: Add ELF support for -bios

This prepares for switching from OpenHack'Ware to OpenBIOS.

While touching the error handling code, switch from aborting hw_error()
to fprintf()+exit() and suppress failing without -bios for qtest.

Acked-by: Alexander Graf <>...

88432756 05/05/2013 04:58 pm Fabien Chouteau

prep: Fix NIP reset value

The value was changed by commit 09d9828ace37ead29d510a7e24e63c2f15cd4b1c
"PPC: fix hreset_vector for 60x, ...".

Change it back for prep machine to unbreak OpenHack'Ware.

Signed-off-by: Fabien Chouteau <>
Signed-off-by: Andreas Färber <>

b3e6d591 04/29/2013 08:17 pm Paolo Bonzini

audio: enable PCI audio cards for all PCI-enabled targets

Signed-off-by: Paolo Bonzini <>
Message-id:
Signed-off-by: Anthony Liguori <>

f81222bc 04/29/2013 08:16 pm Paolo Bonzini

audio: look for the ISA and PCI buses

Signed-off-by: Paolo Bonzini <>
Message-id:
Signed-off-by: Anthony Liguori <>

c4eda5b7 04/27/2013 12:02 am David Gibson

pseries: Generate device paths for VIO devices

This patch implements a get_dev_path qdev hook for the pseries paravirtual
VIO bus. With upcoming savevm support, this will become very important for
scsi disks hanging of VIO virtual SCSI adapters. scsibus_get_dev_path...

20f649dd 04/27/2013 12:02 am Alexander Graf

PPC: mac newworld: fix cpu NIP reset value

On -M mac99, we can run 970 CPUs. However, these CPUs define the initial
instruction pointer they start execution at as part of their bootup protocol,
so effectively it's up to the board to decide where they start....

0cbad81f 04/27/2013 12:02 am David Gibson

pseries: Fixes and enhancements to L1 cache properties

PAPR requires that the device tree's CPU nodes have several properties
with information about the L1 cache. We already create two of these
properties, but with incorrect names - "[id]cache-block-size" instead...

e03c902c 04/27/2013 12:02 am David Gibson

pseries: Fix some small errors in XICS logic

Under certain circumstances the emulation for the pseries "XICS" interrupt
controller was clearing a pending interrupt from the XISR register, without
also clearing the corresponding priority variable. This will cause...

fd506b4f 04/27/2013 12:02 am David Gibson

pseries: Convert VIO code to QOM style type safe(ish) casts

Curerntly the pseries VIO device code contains quite a few explicit
uses of DO_UPCAST and plain C casts. This is (obviously) type unsafe,
and not the conventional way of doing things in the QOM model. This...

3b961124 04/27/2013 12:02 am Stuart Yoder

PPC: e500: advertise 4.2 MPIC only if KVM supports EPR

Older KVM versions don't support EPR which breaks guests when we announce
MPIC variants that support EPR.

Catch that case and expose only MPIC version 2.0 which tells the guest that
we don't support the EPR capability yet....

2cf3eb6d 04/27/2013 12:02 am Fabien Chouteau

PPC: Remove env->hreset_excp_prefix

This value is not needed if we use correctly the MSR[IP] bit.

excp_prefix is always 0x00000000, except when the MSR[IP] bit is
implemented and set to 1, in that case excp_prefix is 0xfff00000.

The handling of MSR[IP] was already implemented but not used at reset...

31f2cb8f 04/27/2013 12:02 am Bharat Bhushan

Enable kvm emulated watchdog

Enable the KVM emulated watchdog if KVM supports (use the
capability enablement in watchdog handler). Also watchdog exit
(KVM_EXIT_WATCHDOG) handling is added.
Watchdog state machine is cleared whenever VM state changes to running....

e1fe50dc 04/19/2013 12:36 pm Stefan Weil

Remove unneeded type casts

cpu_physical_memory_read, cpu_physical_memory_write take any pointer
as 2nd argument without needing a type cast.

Signed-off-by: Stefan Weil <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Stefan Hajnoczi <>

dccfcd0e 04/15/2013 07:19 pm Paolo Bonzini

sysemu: avoid proliferation of include/ subdirectories

Signed-off-by: Paolo Bonzini <>

bd2be150 04/15/2013 04:16 pm Peter Maydell

arm: fix location of some include files

The recent rearrangement of include files had some minor errors:
devices.h is not ARM specific and should not be in arm/
arm.h should be in arm/

Move these two headers to correct this.

Signed-off-by: Peter Maydell <>...

7702e47c 04/08/2013 07:13 pm Paolo Bonzini

hw: move interrupt controllers to hw/intc/, configure with default-configs/

Signed-off-by: Paolo Bonzini <>

914e29d2 04/08/2013 07:13 pm Paolo Bonzini

hw: move NVRAM interfaces to hw/nvram/, configure with default-configs/

Signed-off-by: Paolo Bonzini <>

47b43a1f 04/08/2013 07:13 pm Paolo Bonzini

hw: move private headers to hw/ subdirectories.

Many headers are used only in a single directory. These can be
kept in hw/.

Signed-off-by: Paolo Bonzini <>

9944d320 04/08/2013 07:13 pm Paolo Bonzini

hw: move char devices to hw/char/, configure via default-configs/

Signed-off-by: Paolo Bonzini <>

c0907c9e 04/08/2013 07:13 pm Paolo Bonzini

hw: move PCI bridges to hw/pci-* or hw/ARCH

Signed-off-by: Paolo Bonzini <>

0ddfaf7f 04/08/2013 07:13 pm Paolo Bonzini

hw: move MC146818RTC to hw/timer/, configure via default-configs/

Signed-off-by: Paolo Bonzini <>

d7e35d4a 04/08/2013 07:13 pm Paolo Bonzini

hw: move NICs to hw/net/, configure via default-configs/

Signed-off-by: Paolo Bonzini <>

53a55002 04/08/2013 07:13 pm Paolo Bonzini

hw: move SCSI controllers to hw/scsi/, configure via default-configs/

Signed-off-by: Paolo Bonzini <>

ddf2bcfc 04/08/2013 07:13 pm Paolo Bonzini

hw: make all of hw/pci/ configurable via default-configs/

Signed-off-by: Paolo Bonzini <>

0d09e41a 04/08/2013 07:13 pm Paolo Bonzini

hw: move headers to include/

Many of these should be cleaned up with proper qdev-/QOM-ification.
Right now there are many catch-all headers in include/hw/ARCH depending
on cpu.h, and this makes it necessary to compile these files per-target.
However, fixing this does not belong in these patches....

d5aea6f3 03/22/2013 04:28 pm David Gibson

mmu-hash*: Add header file for definitions

Currently cpu.h contains a number of definitions relating to the 64-bit
hash MMU. Some are used in the MMU emulation code, but some are only used
in the spapr MMU management hcall implementations.

This patch moves these definitions (except for a few that are needed...

dffdaf61 03/22/2013 04:28 pm David Gibson

mmu-hash*: Add hash pte load/store helpers

On real hardware the ppc hash page table is stored in memory; accordingly
our mmu emulation code can read a hash page table in guest memory. But,
when paravirtualized under PAPR, the real hash page table is in host...

a4e044c3 03/22/2013 04:28 pm David Gibson

pseries: Fix breakage in CPU QOM conversion

Commit 259186a7d2f7184efc96ae99bc5658e6159f53ad "cpu: Move halted and
interrupt_request fields to CPUState" broke the pseries machine. That's
because it uses CPU instead of ENV_GET_CPU() to convert from the global...

89dfd6e1 03/22/2013 04:28 pm David Gibson

pseries: Remove "busname" property for PCI host bridge

Currently the "spapr-pci-host-bridge" device has a "busname" property which
can be used to override the default assignment of qbus names for the bus
subordinate to the PHB. We use that for the default primary PCI bus, to...

7b565160 03/22/2013 04:28 pm David Gibson

pseries: Move XICS initialization before cpu initialization

Currently, the pseries machine initializes the cpus, then the XICS
interrupt controller. However, to support the upcoming in-kernel XICS
implementation we will need to initialize the irq controller before the...

259186a7 03/12/2013 11:35 am Andreas Färber

cpu: Move halted and interrupt_request fields to CPUState

Both fields are used in VMState, thus need to be moved together.
Explicitly zero them on reset since they were located before
breakpoints.

Pass PowerPCCPU to kvmppc_handle_halt().

Signed-off-by: Andreas Färber <>

d8ed887b 03/12/2013 11:35 am Andreas Färber

exec: Pass CPUState to cpu_reset_interrupt()

Move it to qom/cpu.c to avoid build failures depending on include order
of cpu-qom.h and exec/cpu-all.h.

Change opaques of various ..._irq_handler() functions to the
appropriate CPU type to facilitate using cpu_reset_interrupt()....

c3affe56 03/12/2013 11:35 am Andreas Färber

cpu: Pass CPUState to cpu_interrupt()

Move it to qom/cpu.h to avoid issues with include order.

Change pc_acpi_smi_interrupt() opaque to X86CPU.

Signed-off-by: Andreas Färber <>

fa388916 03/11/2013 03:39 am Anthony Liguori

Merge remote-tracking branch 'origin/master' into staging

  • origin/master: (75 commits)
    tcg: Don't make exitreq flag a local temporary
    Makefile: Add subdir dependency on config-devices-all.mak
    make_device_config.sh: Emit dependency file to directory where included...
6e72a00f 03/11/2013 02:56 am Anthony Liguori

Merge remote-tracking branch 'bonzini/hw-dirs' into staging

  • bonzini/hw-dirs:
    sh: move files referencing CPU to hw/sh4/
    ppc: move more files to hw/ppc
    ppc: move files referencing CPU to hw/ppc/
    m68k: move files referencing CPU to hw/m68k/
    i386: move files referencing CPU to hw/i386/...
e13da404 03/08/2013 10:04 pm Amadeusz Sławiński

PPC: Fix dma interrupt

In openbios (drivers/ide.c) they are set to

0000000d 00000000 00000002 00000000
0000000e 00000000 00000003 00000000
0000000f 00000000 00000004 00000000
(The last one seems to be not implemented in qemu)

It follows convention of how they are set on real machines,...

d37e12a0 03/08/2013 02:15 pm Peter Maydell

pci_host: Drop write-only address_space field

The address_space field of PCIHostState was only ever written, never used.
Drop it completely.

Signed-off-by: Peter Maydell <>
Reviewed-by: Andreas Färber <>
Signed-off-by: Stefan Hajnoczi <>

320ba5fe 03/01/2013 04:01 pm Paolo Bonzini

build: always link device_tree.o into emulators if libfdt available

Signed-off-by: Paolo Bonzini <>

e4c8b28c 03/01/2013 04:01 pm Paolo Bonzini

ppc: express FDT dependency of pSeries and e500 boards via default-configs/

Signed-off-by: Paolo Bonzini <>

53018216 03/01/2013 04:01 pm Paolo Bonzini

hw: move boards and other isolated files to hw/ARCH

Signed-off-by: Paolo Bonzini <>

c68c4a56 03/01/2013 04:01 pm Paolo Bonzini

ppc: move files referencing CPU to hw/ppc/

Signed-off-by: Paolo Bonzini <>

9f64bd8a 03/01/2013 04:01 pm Paolo Bonzini

ppc: move more files to hw/ppc

These sPAPR files do not implement devices, move them over.
Signed-off-by: Paolo Bonzini <>

7948b4b0 03/01/2013 02:57 pm Paolo Bonzini

ppc: do not use ../ in include files

This simplifies the scripted execution of the next patch.

Signed-off-by: Paolo Bonzini <>

440c8152 02/16/2013 03:51 pm Andreas Färber

e500: Replace open-coded loop with qemu_get_cpu()

Since we still need env for ppc-specific fields, obtain it via the new
env_ptr fields to avoid "cpu" name conflicts between CPUState and
PowerPCCPU for now.

This fixes a potential issue with env being NULL at the end of the loop...

7cc2a8b1 01/30/2013 06:48 pm Anthony Liguori

Merge remote-tracking branch 'afaerber-or/prep-up' into staging

  1. By Andreas Färber
  2. Via Andreas Färber
    • afaerber-or/prep-up:
      prep: Move PReP machine to hw/ppc/
      prep_pci: Convert to QOM realizefn
      prep_pci: Create PCIBus and PCIDevice in-place
75610155 01/30/2013 11:42 am Andreas Färber

prep: Move PReP machine to hw/ppc/

Signed-off-by: Andreas Färber <>

70db9222 01/27/2013 03:34 pm Eduardo Habkost

fw_cfg: Remove FW_CFG_MAX_CPUS from fw_cfg_init()

PC will not use max_cpus for that field, so move it outside the common
code so it can use a different value on PC.

Signed-off-by: Eduardo Habkost <>
Signed-off-by: Andreas Färber <>

bd25922e 01/25/2013 11:02 pm Scott Wood

PPC: e500: fix mpic_iack address

MPIC+0xa0 is IACK for the current CPU. MPIC+0x200a0 is IACK for CPU 0.
This fix allows EPR to work with an SMP target.

Signed-off-by: Scott Wood <>
Signed-off-by: Alexander Graf <>

f5fba9d2 01/25/2013 11:02 pm Scott Wood

PPC: e500: Select MPIC v4.2 on ppce500 platform

The compatible string is changed to fsl,mpic on all e500 platforms, to
advertise the existence of BRR1. This matches what the device tree will
have on real hardware.

With MPIC v4.2 max_cpu can be increased from 15 to 32....

2e4a7c9c 01/25/2013 11:02 pm Andreas Färber

adb: QOM'ify ADB devices

They were not qdev'ified before. Derive ADBDevice from DeviceState and
convert reset callbacks to DeviceClass::reset, ADBDevice::opaque pointer
to ADBDevice subtypes for mouse and keyboard and adb_{kbd,mouse}_init()
to regular qdev functions....

293c867d 01/25/2013 11:02 pm Andreas Färber

cuda: Move ADB bus into CUDA state

Replace the global adb_bus with a CUDA-internal one, accessed using
regular qdev child bus accessor.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

d037834a 01/25/2013 11:02 pm Andreas Färber

macio: Split MacIO in two

Let the machines create two different types. This prepares to move
knowledge about sub-devices from the machines into the devices.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

3743cca7 01/25/2013 11:02 pm Andreas Färber

mac_nvram: Clean up public API

The state data field is accessed in uint8_t quantities, so switch from
uint32_t argument and return value to uint8_t.

Fix debug format specifiers while at it.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

95ed3b7c 01/25/2013 11:02 pm Andreas Färber

mac_nvram: QOM'ify MacIO NVRAM

It was not qdev'ified before. Turn it into a SysBusDevice and
initialize it via static properties.

Prepare Old World specific MacIO state and embed the NVRAM state there.

Drop macio_nvram_setup_bar() in favor of sysbus_mmio_map() or...

07a7484e 01/25/2013 11:02 pm Andreas Färber

ide/macio: QOM'ify MacIO IDE

It was not qdev'ified before. Turn it into a SysBusDevice.
Embed them into the MacIO devices.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

45fa67fb 01/25/2013 11:02 pm Andreas Färber

cuda: QOM'ify CUDA

It was not qdev'ified before. Turn it into a SysBusDevice and embed it
in MacIO.

Signed-off-by: Andreas Färber <>
Signed-off-by: Alexander Graf <>

baec1910 01/25/2013 11:02 pm Andreas Färber

ppc: Move Mac machines to hw/ppc/

Signed-off-by: Andreas Färber <>
[agraf: squash in MAINTAINERS fix]
Signed-off-by: Alexander Graf <>

1356b98d 01/21/2013 09:52 pm Andreas Färber

sysbus: Drop sysbus_from_qdev() cast macro

Replace by SYS_BUS_DEVICE() QOM cast macro using a scripted conversion.
Avoids the old macro creeping into new code.

Resolve a Coding Style warning in openpic code.

Signed-off-by: Andreas Färber <>...

528e536e 01/18/2013 08:06 pm Alexander Graf

PPC: E500: Calculate loading blob offsets properly

We have 3 blobs we need to load when booting the system:

- kernel
- initrd
- dtb

We place them in physical memory in that order. At least we should.
This patch fixes the location calculation up to take any module into...

b8dec144 01/18/2013 08:06 pm Alexander Graf

PPC: e500: Change in-memory order of load blobs

Today, we load

&lt;kernel&gt; &lt;initrd&gt; &lt;dtb&gt;

into memory in that order. However, Linux has a bug where it can only
handle the dtb if it's within the first 64MB of where <kernel> starts.

So instead, let's change the order to...

e4ada29e 01/16/2013 02:26 am Avik Sil

Make default boot order machine specific

This patch makes default boot order machine specific instead of
set globally. The default boot order can be set per machine in
QEMUMachine boot_order. This also allows a machine to receive a
NULL boot order when -boot isn't used and take an appropriate action...

55e5c285 01/15/2013 05:09 am Andreas Färber

cpu: Move cpu_index field to CPUState

Note that target-alpha accesses this field from TCG, now using a
negative offset. Therefore the field is placed last in CPUState.

Pass PowerPCCPU to [kvm]ppc_fixup_cpu() to facilitate this change.

Move common parts of mips cpu_state_reset() to mips_cpu_reset()....