[SeaBIOS] [PATCH v3] config: allow DEBUG_IO for !QEMU

Kevin O'Connor kevin at koconnor.net
Fri May 31 03:09:53 CEST 2013


On Thu, May 30, 2013 at 09:30:33AM +0200, Gerd Hoffmann wrote:
> On 05/30/13 03:34, Kevin O'Connor wrote:
> > On Wed, May 29, 2013 at 04:25:59PM +0200, Gerd Hoffmann wrote:
> >> Allow selecting DEBUG_IO for non-qemu configurations,
> >> which is useful when running coreboot+seabios on qemu.
> > 
> > Unfortunately, if one does run seabios on real hardware and has
> > DEBUG_IO enabled, it will write to IO port 0x402 before confirming
> > that it is actually running on QEMU.  This could cause mysterious
> > failures on real hardware if something is listening to that port.
> > It's why I left the option dependent on QEMU instead of QEMU_HARDWARE.
> > Ideally the code would verify it is on QEMU before using the IO port,
> > while still providing the very early debugging when it is known to be
> > safe.
> 
> The debgconsole port returns 0xe9 on reads, so we could use that for
> probing and do something like the attached patch.  Which doesn't build
> for some reason.  Is the F segment read-only in 16bit mode?  Should I
> use something else instead?  Or #ifdef the SET_GLOBAL for 32bit mode,
> which should work fine given that POST runs in 32bit mode?

Same problem - one can't reliably do an inb(0xe9) on real hardware
without risking mysterious failures.

-Kevin



More information about the SeaBIOS mailing list