[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 05/12] hw/arm/raspi: Consider processor id in types[] array
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 05/12] hw/arm/raspi: Consider processor id in types[] array |
Date: |
Tue, 4 Feb 2025 01:22:33 +0100 |
Expand the current type2model array to include the processor id.
Since the BCM2838 is indistinctly used as BCM2711 (within the
Linux community), add it as alias in RaspiProcessorId.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
hw/arm/raspi.c | 33 +++++++++++++++++++++++++++------
1 file changed, 27 insertions(+), 6 deletions(-)
diff --git a/hw/arm/raspi.c b/hw/arm/raspi.c
index 571b50bef7e..1a6a1f8ff22 100644
--- a/hw/arm/raspi.c
+++ b/hw/arm/raspi.c
@@ -70,6 +70,7 @@ typedef enum RaspiProcessorId {
PROCESSOR_ID_BCM2836 = 1,
PROCESSOR_ID_BCM2837 = 2,
PROCESSOR_ID_BCM2838 = 3,
+ PROCESSOR_ID_BCM2711 = 3,
} RaspiProcessorId;
static const struct {
@@ -82,6 +83,30 @@ static const struct {
[PROCESSOR_ID_BCM2838] = {TYPE_BCM2838, BCM283X_NCPUS},
};
+static const struct {
+ RaspiProcessorId proc_id;
+ const char *model;
+} types[] = {
+ {PROCESSOR_ID_BCM2835, "A"},
+ {PROCESSOR_ID_BCM2835, "B"},
+ {PROCESSOR_ID_BCM2835, "A+"},
+ {PROCESSOR_ID_BCM2835, "B+"},
+ {PROCESSOR_ID_BCM2836, "2B"},
+ { },
+ {PROCESSOR_ID_BCM2835, "CM1"},
+ { },
+ {PROCESSOR_ID_BCM2837, "3B"},
+ {PROCESSOR_ID_BCM2835, "Zero"},
+ {PROCESSOR_ID_BCM2837, "CM3"},
+ { },
+ {PROCESSOR_ID_BCM2835, "ZeroW"},
+ {PROCESSOR_ID_BCM2837, "3B+"},
+ {PROCESSOR_ID_BCM2837, "3A+"},
+ { },
+ {PROCESSOR_ID_BCM2837, "CM3+"},
+ {PROCESSOR_ID_BCM2711, "4B"},
+};
+
uint64_t board_ram_size(uint32_t board_rev)
{
assert(FIELD_EX32(board_rev, REV_CODE, STYLE)); /* Only new style */
@@ -110,16 +135,12 @@ static int cores_count(uint32_t board_rev)
static const char *board_type(uint32_t board_rev)
{
- static const char *types[] = {
- "A", "B", "A+", "B+", "2B", "Alpha", "CM1", NULL, "3B", "Zero",
- "CM3", NULL, "Zero W", "3B+", "3A+", NULL, "CM3+", "4B",
- };
assert(FIELD_EX32(board_rev, REV_CODE, STYLE)); /* Only new style */
int bt = FIELD_EX32(board_rev, REV_CODE, TYPE);
- if (bt >= ARRAY_SIZE(types) || !types[bt]) {
+ if (bt >= ARRAY_SIZE(types) || !types[bt].model) {
return "Unknown";
}
- return types[bt];
+ return types[bt].model;
}
static void write_smpboot(ARMCPU *cpu, const struct arm_boot_info *info)
--
2.47.1
- [PATCH v2 00/12] hw/arm/raspi: Allow creating any Raspberry Pi machine, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 01/12] hw/arm/raspi: Access SoC parent object using BCM283X_BASE() macro, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 02/12] hw/arm/raspi: Merge model 4B with other models, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 03/12] hw/arm/raspi: Unify RASPI_MACHINE types, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 04/12] hw/arm/raspi: Pass board_rev as argument to raspi_base_machine_init(), Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 05/12] hw/arm/raspi: Consider processor id in types[] array,
Philippe Mathieu-Daudé <=
- [PATCH v2 06/12] hw/arm/raspi: Consider network interface for B models, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 07/12] hw/arm/raspi: Check ramsize is within chipset aperture, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 08/12] hw/arm/raspi: Introduce generic Raspberry Pi machine, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 09/12] hw/arm/raspi: Have the generic machine take a 'revision' property, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 10/12] hw/arm/raspi: List models creatable by the generic 'raspi' machine, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 12/12] hw/arm/raspi: Support more models, Philippe Mathieu-Daudé, 2025/02/03
- [PATCH v2 11/12] hw/arm/raspi: Deprecate old raspiX machine names, Philippe Mathieu-Daudé, 2025/02/03