[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] Re: [PATCH][RFC] Run time TCGv size check for debugging
From: |
Fabrice Bellard |
Subject: |
Re: [Qemu-devel] Re: [PATCH][RFC] Run time TCGv size check for debugging |
Date: |
Thu, 30 Oct 2008 10:38:20 +0100 |
User-agent: |
Thunderbird 2.0.0.5 (X11/20070727) |
Paul Brook wrote:
> On Wednesday 29 October 2008, Fabrice Bellard wrote:
>> Blue Swirl wrote:
>>> Hi,
>>>
>>> When emulating a mixed 32/64 bit Qemu target CPUs it's easy to confuse
>>> the TCGv size, passing 32 bit TCGv to a function expecting a 64 bit
>>> one and vice versa. This patch adds a run time sanity check for TCGv
>>> sizes.
>>>
>>> Because a 32 bit Qemu host does not really use 64 bit TCGvs, the patch
>>> is only functional on a 64 bit host. Of course also a pure 32 bit Qemu
>>> target is not likely to suffer from TCGv size confusion.
>>>
>>> Some use cases are not covered yet. Comments?
>> Theses tests can be done at compile time by introducing the TCGv_i32 and
>> TCGv_i64 types. The same can be done with the helpers by using a few
>> macros to declare them.
>
> That would also require updating all the target code in translate.c to use
> these types. In principle there's no reason why this couldn't be done, but
> it'd be a much more invasive change.
If you define TCGv as the word size of the emulated CPU, it will
eliminates most of the changes.
> AFAIK there's no way of doing compile time inheritance checking in C.
Fabrice.