x86: 0.835 architecture: 0.777 performance: 0.722 graphic: 0.704 kernel: 0.680 device: 0.655 user-level: 0.638 assembly: 0.454 permissions: 0.448 ppc: 0.399 mistranslation: 0.398 semantic: 0.373 PID: 0.346 vnc: 0.337 debug: 0.269 arm: 0.263 register: 0.223 hypervisor: 0.214 socket: 0.200 VMM: 0.181 files: 0.170 virtual: 0.158 risc-v: 0.147 peripherals: 0.144 TCG: 0.132 boot: 0.116 i386: 0.113 network: 0.110 KVM: 0.093 Addresses with 4GB differences are consider as one single address in QEMU THIS IS THE ISSUE OF USER MODE EMULATION Information about guest and host ********************************** guest: 64 bit x86 user mode binary host: 32 bit Linux OS uname -a :Linux KICS-HPCNL-32blue 2.6.33.3-85.fc13.i686.PAE #1 SMP architecture: intel64 Bug Description **************** for memory reference instructions, suppose I have two addresses in guest address space(64 bit) 0x220000000 0x320000000 as lower 32 bit part of both addresses are same, when particular instructions are translated into host code(32 bit) in both above cases the value is loaded from same memory and we get same value. where actual behaviour was to get two different values. here is the program which i used to test: #include #include #include #define SIZE 4294967298 /* 4Gib*/ int main() { char *array; unsigned int i; array = malloc(sizeof(char) * SIZE); if(array == NULL) { fprintf(stderr, "Could not allocate that much memory"); return 1; } array[0] = 'a'; array[SIZE-2] = 'z'; printf("array[SIZE-2] = %c array[0] = %c\n",array[SIZE-2], array[0]); return 0; } I have 8 gib RAM I compiled this program on 64 bit linux and run this on 32 bit linux with qemu QEMU command line and output ********************************** $x86_64-linux-user/qemu-x86_64 ~/ar_x86 output: array[SIZE-1] = z,array[0] = z Release information ******************** x86_64 binary is tested with latest release : qemu-0.14.1 and with current development tree as well( live code of QEMU using git) Can you still reproduce this problem with the latest version of QEMU (currently version 2.9.0)? [Expired for QEMU because there has been no activity for 60 days.]