[Bug 780657] Re: FreeBSD Hangs on Boot
Tom Vijlbrief
780657 at bugs.launchpad.net
Sat Aug 6 11:03:56 UTC 2011
Replacing the SeaBios implementation of the delay in src/clock.c with
the method used in the Bochs BIOS is also a workaround for FreeBSD:
//=========================
// Wait for CX:DX microseconds
void
handle_1586(struct bregs *regs)
{
// Use the rtc to wait for the specified time.
u32 count = (regs->cx << 16) | regs->dx;
#if 0
u8 statusflag = 0;
int ret = set_usertimer(count, GET_SEG(SS), (u32)&statusflag);
if (ret) {
set_code_invalid(regs, RET_ECLOCKINUSE);
return;
}
while (!statusflag)
wait_irq();
#else
// Use bochs code: (tom at v7f.eu)
count/= 15;
while (count-- > 0) {
u8 orig = inb(PORT_PS2_CTRLB) & 0x10;
while (orig == (inb(PORT_PS2_CTRLB) & 0x10))
;
}
#endif
set_success(regs);
}
//=======================
You can replace /usr/share/seabios/bios.bin with
the bios downloaded from:
http://www.v7f.eu/public/bios.bin
--
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to qemu-kvm in Ubuntu.
https://bugs.launchpad.net/bugs/780657
Title:
FreeBSD Hangs on Boot
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/780657/+subscriptions
More information about the Ubuntu-server-bugs
mailing list