[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 7/9] hw/arm/bcm2836: Use correct affinity values for
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 7/9] hw/arm/bcm2836: Use correct affinity values for BCM2837 |
Date: |
Tue, 13 Mar 2018 15:34:56 +0000 |
The BCM2837 sets the Aff1 field of the MPIDR affinity values for the
CPUs to 0, whereas the BCM2836 uses 0xf. Set this correctly, as it
is required for Linux to boot.
Signed-off-by: Peter Maydell <address@hidden>
---
hw/arm/bcm2836.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c
index 07d2705f96..7140257c98 100644
--- a/hw/arm/bcm2836.c
+++ b/hw/arm/bcm2836.c
@@ -25,14 +25,17 @@
struct BCM283XInfo {
const char *name;
+ int clusterid;
};
static const BCM283XInfo bcm283x_socs[] = {
{
.name = TYPE_BCM2836,
+ .clusterid = 0xf,
},
{
.name = TYPE_BCM2837,
+ .clusterid = 0x0,
},
};
@@ -58,6 +61,8 @@ static void bcm2836_init(Object *obj)
static void bcm2836_realize(DeviceState *dev, Error **errp)
{
BCM283XState *s = BCM283X(dev);
+ BCM283XClass *bc = BCM283X_GET_CLASS(dev);
+ const BCM283XInfo *info = bc->info;
Object *obj;
Error *err = NULL;
int n;
@@ -119,7 +124,7 @@ static void bcm2836_realize(DeviceState *dev, Error **errp)
/* Mirror bcm2836, which has clusterid set to 0xf
* TODO: this should be converted to a property of ARM_CPU
*/
- s->cpus[n].mp_affinity = 0xF00 | n;
+ s->cpus[n].mp_affinity = (info->clusterid << 8) | n;
/* set periphbase/CBAR value for CPU-local registers */
object_property_set_int(OBJECT(&s->cpus[n]),
--
2.16.2
- [Qemu-devel] [PATCH 0/9] raspi3: various fixes for Linux booting, Peter Maydell, 2018/03/13
- [Qemu-devel] [PATCH 1/9] hw/arm/raspi: Don't do board-setup or secure-boot for raspi3, Peter Maydell, 2018/03/13
- [Qemu-devel] [PATCH 4/9] hw/arm/bcm2386: Fix parent type of bcm2386, Peter Maydell, 2018/03/13
- [Qemu-devel] [PATCH 7/9] hw/arm/bcm2836: Use correct affinity values for BCM2837,
Peter Maydell <=
- [Qemu-devel] [PATCH 9/9] hw/arm/raspi: Provide spin-loop code for AArch64 CPUs, Peter Maydell, 2018/03/13
- [Qemu-devel] [PATCH 3/9] hw/arm/boot: If booting a kernel in EL2, set SCR_EL3.HCE, Peter Maydell, 2018/03/13
- [Qemu-devel] [PATCH 8/9] hw/arm/bcm2836: Hardcode correct CPU type, Peter Maydell, 2018/03/13