gint/src/core
Lephe d8886c7dbf
core: answer TLB misses and remove startup mapping (UNSTABLE)
This change adds a TLB miss handler that calls __TLB_LoadPTEH() and
removes the startu mapping of add-in pages in the explore() routine of
src/core/start.c.

Note that calling __TLB_LoadPTEH() manually might unexpectedly lead to a
TLB multihit problem as the requested page might be accidentally loaded
by a TLB miss in the code that loads it. A TLB multihit is a platform
reset, so this function should always be considered unsafe to call
(unless the calling code is in a combination of P1 space and ILRAM).

This change also moves a lot of functions out of the .pretext section,
notably topti, as this was designed to allow panic messages when the
add-in couldn't be mapped entirely. By contrast, a GMAPPED macro has
been defined to mark crucial kernel code and data that must remain
mapped at all times. This currently puts the data in ILRAM because
static RAM is not executable. An alternative will have to be found for
SH3-based fx9860g machines.

This version still does not allow TLB misses in timer callbacks and
breaks return-to-menu in a severe way! It is not suitable for any
stable application!
2020-06-14 18:22:20 +02:00
..
bootlog.c core: accept large add-ins and setup TLB management (UNSTABLE) 2020-06-14 11:01:27 +02:00
exch.c core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
exch.s core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
gint.c interrupts: save caller-saved registers in main handler 2020-05-06 20:45:35 +02:00
hardware.c periodic check of SH3 compatibility 2020-05-31 22:26:30 +02:00
inth.S interrupts: save caller-saved registers in main handler 2020-05-06 20:45:35 +02:00
mmu.c core: accept large add-ins and setup TLB management (UNSTABLE) 2020-06-14 11:01:27 +02:00
setup.c core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
start.c core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
syscalls.S core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
tlbh.S core: answer TLB misses and remove startup mapping (UNSTABLE) 2020-06-14 18:22:20 +02:00
vbr.s Hybrid build system and runtime (no interrupts). t6k11 driver. Basic r61524 driver. 2018-04-19 13:24:26 +02:00