mirror of
https://github.com/opnsense/src.git
synced 2026-05-17 19:50:52 -04:00
Current implementation of Radix MMU doesn't support mapping
arbitrary virtual addresses, such as the ones generated by
"direct mapping" I/O addresses. This caused the system to hang, when
early I/O addresses, such as those used by OpenFirmware Frame Buffer,
were remapped after the MMU was up.
To avoid having to modify mmu_radix_kenter_attr just to support this
use case, this change makes early I/O map use virtual addresses from
KVA area instead (similar to what mmu_radix_mapdev_attr does), as
these can be safely remapped later.
Reviewed by: alfredo (earlier version), jhibbits (in irc)
Sponsored by: Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision: https://reviews.freebsd.org/D31232
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| aim_machdep.c | ||
| locore.S | ||
| locore32.S | ||
| locore64.S | ||
| mmu_oea.c | ||
| mmu_oea64.c | ||
| mmu_oea64.h | ||
| mmu_radix.c | ||
| moea64_native.c | ||
| mp_cpudep.c | ||
| slb.c | ||
| trap_subr32.S | ||
| trap_subr64.S | ||