From: Avi Kivity <avi@redhat.com>
To: Gabe Black <gblack@eecs.umich.edu>
Cc: kvm@vger.kernel.org, nathan binkert <nate@binkert.org>,
Steve Reinhardt <stever@gmail.com>
Subject: Re: unhandled vm exit: 0x80000021 vcpu_id 0
Date: Sun, 31 May 2009 13:07:53 +0300 [thread overview]
Message-ID: <4A2256F9.9000804@redhat.com> (raw)
In-Reply-To: <4A1FB075.1050202@eecs.umich.edu>
Gabe Black wrote:
> Hello again. I'm making more progress getting KVM going in M5, and
> right now I'm trying to figure out why I'm getting an unhandled vm
> exit with exit code 0x80000021. According to Intel's manual, something
> about the guest state isn't being set up correctly. I dumped the
> initial register state for the 0th virtual CPU and noticed that some
> things Intel claims are illegal show up there, for instance having
> paging and protected mode disabled. I'm assuming there's some cooking
> done to the state as presented to KVM to, for instance, substitute
> V8086 mode for real mode, etc. I've fixed a number of bugs in M5 that
> cleaned up some issues, but I'm hoping somebody with more knowledge
> can tell me what illegal state is still there that would make it
> through the kvms twiddling and cause VMX to abort. One thing that I
> know looks funny is that the limit on the IDT is zero, but I haven't
> been able to find any evidence in the manuals that that's considered
> wrong rather than just a bad idea. Any help here would be very
> appreciated!
>
idt.limit = 0 should be fine.
>
> cs 0008 (00000000/ffffffff p 1 dpl 0 db 0 s 1 type a l 1 g 1 avl 0)
> ds 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 2 l 0 g 1 avl 0)
> es 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 2 l 0 g 1 avl 0)
> ss 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 2 l 0 g 1 avl 0)
> fs 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 2 l 0 g 1 avl 0)
> gs 0010 (00000000/ffffffff p 1 dpl 0 db 1 s 1 type 2 l 0 g 1 avl 0)
Try setting bit 1 (accessed) on the types here.
> tr 0018 (00000000/ffffffff p 1 dpl 0 db 1 s 0 type b l 0 g 1 avl 0)
> ldt 0000 (00000000/00000000 p 0 dpl 0 db 0 s 0 type 0 l 0 g 0 avl 0)
> gdt 76000/17
> idt 0/0
> cr0 80000011 cr2 0 cr3 70000 cr4 20 cr8 0 efer 500
kvm-kmod.git contains a vmx-debug.c which does the same checks as the
cpu. If you link it in and call vm_entry_test() just before guest
entry, it will point out where the state is bad.
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2009-05-31 10:13 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-29 9:52 unhandled vm exit: 0x80000021 vcpu_id 0 Gabe Black
2009-05-31 10:07 ` Avi Kivity [this message]
-- strict thread matches above, loose matches on Subject: below --
2008-10-02 22:16 p.quida
2008-10-03 0:57 ` Sheng Yang
2008-09-29 10:18 p.quida
2008-09-29 14:43 ` Sheng Yang
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=4A2256F9.9000804@redhat.com \
--to=avi@redhat.com \
--cc=gblack@eecs.umich.edu \
--cc=kvm@vger.kernel.org \
--cc=nate@binkert.org \
--cc=stever@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.