X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/e9fda657d5cb6f6619605766618aa78edd97f6a9..4a75b95c3cb2194fb982a9c1b93531d19562c4cc:/lunaix-os/arch/aarch64/includes/asm/soc/gic.h diff --git a/lunaix-os/arch/aarch64/includes/asm/soc/gic.h b/lunaix-os/arch/aarch64/includes/asm/soc/gic.h index 35b9dc5..f7c5068 100644 --- a/lunaix-os/arch/aarch64/includes/asm/soc/gic.h +++ b/lunaix-os/arch/aarch64/includes/asm/soc/gic.h @@ -4,6 +4,9 @@ #include #include #include + +#include + #include #include @@ -63,6 +66,7 @@ struct gic_int_param enum gic_tri_type trigger; enum gic_grp_type group; unsigned int priority; + unsigned int rel_intid; int cpu_id; bool as_nmi; bool ext_range; @@ -182,10 +186,8 @@ struct arm_gic } mmrs; struct { - union { - ptr_t prop; - lpi_entry_t* property; - }; + ptr_t prop_pa; + lpi_entry_t* prop_table; ptr_t pend; BITMAP(gic_bmp) pendings; @@ -201,4 +203,11 @@ struct arm_gic } idomain; }; +void +gic_create_from_dt(struct arm_gic* gic); + +unsigned int; +gic_dtprop_interpret(struct gic_int_param* param, + struct dt_prop_val* val, int width); + #endif /* __LUNAIX_GIC_H */