Opened 9 years ago
Closed 9 years ago
#635 closed defect (fixed)
Wrong alignment of CP15 register 7 MVA on ARM920T
Reported by: | Jakub Jermář | Owned by: | Jiri Svoboda |
---|---|---|---|
Priority: | major | Milestone: | 0.7.0 |
Component: | helenos/boot/arm32 | Version: | mainline |
Keywords: | ARM920T, ARMv4, gta02 | Cc: | |
Blocker for: | Depends on: | ||
See also: |
Description
On ARM920T, register 7 MVA needs to be 32-bytes aligned (bits 0-4 should be zero), yet the code in boot/arch/arm32/src/main.c uses 4-byte increments.
static inline void clean_dcache_poc(void *address, size_t size) { const uintptr_t addr = (uintptr_t)address; for (uintptr_t a = addr; a < addr + size; a += 4) { /* DCCMVAC - clean by address to the point of coherence */ asm volatile ("mcr p15, 0, %[a], c7, c10, 1\n" :: [a]"r"(a) : ); }
Note:
See TracTickets
for help on using tickets.
Fix merged in mainline,2399.