Statistics
| Branch: | Revision:

root / hw / spapr.c @ 310faaed

History | View | Annotate | Download (15.8 kB)

# Date Author Comment
c7a5c0c9 04/08/2011 12:32 pm David Gibson

pseries: Abolish envs array

Currently the pseries machine init code builds up an array, envs, of
CPUState pointers for all the cpus in the system. This is kind of
pointless, given the generic code already has a perfectly good linked list
of the cpus.

In addition, there are a number of places which assume that the cpu's...

a3467baa 04/08/2011 12:32 pm David Gibson

Delay creation of pseries device tree until reset

At present, the 'pseries' machine creates a flattened device tree in the
machine->init function to pass to either the guest kernel or to firmware.

However, the machine->init function runs before processing of -device...

6e270446 04/01/2011 07:34 pm Ben Herrenschmidt

Implement PAPR virtual SCSI interface (ibmvscsi)

This patch implements the infrastructure and hypercalls necessary for
the PAPR specified Virtual SCSI interface. This is the normal method
for providing (virtual) disks to PAPR partitions.

Signed-off-by: Ben Herrenschmidt <>...

ed120055 04/01/2011 07:34 pm David Gibson

Implement PAPR VPA functions for pSeries shared processor partitions

Shared-processor partitions are those where a CPU is time-sliced between
partitions, rather than being permanently dedicated to a single
partition. qemu emulated partitions, since they are just scheduled with...

a9f8ad8f 04/01/2011 07:34 pm David Gibson

Add SLOF-based partition firmware for pSeries machine, allowing more boot options

Currently, the emulated pSeries machine requires the use of the
-kernel parameter in order to explicitly load a guest kernel. This
means booting from the virtual disk, cdrom or network is not possible....

39ac8455 04/01/2011 07:34 pm David Gibson

Implement hcall based RTAS for pSeries machines

On pSeries machines, operating systems can instantiate "RTAS" (Run-Time
Abstraction Services), a runtime component of the firmware which implements
a number of low-level, infrequently used operations. On logical partitions...

821303f5 04/01/2011 07:34 pm David Gibson

Implement assorted pSeries hcalls and RTAS methods

This patch adds several small utility hypercalls and RTAS methods to
the pSeries platform emulation. Specifically:

  • 'display-character' rtas call

This just prints a character to the console, it's occasionally used...

b5cec4c5 04/01/2011 07:34 pm David Gibson

Implement the PAPR (pSeries) virtualized interrupt controller (xics)

PAPR defines an interrupt control architecture which is logically divided
into ICS (Interrupt Control Presentation, each unit is responsible for
presenting interrupts to a particular "interrupt server", i.e. CPU) and...

00dc738d 04/01/2011 07:34 pm David Gibson

Add PAPR H_VIO_SIGNAL hypercall and infrastructure for VIO interrupts

This patch adds infrastructure to support interrupts from PAPR virtual IO
devices. This includes correctly advertising those interrupts in the
device tree, and implementing the H_VIO_SIGNAL hypercall, used to...

0201e2da 04/01/2011 07:34 pm David Gibson

Add (virtual) interrupt to PAPR virtual tty device

Now that we have implemented the PAPR "xics" virtualized interrupt
controller, we can add interrupts in PAPR VIO devices. This patch adds
interrupt support to the PAPR virtual tty/console device.

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

ee86dfee 04/01/2011 07:34 pm David Gibson

Implement TCE translation for sPAPR VIO

This patch implements the necessary infrastructure and hypercalls for
sPAPR's TCE (Translation Control Entry) IOMMU mechanism. This is necessary
for all virtual IO devices which do DMA (i.e. nearly all of them).

Signed-off-by: Ben Herrenschmidt <>...

8d90ad90 04/01/2011 07:34 pm David Gibson

Implement sPAPR Virtual LAN (ibmveth)

This patch implements the PAPR specified Inter Virtual Machine Logical
LAN; that is the virtual hardware used by the Linux ibmveth driver.

Signed-off-by: Paul Mackerras <>
Signed-off-by: David Gibson <>...

b45d63b6 04/01/2011 07:34 pm Ben Herrenschmidt

Implement PAPR CRQ hypercalls

This patch implements the infrastructure and hypercalls necessary for the
PAPR specified CRQ (Command Request Queue) mechanism. This general
request queueing system is used by many of the PAPR virtual IO devices,
including the virtual scsi adapter....

9fdf0c29 04/01/2011 07:34 pm David Gibson

Start implementing pSeries logical partition machine

This patch adds a "pseries" machine to qemu. This aims to emulate a
logical partition on an IBM pSeries machine, compliant to the
"PowerPC Architecture Platform Requirements" (PAPR) document.

This initial version is quite limited, it implements a basic machine...

4040ab72 04/01/2011 07:34 pm David Gibson

Implement the bus structure for PAPR virtual IO

This extends the "pseries" (PAPR) machine to include a virtual IO bus
supporting the PAPR defined hypercall based virtual IO mechanisms.

So far only one VIO device is provided, the vty / vterm, providing
a full console (polled only, for now)....

f43e3525 04/01/2011 07:34 pm David Gibson

Virtual hash page table handling on pSeries machine

On pSeries logical partitions, excepting the old POWER4-style full system
partitions, the guest does not have direct access to the hardware page
table. Instead, the pagetable exists in hypervisor memory, and the guest...