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.