summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Holland <[email protected]>2024-08-30 08:49:09 -0700
committerAnup Patel <[email protected]>2024-09-25 18:06:59 +0530
commit7f5fa9f9a48d3d4f6379ce207f50e8347cad3a14 (patch)
tree9ce721c6ae1e80112af374194b40750d7471aa47
parentd73a4c741c79b1ed390f33d59b2621ca4421c57e (diff)
lib: utils/irqchip: Look up IMSIC data by hart index
This avoids needing to map a hartid to a hart index. Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Anup Patel <[email protected]>
-rw-r--r--include/sbi_utils/irqchip/imsic.h4
-rw-r--r--lib/utils/irqchip/imsic.c10
2 files changed, 7 insertions, 7 deletions
diff --git a/include/sbi_utils/irqchip/imsic.h b/include/sbi_utils/irqchip/imsic.h
index e295771e..bc9292d3 100644
--- a/include/sbi_utils/irqchip/imsic.h
+++ b/include/sbi_utils/irqchip/imsic.h
@@ -37,9 +37,9 @@ struct imsic_data {
int imsic_map_hartid_to_data(u32 hartid, struct imsic_data *imsic, int file);
-struct imsic_data *imsic_get_data(u32 hartid);
+struct imsic_data *imsic_get_data(u32 hartindex);
-int imsic_get_target_file(u32 hartid);
+int imsic_get_target_file(u32 hartindex);
void imsic_local_irqchip_init(void);
diff --git a/lib/utils/irqchip/imsic.c b/lib/utils/irqchip/imsic.c
index bac72d21..ee532bb4 100644
--- a/lib/utils/irqchip/imsic.c
+++ b/lib/utils/irqchip/imsic.c
@@ -119,28 +119,28 @@ int imsic_map_hartid_to_data(u32 hartid, struct imsic_data *imsic, int file)
return 0;
}
-struct imsic_data *imsic_get_data(u32 hartid)
+struct imsic_data *imsic_get_data(u32 hartindex)
{
struct sbi_scratch *scratch;
if (!imsic_ptr_offset)
return NULL;
- scratch = sbi_hartid_to_scratch(hartid);
+ scratch = sbi_hartindex_to_scratch(hartindex);
if (!scratch)
return NULL;
return imsic_get_hart_data_ptr(scratch);
}
-int imsic_get_target_file(u32 hartid)
+int imsic_get_target_file(u32 hartindex)
{
struct sbi_scratch *scratch;
if (!imsic_file_offset)
return SBI_ENOENT;
- scratch = sbi_hartid_to_scratch(hartid);
+ scratch = sbi_hartindex_to_scratch(hartindex);
if (!scratch)
return SBI_ENOENT;
@@ -257,7 +257,7 @@ void imsic_local_irqchip_init(void)
int imsic_warm_irqchip_init(void)
{
- struct imsic_data *imsic = imsic_get_data(current_hartid());
+ struct imsic_data *imsic = imsic_get_data(current_hartindex());
/* Sanity checks */
if (!imsic || !imsic->targets_mmode)