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


Reply via email to