Izik Eidus wrote:
Index: qemu/cpu-all.h
===================================================================
--- qemu.orig/cpu-all.h 2008-02-01 15:24:45.000000000 -0600
+++ qemu/cpu-all.h 2008-02-01 15:28:48.000000000 -0600
@@ -695,7 +695,7 @@
/* page related stuff */
-#define TARGET_PAGE_SIZE (1 << TARGET_PAGE_BITS)
+#define TARGET_PAGE_SIZE (1ul << TARGET_PAGE_BITS)
#define TARGET_PAGE_MASK ~(TARGET_PAGE_SIZE - 1)
#define TARGET_PAGE_ALIGN(addr) (((addr) + TARGET_PAGE_SIZE - 1) &
TARGET_PAGE_MASK
Do you recall what this change fixed? As Paul pointed out in IRC, using
the host type here doesn't really fix the problem (target_ulong would be
more appropriate). However, we're both curious what problem it's
actually fixing since sign extending the int should just work.
ok the commit say:
kvm: qemu: change the type of the various page masks to unsigned long
prevents truncation with >=4GB of guest physical memory
as far as i remember it was used to address something with
cpu_physical_memory_rw() probably related to &TARGET_PAGE_SIZE
or ~TARGET_PAGE_SIZE,
the fact is that i dont know if it ever fixed anything
It fixes TARGET_PAGE_MASK, defined one line downscreen. I agree it
should be changed to ((target_ulong)1 << TARGET_PAGE_BITS).
--
error compiling committee.c: too many arguments to function