| Summary: | Bug in elf_trampoline with ARMv7 processors | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Grégory Soutadé <soutade> | ||||
| Component: | arm | Assignee: | freebsd-arm (Nobody) <freebsd-arm> | ||||
| Status: | Closed Overcome By Events | ||||||
| Severity: | Affects Many People | CC: | gonzo | ||||
| Priority: | --- | ||||||
| Version: | CURRENT | ||||||
| Hardware: | arm | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
ARMv6/ARMv7 support for ELF trampoline was removed in base r325439. Closing as OBE. |
Created attachment 158252 [details] Call get_cachetype_cp15() before cpu_idcache_wbinv_all() In elf_trampoline.c, we call cpu_idcache_wbinv_all() after kernel decompression. For CortexA (and KRAIT) processors, this call is mapped to armv7_idcache_wbinv_all(). armv7_idcache_wbinv_all() itself does reference to "coherency_level" and "cache_type" variables. These variables should have been initialized by get_cachetype_cp15() which is not called in our case. The attached patch fix it.