diff options
author | 2018-11-02 15:16:49 +0100 | |
---|---|---|
committer | 2018-11-02 10:16:49 -0400 | |
commit | 56fb140e00319b6882d64e91d72e4469eeea340d (patch) | |
tree | 91783e63157c504b5653a46929e01acb59ec3835 /src/emu/emualloc.cpp | |
parent | bc0a6560c4d82c16cb99810841649aab19002a70 (diff) |
m68kmmu improvements (#4229)
* m68kmmu: PMMU improvements (nw)
- handle RW bit in ATC cache properly
- add page table walk that result in BUSERROR to ATC
- fix ptest instruction
- trap if PLOAD is called with MMU disabled on MC68851
- don't skip descriptor status update for page descriptors
- set address in ptest to last descriptor address
- add function code page table lookup
- fix ptest level report in MMU SR
- fix TT register matching (test RW bit, fix masking of bits)
- decode fc field for pload instruction
- fix decoding of pload instruction
* m68kmmu: remove unused variable (nw)
* m68kmmu: abort table search when WP is encountered
* m68kmmu: various improvements
* hp9k_3xx: call MMU buserror handler
* m68kmmu: set M bit if root descriptor is of page type
It seems like at least the 68030 sets the M bit in the MMU SR
if the root descriptor is of PAGE type, so do a logical and
between RW and the root type.
* m68kmmu: fix comment
* m68kmmu: rename descriptor types to more useful names
* m68kmmu: set type for 8 byte table descriptors
* m68kmmu: use iterative approach for table walking
* style (nw)
* fix ptest argument (nw)
* hp9k_3xx: ignore buserror if it's caused by a page table walk (nw)
* m68kmmu: initialize addr_out to 0 (nw)
Otherwise we might return an arbitrary value if ptest can't
find an entry. Shouldn't matter for the OS, but that
change makes at least the compiler happy.
Diffstat (limited to 'src/emu/emualloc.cpp')
0 files changed, 0 insertions, 0 deletions