plan9fox/sys
cinap_lenrek bcf988aff1 bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper
on the 2GB and 4GB raspberry pi 4 variants, there are two
memory regions for ram:

[0x00000000..0x3e600000)
[0x40000000..0xfc000000)

the framebuffer is somewhere at the end of the first
GB of memory.

to handle these, we append the region base and limit
of the second region to *maxmem= like:

*maxmem=0x3e600000 0x40000000 0xfc000000

the mmu code has been changed to have non-existing
ram unmapped and mmukmap() now uses small 64K pages
instead of 512GB pages to avoid aliasing (framebuffer).

the VIRTPCI mapping has been removed as we now have
a proper vmap() implementation which assigns vritual
addresses automatically.
2019-08-23 21:39:20 +02:00
..
doc
games/lib
include stdio: fix putc(), plan9 version 2019-06-20 00:04:58 +02:00
lib /sys/lib/acid/kernel: fix procstk() for arm64, set kdir for arm/arm64 to bcm/bcm64 2019-08-21 19:34:24 +02:00
man walk(1): add history section 2019-07-02 23:34:31 +09:30
src bcm64: deal with discontinuous memory regions, avoid virtual memory aliasing, implement vmap() proper 2019-08-23 21:39:20 +02:00