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 ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel