All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Mohammed Gamal <m.gamal005@gmail.com>
Cc: kvm@vger.kernel.org, mtosatti@redhat.com
Subject: Re: [RFC PATCH v3 0/4] Real mode interrupt injection
Date: Mon, 16 Aug 2010 11:51:57 +0300	[thread overview]
Message-ID: <4C68FC2D.5070208@redhat.com> (raw)
In-Reply-To: <AANLkTik5ZQ5cRu6JmHN8HAN3mu-m9EgKh=UHRPndzmUq@mail.gmail.com>

  On 08/16/2010 02:37 AM, Mohammed Gamal wrote:
>
> Here is a full trace of a MINIX guest since bootup. Looks like we get
> stuck somewhere in the BIOS.
> https://docs.google.com/leaf?id=0B9UodZT1IuENMzJhNWQxM2YtYzE3YS00YWY4LTk2YTgtZWY3ODNhMWUxMDkx&sort=name&layout=list&num=50

>  qemu-system-x86-28953 [000]  1927.399942: kvm_inj_virq: irq 16
>  qemu-system-x86-28953 [000]  1927.399949: 
> kvm_inject_realmode_interrupt: cs=c000
>  qemu-system-x86-28953 [000]  1927.399951: 
> kvm_inject_realmode_interrupt: eip=40a3
>  qemu-system-x86-28953 [000]  1927.399957: 
> kvm_inject_realmode_interrupt: cs=c000
>  qemu-system-x86-28953 [000]  1927.399958: 
> kvm_inject_realmode_interrupt: eip=8339
>  qemu-system-x86-28953 [000]  1927.399960: kvm_entry: vcpu 0
>  qemu-system-x86-28953 [000]  1927.399965: kvm_exit: reason 
> EXCEPTION_NMI rip 0x8339
>  qemu-system-x86-28953 [000]  1927.399966: kvm_page_fault: address 
> c8339 error_code 1d
>  qemu-system-x86-28953 [000]  1927.399970: kvm_entry: vcpu 0
>  qemu-system-x86-28953 [000]  1927.399975: kvm_exit: reason 
> IO_INSTRUCTION rip 0x67d9
>  qemu-system-x86-28953 [000]  1927.399976: kvm_pio: pio_read at 0x3c4 
> size 2 count 1
>  qemu-system-x86-28953 [000]  1927.399985: kvm_entry: vcpu 0
>  qemu-system-x86-28953 [000]  1927.399991: kvm_exit: reason 
> EXCEPTION_NMI rip 0x3d4

This is bogus, it's in the middle of an instruction:

    f93d1:       2e 67 8b 9a 00 00 f1    addr32 mov %cs:-0xf0000(%edx),%bx
    f93d8:       ff
    f93d9:       66 0f b7 eb             movzwl %bx,%ebp

Everything after that is invalid.

So we need to know how we got to rip = 0x3d4, it looks like an I/O port 
used by vga.  Please rerun with emulation on all real mode instructions.

>  qemu-system-x86-28953 [000]  1927.399992: kvm_page_fault: address 
> f93d4 error_code 1d
>  qemu-system-x86-28953 [000]  1927.399996: kvm_entry: vcpu 0
>  qemu-system-x86-28953 [000]  1927.400000: kvm_exit: reason 
> EXCEPTION_NMI rip 0x0
>  qemu-system-x86-28953 [000]  1927.400003: kvm_inj_exception: #DB (0x0)
>  qemu-system-x86-28953 [000]  1927.400005: 
> kvm_inject_realmode_interrupt: cs=fff1
>  qemu-system-x86-28953 [000]  1927.400006: 
> kvm_inject_realmode_interrupt: eip=0
>  qemu-system-x86-28953 [000]  1927.400011: 
> kvm_inject_realmode_interrupt: cs=f000
>  qemu-system-x86-28953 [000]  1927.400012: 
> kvm_inject_realmode_interrupt: eip=ff53
>  qemu-system-x86-28953 [000]  1927.400014: kvm_entry: vcpu 0

-- 
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.


  reply	other threads:[~2010-08-16  8:52 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-15 21:46 [RFC PATCH v3 0/4] Real mode interrupt injection Mohammed Gamal
2010-08-15 21:47 ` [RFC PATCH v3 1/4] x86 emulator: Expose emulate_int_real() Mohammed Gamal
2010-08-15 21:47 ` [RFC PATCH v3 2/4] x86: Separate emulation context initialization in a separate function Mohammed Gamal
2010-08-15 21:47 ` [RFC PATCH v3 3/4] x86: Add kvm_inject_realmode_interrupt() wrapper Mohammed Gamal
2010-08-15 21:47 ` [RFC PATCH v3 4/4] VMX: Emulated real mode interrupt injection Mohammed Gamal
2010-08-15 23:37 ` [RFC PATCH v3 0/4] Real " Mohammed Gamal
2010-08-16  8:51   ` Avi Kivity [this message]
2010-08-16 13:19   ` Avi Kivity
2010-08-16 13:28     ` Mohammed Gamal
2010-08-16 14:16       ` Avi Kivity
2010-08-16 14:29         ` Gleb Natapov
2010-08-16 14:47           ` Avi Kivity
2010-08-16 15:23             ` Mohammed Gamal
2010-08-16 15:31               ` Gleb Natapov
2010-08-16 15:33                 ` Avi Kivity
2010-08-16 15:43                 ` Mohammed Gamal
2010-08-16 10:14 ` 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=4C68FC2D.5070208@redhat.com \
    --to=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=m.gamal005@gmail.com \
    --cc=mtosatti@redhat.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.