qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PULL for-2.0-rc0 00/58] QOM CPUState patch queue 2014-


From: Andreas Färber
Subject: Re: [Qemu-devel] [PULL for-2.0-rc0 00/58] QOM CPUState patch queue 2014-03-13
Date: Thu, 13 Mar 2014 19:44:47 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0

Am 13.03.2014 18:10, schrieb Peter Maydell:
> On 13 March 2014 14:54, Andreas Färber <address@hidden> wrote:
>> Hello Peter,
>>
>> This is my current QOM CPU patch queue. Please pull.
>>
>> Since this touches on bsd-user code, request to apply the build fix first.
>>
>> NB: I was only able to test x86/ppc/arm KVM this time; s390x KVM was 
>> re-reviewed only.
>>
>> Regards,
>> Andreas
>>
>> Cc: Peter Maydell <address@hidden>
>> Cc: Anthony Liguori <address@hidden>
>>
>> Cc: Eduardo Habkost <address@hidden>
>> Cc: Igor Mammedov <address@hidden>
>> Cc: Christian Borntraeger <address@hidden>
>>
>> The following changes since commit be86c53c058d75fc3938b1b54f363259f282b3d5:
>>
>>   Merge remote-tracking branch 'remotes/afaerber/tags/ppc-for-2.0' into 
>> staging (2014-03-13 13:19:46 +0000)
>>
>> are available in the git repository at:
>>
>>
>>   git://github.com/afaerber/qemu-cpu.git tags/qom-cpu-for-2.0
>>
>> for you to fetch changes up to 98f11363e7add1e750f76e3d81750348f0470c29:
>>
>>   user-exec: Change exception_action() argument to CPUState (2014-03-13 
>> 15:35:04 +0100)
> 
> Fails to compile on systems without CONFIG_INT128 (eg 32 bit host):
> 
> /root/qemu/target-s390x/int_helper.c: In function ‘helper_divu64’:
> /root/qemu/target-s390x/int_helper.c:111:9: error: passing argument 1
> of ‘cpu_abort’ from incompatible pointer type [-Werror]
> In file included from /root/qemu/include/exec/cpu-all.h:26:0,
>                  from /root/qemu/target-s390x/cpu.h:41,
>                  from /root/qemu/target-s390x/int_helper.c:21:
> /root/qemu/include/qom/cpu.h:620:37: note: expected ‘struct CPUState
> *’ but argument is of type ‘struct CPUS390XState *’
> cc1: all warnings being treated as errors

Thanks for catching that, the following seems to fix:

diff --git a/target-s390x/int_helper.c b/target-s390x/int_helper.c
index 85e49aa..5ffc5a8 100644
--- a/target-s390x/int_helper.c
+++ b/target-s390x/int_helper.c
@@ -106,9 +106,10 @@ uint64_t HELPER(divu64)(CPUS390XState *env,
uint64_t ah, uint64_t al,
             runtime_exception(env, PGM_FIXPT_DIVIDE, GETPC());
         }
 #else
+        S390CPU *cpu = s390_env_get_cpu(env);
         /* 32-bit hosts would need special wrapper functionality - just
abort if
            we encounter such a case; it's very unlikely anyways. */
-        cpu_abort(env, "128 -> 64/64 division not implemented\n");
+        cpu_abort(CPU(cpu), "128 -> 64/64 division not implemented\n");
 #endif
     }
     return ret;

git-grep showed no further missed occurrences of cpu_abort().

Will submit v2 once my testing completes.

Regards,
Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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