Robert Millan wrote:
On Thu, Aug 07, 2008 at 05:32:42PM +0200, Christian Franke wrote:
grub2 from current SVN hangs if run in VirtualPC, the problem was
introduced with 'svn diff -r 1779:1780'.
I'm not familiar with this part of the PIT interface; why does it hang
only on VirtualPC?
Possibly different BIOS init of 0x61? Or different implementation of the
legacy hardware, which IIRC looks like this:
. +-------+ /--------->0x61[5]
. ...--Clock-->| Timer | |
.0x61[0]---Gate-->| 2 |-Out-+->+---+
. +-------+ | & |-->Speaker
.0x61[1]-------------------------->+---+
Resulting values of "tsc_ticks_per_ms" (AMD [EMAIL PROTECTED]):
. orig with patch
VMware: ~1500 ~2000000
VirtualBox: ~2000000 ~2000000
VirtualPC: hang ~2000000
...
+ /* Disable timer2 gate and speaker. */
+ grub_outb (grub_inb (TIMER2_REG_LATCH) & ~ (TIMER2_SPEAKER | TIMER2_GATE),
TIMER2_REG_LATCH);
}
This doesn't AFAICT preserve the existing value of the timer2 gate and speaker.
I assume that is ok?
IMO yes. The timer state itself cannot be preserved, so it should be
safe to leave it disabled. To test, try If BIOS speaker output (echo -e
"\a") still works.
Thanks!
You're welcome.
Patch committed.
Christian
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel