On Thu, Feb 27, 2014 at 02:14:23AM +0530, Kashyap Chamarthy wrote:
> On Wed, Feb 26, 2014 at 09:27:17PM +0100, Stefan Bader wrote:
> > On 26.02.2014 21:25, Paolo Bonzini wrote:
>
> [. . .]
>
> > >>
> > >> I bisected this and ended up on the following commit which, when
> > >> reverted made
> > >> the launch work again:
> > >>
> > >> Author: Anthoine Bourgeois <[email protected]>
> > >> Date: Wed Nov 13 11:45:37 2013 +0100
> > >>
> > >> kvm, vmx: Fix lazy FPU on nested guest
> > >>
> > >> If a nested guest does a NM fault but its CR0 doesn't contain the TS
> > >> flag (because it was already cleared by the guest with L1 aid) then
> > >> we
> > >> have to activate FPU ourselves in L0 and then continue to L2. If TS
> > >> flag
> > >> is set then we fallback on the previous behavior, forward the fault
> > >> to
> > >> L1 if it asked for.
> > >>
> > >> Signed-off-by: Anthoine Bourgeois <[email protected]>
> > >> Signed-off-by: Paolo Bonzini <[email protected]>
> > >>
> > >> The condition to exit to L0 seems to be according to what the
> > >> description says.
> > >> Could it be that the handling in L0 is doing something wrong?
> > >
> > > Thanks, I'll look at it tomorrow or Friday.
> > >
> > > Paolo
> > >
> > Great thanks. And maybe it helps if I actually add the link to the bug
> > report as
> > I had intended... :-P
> >
> > [1] https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1278531
>
> Yes, I'm seeing something similar[*] in a consistent manner with minimal
> Fedora installs on L0, L1 and L2
Ok, I just tried to debug an L2 guest (a libguestfs appliance) via
gdb following this method[1]. This is how far I got:
>From shell on L1, launch the libguestfs appliance (note: here libguestfs is
compiled with gdb debugging enabled, so QEMU won't start running the
appliance):
$ ./run libguestfs-test-tool
[. . .]
checking modpath /lib/modules/3.14.0-0.rc2.git0.1.fc21.x86_64 is a directory
picked kernel vmlinuz-3.14.0-0.rc2.git0.1.fc21.x86_64
supermin helper [00000ms] finished creating kernel
[. . .]
libguestfs: warning: qemu debugging is enabled, connect gdb to tcp::1234 to
begin
[. . .]
>From a different shell, I invoke gdb like that:
(gdb) symbol-file
/usr/lib/debug/lib/modules/3.14.0-0.rc4.git0.1.fc21.x86_64/vmlinux
Reading symbols from
/usr/lib/debug/lib/modules/3.14.0-0.rc4.git0.1.fc21.x86_64/vmlinux...done.
(gdb) target remote tcp::1234
Remote debugging using tcp::1234
0x0000fff0 in ftrace_stack ()
(gdb) bt
#0 0x00000997 in irq_stack_union ()
#1 0x00000000 in ?? ()
(gdb)
(gdb) c
Continuing.
Again, back to libguestfs-test-tool, it's just hung attempting to booting from
ROM:
[. . .]
SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (mockbuild@) Wed
Aug 14 23:57:08 UTC 2013
Term: 80x24
4 0
SeaBIOS (version 1.7.4-20140106_154858-)
Booting from ROM...
Back to gdb, to find out _what_ file the above function is trying to be
executed from:
(gdb) c
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00000997 in irq_stack_union ()
(gdb) bt
#0 0x00000997 in irq_stack_union ()
#1 0x00000000 in ?? ()
(gdb) list
1 /*
2 * Copyright 2002, 2003 Andi Kleen, SuSE Labs.
3 *
4 * This file is subject to the terms and conditions of the GNU
General Public
5 * License. See the file COPYING in the main directory of this
archive
6 * for more details. No warranty for anything given at all.
7 */
8 #include <linux/linkage.h>
9 #include <asm/dwarf2.h>
10 #include <asm/errno.h>
(gdb)
[. . .]
(gdb)
241 ENDPROC(csum_partial_copy_generic)
(gdb)
Line number 242 out of range; arch/x86/lib/csum-copy_64.S has 241 lines.
(gdb)
PS: Paolo, I'll try to test with your new patch soon.
Thanks.
[1]
https://github.com/libguestfs/libguestfs/blob/master/src/launch-direct.c#L404
>
> [*] https://bugzilla.kernel.org/show_bug.cgi?id=69491#c7
>
>
--
/kashyap
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html