Statistics
| Branch: | Revision:

root / hw / ppc @ fd506b4f

# Date Author Comment
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()....

1a61a9ae 01/07/2013 06:37 pm Stuart Yoder

PPC: KVM: set has-idle in guest device tree

On e500mc, the platform doesn't provide a way for the CPU to go idle.

To still not uselessly burn CPU time, expose an idle hypercall to the guest
if kvm supports it.

Signed-off-by: Stuart Yoder <>...

68c2dd70 01/07/2013 06:37 pm Alexander Graf

PPC: Bring EPR support closer to reality

We already used to support the external proxy facility of FSL MPICs,
but only implemented it halfway correctly.

This patch adds support for

  • dynamic enablement of the EPR facility
  • interrupt acknowledgement only when the interrupt is delivered...
501a7ce7 12/23/2012 01:40 am Andreas Färber

Merge branch 'master' of git://git.qemu.org/qemu into qom-cpu

Adapt header include paths.

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

a34a92b9 12/19/2012 03:09 pm Andreas Färber

ppc_booke: Pass PowerPCCPU to ppc_booke_timers_init()

Cleans up after passing PowerPCCPU to timer callbacks.

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

9c17d615 12/19/2012 09:32 am Paolo Bonzini

softmmu: move include files to include/sysemu/

Signed-off-by: Paolo Bonzini <>

1de7afc9 12/19/2012 09:32 am Paolo Bonzini

misc: move include files to include/qemu/

Signed-off-by: Paolo Bonzini <>

022c62cb 12/19/2012 09:31 am Paolo Bonzini

exec: move include files to include/exec/

Signed-off-by: Paolo Bonzini <>

1422e32d 12/19/2012 09:31 am Paolo Bonzini

net: reorganize headers

Move public headers to include/net, and leave private headers in net/.
Put the virtio headers in include/net/tap.h, removing the multiple copies
that existed. Leave include/net/tap.h as the interface for NICs, and
net/tap_int.h as the interface for OS-specific parts of the tap backend....

077805fa 12/19/2012 09:29 am Paolo Bonzini

janitor: do not rely on indirect inclusions of or from qemu-char.h

Various header files rely on qemu-char.h including qemu-config.h or
main-loop.h, but they really do not need qemu-char.h at all (particularly
interesting is the case of the block layer!). Clean this up, and also...

6f991980 12/17/2012 07:56 pm Paolo Bonzini

Merge commit '1dd3a74d2ee2d873cde0b390b536e45420b3fe05' into HEAD

Signed-off-by: Paolo Bonzini <>

a2cb15b0 12/17/2012 01:02 pm Michael S. Tsirkin

pci: update all users to look in pci/

update all users so we can remove the makefile hack.

Signed-off-by: Michael S. Tsirkin <>

315a1350 12/17/2012 01:02 pm Michael S. Tsirkin

pci: move pci core code to hw/pci

Move files and modify makefiles to pick them at the
new location.

Signed-off-by: Michael S. Tsirkin <>

347dd79d 12/14/2012 02:12 pm Alexander Graf

PPC: E500: Generate dt pci irq map dynamically

Today we're hardcoding the PCI interrupt map in the e500 machine file.
Instead, let's write it dynamically so that different machine types
can have different slot properties.

Signed-off-by: Alexander Graf <>

492ec48d 12/14/2012 02:12 pm Alexander Graf

PPC: E500: Move PCI slot information into params

We have a params struct that allows us to expose differences between
e500 machine models. Include PCI slot information there, so we can have
different machines with different PCI slot topology.

Signed-off-by: Alexander Graf <>

3bb7e02a 12/14/2012 02:12 pm Alexander Graf

PPC: E500plat: Make a lot of PCI slots available

The ppce500 machine doesn't have to stick to hardware limitations,
as it's defined as being fully device tree based.

Thus we can change the initial PCI slot ID to 0x1 which gives us a
whopping 31 PCI devices we can support with this machine now!...

9e2c1298 12/14/2012 02:12 pm Alexander Graf

PPC: e500: pci: Export slot2irq calculation

We need the calculation method to get from a PCI slot ID to its respective
interrupt line twice. Once in the internal map function and once when
assembling the device tree.

So let's extract the calculation to a separate function that can be called...

5bac0701 12/14/2012 02:12 pm Alexander Graf

openpic: remove irq_out

The current openpic emulation contains half-ready code for bypass mode.
Remove it, so that when someone wants to finish it they can start from a
clean state.

Signed-off-by: Alexander Graf <>

d0b72631 12/14/2012 02:12 pm Alexander Graf

openpic: convert to qdev

This patch converts the OpenPIC device to qdev. Along the way it
renames the "openpic" target to "raven" and the "mpic" target to
"fsl_mpic_20", to better reflect the actual models they implement.

This way we have a generic OpenPIC device now that can handle...

a911b7a9 12/14/2012 02:12 pm Alexander Graf

PPC: e500: Add MSI support

Now that our interrupt controller supports MSIs, let's expose that feature
to the guest through the device tree!

Signed-off-by: Alexander Graf <>

cdbb912a 12/14/2012 02:12 pm Alexander Graf

mpic: Unify numbering scheme

MPIC interrupt numbers in Linux (device tree) and in QEMU are different,
because QEMU takes the sparseness of the IRQ number space into account.

Remove that cleverness and instead assume a flat number space. This makes
the code easier to understand, because we are actually aligned with Linux...

639e8102 12/14/2012 02:12 pm David Gibson

pseries: Implement PAPR NVRAM

The PAPR specification requires a certain amount of NVRAM, accessed via
RTAS, which we don't currently implement in qemu. This patch addresses
this deficiency, implementing the NVRAM as a VIO device, with some glue to
instantiate it automatically based on a machine option....

dffb1dc2 12/14/2012 02:12 pm Bharat Bhushan

e500: Adding CCSR memory region

All devices are also placed under CCSR memory region.
The CCSR memory region is exported to pci device. The MSI interrupt
generation is the main reason to export the CCSR region to PCI device.
This put the requirement to move mpic under CCSR region, but logically...

3eddc1be 12/14/2012 02:12 pm Bharat Bhushan

Adding BAR0 for e500 PCI controller

PCI Root complex have TYPE-1 configuration header while PCI endpoint
have type-0 configuration header. The type-1 configuration header have
a BAR (BAR0). In Freescale PCI controller BAR0 is used for mapping pci
address space to CCSR address space. This can used for 2 purposes: 1)...

a1bc20df 10/29/2012 12:45 pm Alexander Graf

PPC: e500: Map PIO space into core memory region

On PPC, we don't have PIO. So usually PIO space behind a PCI bridge is
accessible via MMIO. Do this mapping explicitly by mapping the PIO space
of our PCI bus into a memory region that lives in memory space....

59de4f98 10/29/2012 12:45 pm Bharat Bhushan

e500: Fix serial initialization

it was wrongly using serial_hds0 instead of serial_hds1

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

74d042e5 10/29/2012 12:45 pm David Gibson

pseries: Implement qemu initiated shutdowns using EPOW events

At present, using 'system_powerdown' from the monitor or otherwise
instructing qemu to (cleanly) shut down a pseries guest will not work,
because we did not have a method of signalling the shutdown request to the...

a8170e5e 10/23/2012 04:58 pm Avi Kivity

Rename target_phys_addr_t to hwaddr

target_phys_addr_t is unwieldly, violates the C standard (_t suffixes are
reserved) and its purpose doesn't match the name (most target_phys_addr_t
addresses are not target specific). Replace it with a finger-friendly,...

488cb996 10/22/2012 09:26 pm Gerd Hoffmann

serial: split serial.c

Split serial.c into serial.c, serial.h and serial-isa.c. While being at
creating a serial.h header file move the serial prototypes from pc.h to
the new serial.h. The latter leads to s/pc.h/serial.h/ in tons of
boards which just want the serial bits from pc.h...

5f072e1f 10/20/2012 10:53 am Eduardo Habkost

create struct for machine initialization arguments

This should help us to:
- More easily add or remove machine initialization arguments without
having to change every single machine init function;
- More easily make mechanical changes involving the machine init...

71193433 10/05/2012 03:35 am Alexander Graf

fdt: move dumpdtb interpretation code to device_tree.c

The dumpdtb code can be useful in more places than just for e500. Move it
to a generic place.

Signed-off-by: Alexander Graf <>

9dd5eba1 10/05/2012 03:35 am Scott Wood

PPC: e500: increase DTC_LOAD_PAD

An allowance of 5 MiB for BSS is not enough for Linux kernels with certain
debug options enabled (not sure exactly which one caused it, but I'd guess
lockdep). The kernel I ran into this with had a BSS of around 6.4 MB.
...

7e7ec2d2 10/05/2012 03:35 am Scott Wood

PPC: e500: calculate initrd_base like dt_base

While investigating dtb pad issues, I noticed that initrd_base wasn't taking
loadaddr into account the way dt_base was. This seems wrong.

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

fb37c302 10/05/2012 03:35 am Alexander Graf

PPC: e500: Only expose even TLB sizes in initial TLB

When booting our e500 machine, we automatically generate a big TLB entry
in TLB1 that covers all of the code we need to run in there until the guest
can handle its TLB on its own.

However, e500v2 can only handle MAS1.0 sizes. However, we keep our TLB...

7e99826c 08/15/2012 08:43 pm Alexander Graf

Revert "PPC: e500: Use new MPIC dt format"

This reverts commit 518c7fb44f2182cde943dc64f88cb2fd4e4ff6b5. It breaks
new Linux guests with SMP, because IPIs get mapped to large vectors which
our MPIC emulation does not implement.

Conflicts:

hw/ppc/e500.c
4a18e7c9 08/15/2012 08:43 pm Scott Wood

PPC: e500: rename mpc8544ds into generic file

Rename the file (with no changes other than fixing up the header paths)
in preparation for refactoring into a generic e500 platform. Also move
it into the newly created ppc/ directory.

Signed-off-by: Scott Wood <>...

b3305981 08/15/2012 08:43 pm Scott Wood

PPC: e500: change internal references away from mpc8544ds

No functional changes -- machine is still outwardly mpc8544ds.

The references that are not changed contain mpc8544 hardware details that
need to be parameterized if/when a different e500 platform wants to...

e6eaabeb 08/15/2012 08:43 pm Scott Wood

PPC: e500: split mpc8544ds machine from generic e500 code

Currently the only mpc8544ds-ism that is factored out is
toplevel compatible and model. In the future the generic e500
code is expected to become more generic.

Signed-off-by: Scott Wood <>...

4d5c29ca 08/15/2012 08:43 pm Scott Wood

PPC: e500: add generic e500 platform

This gives the kernel a paravirtualized machine to target, without
requiring both sides to pretend to be targeting a specific board
that likely has little to do with the host in KVM scenarios. This
avoids the need to add new boards to QEMU, just to be able to...

ad0ebb91 06/28/2012 12:33 am David Gibson

pseries: Convert sPAPR TCEs to use generic IOMMU infrastructure

The pseries platform already contains an IOMMU implementation, since it is
essential for the platform's paravirtualized VIO devices. This IOMMU
support is currently built into the implementation of the VIO "bus" and...

63397dd0 06/24/2012 02:04 am Alexander Graf

PPC: e500: require libfdt

Now that we're moving all of the device tree generation from an external
pre-execution generated blob to runtime generation using libfdt, we absolutely
must have libfdt around.

This requirement was there before already, as the only way to not require libfdt...

9bbfbb61 06/15/2012 01:44 pm Andreas Färber

hw/xilinx_*: Share Xilinx devices between ppc and microblaze

Speeds up the build.

xilinx_ethlite uses tswap32() and is thus target-dependent.

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

7c760cbc 06/09/2012 01:20 pm Andreas Färber

target-ppc: Unbreak kvm_ppc.c build

The file is located in target-ppc/, not hw/.

Signed-off-by: Andreas Färber <>
Cc: Paolo Bonzini <>
Cc: Anthony Liguori <>
Cc: Blue Swirl <>...

49ac9e0a 06/07/2012 10:21 am Paolo Bonzini

build: move device tree to per-target Makefile.objs

Signed-off-by: Paolo Bonzini <>