From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Gregory Haskins" Subject: SIGILL in grub in guest on 4365 Date: Thu, 01 Feb 2007 07:33:30 -0500 Message-ID: <45C197E6.BA47.005A.0@novell.com> References: <45C11A7E0200005A0001EE4E@mcclure.wal.novell.com> <45C197CA0200005A0001EE9A@mcclure.wal.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Return-path: Content-Disposition: inline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org 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