public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: "Gregory Haskins" <ghaskins-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
To: <kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
Subject: SIGILL in grub in guest on 4365
Date: Thu, 01 Feb 2007 07:33:30 -0500	[thread overview]
Message-ID: <45C197E6.BA47.005A.0@novell.com> (raw)
In-Reply-To: 45C197CA0200005A0001EE9A@mcclure.wal.novell.com


Hi All,
  New to the list and project...hoping to make a meaningful contribution here someday :)

I am in the process of coming up to speed on the KVM project (very cool BTW).  I found that it was extremely simple to get setup and running.  During the course of setting it up, I found an issue running a SUSE Linux Enterprise Desktop 10 (x86_64) guest.  Basically, if you try to run GRUB, the grub process dies immediately as it takes an illegal instruction (SIGILL) signal.  Non-symbol stack traces indicate it was in the sync() call in libc.  I have worked around this temporarily by installing LILO under rescue mode...but I figured what better way to learn the code than to try to debug and fix this issue.

My assumption is that an illegal-opcode will cause either a vm-exit or an illegal-opcode exception down to the host.  This in turn would cause either the KVM_RUN ioctl to return (presumably with an EXCEPTION reason) or a signal to be delivered to QEMU.  Problem is, I am fairly stumped at this point trying to prove this is true.

So my questions are: 

1) Is this how illegal-op would be handled, or would that stay entirely in the domain of the guest?  

2) If they do cause a host exception/exit, what is that path that would handle this?

I put breakpoints in QEMU in all the obvious places (e.g. looking for VM-Exits in kvm_run(), host-2-guest exception generation points, and/or signal handlers).  I have also straced QEMU and it doesn't appear to be taking any signals other than SIGIO.  My next step will be to start sprinkling printfs in the QEMU/KVM code and/or debugging/LTT'ing the kernel, but I figured I would ping the group for suggestions first.  Any pointers out there?

Another possibility is that the guest is not generating a real illegal-op and the bug is that QEMU/KVM is accidentally injecting the exception condition (due to corruption, etc) and that explains why I cant seem to find it being explicitly handled.  Its too early to say right now, of course.

Thanks!
-Greg

PS: Other than the grub issue, I have been successfully  hosting a 64 bit SLED guest on KVM for days now, so we are pretty close to being able to add it to your list of working guests.


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642

       reply	other threads:[~2007-02-01 12:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <45C11A7E0200005A0001EE4E@mcclure.wal.novell.com>
     [not found] ` <45C197CA0200005A0001EE9A@mcclure.wal.novell.com>
2007-02-01 12:33   ` Gregory Haskins [this message]
     [not found]     ` <45C197E6.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-02-01 12:46       ` SIGILL in grub in guest on 4365 Avi Kivity
     [not found]         ` <45C1E116.1070802-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-02-01 12:58           ` Gregory Haskins
     [not found]             ` <45C19DBA.BA47.005A.0-Et1tbQHTxzrQT0dZR+AlfA@public.gmane.org>
2007-02-01 13:05               ` Avi Kivity

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=45C197E6.BA47.005A.0@novell.com \
    --to=ghaskins-et1tbqhtxzrqt0dzr+alfa@public.gmane.org \
    --cc=kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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