qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Bob Deblier <bob.deblier@telenet.be>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] qemu crashes and freezes on x86_64/amd64 host
Date: Sat, 09 Oct 2004 17:28:18 +0200	[thread overview]
Message-ID: <1097335698.3898.23.camel@orion> (raw)
In-Reply-To: <Pine.LNX.4.58.0410091548540.15178@wgmdd8.biozentrum.uni-wuerzburg.de>

On Sat, 2004-10-09 at 16:06, Johannes Schindelin wrote:
> Hi,
> 
> On Sat, 9 Oct 2004, Bob Deblier wrote:
> 
> > Valgrind is x86 only - I'm running Fedora Core 2 x86_64 a.k.a. amd64
> > i.e. 64-bit native. I have no problems on Fedora Core 2 x86.
> 
> Oops, sorry. I thought I read something about alpha x86_64 support in
> valgrind, but I could not find it, so I guess it was PPC support.
> 
> Looking at your gdb session again, I would like to know: what is the value
> of p? Is sizeof(unsigned int)==8? What is
> sizeof(l1_map)/sizeof(PageDesc*)?

Unfortunately, gdb refuses to cough up the value of p:

Starting program: /usr/bin/qemu -cdrom /opt/iso/w2k.iso -boot d w2k.img
 
Program received signal SIGSEGV, Segmentation fault.
tb_link_phys (tb=0xbd1e10, phys_pc=33, phys_page2=426) at
/home/bob/emulators/cvs/qemu/exec.c:842
842         tb->page_next[n] = p->first_tb;
(gdb) list
837         PageDesc *p;
838         TranslationBlock *last_first_tb;
839
840         tb->page_addr[n] = page_addr;
841         p = page_find(page_addr >> TARGET_PAGE_BITS);
842         tb->page_next[n] = p->first_tb;
843         last_first_tb = p->first_tb;
844         p->first_tb = (TranslationBlock *)((long)tb | n);
845         invalidate_page_bitmap(p);
846
(gdb) print p
No symbol "p" in current context.

I assume it got "optimized away" because of compilation flag -O2; again,
unfortunately, the code refuses to compile without that flag. Tricky
stuff...

To answer your other question, according to gdb:
(gdb) print sizeof(unsigned int)
$1 = 4
(gdb) print sizeof(PageDesc*)
$2 = 8
(gdb) print sizeof(l1_map)
$3 = 8192
(gdb) print sizeof(l1_map) / sizeof(PageDesc*)
$4 = 1024

When compiling, there are many warnings about "cast from pointer to
integer of different size" and "cast to pointer from integer of
different size" which makes me highly suspicious about 64-bit
compatibility of the code.

Bob

  reply	other threads:[~2004-10-09 15:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-07 18:54 [Qemu-devel] qemu crashes and freezes on x86_64/amd64 host Bob Deblier
2004-10-09  0:22 ` Karl Magdsick
2004-10-09  5:29   ` Bob Deblier
2004-10-09 10:08     ` Johannes Schindelin
2004-10-09 12:03       ` Bob Deblier
2004-10-09 14:06         ` Johannes Schindelin
2004-10-09 15:28           ` Bob Deblier [this message]
2004-10-09 16:19   ` [Qemu-devel] " Andi Kleen
2004-10-09 18:31     ` Karl Magdsick
2004-10-09 18:38       ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1097335698.3898.23.camel@orion \
    --to=bob.deblier@telenet.be \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).