forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-10 748e4f3d702def1a4bff191e0cf93b6a05340f01
kernel/arch/arm/kernel/fiq.c
....@@ -94,12 +94,13 @@
9494 void set_fiq_handler(void *start, unsigned int length)
9595 {
9696 void *base = vectors_page;
97
- unsigned offset = FIQ_OFFSET;
97
+ unsigned int volatile offset = FIQ_OFFSET;
9898
99
+ offset &= 0xfffffffc;
99100 memcpy(base + offset, start, length);
100101 if (!cache_is_vipt_nonaliasing())
101
- flush_icache_range((unsigned long)base + offset, offset +
102
- length);
102
+ flush_icache_range((unsigned long)base + offset,
103
+ (unsigned long)base + offset + length);
103104 flush_icache_range(0xffff0000 + offset, 0xffff0000 + offset + length);
104105 }
105106