// SPDX-License-Identifier: GPL-2.0+ #include "rte_gic.h" #include #include #include static void __iomem *DIST_BASE; static void __iomem *CPU_BASE; void __iomem *avm_gic_fiq_dist_base(void) { return DIST_BASE; } void __iomem *avm_gic_fiq_cpu_base(void) { return CPU_BASE; } uint32_t rte_gicc_read(uint32_t offset) { uint32_t val = read_relaxed(CPU_BASE + offset); dmb(); return val; } uint32_t rte_gicd_read(uint32_t offset) { uint32_t val = read_relaxed(DIST_BASE + offset); dmb(); return val; } void rte_gicc_write(uint32_t offset, uint32_t data) { write_relaxed(data, CPU_BASE + offset); dmb(); } void rte_gicd_write(uint32_t offset, uint32_t data) { write_relaxed(data, DIST_BASE + offset); dmb(); } void rte_init_gic_lower(void) { DIST_BASE = get_dist_base(0); CPU_BASE = get_cpu_base(0); }