diff mbox series

sbsa-ref: allow to use Cortex-A53/57/72 cpus

Message ID 20201120141705.246690-1-marcin.juszkiewicz@linaro.org (mailing list archive)
State New, archived
Headers show
Series sbsa-ref: allow to use Cortex-A53/57/72 cpus | expand

Commit Message

Marcin Juszkiewicz Nov. 20, 2020, 2:17 p.m. UTC
Trusted Firmware now supports A72 on sbsa-ref by default [1] so enable
it for QEMU as well. A53 was already enabled there.

1. https://review.trustedfirmware.org/c/TF-A/trusted-firmware-a/+/7117

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>

Comments

Richard Henderson Nov. 21, 2020, 5:09 p.m. UTC | #1
On 11/20/20 6:17 AM, Marcin Juszkiewicz wrote:
> +static const char *valid_cpus[] = {

const char * const

Otherwise,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Marcin Juszkiewicz Nov. 24, 2020, 1 p.m. UTC | #2
W dniu 21.11.2020 o 18:09, Richard Henderson pisze:
>> +static const char *valid_cpus[] = {
> const char * const

I copied it from hw/arm/virt.c file.

> Otherwise,
> Reviewed-by: Richard Henderson<richard.henderson@linaro.org>

Thanks. Fixed patch sent in separate mail.
diff mbox series

Patch

diff --git hw/arm/sbsa-ref.c hw/arm/sbsa-ref.c
index 7d9e180c0d..b9909279f1 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -143,6 +143,24 @@  static const int sbsa_ref_irqmap[] = {
     [SBSA_GWDT] = 16,
 };
 
+static const char *valid_cpus[] = {
+    ARM_CPU_TYPE_NAME("cortex-a53"),
+    ARM_CPU_TYPE_NAME("cortex-a57"),
+    ARM_CPU_TYPE_NAME("cortex-a72"),
+};
+
+static bool cpu_type_valid(const char *cpu)
+{
+    int i;
+
+    for (i = 0; i < ARRAY_SIZE(valid_cpus); i++) {
+        if (strcmp(cpu, valid_cpus[i]) == 0) {
+            return true;
+        }
+    }
+    return false;
+}
+
 static uint64_t sbsa_ref_cpu_mp_affinity(SBSAMachineState *sms, int idx)
 {
     uint8_t clustersz = ARM_DEFAULT_CPUS_PER_CLUSTER;
@@ -649,9 +667,8 @@  static void sbsa_ref_init(MachineState *machine)
     const CPUArchIdList *possible_cpus;
     int n, sbsa_max_cpus;
 
-    if (strcmp(machine->cpu_type, ARM_CPU_TYPE_NAME("cortex-a57"))) {
-        error_report("sbsa-ref: CPU type other than the built-in "
-                     "cortex-a57 not supported");
+    if (!cpu_type_valid(machine->cpu_type)) {
+        error_report("mach-virt: CPU type %s not supported", machine->cpu_type);
         exit(1);
     }