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; 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. Stefan