VirtualBox

Opened 15 years ago

Last modified 14 years ago

#2573 closed defect

Local APIC timer dies — at Initial Version

Reported by: Vladimir Owned by:
Component: other Version: VirtualBox 2.0.4
Keywords: Cc:
Guest type: other Host type: other

Description

An APIC timer is initialized as periodic: lapic_base: u32_t *lapic_base;

Disable timer first lapic_base[APIC_DWREG_LVT_TMR] = APIC_TIMER_VECTOR | APIC_LVT_D_STAT_IDLE | APIC_LVT_TMR_PERIODIC | APIC_LVT_TRIGGER_LEVEL | APIC_LVT_MASK; Write counters lapic_base[APIC_DWREG_TMR_DIVIDE] = div; lapic_base[APIC_DWREG_TMR_INIT] = counter;

Enable if it is enabled in configruation if (enabled)

lapic_base[APIC_DWREG_LVT_TMR] = APIC_TIMER_VECTOR | APIC_LVT_D_STAT_IDLE | APIC_LVT_TRIGGER_LEVEL | APIC_LVT_TMR_PERIODIC;

Timer interrupt is ok (a counter in a handler is periodically incremented) Then a system is sending INIT IPI: lapic_base[APIC_DWREG_ICR0] = APIC_ICR0_DST_ALL_NO_SELF | APIC_ICR0_D_MODE_INIT;

And whoops... A timer dies. And no timer re-initialization helps.

Change History (0)

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use