From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) client-ip=209.85.221.66; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f66.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053248; cv=none; d=zohomail.com; s=zohoarc; b=bjSGzHNzpPxzHt5XcO5rCcUPsAB23fcH8bCdDXo0TRdwywxDKDCv3jQcnzr2lxHN03azanY0t2tzVvMTNntsHQHKY4qM4WH/vslJpJGdTOUmb4/+GvMTNdJpbIMrnWVSvl7OIcgrTAxzPXbl9rSt9pbv4ejxxm2FvPoOKarwanI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053248; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JltEwXbGzmO7Iz477A1CNJvyjNGP/jwshVCvgGssOxI=; b=m4WYuh0EbrpQKeHhrpS9Xfe3Im+NMTy3NvjUy9xsXlseY0gsm5Fk0CJXefeMxMTaH1BOl2oE/gw11Zcz+VWk1T4nAf4Oc7hcDlovG8gF7ulSVLmChDirJt8Wn0LY8sgNFKlgO6iuc/tS/0XqS/V8GMfo5FOnxgTZFpOjxGCvEnU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.66 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by mx.zohomail.com with SMTPS id 1603053248128882.9099735571592; Sun, 18 Oct 2020 13:34:08 -0700 (PDT) Received: by mail-wr1-f66.google.com with SMTP id g12so9107343wrp.10 for ; Sun, 18 Oct 2020 13:34:07 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id k16sm13828755wmi.5.2020.10.18.13.34.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=JltEwXbGzmO7Iz477A1CNJvyjNGP/jwshVCvgGssOxI=; b=NTw7BVNemAHcvBRqoWTLshLu4jivqW5YakETFN99wdCcTKLZ6jH/BTv33U+nyWBrIv ka09/4NG1rqLvsg0NrKDmgykvh7hTIufA8Caq1FrrqLzvoePoP2KGasoPTP0v8v6BJJl VDVECrB9WCHdDee95IKbb6xVEnlVKzCLNHif69qGtvPv8sqSIiXles+4v+DO+MW/RDld K/bSOtU7AVWp2hgdJyDsxUPSrcW5FTpJs3FSymbK8wrSdzfxj1MpOFQkzpe8jw4SJpFe xdCygaRZ0tYPjfz1edSnVxOd8tTlnkTQRz6zOu+MfM05nhfyY93l0V5J+6mk2KL8e1Kf SNKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=JltEwXbGzmO7Iz477A1CNJvyjNGP/jwshVCvgGssOxI=; b=k9A4J1qT9+2Uq1wD8VoewblQy4zh/z7rALmR8FhNQDmq436v7RZzQJP/LDIgkbj/xu geV3vIEf9Brn9bzh31bof2sTxCfc3LdDBUSEiEI6R8r+zIASgQOqHRJQy5vxR3IE90zQ A6cD5q4Srf6NsIvi4bJTGWe3Z/YRPil+2MsgFcw+GcE3NPBSGRBxHBn/btZLrvrZFCVJ ff6hutnE6t7P8zTkN55uotv+I/JWKkjozqNb581eGwbFBPwrk4sPrmCgHNoaO7L/aKRE KAHCjO0Rt2J3L8GnYqvVIG5dyGa1R1A5lOGJvxu5VU3w/hdSOT4oAAHMm0T+FcuNsKEU +yJg== X-Gm-Message-State: AOAM531c1wdVweLefWZ94hgjiPTlXMyAPV2VCP1C4UD74gPb8yanzyfB S1pA0zt4XMQsTNAOgbtddJU= X-Google-Smtp-Source: ABdhPJzl/cpUUSyqCT4RVaRiQObPh5b8VF72su4Twl/WOxKA9meLc4tXPxcd1lhx0Bc0rs10gKPsgw== X-Received: by 2002:a5d:44cb:: with SMTP id z11mr15831401wrr.290.1603053246274; Sun, 18 Oct 2020 13:34:06 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 1/9] hw/arm/bcm2836: Restrict BCM283XInfo declaration to C source Date: Sun, 18 Oct 2020 22:33:50 +0200 Message-Id: <20201018203358.1530378-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) No code out of bcm2836.c uses (or requires) the BCM283XInfo declarations. Move it locally to the C source file. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/bcm2836.h | 8 -------- hw/arm/bcm2836.c | 14 ++++++++++++++ 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h index 428c15d316e..43e9f8cd0ef 100644 --- a/include/hw/arm/bcm2836.h +++ b/include/hw/arm/bcm2836.h @@ -43,12 +43,4 @@ struct BCM283XState { BCM2835PeripheralState peripherals; }; =20 -typedef struct BCM283XInfo BCM283XInfo; - -struct BCM283XClass { - DeviceClass parent_class; - const BCM283XInfo *info; -}; - - #endif /* BCM2836_H */ diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index f15cc3b4053..e7cc2c930d9 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -17,6 +17,15 @@ #include "hw/arm/raspi_platform.h" #include "hw/sysbus.h" =20 +typedef struct BCM283XInfo BCM283XInfo; + +typedef struct BCM283XClass { + /*< private >*/ + DeviceClass parent_class; + /*< public >*/ + const BCM283XInfo *info; +} BCM283XClass; + struct BCM283XInfo { const char *name; const char *cpu_type; @@ -25,6 +34,11 @@ struct BCM283XInfo { int clusterid; }; =20 +#define BCM283X_CLASS(klass) \ + OBJECT_CLASS_CHECK(BCM283XClass, (klass), TYPE_BCM283X) +#define BCM283X_GET_CLASS(obj) \ + OBJECT_GET_CLASS(BCM283XClass, (obj), TYPE_BCM283X) + static const BCM283XInfo bcm283x_socs[] =3D { { .name =3D TYPE_BCM2836, --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) client-ip=209.85.221.68; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f68.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053252; cv=none; d=zohomail.com; s=zohoarc; b=Py4Ap2gO2AIr5mzpGJVdnmq76ZGm6pMZXhZxdCOmHqiwIr5J6veLU3Tua4Ck0EjW6+eTHDkTsvIov6sHTUaQ/CIOGwPZjOaNwD7Fj+TwSJfgnAZkQ9jtuVqJjcDhyaG7S+m8xcu0CszINMmw1xF/R0VPtv2h1+4yvgXBB6bR+V0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053252; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=stOTEgOsHIG6dN4Yvyqzv0io+9AejfdctLjiiWuokYQ=; b=ZJBu7aUaphA4bBZQ4StvDlRd3g7yDpZ3VB9f+b6JDQukkTZVMYsOlKNeAajlv3MCLBD8YKudW9PNc3IVFb2+OuJwLifdYLyl64Ahv0fAdmZB8tFdiDMvgKvdw8faNrsY6gYWVbkian7Gf3FteHjfdpsPH6qDIvfl8q8WyD6Uaxc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by mx.zohomail.com with SMTPS id 1603053252956572.4646554521955; Sun, 18 Oct 2020 13:34:12 -0700 (PDT) Received: by mail-wr1-f68.google.com with SMTP id y12so9135707wrp.6 for ; Sun, 18 Oct 2020 13:34:12 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id y14sm12934561wma.48.2020.10.18.13.34.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=stOTEgOsHIG6dN4Yvyqzv0io+9AejfdctLjiiWuokYQ=; b=XPVK9BnVpNNfRClYxbktOvyOkcXO+ijlj0zwIMZh+zJLZaxXc8nrr2aq/Yde6xfT4j B8JJSDK1lg2q8MplTede05BJa/jiLTi7zBCp3VAuh+WTdxjgSIn0vimNqgbveYa0qiA+ 92IXAZ5CYFgEa2YZOPwq7sjVfu2NMxpqTMBlCJ5wmF5ss5NvhIfz4ax2adHww+f/IBle GMBI8In/2SV6pmY9K2GO75Eekk5JOsgFSKgNhm0RGsRcIw4jzMMVuKmZ1c1styRM0ZQ2 AdaBI/KpZCa8bRzpXQ3UQCeBalCgulsiwwp9VJFhUxD0ZG/1WL0qwrLTNkD9Ghd+5Z7w JQQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=stOTEgOsHIG6dN4Yvyqzv0io+9AejfdctLjiiWuokYQ=; b=IC1ZdI9/+xwK0cDNX7soQLH1RjIWealpeA3RKwDVKBwidDZEE90xV9iq8JEYk8dLnG 6UbxPgZQeEQmy2btIjWkSRrLxAt/buJ/vKcxSdNYtL91NXEVb0Eqdk80bxCClqEjL6b4 X4PEDHXyyHRjpiMPp65tSDG1Q4s/9ja1JHmkAHA88nqjX/hqcClD0wWcaVq0Y+cdwv4e 7q+n/AWUGQMMpH130KECUGK8wK2eVcteoxbwb2RoABpmkE55zP8u70KIhHIA6dgOdIBM Kff6uH6yG1fbg5iHy94QZ0xOMMOwgEtGIOOdmCMIPlzCrpBHogEOP1ZbzsNruUpLRvXZ wvQQ== X-Gm-Message-State: AOAM53086io238QIIGAB/E1gjp4YIzJTcz3Os1NroHt8qhrGw1l2vD6V pifk9kLYpTUn/6cstj7hR40= X-Google-Smtp-Source: ABdhPJy/bzaiqnyUJxyw6S4mJLuRy0WJeTZnt7UTSayfcGX9r762+SdcCCynsrYbWh/xnwUqorfGvg== X-Received: by 2002:adf:e8cb:: with SMTP id k11mr16207730wrn.91.1603053250894; Sun, 18 Oct 2020 13:34:10 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Igor Mammedov Subject: [PATCH v3 2/9] hw/arm/bcm2836: QOM'ify more by adding class_init() to each SoC type Date: Sun, 18 Oct 2020 22:33:51 +0200 Message-Id: <20201018203358.1530378-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Remove usage of TypeInfo::class_data. Instead fill the fields in the corresponding class_init(). So far all children use the same values for almost all fields, but we are going to add the BCM2711/BCM2838 SoC for the raspi4 machine which use different fields. Reviewed-by: Igor Mammedov Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2836.c | 108 ++++++++++++++++++++++------------------------- 1 file changed, 51 insertions(+), 57 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index e7cc2c930d9..8f921d8e904 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -17,57 +17,31 @@ #include "hw/arm/raspi_platform.h" #include "hw/sysbus.h" =20 -typedef struct BCM283XInfo BCM283XInfo; - typedef struct BCM283XClass { /*< private >*/ DeviceClass parent_class; /*< public >*/ - const BCM283XInfo *info; -} BCM283XClass; - -struct BCM283XInfo { const char *name; const char *cpu_type; hwaddr peri_base; /* Peripheral base address seen by the CPU */ hwaddr ctrl_base; /* Interrupt controller and mailboxes etc. */ int clusterid; -}; +} BCM283XClass; =20 #define BCM283X_CLASS(klass) \ OBJECT_CLASS_CHECK(BCM283XClass, (klass), TYPE_BCM283X) #define BCM283X_GET_CLASS(obj) \ OBJECT_GET_CLASS(BCM283XClass, (obj), TYPE_BCM283X) =20 -static const BCM283XInfo bcm283x_socs[] =3D { - { - .name =3D TYPE_BCM2836, - .cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a7"), - .peri_base =3D 0x3f000000, - .ctrl_base =3D 0x40000000, - .clusterid =3D 0xf, - }, -#ifdef TARGET_AARCH64 - { - .name =3D TYPE_BCM2837, - .cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a53"), - .peri_base =3D 0x3f000000, - .ctrl_base =3D 0x40000000, - .clusterid =3D 0x0, - }, -#endif -}; - static void bcm2836_init(Object *obj) { BCM283XState *s =3D BCM283X(obj); BCM283XClass *bc =3D BCM283X_GET_CLASS(obj); - const BCM283XInfo *info =3D bc->info; int n; =20 for (n =3D 0; n < BCM283X_NCPUS; n++) { object_initialize_child(obj, "cpu[*]", &s->cpu[n].core, - info->cpu_type); + bc->cpu_type); } =20 object_initialize_child(obj, "control", &s->control, TYPE_BCM2836_CONT= ROL); @@ -84,7 +58,6 @@ static void bcm2836_realize(DeviceState *dev, Error **err= p) { BCM283XState *s =3D BCM283X(dev); BCM283XClass *bc =3D BCM283X_GET_CLASS(dev); - const BCM283XInfo *info =3D bc->info; Object *obj; int n; =20 @@ -102,14 +75,14 @@ static void bcm2836_realize(DeviceState *dev, Error **= errp) "sd-bus"); =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->peripherals), 0, - info->peri_base, 1); + bc->peri_base, 1); =20 /* bcm2836 interrupt controller (and mailboxes, etc.) */ if (!sysbus_realize(SYS_BUS_DEVICE(&s->control), errp)) { return; } =20 - sysbus_mmio_map(SYS_BUS_DEVICE(&s->control), 0, info->ctrl_base); + sysbus_mmio_map(SYS_BUS_DEVICE(&s->control), 0, bc->ctrl_base); =20 sysbus_connect_irq(SYS_BUS_DEVICE(&s->peripherals), 0, qdev_get_gpio_in_named(DEVICE(&s->control), "gpu-irq", 0)); @@ -118,11 +91,11 @@ static void bcm2836_realize(DeviceState *dev, Error **= errp) =20 for (n =3D 0; n < BCM283X_NCPUS; n++) { /* TODO: this should be converted to a property of ARM_CPU */ - s->cpu[n].core.mp_affinity =3D (info->clusterid << 8) | n; + s->cpu[n].core.mp_affinity =3D (bc->clusterid << 8) | n; =20 /* set periphbase/CBAR value for CPU-local registers */ if (!object_property_set_int(OBJECT(&s->cpu[n].core), "reset-cbar", - info->peri_base, errp)) { + bc->peri_base, errp)) { return; } =20 @@ -165,38 +138,59 @@ static Property bcm2836_props[] =3D { static void bcm283x_class_init(ObjectClass *oc, void *data) { DeviceClass *dc =3D DEVICE_CLASS(oc); - BCM283XClass *bc =3D BCM283X_CLASS(oc); =20 - bc->info =3D data; - dc->realize =3D bcm2836_realize; - device_class_set_props(dc, bcm2836_props); /* Reason: Must be wired up in code (see raspi_init() function) */ dc->user_creatable =3D false; } =20 -static const TypeInfo bcm283x_type_info =3D { - .name =3D TYPE_BCM283X, - .parent =3D TYPE_DEVICE, - .instance_size =3D sizeof(BCM283XState), - .instance_init =3D bcm2836_init, - .class_size =3D sizeof(BCM283XClass), - .abstract =3D true, +static void bcm2836_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + BCM283XClass *bc =3D BCM283X_CLASS(oc); + + bc->cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a7"); + bc->peri_base =3D 0x3f000000; + bc->ctrl_base =3D 0x40000000; + bc->clusterid =3D 0xf; + dc->realize =3D bcm2836_realize; + device_class_set_props(dc, bcm2836_props); }; =20 -static void bcm2836_register_types(void) +#ifdef TARGET_AARCH64 +static void bcm2837_class_init(ObjectClass *oc, void *data) { - int i; + DeviceClass *dc =3D DEVICE_CLASS(oc); + BCM283XClass *bc =3D BCM283X_CLASS(oc); =20 - type_register_static(&bcm283x_type_info); - for (i =3D 0; i < ARRAY_SIZE(bcm283x_socs); i++) { - TypeInfo ti =3D { - .name =3D bcm283x_socs[i].name, - .parent =3D TYPE_BCM283X, - .class_init =3D bcm283x_class_init, - .class_data =3D (void *) &bcm283x_socs[i], - }; - type_register(&ti); + bc->cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a53"); + bc->peri_base =3D 0x3f000000; + bc->ctrl_base =3D 0x40000000; + bc->clusterid =3D 0x0; + dc->realize =3D bcm2836_realize; + device_class_set_props(dc, bcm2836_props); +}; +#endif + +static const TypeInfo bcm283x_types[] =3D { + { + .name =3D TYPE_BCM2836, + .parent =3D TYPE_BCM283X, + .class_init =3D bcm2836_class_init, +#ifdef TARGET_AARCH64 + }, { + .name =3D TYPE_BCM2837, + .parent =3D TYPE_BCM283X, + .class_init =3D bcm2837_class_init, +#endif + }, { + .name =3D TYPE_BCM283X, + .parent =3D TYPE_DEVICE, + .instance_size =3D sizeof(BCM283XState), + .instance_init =3D bcm2836_init, + .class_size =3D sizeof(BCM283XClass), + .class_init =3D bcm283x_class_init, + .abstract =3D true, } -} +}; =20 -type_init(bcm2836_register_types) +DEFINE_TYPES(bcm283x_types) --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) client-ip=209.85.128.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053257; cv=none; d=zohomail.com; s=zohoarc; b=gidUVnpdUcKWPpyHoMEJ2spWtlhrmKuqy4k8WkOFLaS4uyfMmDh9f8NV0WG8eB8dZIeW+x/TeIMXInwiVFk/3dQwtGy7+ro8ladpkOCbtGv2Gv5YwQlwKjjWIVPhFeycQyBbvcgGzM1iVGD+Hx95fZjM3QB+zsrkK81+qZaIQzY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053257; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=wZ942IpuEYn6heYqqSxOTzqAXYjCwIpQoTDS92tNWTM=; b=MErYcEcbNOieXxLQlCVZcCGodBPoOmQz4D9U+X2j6NFObLTSnBFuK18x6cbExpWeAFubWCU5r7TfjEhA+Py6+R+x16UBSjk5Vq9aOAEED2M1h8z4p78ysW1HFR5Dmjlc769LtTy4S8VzW50yYF+XGt28t+LskfgcaPJxRaZ0MYY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.zohomail.com with SMTPS id 1603053257523995.6945852480927; Sun, 18 Oct 2020 13:34:17 -0700 (PDT) Received: by mail-wm1-f65.google.com with SMTP id e23so8348144wme.2 for ; Sun, 18 Oct 2020 13:34:16 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id y7sm13123376wmg.40.2020.10.18.13.34.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wZ942IpuEYn6heYqqSxOTzqAXYjCwIpQoTDS92tNWTM=; b=GoktLn+7Kg6e5bzY1x2YW/octAubvrjSEOSOVcinXgzvkMW2KKb6meio6GyucaI43K B7QOFoZKew9EpnWusMPoxU/WN4FeLEVyHQu6tWY1QJTnrxmvnG9Cw3d9IGYQf8wwdrAu 3Yyjnz6lPrscGaiQYlFPIcbGDtMLmE7sCmhoYiV8nQYjLg8CvSMTclS7yErun2PAaiiu RQ4BLgKuPpewRuYw1l+/FVzjQn/q4PGpx7LmHRimAVYD3QlcsH3WTAAHF5COzSNT33Gj w3NNBbAZ/Lt+ugNgnvY7TPo/N9g5Mh7i122cmkKvOcpJnBNlc6GqgHctUMO31FD8sDVk XzFQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=wZ942IpuEYn6heYqqSxOTzqAXYjCwIpQoTDS92tNWTM=; b=dhFvadX5vAQ8fpDdgdyEhTFNF8co4NO83k0IJjmded7o90O2pwVEwOSFFtxoPyz1k0 gaai0tBMFhlEOp+GIjMfXX820LkK8rJI3eFOMGFASwVr/2A0RACQjxEhnOQiVu2tn2b3 LsHXCY16gqTMpqzvMTRS4DPa2mnlCeT3VJ/Ya4UuyrnsrsX3Hq+Q5z4JYtwueg7noVdh QYC/fLFgAxvpLuzEE7J1WE+gJj+oGQy9cXds8xfP7GyoPLt4YPWnEMbVI7Opn17SnLdR lmxGLssDy8Z4o26M/2gsmDNUI/Knp4ofN7K+IEkoHMTzm9lQhxnguAapSSwsyu4WZPW5 COgw== X-Gm-Message-State: AOAM5304yDhsbylNs7sRAR1GxVnlNlkPi14zQOQX5aXdA7voFS5w1fwt Pe9rtNwx1Qn9PzqAXCaZqzM= X-Google-Smtp-Source: ABdhPJxTKAB4eRLpWLWpd5of0t7AjsT/yu0zk11mLI/oldhgFRRdU4qk1ZV+lGNw8FDJ6C4XlUZm1w== X-Received: by 2002:a7b:cbd1:: with SMTP id n17mr14077026wmi.29.1603053255469; Sun, 18 Oct 2020 13:34:15 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 3/9] hw/arm/bcm2836: Introduce BCM283XClass::core_count Date: Sun, 18 Oct 2020 22:33:52 +0200 Message-Id: <20201018203358.1530378-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The BCM2835 has only one core. Introduce the core_count field to be able to use values different than BCM283X_NCPUS (4). Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2836.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 8f921d8e904..c5d46a8e805 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -23,6 +23,7 @@ typedef struct BCM283XClass { /*< public >*/ const char *name; const char *cpu_type; + unsigned core_count; hwaddr peri_base; /* Peripheral base address seen by the CPU */ hwaddr ctrl_base; /* Interrupt controller and mailboxes etc. */ int clusterid; @@ -39,7 +40,7 @@ static void bcm2836_init(Object *obj) BCM283XClass *bc =3D BCM283X_GET_CLASS(obj); int n; =20 - for (n =3D 0; n < BCM283X_NCPUS; n++) { + for (n =3D 0; n < bc->core_count; n++) { object_initialize_child(obj, "cpu[*]", &s->cpu[n].core, bc->cpu_type); } @@ -149,6 +150,7 @@ static void bcm2836_class_init(ObjectClass *oc, void *d= ata) BCM283XClass *bc =3D BCM283X_CLASS(oc); =20 bc->cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a7"); + bc->core_count =3D BCM283X_NCPUS; bc->peri_base =3D 0x3f000000; bc->ctrl_base =3D 0x40000000; bc->clusterid =3D 0xf; @@ -163,6 +165,7 @@ static void bcm2837_class_init(ObjectClass *oc, void *d= ata) BCM283XClass *bc =3D BCM283X_CLASS(oc); =20 bc->cpu_type =3D ARM_CPU_TYPE_NAME("cortex-a53"); + bc->core_count =3D BCM283X_NCPUS; bc->peri_base =3D 0x3f000000; bc->ctrl_base =3D 0x40000000; bc->clusterid =3D 0x0; --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) client-ip=209.85.221.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053262; cv=none; d=zohomail.com; s=zohoarc; b=bSyV2pwGcMD5QnAtrQy4D8/dcRnrVSvZdsdLe77Wpwv6JFK3ZtA5w9blKjaegvkC/wv/l4DNFD6mmXmhom+lZV06unSloJnqK1jkx7wppka9KIFTp4UAA0IgRZUwZlo9mwMkxacNRvZJkgQfgGGTOdxJV8UiJ2GA/aaKShUr/fM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053262; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=QcjhrFqjAYV+Q6plgNPayGWcmQofCNspcYhj6aIa8BM=; b=YaoDWhytVjnqJ2EF8BSI6XC6Vx+nMeRi1l0/1pwhvU19CriJfUCBiC/CrrajjYP4yOUkG6Sy9nEvM4NO3b0jGZOehM6OGrPIhJ26CbbZ4USAyayfxRqo9YWT0yMEiCXovM/D5zkb/m02N+zwIYY7lV2PVtk5QTvcarTssJ4kO0s= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by mx.zohomail.com with SMTPS id 1603053262055226.683377555437; Sun, 18 Oct 2020 13:34:22 -0700 (PDT) Received: by mail-wr1-f65.google.com with SMTP id s9so9108890wro.8 for ; Sun, 18 Oct 2020 13:34:21 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id v189sm14080474wmg.14.2020.10.18.13.34.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QcjhrFqjAYV+Q6plgNPayGWcmQofCNspcYhj6aIa8BM=; b=S88fHOt4fYPvKKEH0xh2S14khv8CZREiBDQPhGjwnuTTVinBOHQ51NeCHg5RPOOvfG 0pevdhh7TcViZiHr/cvt13uSjrr4NPuYtYrFHEiHmcwcsN7BksRlm0gpJpQ04EgRYvTL Pf3FC30Ll1STlF5D1COoMzQcuWg7rZ4FrD+7cMU0LmoNcLWyuoNrvCYzTzt4222McDwU Pj03gq84PPRq6+1wS8Zqk31ZePLYNdbs2bXQypzc/uyL14WsbwiSnlnCvs3k/9FX1Cd7 XNNOiWUQZ74lMk0lPjpys3T5t0dnGhKP6Cfz1PA+e2qjzQDn7anHdIwtyDPlK5nOJJdg iPTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=QcjhrFqjAYV+Q6plgNPayGWcmQofCNspcYhj6aIa8BM=; b=HIkXZskcwUNxE4f6m244XAovuRugXCtJ2pqxDTwgkYfSQtsmDTxI3rQFBvv8TbR7Jf F607rquoHwlNP+lfdaK4iLWqMqT0j/rlFJql2OwwBQqC9g2XQf5AQdYJxDrAPF95Bqnk naz0UvGhI6EapElv7Ia1iEfldCp+OpQSLnANHIc0EQMBAx8G5T/9W4LT4WhYde7w2U4Y eelg9qsLgifF7UF6q9hMkSFgIF/SkNwa//AiVtfcBLwtzsB3fQmCmpImbCQ/SZ1VKPOJ m5ciFH3jNFrdeLh6L5a2kNfr+NrLXN4XM9rM4icZNpxrb+WAsIF7JD5NC7YmgdUKW8/G 8erw== X-Gm-Message-State: AOAM530ULh+XR6V51nBYDrHWaqG8QI4oPEV1WjTLQ2BCbgQMtcr8oF/v 4y4T/rfaK3B0kT/MTDYvUq4= X-Google-Smtp-Source: ABdhPJyMxOLmcmB6MgHjtw4hORwQBemfFcIetNda0xBwwM8Lmg5GkLkFvVwmmWJc1EuRJyIixrqq9g== X-Received: by 2002:adf:eb41:: with SMTP id u1mr15593621wrn.94.1603053260138; Sun, 18 Oct 2020 13:34:20 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 4/9] hw/arm/bcm2836: Only provide "enabled-cpus" property to multicore SoCs Date: Sun, 18 Oct 2020 22:33:53 +0200 Message-Id: <20201018203358.1530378-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) It makes no sense to set enabled-cpus=3D0 on single core SoCs. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2836.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index c5d46a8e805..fcb2c9c3e73 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -34,6 +34,9 @@ typedef struct BCM283XClass { #define BCM283X_GET_CLASS(obj) \ OBJECT_GET_CLASS(BCM283XClass, (obj), TYPE_BCM283X) =20 +static Property bcm2836_enabled_cores_property =3D + DEFINE_PROP_UINT32("enabled-cpus", BCM283XState, enabled_cpus, 0); + static void bcm2836_init(Object *obj) { BCM283XState *s =3D BCM283X(obj); @@ -44,6 +47,10 @@ static void bcm2836_init(Object *obj) object_initialize_child(obj, "cpu[*]", &s->cpu[n].core, bc->cpu_type); } + if (bc->core_count > 1) { + qdev_property_add_static(DEVICE(obj), &bcm2836_enabled_cores_prope= rty); + qdev_prop_set_uint32(DEVICE(obj), "enabled-cpus", bc->core_count); + } =20 object_initialize_child(obj, "control", &s->control, TYPE_BCM2836_CONT= ROL); =20 @@ -130,12 +137,6 @@ static void bcm2836_realize(DeviceState *dev, Error **= errp) } } =20 -static Property bcm2836_props[] =3D { - DEFINE_PROP_UINT32("enabled-cpus", BCM283XState, enabled_cpus, - BCM283X_NCPUS), - DEFINE_PROP_END_OF_LIST() -}; - static void bcm283x_class_init(ObjectClass *oc, void *data) { DeviceClass *dc =3D DEVICE_CLASS(oc); @@ -155,7 +156,6 @@ static void bcm2836_class_init(ObjectClass *oc, void *d= ata) bc->ctrl_base =3D 0x40000000; bc->clusterid =3D 0xf; dc->realize =3D bcm2836_realize; - device_class_set_props(dc, bcm2836_props); }; =20 #ifdef TARGET_AARCH64 @@ -170,7 +170,6 @@ static void bcm2837_class_init(ObjectClass *oc, void *d= ata) bc->ctrl_base =3D 0x40000000; bc->clusterid =3D 0x0; dc->realize =3D bcm2836_realize; - device_class_set_props(dc, bcm2836_props); }; #endif =20 --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) client-ip=209.85.221.54; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f54.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1603053266; cv=none; d=zohomail.com; s=zohoarc; b=Htj5cIZaz2CyciuM7fLYyjYeOhiKsgeuUZ2O6sD9i7IJSTvF0axpkyTjTVt/ZRl6Z3MQMa45DuDjn08X2NfEoR8maq6jiXUHpRgyDS9FESlTUxo/4gFtE2zlb5hxMNy9lIdKTD4y9fFTxhrxzP1oCMfmlo/r9glu95xRCqWoJZI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053266; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HrxoAnGYxfMe8eF6utEpYOM4v9LoQV8M0tbNnH02kgc=; b=ilCHx9NE9Vzbdwu4/lrBNxzd9G8CvNLiYF7wcifnWRr0sZi1xo98flIrozsMKR68r7IDIRTPCnz6bL3JdU7oDU6lCdSfEfjJnow1ojtUb0ESP0ZL8aBdMowLvohNFPoAFnKx3AGtvEwPgLaNC1c3DIA0AsjRxx39SRH2mT00Ai4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.54 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) by mx.zohomail.com with SMTPS id 1603053266588530.8824624842345; Sun, 18 Oct 2020 13:34:26 -0700 (PDT) Received: by mail-wr1-f54.google.com with SMTP id n18so9141971wrs.5 for ; Sun, 18 Oct 2020 13:34:25 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id g125sm8684474wme.33.2020.10.18.13.34.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HrxoAnGYxfMe8eF6utEpYOM4v9LoQV8M0tbNnH02kgc=; b=UYP46wZdimnznKNXD3x5fvLg2rMN/VtjPo0QELUR0qQRjE6Wv+aVDRazQb9ewVizEY yvALQWI61uO5oVP3Z1AaoSleHcr5hif/mCNOch6IiVJwufT7oiwCa69uw1KzvnEl1xVw JH90S78BWJ+KaFd/CktuRBQh2N86G3jc4uP11kAnKl1gSqZ8xBtyzVeDRyp3WmU+QNoF nJxFwi8D3Y/olxPWjUJCjjLHVdTo1FCZDVOizgfqyLDDGOzZqOmZ3j7R/LLV8TNdVpRs +ECL4osDUzYOKgRTtrXEjVOwUGrIjrR3dEJRtFWYyodRczRWNfHfXmkE1AJiksCRjNVm jE3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=HrxoAnGYxfMe8eF6utEpYOM4v9LoQV8M0tbNnH02kgc=; b=kU6NsOcrKCXScwkMpdRkfItzeUwZqktcU2pNL5ZP/Mgd+N49iFx9Cf7jvmqSy/f7RQ 88vNtekfR1F6q9vvu+//VdExbD7Am1+pYhZfDJjMTZjr8LYRKR5e7iWxNiIjF+05B9UU ytuJQltnZjHylU7/A5Y3BVbvKxArkEXr3yzBG8LMceeqn5ogKaQIxtc2guK3VTsftc+C p4t89mB5Lx9VELGFtH+yVgUhmDL+Z2VP4kErLcudPXV6kK4OPK+wHu/PIIPrpmeZ6rmS N72mR3Z2BQi2bZDZh988j7Wq1NbtkGVz91XIMNr27XQcJCiHy5gk1oCrm9RXV9V4773e 5eyg== X-Gm-Message-State: AOAM53087bPVTJeYWdRVLNgp79lrjAPNBtD1Il4TXcMdAPnGw2MZlZaC RkP34bmZ6pcjxmVp7sdUZjA= X-Google-Smtp-Source: ABdhPJzuLuE8uPS5OhBzIn0N0oV3BnpR54H9YbCd5Vyl6YmwZ9jRSYoPl6e3qmZaJRDjcLUP1Ukn8w== X-Received: by 2002:a5d:4e8d:: with SMTP id e13mr16305755wru.368.1603053264804; Sun, 18 Oct 2020 13:34:24 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 5/9] hw/arm/bcm2836: Split out common realize() code Date: Sun, 18 Oct 2020 22:33:54 +0200 Message-Id: <20201018203358.1530378-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The realize() function is clearly composed of two parts, each described by a comment: void realize() { /* common peripherals from bcm2835 */ ... /* bcm2836 interrupt controller (and mailboxes, etc.) */ ... } Split the two part, so we can reuse the common part with other SoCs from this family. Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2836.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index fcb2c9c3e73..7d975cf2f53 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -52,7 +52,10 @@ static void bcm2836_init(Object *obj) qdev_prop_set_uint32(DEVICE(obj), "enabled-cpus", bc->core_count); } =20 - object_initialize_child(obj, "control", &s->control, TYPE_BCM2836_CONT= ROL); + if (bc->ctrl_base) { + object_initialize_child(obj, "control", &s->control, + TYPE_BCM2836_CONTROL); + } =20 object_initialize_child(obj, "peripherals", &s->peripherals, TYPE_BCM2835_PERIPHERALS); @@ -62,12 +65,11 @@ static void bcm2836_init(Object *obj) "vcram-size"); } =20 -static void bcm2836_realize(DeviceState *dev, Error **errp) +static bool bcm283x_common_realize(DeviceState *dev, Error **errp) { BCM283XState *s =3D BCM283X(dev); BCM283XClass *bc =3D BCM283X_GET_CLASS(dev); Object *obj; - int n; =20 /* common peripherals from bcm2835 */ =20 @@ -76,7 +78,7 @@ static void bcm2836_realize(DeviceState *dev, Error **err= p) object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); =20 if (!sysbus_realize(SYS_BUS_DEVICE(&s->peripherals), errp)) { - return; + return false; } =20 object_property_add_alias(OBJECT(s), "sd-bus", OBJECT(&s->peripherals), @@ -84,6 +86,18 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) =20 sysbus_mmio_map_overlap(SYS_BUS_DEVICE(&s->peripherals), 0, bc->peri_base, 1); + return true; +} + +static void bcm2836_realize(DeviceState *dev, Error **errp) +{ + BCM283XState *s =3D BCM283X(dev); + BCM283XClass *bc =3D BCM283X_GET_CLASS(dev); + int n; + + if (!bcm283x_common_realize(dev, errp)) { + return; + } =20 /* bcm2836 interrupt controller (and mailboxes, etc.) */ if (!sysbus_realize(SYS_BUS_DEVICE(&s->control), errp)) { --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) client-ip=209.85.221.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1603053271; cv=none; d=zohomail.com; s=zohoarc; b=W5Ek7rDD/Mu7cC9HGiTTs0hmsXQw5NlXbWM6PM/CUAmpouWV0rfD2uIJHbFx8foWId+VyWBDixxUT2C2nT6NHIpSM87JYp4epGvg2yi7373INVMvPYC2eapM3XdR3Hj+6Z7sUOF7E60N54Qo+btebgNNKUNOdNZzUUKeLvJQc+w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053271; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=jViLzsnHUVqtQxwtvYdFxDUn3i00wRweHY3mgJ2gUEU=; b=Iq3hSPnO1YdKnn12uKb95knxOnbepfJjBjGhOL7JeOCTkS7eLbzsyyTtJ5TZSdFqpP1gru01szbZB4Xgic9+yi2zmoI6KlPpqWCyw838CZkv/oM92GiBG3Qw1vhS5iU6QF6qHBCXTs4s+i1AFo6xz+zkHjmBgzjmOzu2A4sSL0w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f49.google.com (mail-wr1-f49.google.com [209.85.221.49]) by mx.zohomail.com with SMTPS id 1603053271241200.46926934249143; Sun, 18 Oct 2020 13:34:31 -0700 (PDT) Received: by mail-wr1-f49.google.com with SMTP id g12so9107858wrp.10 for ; Sun, 18 Oct 2020 13:34:30 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id p9sm13102665wmm.4.2020.10.18.13.34.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jViLzsnHUVqtQxwtvYdFxDUn3i00wRweHY3mgJ2gUEU=; b=GJX+QQLtomsdm7cmL4jaXRaGnQLv2L5aOFrd20TR+jHML8J4tkjGUye5K2o7Fb+WLP kHrREpL1OQ4y5D/a9Ulr+j/k+7HgKIWLb3UXcmJP4MvLHH/4Bjn56xUGCYvHXT0A0/nM joSqGxFVs542g+fYb195ZO+PfrBaRXUMWLGBuL25wM1aitEmhLoz6NKR8YhzDrtc+X4e knZvjIZPEJ41SZWtAFNzwDtEMacXIwLAcb+kxEOYx7KkCT4ffZ1dNdXyLlM+W4H4m/rU zFKMVmryNmJM2BIotDvOrIhbXL7E2JiRoy5E3idGM/ISO1a3MTdVeF5+KTgVrKeBzM+p DTnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=jViLzsnHUVqtQxwtvYdFxDUn3i00wRweHY3mgJ2gUEU=; b=GEUp2VDyPkXp+6AyqKp1+VnsSQ3e8j9SPaK1ePurpEtiqs8w4emgsSc0tVnp5pekn7 Sz3bU3EcPzMu70yBdBIIOUA/I4P7QU3MLiU/mwxzkOmYrLJ4D3tkfTNzFrXjMO8Hji5B fDZkceFAb0mNudekpKsvcFLh80K6s32lRbwKi8/xWwAtypfx6yOLx8wYRgT1WkhO2r+i AcVaG0QhIznPxGtdTw3H8lzX0/rB39vZPPEhVvRlyJHcPtTY3tFcCvcVZXGVq4567zoq 9xYZFrnQ9OiBoc+0gfKAwD8dkE3kRt18Ate/PpjgCBRvRZOZSZsaMbR2msmzYDavIuVO 37Vg== X-Gm-Message-State: AOAM533ncnRWEc/pRfMvBPt0LbRydoNr/XAnj2EPBUV99oMOXzM6yyyN wnDCiKEmxixCgsoiiD2ZEd5TiLbyop8= X-Google-Smtp-Source: ABdhPJz1YsVU2ZrYV7Qhiz2KxK32B+L/6zVQNSJyPunndu8CLQiAuO8FOKyF5bUBFK1q5xz/twAVZA== X-Received: by 2002:adf:cc82:: with SMTP id p2mr16478026wrj.177.1603053269399; Sun, 18 Oct 2020 13:34:29 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 6/9] hw/arm/bcm2836: Introduce the BCM2835 SoC Date: Sun, 18 Oct 2020 22:33:55 +0200 Message-Id: <20201018203358.1530378-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/hw/arm/bcm2836.h | 1 + hw/arm/bcm2836.c | 34 ++++++++++++++++++++++++++++++++++ hw/arm/raspi.c | 2 ++ 3 files changed, 37 insertions(+) diff --git a/include/hw/arm/bcm2836.h b/include/hw/arm/bcm2836.h index 43e9f8cd0ef..6f90cabfa3a 100644 --- a/include/hw/arm/bcm2836.h +++ b/include/hw/arm/bcm2836.h @@ -26,6 +26,7 @@ OBJECT_DECLARE_TYPE(BCM283XState, BCM283XClass, BCM283X) * them, code using these devices should always handle them via the * BCM283x base class, so they have no BCM2836(obj) etc macros. */ +#define TYPE_BCM2835 "bcm2835" #define TYPE_BCM2836 "bcm2836" #define TYPE_BCM2837 "bcm2837" =20 diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 7d975cf2f53..de7ade2878e 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -89,6 +89,25 @@ static bool bcm283x_common_realize(DeviceState *dev, Err= or **errp) return true; } =20 +static void bcm2835_realize(DeviceState *dev, Error **errp) +{ + BCM283XState *s =3D BCM283X(dev); + + if (!bcm283x_common_realize(dev, errp)) { + return; + } + + if (!qdev_realize(DEVICE(&s->cpu[0].core), NULL, errp)) { + return; + } + + /* Connect irq/fiq outputs from the interrupt controller. */ + sysbus_connect_irq(SYS_BUS_DEVICE(&s->peripherals), 0, + qdev_get_gpio_in(DEVICE(&s->cpu[0].core), ARM_CPU_IRQ)); + sysbus_connect_irq(SYS_BUS_DEVICE(&s->peripherals), 1, + qdev_get_gpio_in(DEVICE(&s->cpu[0].core), ARM_CPU_FIQ)); +} + static void bcm2836_realize(DeviceState *dev, Error **errp) { BCM283XState *s =3D BCM283X(dev); @@ -159,6 +178,17 @@ static void bcm283x_class_init(ObjectClass *oc, void *= data) dc->user_creatable =3D false; } =20 +static void bcm2835_class_init(ObjectClass *oc, void *data) +{ + DeviceClass *dc =3D DEVICE_CLASS(oc); + BCM283XClass *bc =3D BCM283X_CLASS(oc); + + bc->cpu_type =3D ARM_CPU_TYPE_NAME("arm1176"); + bc->core_count =3D 1; + bc->peri_base =3D 0x20000000; + dc->realize =3D bcm2835_realize; +}; + static void bcm2836_class_init(ObjectClass *oc, void *data) { DeviceClass *dc =3D DEVICE_CLASS(oc); @@ -189,6 +219,10 @@ static void bcm2837_class_init(ObjectClass *oc, void *= data) =20 static const TypeInfo bcm283x_types[] =3D { { + .name =3D TYPE_BCM2835, + .parent =3D TYPE_BCM283X, + .class_init =3D bcm2835_class_init, + }, { .name =3D TYPE_BCM2836, .parent =3D TYPE_BCM283X, .class_init =3D bcm2836_class_init, diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index b5b30f0f38f..30fafa59ecb 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -70,6 +70,7 @@ FIELD(REV_CODE, MEMORY_SIZE, 20, 3); FIELD(REV_CODE, STYLE, 23, 1); =20 typedef enum RaspiProcessorId { + PROCESSOR_ID_BCM2835 =3D 0, PROCESSOR_ID_BCM2836 =3D 1, PROCESSOR_ID_BCM2837 =3D 2, } RaspiProcessorId; @@ -78,6 +79,7 @@ static const struct { const char *type; int cores_count; } soc_property[] =3D { + [PROCESSOR_ID_BCM2835] =3D {TYPE_BCM2835, 1}, [PROCESSOR_ID_BCM2836] =3D {TYPE_BCM2836, BCM283X_NCPUS}, [PROCESSOR_ID_BCM2837] =3D {TYPE_BCM2837, BCM283X_NCPUS}, }; --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) client-ip=209.85.128.67; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f67.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1603053275; cv=none; d=zohomail.com; s=zohoarc; b=BKeFu+iuXHngfBwSxxdH9Vdj5b62QjZvaKt89OcZWxWeyFU1T3WHu4HI7/Z/W2/lWtWkdwLYSr//zE7Jq6WeaYu9PzS4CrAfE9AX1YWibrc3cE3uERsO30KY8nw1zap/xzghi4cJuuiV9V0/tZ+9jVzT/k5As9PVHbCRgjo6gzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053275; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=fgZFdmp8hPXpOTpZLII/XoKIJG5lZeFhbRQ1IzzXkNI=; b=N2n4G4+70utDCv2e6pmgXKMQWEwycE1E53u3dzipbX0s9iMweL3ArPOq32uGiIJADaCodWiIcaitE39D2fwFTyXeMvuLHEjo20wlvgQcDKdkEPZeUU6zb6+UuE1u8HpZQGOSNsrQheSycJLN4ws97Fo+2tiUG9YMKPqkJXLYxnM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.67 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by mx.zohomail.com with SMTPS id 160305327593328.202747256347948; Sun, 18 Oct 2020 13:34:35 -0700 (PDT) Received: by mail-wm1-f67.google.com with SMTP id f21so8346609wml.3 for ; Sun, 18 Oct 2020 13:34:35 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id 130sm9541760wmd.18.2020.10.18.13.34.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fgZFdmp8hPXpOTpZLII/XoKIJG5lZeFhbRQ1IzzXkNI=; b=on6l74x8eyZOJrDJj0WVo06J7GlkEiLiof7bU1/RxZcMkNT9buxz5WPH38JsuPn3Eb xu1dbnPGQjGCkssYcVHRvb+2XVOO95RKzpkKzNBHarLUF1hDVTwOECKEGMWCSWZqzZef MIu+Q1DBFEs+X7/D1kgbiXsJHL4Igfjo+uksAw3mDa7FmnJfcB72PF+UKRhoUANeBY9t jymz/ulgX1rDJTxmlVa/RSFGMXHkKsFftVdzVNrxPAWZ3T4Ko72vCyIKHhXjlwXKIwGn ynTSQq4587vGRM5adj7g/NDolBUzA7cUeDanMQggGsAdMiEPglC+RGd4p+PD3FMtkfY0 Jegw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fgZFdmp8hPXpOTpZLII/XoKIJG5lZeFhbRQ1IzzXkNI=; b=Mgf70++2pGY5awlyh00mFdXpqiO0DvFW45F2ORPrRiXsuUSb1ZgQU2TJUG/3ZlrcHy 901OZq3vkX03QDI0H9txWA0+F+I83mokANKwapgnXmM2SyHetMIV+HeTzSjgcxpt/ogt uqa1m1eXs7s2k6XKNbtTJnv+TktXInYm3CJMVdeLu5hbEfj57vnkf3pQzhPX0SO9MAVZ 0qerG/KyL+sgiowt5X4Bjb9QzpZfwY2gTIMJ+L8pEQRjypF6pnVwDfY98e6oFzaY9WWN hdZDb9Xc4QTIDsY4RzL/Ys56LyRrjDseDjjsYhnty9PtGWLu9WtlFjLtAzbgyfuEHUKE 0uFw== X-Gm-Message-State: AOAM532ZyEW11u2ZoUDBRnO+2DHZR1GzhVb1LjzvhI8wjz8zyzKp9PQJ qE5NRBBC3tHdtK6mlbCkn7w= X-Google-Smtp-Source: ABdhPJw06PEh5WMkh81mjrKilubsZAbZ/BWxiPvOtg0ZdDyqCaamBhri8LUG+3RM1dY/Hx7TEhHDtA== X-Received: by 2002:a1c:2d8f:: with SMTP id t137mr13993882wmt.26.1603053273890; Sun, 18 Oct 2020 13:34:33 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org Subject: [PATCH v3 7/9] hw/arm/raspi: Add the Raspberry Pi A+ machine Date: Sun, 18 Oct 2020 22:33:56 +0200 Message-Id: <20201018203358.1530378-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The Pi A is almost the first machine released. It uses a BCM2835 SoC which includes a ARMv6Z core. Example booting the machine using content from [*] (we use the device tree from the B model): $ qemu-system-arm -M raspi1ap -serial stdio \ -kernel raspberrypi/firmware/boot/kernel.img \ -dtb raspberrypi/firmware/boot/bcm2708-rpi-b-plus.dtb \ -append 'earlycon=3Dpl011,0x20201000 console=3DttyAMA0' [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 4.9.3 = (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 14:16:15 B= ST 2020 [ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARM= v7), cr=3D00c5387d [ 0.000000] CPU: VIPT aliasing data cache, unknown instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi Model B+ ... [*] http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/= raspberrypi-kernel_1.20200512-2_armhf.deb Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Igor Mammedov --- hw/arm/raspi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 30fafa59ecb..91a59d1d489 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -319,6 +319,15 @@ static void raspi_machine_class_common_init(MachineCla= ss *mc, mc->default_ram_id =3D "ram"; }; =20 +static void raspi1ap_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); + + rmc->board_rev =3D 0x900021; + raspi_machine_class_common_init(mc, rmc->board_rev); +}; + static void raspi2b_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -343,6 +352,10 @@ static void raspi3b_machine_class_init(ObjectClass *oc= , void *data) =20 static const TypeInfo raspi_machine_types[] =3D { { + .name =3D MACHINE_TYPE_NAME("raspi1ap"), + .parent =3D TYPE_RASPI_MACHINE, + .class_init =3D raspi1ap_machine_class_init, + }, { .name =3D MACHINE_TYPE_NAME("raspi2b"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi2b_machine_class_init, --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) client-ip=209.85.221.68; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f68.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053280; cv=none; d=zohomail.com; s=zohoarc; b=d/nVhy4GL5i+MDVi8i1fMRMCjT6xkJvj+KPM7z6HkbRkaOmJMQKO9tpN/DvttNSsZ+CfAt6a2X/fg4EZrb2aBFXbb9kk4x0YQ47G65RAM8jnE0fka3aHu5YsUAELtsUOjIS/WvSqpehnmlHTtwvUluLflIz6scpOVWm9T5KhrPo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053280; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=T+AjHLV6TbQto2ptPmPM4vzjwRMfK43yR9xTQuzop2M=; b=HWe7r0Zs2nnV2CkXYYeUeoOqCTRpvu9bJ2E+brN+klvcD5ZhNEavTloJ2kEY3KaWXdf/JRFlnP635L8wZPwx2bNp5Tbuf9Crap+EbVJHuBWsulTsKYp0EDvkYY4Uqq7K47rW66MzYBJIUWXlVe4Ek/c3rU/34z2lilv5T5aTf2U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.68 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f68.google.com (mail-wr1-f68.google.com [209.85.221.68]) by mx.zohomail.com with SMTPS id 1603053280346396.35127239132726; Sun, 18 Oct 2020 13:34:40 -0700 (PDT) Received: by mail-wr1-f68.google.com with SMTP id b8so9180093wrn.0 for ; Sun, 18 Oct 2020 13:34:39 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id g5sm13452489wmi.4.2020.10.18.13.34.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=T+AjHLV6TbQto2ptPmPM4vzjwRMfK43yR9xTQuzop2M=; b=gMCc+q6SdNQ3Y5/Lz5suHD7Sacqw2KW33mm+3gmrGycb3IJ5VTTWGu0E5skFyEW2g2 9K595vduWOx6Hv4dGn4hCMCKKJhmRj21Oib5JKCsOjgLcfWerhlqxzW8wMOKexfgo6ii pXo9HXyLmgcU7PZlCAJP0kr/P4RoWX653itwEob05mGTtOta64SAIspDplmIKcD7VIxC kRAq+sLVklt44uoJpkajtkP3UB/6/SdL4aUYYnC2YvZLerZXvfa6rfnZTXvtI3H7j8bL ZeaNiMFpBNgS1T2y6MYZVy/cjC/roGiB+W4yNxTJjB6kQ8tt6MIc0jTkcNAngG3WHjDL QsMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=T+AjHLV6TbQto2ptPmPM4vzjwRMfK43yR9xTQuzop2M=; b=aYQymT3v7sTdgatrnOXVKwCQLUyLHN2QcXfmNyvbiDsZvxR6Tlg2TzIpPrlT2uXFlw LtFmiEtjV6yqblCCG1T/ZhOvEboVJDunfpylyMlGY/cxWH9+G60vu1B6VqXtfLO9G9GT HWhtwmJqEaKtCNTojg2UHyncVauK/CFR1vTbpwlyle7nFnXuNhqUnJPEbbeOrWrobYc2 JjE9UuHlfdV4O90PEjaikE6E369UDHJAoQt4Def0fekvox2i/AvOA2WlmHq05LDKzgI8 dGPYWMBn7EVUJAJfvmMnxQDBRiETpX4csqR4keVcJIrpj4cX3bpc0x5A237htYXHguee SotA== X-Gm-Message-State: AOAM531USJBiGic7wl02pU84vJ6rv22yxqhwx7wyNEDtDzQdnsLcaKSz 9crSzr2X8IUDL/KE0vEprnU= X-Google-Smtp-Source: ABdhPJx2TkLFDVsQzdqrE1shupbQBccbEwjXO1yjvXlOPG5IeX2dA9iMLsz4e74JxO7RDJbK0V4mLg== X-Received: by 2002:a5d:6a49:: with SMTP id t9mr15964543wrw.194.1603053278522; Sun, 18 Oct 2020 13:34:38 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org, Luc Michel Subject: [PATCH v3 8/9] hw/arm/raspi: Add the Raspberry Pi Zero machine Date: Sun, 18 Oct 2020 22:33:57 +0200 Message-Id: <20201018203358.1530378-9-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) Similarly to the Pi A, the Pi Zero uses a BCM2835 SoC (ARMv6Z core). Example booting the machine using content from [*]: $ qemu-system-arm -M raspi0 -serial stdio \ -kernel raspberrypi/firmware/boot/kernel.img \ -dtb raspberrypi/firmware/boot/bcm2708-rpi-zero.dtb \ -append 'printk.time=3D0 earlycon=3Dpl011,0x20201000 console=3DttyAMA= 0' [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.19.118+ (dom@buildbot) (gcc version 4.9.3 = (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1311 Mon Apr 27 14:16:15 B= ST 2020 [ 0.000000] CPU: ARMv6-compatible processor [410fb767] revision 7 (ARM= v7), cr=3D00c5387d [ 0.000000] CPU: VIPT aliasing data cache, unknown instruction cache [ 0.000000] OF: fdt: Machine model: Raspberry Pi Zero ... [*] http://archive.raspberrypi.org/debian/pool/main/r/raspberrypi-firmware/= raspberrypi-kernel_1.20200512-2_armhf.deb Reviewed-by: Luc Michel Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Igor Mammedov --- hw/arm/raspi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 91a59d1d489..1510ca01afe 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -319,6 +319,15 @@ static void raspi_machine_class_common_init(MachineCla= ss *mc, mc->default_ram_id =3D "ram"; }; =20 +static void raspi0_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); + + rmc->board_rev =3D 0x900092; + raspi_machine_class_common_init(mc, rmc->board_rev); +}; + static void raspi1ap_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -352,6 +361,10 @@ static void raspi3b_machine_class_init(ObjectClass *oc= , void *data) =20 static const TypeInfo raspi_machine_types[] =3D { { + .name =3D MACHINE_TYPE_NAME("raspi0"), + .parent =3D TYPE_RASPI_MACHINE, + .class_init =3D raspi0_machine_class_init, + }, { .name =3D MACHINE_TYPE_NAME("raspi1ap"), .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi1ap_machine_class_init, --=20 2.26.2 From nobody Mon Feb 9 08:19:16 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) client-ip=209.85.221.65; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f65.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1603053284; cv=none; d=zohomail.com; s=zohoarc; b=GwOwgydjv2fUe8c1JOCIs3ZijpsV3mVqS93i5fDd9vrXL09xMsxGYBUjpqh5OiK5b7gy+uY3e1IOplGDkypI4ippjIMOMPWOYVKXP4erFPmNh0zMKtUdk9N50ycDxVrsXNHvMzK+eGVvczawWg/OX9pf76XHxNMzf66/oZWfEYo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1603053284; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uimP/iqQh3HvwHLU2i4l9uDQzRvHG8CsmPCcNRaOVH8=; b=MWlUvahuJ9LQ9iOvVWxIK/8o1YRNfphONrAnxvuZTZ0vDHQl46MyDyWp+Cpp6u/csHEr8M2+aGBTkgA8Civt9dJiQe16YCCWSgj6Z6oAsjsHzzrc7052PtTaAlGEu1A5YzjIDHumqnqrFjAFa00bPqJEpnE6YwJoBjUqlcpenDc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.65 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f65.google.com (mail-wr1-f65.google.com [209.85.221.65]) by mx.zohomail.com with SMTPS id 1603053284792553.5217794396353; Sun, 18 Oct 2020 13:34:44 -0700 (PDT) Received: by mail-wr1-f65.google.com with SMTP id j7so5040064wrt.9 for ; Sun, 18 Oct 2020 13:34:44 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (117.red-83-52-172.dynamicip.rima-tde.net. [83.52.172.117]) by smtp.gmail.com with ESMTPSA id 13sm13179986wmk.20.2020.10.18.13.34.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Oct 2020 13:34:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uimP/iqQh3HvwHLU2i4l9uDQzRvHG8CsmPCcNRaOVH8=; b=Z7OowUCOFke1z16AdXigR9YxqUSnC7cOH8c7fbWkJ5kpB4HpMvxckNV+Y79VeKifso zql4kiFxQqam97vOkftwYXc0hpL3wKVAX/95fQxyl24O432Vgasyk6sQ4/Jf4Tv4hbVN t5CzzyBg3BnxQOEFNXcEaH78bCX0kc+yNJCKH10P3FiiBUBZImrS3WEFoysx3bzQ6ulc hdNuzmrPxJ1b8of6bqXShsgZinRYUsCR324Gd2iffLn4TQ5I93mGfL/E7dxUARYBy654 cO3RIIVDmfm5NxQPpqjmFoOnB3cv6ABYNA1Rh/OUH3PrftkLbf6yiBeg02jQFuHBkc7V Wrpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=uimP/iqQh3HvwHLU2i4l9uDQzRvHG8CsmPCcNRaOVH8=; b=Ywb2KfXOBs9mkylGQ9q6jCWHCZbJugd77PiuslBW14LnnVP1emkUKJrwaqQ8ykuJoU z/yyNokRQ0n8ZCCmjocnppuMfxJNsIMDuPc5pScUKykFdGaoyhJQpkPEMFkp0PUrwmBl Jz0tI64Q1mUhbSpufuJFSx0s7hwOGdj3rtRPz9btipsod1s18BLgcQPqucdTdq0t+VZT Q6ORCtFhBCKbmeVGbhlPapKN9ok/9IWN42Cx+AyRjoJHPKLsHvxg63LJ/FWjbyGHqikw h8hDm6MoRW4Wn2Vd/rjjYBlQtYBbcoa1G+ciq2yc76PRJrz01e/PN23ONUicXcjTZRDK v2ow== X-Gm-Message-State: AOAM5315Iks9qwVttjG3tiUA/jDGd6Ec6RJro5ow0Qg+xfvCjsPrcwV8 31QEyhBDxsZwpenFLxnrbXI= X-Google-Smtp-Source: ABdhPJzHG98Cn8a5rbSp2/QOntcvOvSTez+0ocTxa5q8kbwD7uRynyVBaSTi0d9+ubmek60R8QkMhQ== X-Received: by 2002:adf:e38f:: with SMTP id e15mr16211677wrm.294.1603053283026; Sun, 18 Oct 2020 13:34:43 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Peter Maydell , Luc Michel , Andrew Baumann , qemu-arm@nongnu.org Subject: [PATCH v3 9/9] hw/arm/raspi: Add the Raspberry Pi 3 model A+ Date: Sun, 18 Oct 2020 22:33:58 +0200 Message-Id: <20201018203358.1530378-10-f4bug@amsat.org> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201018203358.1530378-1-f4bug@amsat.org> References: <20201018203358.1530378-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) The Pi 3A+ is a stripped down version of the 3B: - 512 MiB of RAM instead of 1 GiB - no on-board ethernet chipset Add it as it is a closer match to what we model. Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/raspi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c index 1510ca01afe..4ea200572ea 100644 --- a/hw/arm/raspi.c +++ b/hw/arm/raspi.c @@ -348,6 +348,15 @@ static void raspi2b_machine_class_init(ObjectClass *oc= , void *data) }; =20 #ifdef TARGET_AARCH64 +static void raspi3ap_machine_class_init(ObjectClass *oc, void *data) +{ + MachineClass *mc =3D MACHINE_CLASS(oc); + RaspiMachineClass *rmc =3D RASPI_MACHINE_CLASS(oc); + + rmc->board_rev =3D 0x9020e0; + raspi_machine_class_common_init(mc, rmc->board_rev); +}; + static void raspi3b_machine_class_init(ObjectClass *oc, void *data) { MachineClass *mc =3D MACHINE_CLASS(oc); @@ -373,6 +382,10 @@ static const TypeInfo raspi_machine_types[] =3D { .parent =3D TYPE_RASPI_MACHINE, .class_init =3D raspi2b_machine_class_init, #ifdef TARGET_AARCH64 + }, { + .name =3D MACHINE_TYPE_NAME("raspi3ap"), + .parent =3D TYPE_RASPI_MACHINE, + .class_init =3D raspi3ap_machine_class_init, }, { .name =3D MACHINE_TYPE_NAME("raspi3b"), .parent =3D TYPE_RASPI_MACHINE, --=20 2.26.2