mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 17:53:56 -06:00
Add HPET emulation to qemu (Beth Kon)
This patch adds HPET emulation. It can be disabled with -disable-hpet. An hpet provides a more finely granular clocksource than otherwise available on PC. This means that latency-dependent applications (e.g. multimedia) will generally be smoother when using the HPET. Signed-off-by: Beth Kon <eak@us.ibm.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6081 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
0bacd1300d
commit
16b29ae180
13 changed files with 938 additions and 6 deletions
21
hw/i8254.c
21
hw/i8254.c
|
@ -463,6 +463,27 @@ static void pit_reset(void *opaque)
|
|||
}
|
||||
}
|
||||
|
||||
/* When HPET is operating in legacy mode, i8254 timer0 is disabled */
|
||||
void hpet_pit_disable(void) {
|
||||
PITChannelState *s;
|
||||
s = &pit_state.channels[0];
|
||||
qemu_del_timer(s->irq_timer);
|
||||
}
|
||||
|
||||
/* When HPET is reset or leaving legacy mode, it must reenable i8254
|
||||
* timer 0
|
||||
*/
|
||||
|
||||
void hpet_pit_enable(void)
|
||||
{
|
||||
PITState *pit = &pit_state;
|
||||
PITChannelState *s;
|
||||
s = &pit->channels[0];
|
||||
s->mode = 3;
|
||||
s->gate = 1;
|
||||
pit_load_count(s, 0);
|
||||
}
|
||||
|
||||
PITState *pit_init(int base, qemu_irq irq)
|
||||
{
|
||||
PITState *pit = &pit_state;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue