qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin O'Connor <kevin@koconnor.net>
To: Roy Tam <roytam@gmail.com>
Cc: seabios@seabios.org, qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Regression: more 0.12 regression (SeaBIOS related?)
Date: Tue, 9 Mar 2010 23:59:42 -0500	[thread overview]
Message-ID: <20100310045942.GC29054@morn.localdomain> (raw)
In-Reply-To: <473191351003091949j6f3fbf98jadc87405876db214@mail.gmail.com>

On Wed, Mar 10, 2010 at 11:49:48AM +0800, Roy Tam wrote:
> 2010/3/10 Kevin O'Connor <kevin@koconnor.net>:
> > SeaBIOS has a wealth of debugging information that could help solve
> > these issues.
> 
> Tried this this BIOS and 2 debug logs generated.
> seabios-debug.log is booting fdos0138.img and closes QEMU after boots to prompt.
> seabios-debug-2.log is booting fdos0138.img and type something and
> Illegal Instruction occurred.

I don't see an "Illegal Instruction" message.  Instead, I see the
keyboard just not working.  What qemu version and what command line
did you use?

I've tracked down why keys are lost on SeaBIOS and not lost on Bochs
BIOS.  The fdos0138.img code is taking over the irq handler for the
ps2 port hardware irq.  When the irq fires, it reads the ps2 port for
the key data and then calls the bios irq handler assuming it will
reread the key and process it.  However, SeaBIOS reads the ps2 port
status indicator and finds that there is no data pending (because the
key was already read by the fdos0138.img irq handler).

Bochs BIOS just reads the data from the ps2 port and assumes it is for
the keyboard.  SeaBIOS verifies the data being read and wont process
random data from the port.

What the fdos0138.img image is doing is broken - once it reads the key
from the ps2 port, nothing stops a new key from being read the next
time something reads from the port.  Indeed, although the keyboard
works in qemu-0.11 for fdos0138.img, if one types fast they'll see
duplicate and lost keys.

> >> http://www.drdosprojects.de/cgi-bin/download.cgi/d090723b.zip

This image fails in the same way on both qemu-0.11 and qemu-0.12, so I
don't think it's a seabios issue.

-Kevin

  reply	other threads:[~2010-03-10  4:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-08  2:04 [Qemu-devel] Regression: more 0.12 regression (SeaBIOS related?) Roy Tam
2010-03-08 10:05 ` Jamie Lokier
2010-03-08 11:08   ` Roy Tam
2010-03-08 13:48     ` Roy Tam
2010-03-10  4:48       ` Roy Tam
2010-03-09 15:41 ` Natalia Portillo
2010-03-09 16:09   ` Natalia Portillo
2010-03-10  2:12 ` Kevin O'Connor
2010-03-10  3:49   ` Roy Tam
2010-03-10  4:59     ` Kevin O'Connor [this message]
2010-03-10  5:05       ` Roy Tam
2010-03-10  5:55         ` Kevin O'Connor
2010-03-10  5:24       ` Roy Tam
2010-03-11  3:07         ` Kevin O'Connor
2010-03-11  7:42           ` Roy Tam
2010-03-11  8:10             ` Natalia Portillo
2010-03-12  0:57             ` Kevin O'Connor
2010-03-12  1:17               ` Roy Tam
2010-03-12 16:13               ` Roy Tam
2010-03-13 15:35                 ` Kevin O'Connor
2010-03-13 16:00                   ` Roy Tam
2010-03-12 23:24               ` [Qemu-devel] PC keyboard emulation (was: Regression: more 0.12 regression (SeaBIOS related?)) Jamie Lokier
2010-03-14  0:44                 ` [Qemu-devel] " Kevin O'Connor
2010-03-15  2:47                   ` Jamie Lokier
2010-03-15  3:08                     ` Kevin O'Connor
     [not found] <998502.27470.qm@web15103.mail.cnb.yahoo.com>
     [not found] ` <473191351003071956g48c3944fyd3adc3ae6012493c@mail.gmail.com>
2010-03-08  3:57   ` [Qemu-devel] Regression: more 0.12 regression (SeaBIOS related?) Roy Tam
  -- strict thread matches above, loose matches on Subject: below --
2012-03-06 17:00 Alain Ribière
2012-03-07 13:38 ` Kevin O'Connor

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=20100310045942.GC29054@morn.localdomain \
    --to=kevin@koconnor.net \
    --cc=qemu-devel@nongnu.org \
    --cc=roytam@gmail.com \
    --cc=seabios@seabios.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;
as well as URLs for NNTP newsgroup(s).