Commit Graph

486 Commits

Author SHA1 Message Date
Maxim Poliakovski
4b16cb826e Merge branch 'soft-tlb'. 2021-09-25 19:58:09 +02:00
Maxim Poliakovski
40d0aa70da zdocs: improve MMU emulation documentation. 2021-09-25 19:13:50 +02:00
Maxim Poliakovski
212cd58f40 ppcmmu: refactor and clean up. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
5b54cd69ef ppcmmu: better fatal error handling with ABORT_F. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
501f24f0d3 ppcmmu: implement SoftTLB for instructions. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
2a79c9a63c ppcmmu.c: restructure and clean up. 2021-09-25 19:13:40 +02:00
Maxim Poliakovski
f0b03aa1a2 zdocs: describe Heathrow ATA cells. 2021-09-18 02:26:32 +02:00
Maxim Poliakovski
ed56d018b0
zdocs: fix table in the Heathrow doc. 2021-09-16 16:35:37 +02:00
Maxim Poliakovski
8c13c30162 zdocs: rewamp Heathrow doc, part 1. 2021-09-16 16:29:36 +02:00
Maxim Poliakovski
16d9e6c681 Basic MESH emulation skeleton with events logging. 2021-08-23 00:20:28 +02:00
Maxim Poliakovski
c5f45c6f9a SIGINT invokes the built-in debugger. 2021-08-22 17:34:23 +02:00
Maxim Poliakovski
a8f400287a Add TLB profiling. 2021-08-22 17:34:23 +02:00
Maxim Poliakovski
089645e830 Implement SoftTLB for writes. 2021-08-22 17:34:23 +02:00
Maxim Poliakovski
6d80ead5b1
Fix spelling in openfirmware.md. 2021-08-07 22:26:27 +02:00
Maxim Poliakovski
29dcd11648
Another small fix in openfirmware.md. 2021-08-07 22:24:46 +02:00
Maxim Poliakovski
62070659f8
Update openfirmware.md 2021-08-07 22:19:25 +02:00
Maxim Poliakovski
87ccfaed53 zdocs: rewrite OpenFirmware description. 2021-08-07 16:00:56 +02:00
Maxim Poliakovski
4f3dd797be Clean up memaccess header. 2021-07-27 12:58:42 +02:00
Maxim Poliakovski
094d9a9c2f Remove inline to fix compiler warnings. 2021-06-21 00:11:14 +02:00
Maxim Poliakovski
4da95a66d7 Make emulated memory loads to use SoftTLB. 2021-06-20 22:33:10 +02:00
Maxim Poliakovski
592d32017e memaccess: fix [-Wshift-count-overflow] compiler warning. 2021-06-20 22:28:48 +02:00
Maxim Poliakovski
7d8f4d4e61 Finalize SoftTLB for reads. 2021-05-16 22:00:00 +02:00
Maxim Poliakovski
a5ddb51a3b ppcmmu: initial TLB implementation for reads. 2021-05-16 00:53:15 +02:00
Maxim Poliakovski
05330bc942 memctrlbase: allocate address map entries with new(). 2021-05-16 00:50:44 +02:00
Maxim Poliakovski
6f9ee10de5 Rework PPC CPU profiler. 2021-04-29 02:26:17 +02:00
Maxim Poliakovski
0c1c59ffa7 ppcmmu: set type of the profiling variables to uint64_t. 2021-04-29 01:30:27 +02:00
Maxim Poliakovski
048b4f5f20 Fix forgotten include. 2021-04-19 00:13:33 +02:00
Maxim Poliakovski
085877a8bf ppcmmu: add MMU profiling (disabled by default). 2021-04-18 20:49:58 +02:00
Maxim Poliakovski
bc59bf7c43 ppcmmu: replace macros with function templates. 2021-04-18 20:05:15 +02:00
Maxim Poliakovski
ed6c316c82 profiler: add reset command. 2021-04-14 17:04:14 +02:00
Maxim Poliakovski
31b5290ac9 New profiler API. 2021-04-14 01:27:07 +02:00
Maxim Poliakovski
0375b6a687 ppcmmu: invert BAT mask to speed up match. 2021-04-11 02:03:20 +02:00
Maxim Poliakovski
d545780071 ppcmmu: fix calculation for BAT access_bits. 2021-04-10 23:51:00 +02:00
dingusdev
e7e28b4497 Compilation fix for Raspberry Pi 2021-02-14 08:41:48 -07:00
Maxim Poliakovski
baa7f8b211 atirage: use standard names for common pixel formats. 2021-02-08 22:25:36 +01:00
Maxim Poliakovski
2f4a3b955e atirage: calculation of display parameters. 2021-02-08 02:20:55 +01:00
dingusdev
19ca37c4ba Started refactoring fctiw and fctiwz 2021-02-05 12:45:57 -07:00
Maxim Poliakovski
a4eb658309 atirage: increase PLL registers count to 64. 2021-02-05 02:01:31 +01:00
Maxim Poliakovski
508ef2eaa9 atirage: increase registers array and add boundary checks. 2021-02-05 01:23:04 +01:00
Maxim Poliakovski
a5ef814ec4 atirage: add reading and writing of PLL registers. 2021-02-05 01:23:04 +01:00
Maxim Poliakovski
ace19c0bdf atirage: clean up register names. 2021-02-05 01:11:23 +01:00
Maxim Poliakovski
3a9ed2671c atirage: remove obsolete memaccess code. 2021-02-04 19:05:39 +01:00
Maxim Poliakovski
3c787a87cd atirage: add ASIC ID for Rage Pro. 2021-02-04 19:01:55 +01:00
dingusdev
ce70b0f096 Removed obseleted function declarations 2021-02-03 20:01:02 -07:00
Maxim Poliakovski
a0b43754a7 atirage: fix and clean up PCI interface. 2021-02-04 01:03:23 +01:00
Maxim Poliakovski
1adbf90e21 MPC106: use memaccess thoroughly. 2021-02-03 23:39:19 +01:00
Maxim Poliakovski
aa0f43d89f memaccess: generic functions for accessing memory. 2021-02-03 23:36:32 +01:00
Maxim Poliakovski
478ca1065f MPC106: fix RAM size calculation. 2021-02-03 23:29:48 +01:00
Maxim Poliakovski
7628ec92c0 Rename memreadwrite.h to memaccess.h 2021-02-03 12:19:18 +01:00
dingusdev
7f0acaf3d3 Load and store instruction clean-up 2021-01-25 21:03:17 -07:00