On 08/23/2010 05:10 AM, Stefan Hajnoczi wrote:
On Sun, Aug 22, 2010 at 04:41:44PM -0500, Anthony Liguori wrote:
ram_addr_t is not necessarily an unsigned long. It's actually a
uint64_t. Integer promotion should handle this in most cases but
having the definition in two different places worries me a bit.
I thought it is unsigned long:
cpu-common.h:typedef unsigned long ram_addr_t;
Yeah, the definition has changed I think so you're right.
ram_addr_t cannot be used explicitly because it is only defined for
softmmu targets. User-only builds do not define ram_addr_t and the
generated trace.h header would break the compile.
This is a more general weakness of the tracing system: it is fragile
under #ifdefed builds because it tries to work for softmmu, user-only,
and qemu-tools! Perhaps we should split the trace-events file.
I think documentation could go a long way to addressing this.
Regards,
Anthony Liguori
Stefan