aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/xeon_sp/skx/soc_util.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/intel/xeon_sp/skx/soc_util.c')
-rw-r--r--src/soc/intel/xeon_sp/skx/soc_util.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/soc/intel/xeon_sp/skx/soc_util.c b/src/soc/intel/xeon_sp/skx/soc_util.c
index 7d95ae8600..b903249e1d 100644
--- a/src/soc/intel/xeon_sp/skx/soc_util.c
+++ b/src/soc/intel/xeon_sp/skx/soc_util.c
@@ -148,3 +148,24 @@ int soc_get_stack_for_port(int port)
else
return -1;
}
+
+uint8_t soc_get_iio_ioapicid(int socket, int stack)
+{
+ uint8_t ioapic_id = socket ? 0xf : 0x9;
+ switch (stack) {
+ case CSTACK:
+ break;
+ case PSTACK0:
+ ioapic_id += 1;
+ break;
+ case PSTACK1:
+ ioapic_id += 2;
+ break;
+ case PSTACK2:
+ ioapic_id += 3;
+ break;
+ default:
+ return 0xff;
+ }
+ return ioapic_id;
+}