[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/28] PPC: Bump MPIC up to 32 supported CPUs
From: |
Alexander Graf |
Subject: |
[Qemu-devel] [PATCH 08/28] PPC: Bump MPIC up to 32 supported CPUs |
Date: |
Sat, 23 Jul 2011 12:49:52 +0200 |
The MPIC emulation is now capable of handling up to 32 CPUs. Reflect that in
the code exporting the numbers out and fix an integer overflow while at it.
Signed-off-by: Alexander Graf <address@hidden>
---
v1 -> v2:
- Max cpus is 15 due to cINT routing
- Report nb_cpus not MAX_CPUS in MPIC capabilities
---
hw/openpic.c | 10 +++-------
1 files changed, 3 insertions(+), 7 deletions(-)
diff --git a/hw/openpic.c b/hw/openpic.c
index af07e13..aa8446c 100644
--- a/hw/openpic.c
+++ b/hw/openpic.c
@@ -63,7 +63,7 @@
#elif defined(USE_MPCxxx)
-#define MAX_CPU 2
+#define MAX_CPU 15
#define MAX_IRQ 128
#define MAX_DBL 0
#define MAX_MBX 0
@@ -507,7 +507,7 @@ static inline void write_IRQreg (openpic_t *opp, int n_IRQ,
break;
case IRQ_IDE:
tmp = val & 0xC0000000;
- tmp |= val & ((1 << MAX_CPU) - 1);
+ tmp |= val & ((1ULL << MAX_CPU) - 1);
opp->src[n_IRQ].ide = tmp;
DPRINTF("Set IDE %d to 0x%08x\n", n_IRQ, opp->src[n_IRQ].ide);
break;
@@ -1288,7 +1288,7 @@ static void mpic_reset (void *opaque)
mpp->glbc = 0x80000000;
/* Initialise controller registers */
- mpp->frep = 0x004f0002;
+ mpp->frep = 0x004f0002 | ((mpp->nb_cpus - 1) << 8);
mpp->veni = VENI;
mpp->pint = 0x00000000;
mpp->spve = 0x0000FFFF;
@@ -1689,10 +1689,6 @@ qemu_irq *mpic_init (target_phys_addr_t base, int
nb_cpus,
{mpic_cpu_read, mpic_cpu_write, MPIC_CPU_REG_START, MPIC_CPU_REG_SIZE},
};
- /* XXX: for now, only one CPU is supported */
- if (nb_cpus != 1)
- return NULL;
-
mpp = qemu_mallocz(sizeof(openpic_t));
for (i = 0; i < sizeof(list)/sizeof(list[0]); i++) {
--
1.6.0.2
- [Qemu-devel] [PATCH 00/28] SMP support for MPC8544DS, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 06/28] PPC: MPIC: Remove read functionality for WO registers, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 12/28] PPC: bamboo: Move host fdt copy to target, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 01/28] PPC: Move openpic to target specific code compilation, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 08/28] PPC: Bump MPIC up to 32 supported CPUs,
Alexander Graf <=
- [Qemu-devel] [PATCH 14/28] PPC: E500: Use generic kvm function for freq, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 19/28] PPC: E500: Update freqs for all CPUs, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 09/28] PPC: E500: create multiple envs, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 13/28] PPC: KVM: Add generic function to read host clockfreq, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 26/28] MPC8544DS: Remove CPU nodes, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 21/28] PPC: E500: Add PV spinning code, Alexander Graf, 2011/07/23
- [Qemu-devel] [PATCH 18/28] PPC: KVM: Add stubs for kvm helper functions, Alexander Graf, 2011/07/23