lightrec: Add new memory init functions
authorPaul Cercueil <paul@crapouillou.net>
Wed, 11 May 2022 15:54:16 +0000 (16:54 +0100)
committerPaul Cercueil <paul@crapouillou.net>
Sat, 28 May 2022 10:55:00 +0000 (11:55 +0100)
commita093e81fbfc1c588b091656844b26684ec3dc01d
treea1789b7022e7766554e9eea584542c6c339f2725
parentb012a437739802ba3f35827b17469ea7a8b7953c
lightrec: Add new memory init functions

Lightrec can greatly benefit from having the RAM/BIOS/scratchpad and RAM
mirrors mapped to specific addresses. For the same value of (offset):

- If the RAM is mapped to (offset), the BIOS is mapped to
  (offset + 0x1fc00000) and the scratchpad to (offset + 0x1f800000), the
  generated code will be better;

- If the RAM is also mirrored to (offset + 0x200000), (offset + 0x400000)
  and (offset + 0x600000), the generated code will be even better;

- If the offset is 0x0, the generated code will be even better.

Additionally, the new memory init code will attempt to use huge pages
when possible, in order to greatly reduce the overhead of the MMU.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Makefile
Makefile.libretro
libpcsxcore/lightrec/mem.c [new file with mode: 0644]
libpcsxcore/lightrec/mem.h [new file with mode: 0644]