Bug 201268

Summary: Bug in elf_trampoline with ARMv7 processors
Product: Base System Reporter: Grégory Soutadé <soutade>
Component: armAssignee: freebsd-arm (Nobody) <freebsd-arm>
Status: Closed Overcome By Events    
Severity: Affects Many People CC: gonzo
Priority: ---    
Version: CURRENT   
Hardware: arm   
OS: Any   
Attachments:
Description Flags
Call get_cachetype_cp15() before cpu_idcache_wbinv_all() none

Description Grégory Soutadé 2015-07-02 08:57:00 UTC
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.
Comment 1 Oleksandr Tymoshenko freebsd_committer freebsd_triage 2019-01-16 03:51:51 UTC
ARMv6/ARMv7 support for ELF trampoline was removed in base r325439. Closing as OBE.