forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
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