[Qemu-devel] [PATCH 13/27] Start implementing pSeries logical partition machine

2011-03-31 Thread David Gibson
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 and PAPR hypercall emulation. So far

[Qemu-devel] [PATCH 14/27] Implement the bus structure for PAPR virtual IO

2011-03-31 Thread David Gibson
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). Signed-off-by: David Gibson d...@au1.ibm.com ---

[Qemu-devel] [PATCH 24/27] Implement PAPR virtual SCSI interface (ibmvscsi)

2011-03-31 Thread David Gibson
From: Ben Herrenschmidt b...@kernel.crashing.org 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 b...@kernel.crashing.org

[Qemu-devel] [PATCH 25/27] Add a PAPR TCE-bypass mechanism for the pSeries machine

2011-03-31 Thread David Gibson
From: Ben Herrenschmidt b...@kernel.crashing.org Usually, PAPR virtual IO devices use a virtual IOMMU mechanism, TCEs, to mediate all DMA transfers. While this is necessary for some sorts of operation, it can be complex to program and slow for others. This patch implements a mechanism for

[Qemu-devel] [PATCH 26/27] Implement PAPR VPA functions for pSeries shared processor partitions

2011-03-31 Thread David Gibson
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 the qemu user process, behave mostly like shared processor partitions. In order to

[Qemu-devel] [PATCH 21/27] Implement TCE translation for sPAPR VIO

2011-03-31 Thread David Gibson
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 b...@kernel.crashing.org Signed-off-by: David

[Qemu-devel] [PATCH 20/27] Add (virtual) interrupt to PAPR virtual tty device

2011-03-31 Thread David Gibson
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 d...@au1.ibm.com --- hw/spapr.c |6 -- hw/spapr_vio.h |3

[Qemu-devel] [PATCH 07/27] Clean up slb_lookup() function

2011-03-31 Thread David Gibson
The slb_lookup() function, used in the ppc translation path returns a number of slb entry fields in reference parameters. However, only one of the two callers of slb_lookup() actually wants this information. This patch, therefore, makes slb_lookup() return a simple pointer to the located SLB

[Qemu-devel] [PATCH 10/27] Better factor the ppc hash translation path

2011-03-31 Thread David Gibson
Currently the path handling hash page table translation in get_segment() has a mix of common and 32 or 64 bit specific code. However the division is not done terribly well which results in a lot of messy code flipping between common and divided paths. This patch improves the organization,

[Qemu-devel] [PATCH 23/27] Implement PAPR CRQ hypercalls

2011-03-31 Thread David Gibson
From: Ben Herrenschmidt b...@kernel.crashing.org 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

<    1   2