From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CG5LR-000359-O7 for qemu-devel@nongnu.org; Fri, 08 Oct 2004 20:44:21 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CG5LQ-00034f-F3 for qemu-devel@nongnu.org; Fri, 08 Oct 2004 20:44:20 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CG5LQ-00034a-AL for qemu-devel@nongnu.org; Fri, 08 Oct 2004 20:44:20 -0400 Received: from [64.233.170.204] (helo=mproxy.gmail.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CG50O-0004CR-Vx for qemu-devel@nongnu.org; Fri, 08 Oct 2004 20:22:37 -0400 Received: by mproxy.gmail.com with SMTP id 75so154667rnk for ; Fri, 08 Oct 2004 17:22:25 -0700 (PDT) Message-ID: Date: Fri, 8 Oct 2004 20:22:25 -0400 From: Karl Magdsick Subject: Re: [Qemu-devel] qemu crashes and freezes on x86_64/amd64 host In-Reply-To: <1097175246.2833.51.camel@orion> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <1097175246.2833.51.camel@orion> Reply-To: Karl Magdsick , qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org What is your compiler target when creating the qemu executible? My understanding is that almost all of the instructions in 64-bit mode are reverse-compatible with 32-bit mode, but a few have changed slightly. If your qemu executible is compiled for 64-bit mode (and is therefore being run in 64-bit usermode), but the jit is generating 32-bit code, this could be problematic for a small number of instructions. I have no direct knowledge of the differences between the instruction encodings for 32-bit and 64-bit modes, just hearsay. Just a guess. -Karl On Thu, 07 Oct 2004 20:54:06 +0200, Bob Deblier wrote: > Current CVS version, statically compiled, running on FC2 x86_64 (a.k.a. > amd64) > > Maybe these gdb sessions can help shed some light: > > [bob@orion qemu]$ gdb qemu > GNU gdb Red Hat Linux (6.0post-0.20040223.19rh) > Copyright 2004 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you > are > welcome to change it and/or distribute copies of it under certain > conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for > details. > This GDB was configured as "x86_64-redhat-linux-gnu"...Using host > libthread_db library "/lib64/tls/libthread_db.so.1". > > (gdb) set args -cdrom /opt/iso/w2k.iso -boot d w2k.img > (gdb) run > Starting program: /usr/bin/qemu -cdrom /opt/iso/w2k.iso -boot d w2k.img > > Program received signal SIGSEGV, Segmentation fault. > tb_link_phys (tb=0xbd8dc8, phys_pc=33, phys_page2=426) at > /home/bob/emulators/cvs/qemu/exec.c:842 > 842 tb->page_next[n] = p->first_tb; > (gdb) > > Another session crashes at the same location, with different values: > > Program received signal SIGSEGV, Segmentation fault. > tb_link_phys (tb=0xbd8cf8, phys_pc=33, phys_page2=426) at > /home/bob/emulators/cvs/qemu/exec.c:842 > 842 tb->page_next[n] = p->first_tb; > > Yet another possibility is that qemu apparently freezes; interrupting > gdb then gives: > > (gdb) run > Starting program: /usr/bin/qemu -cdrom /opt/iso/w2k.iso -boot d w2k.img > > Program received signal SIGINT, Interrupt. > 0x000000000126cd4d in code_gen_buffer () > (gdb) where > #0 0x000000000126cd4d in code_gen_buffer () > #1 0x0000000001adbd00 in ?? () > #2 0x0000000000446145 in cpu_x86_exec (env1=0xfd76) at > /home/bob/emulators/cvs/qemu/cpu-exec.c:545 > #3 0x0000000000403294 in main_loop () at > /home/bob/emulators/cvs/qemu/vl.c:2463 > #4 0x0000000000403fb3 in main (argc=64886, argv=0xc000) at > /home/bob/emulators/cvs/qemu/vl.c:3392 > (gdb) > > Any pointers welcome. > > Sincerely, > > Bob Deblier > > _______________________________________________ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel >