[SeaBIOS] [Bochs-developers] Bochs cvs + SeaBIOS git master + FreeDOS = slow load + invalid opcode

Kevin O'Connor kevin at koconnor.net
Wed Jan 13 05:14:56 CET 2010


On Tue, Jan 12, 2010 at 10:19:58PM +0200, Stanislav Shwartsman wrote:
> <So, at first glance it looks like Bochs isn't doing floppy DMA when
> <the cpu is in the "hlt" state.  This causes SeaBIOS to timeout the
> <transfer.
> 
> Right, Bochs CPU won't handle floppy DMA when halted.
> The CPU is just running busy loop until it finds pending INIT/NMI/SMI or
> INTR with EFLAGS.IF set.
> Should HRQ to take CPU out of halt state ?
> Or just handle the DEV_dma_raise_hlda and stay in halt state ?

Hi Stanislav,

In general, I think DMA should continue even if the cpu is in the halt
state.  I don't know enough about Bochs to say what the implications
of HRQ/DEV_dma_raise_hlda are.

For SeaBIOS, we can add a workaround, but I do think it would be
worthwhile to fix this in Bochs as I imagine other applications have
similar behavior.

-Kevin



More information about the SeaBIOS mailing list