apic: add function to apic that will be used by hvf

This patch adds the function apic_get_highest_priority_irr to
apic.c and exports it through the interface in apic.h for use by hvf.

Signed-off-by: Sergio Andres Gomez Del Real <Sergio.G.DelReal@gmail.com>
Message-Id: <20170913090522.4022-8-Sergio.G.DelReal@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Sergio Andres Gomez Del Real 2017-09-13 04:05:15 -05:00 committed by Paolo Bonzini
parent 43ab9a5376
commit 2cb9f06e3d
2 changed files with 13 additions and 0 deletions

View File

@ -305,6 +305,18 @@ static void apic_set_tpr(APICCommonState *s, uint8_t val)
} }
} }
int apic_get_highest_priority_irr(DeviceState *dev)
{
APICCommonState *s;
if (!dev) {
/* no interrupts */
return -1;
}
s = APIC_COMMON(dev);
return get_highest_priority_int(s->irr);
}
static uint8_t apic_get_tpr(APICCommonState *s) static uint8_t apic_get_tpr(APICCommonState *s)
{ {
apic_sync_vapic(s, SYNC_FROM_VAPIC); apic_sync_vapic(s, SYNC_FROM_VAPIC);

View File

@ -20,6 +20,7 @@ void apic_init_reset(DeviceState *s);
void apic_sipi(DeviceState *s); void apic_sipi(DeviceState *s);
void apic_poll_irq(DeviceState *d); void apic_poll_irq(DeviceState *d);
void apic_designate_bsp(DeviceState *d, bool bsp); void apic_designate_bsp(DeviceState *d, bool bsp);
int apic_get_highest_priority_irr(DeviceState *dev);
/* pc.c */ /* pc.c */
DeviceState *cpu_get_current_apic(void); DeviceState *cpu_get_current_apic(void);