qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] target-arm: fix build on fedora


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] target-arm: fix build on fedora
Date: Mon, 23 Dec 2013 14:32:55 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

Am 23.12.2013 13:59, schrieb Peter Maydell:
> On 23 December 2013 12:50, Paolo Bonzini <address@hidden> wrote:
>> Il 23/12/2013 13:37, Peter Maydell ha scritto:
>>> At a minimum, if we take this approach we should add TODO comments
>>> to the effect that the NULL terminator and the if() can be removed
>>> when the first real AArch64 CPU is added.
>>>
>>> I think I'd rather put the if (!info->name) continue into the function
>>> which is doing the looping over the array.
>> Or just change the termination condition from a check on the array size
>> to one on info->name.
> That would take it out of line with the equivalent 32 bit ARM code
> (and also moxie and openrisc for what little that's worth) and be
> fractionally more tedious to revert later.
>
> thanks
> -- PMM

What about adding a dummy CPU (which can be removed later)?

I also got a warning here when I used cgcc / smatch recently, but did
not send a patch because there are too many possible fixes and none of
them seemed to be elegant :-)

Nevertheless, here is one of them:

--- a/target-arm/cpu64.c
+++ b/target-arm/cpu64.c
@@ -46,6 +46,11 @@ static void aarch64_any_initfn(Object *obj)
     set_feature(&cpu->env, ARM_FEATURE_V7MP);
     set_feature(&cpu->env, ARM_FEATURE_AARCH64);
 }
+#else
+static void aarch64_dummy_initfn(Object *obj)
+{
+    hw_error("Dummy CPU not supported");
+}
 #endif
 
 typedef struct ARMCPUInfo {
@@ -57,6 +62,9 @@ typedef struct ARMCPUInfo {
 static const ARMCPUInfo aarch64_cpus[] = {
 #ifdef CONFIG_USER_ONLY
     { .name = "any",         .initfn = aarch64_any_initfn },
+#else
+    /* TODO: Dummy CPU to avoid empty array. Fix when a real CPU is
added. */
+    { .name = "dummy",       .initfn = aarch64_dummy_initfn },
 #endif
 };

Of course, any other fix is also okay.

Cheers and Merry Christmas

Stefan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]