aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/mpparse.c
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2009-08-19 12:58:15 +0100
committerKeir Fraser <keir.fraser@citrix.com>2009-08-19 12:58:15 +0100
commit95fe89367e89045575c246a7edf78b51ddfe6a0e (patch)
tree0956516b45d9dee0ebea669b9e9f292e43cd51fc /xen/arch/x86/mpparse.c
parent276e535ebaf3a2423c9a308041d6a95484013b55 (diff)
downloadxen-95fe89367e89045575c246a7edf78b51ddfe6a0e.tar.gz
xen-95fe89367e89045575c246a7edf78b51ddfe6a0e.tar.bz2
xen-95fe89367e89045575c246a7edf78b51ddfe6a0e.zip
x86: Fix max_gsi calculation on systems with discontiguous GSI space.
From: Steven Smith <steven.smith@citrix.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Diffstat (limited to 'xen/arch/x86/mpparse.c')
-rw-r--r--xen/arch/x86/mpparse.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index 5f2be943e2..fcbb1a1968 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -945,6 +945,19 @@ void __init mp_register_ioapic (
return;
}
+unsigned highest_gsi(void)
+{
+ unsigned x;
+ unsigned res;
+
+ res = 0;
+ for (x = 0; x < nr_ioapics; x++) {
+ if (res < mp_ioapic_routing[x].gsi_end)
+ res = mp_ioapic_routing[x].gsi_end;
+ }
+ return res;
+}
+
void __init mp_override_legacy_irq (
u8 bus_irq,