Maxim Poliakovski
b51670cb25
ppcfpopcodes: improve mffs, mtfsb0 and mtfsb1.
2023-11-30 12:06:44 +01:00
Maxim Poliakovski
487c6c2c7c
ppcfpopcodes: remove dead code.
2023-11-30 12:06:44 +01:00
dingusdev
87b8a8e0a0
Correcting multiply tests
2023-11-28 19:02:48 -07:00
Maxim Poliakovski
47e0c23e64
Fix CR1 updates for floating-point instructions.
2023-11-28 16:31:51 +01:00
dingusdev
dd454689e0
Fixes for condition reg move instructions
2023-11-28 07:06:04 -07:00
dingusdev
4753ba5361
Continued clean-up
2023-11-23 16:56:58 -07:00
dingusdev
7835aec034
Further CPU cleanup
2023-11-21 08:06:50 -07:00
dingusdev
f4f035682c
Fixed cfloat include
2023-11-19 20:34:40 -07:00
dingusdev
d1f9b5631a
Added missing include for cfloat
2023-11-19 20:07:00 -07:00
dingusdev
d92ae6136a
CPU code clean-up in progress
...
Happened to fix one case in the process.
2023-11-19 17:56:30 -07:00
dingusdev
074a760b6a
FP compare fixes
...
This is the start of several fixes for the floating point emulation.
2023-11-13 07:30:31 -07:00
Mihai Parparita
35c86ad6bf
Clean up #includes
...
Result of running IWYU (https://include-what-you-use.org/ ) and
applying most of the suggestions about unncessary includes and
forward declarations.
Was motivated by observing that <thread> was being included in
ppcopcodes.cpp even though it was unused (found while researching
the use of threads), but seems generally good to help with build
times and correctness.
2023-11-03 00:33:47 -07:00
dingusdev
6ffc2b2f10
Optimize string word instructions
...
Partially unrolled the loop. Boots 7.1.2 Disk Tools slightly faster.
2023-10-29 17:23:31 -07:00
joevt
5b366e592c
Fix spelling.
2023-10-02 15:06:51 +02:00
joevt
170a9d78e7
Fix comment.
2023-10-02 15:06:06 +02:00
Maxim Poliakovski
a5fb124e69
pdmonboard: switch to mmu_map_dma_mem.
2023-10-02 15:00:12 +02:00
Maxim Poliakovski
8cf290c034
ppcmmu: add mmu_map_dma_mem method.
2023-10-02 02:20:42 +02:00
joevt
67146028bf
ppcmmu: Add 64-bit accesses to I/O.
...
Also add an exception for unaligned 64 bit. 64 bit accesses require dword alignment.
2023-09-30 00:29:01 +02:00
joevt
acdb14a10a
Recalculate execution block after RFI.
...
While booting Mac OS X 10.2 installer CD, a return from RFI didn't change the instruction address virtual memory page but did change the physical memory page so we must always recalculate the physical address after RFI.
Perhaps there are other cases where this may be required?
2023-09-26 00:13:11 +02:00
joevt
dcd4384d46
Fix eb_end calculation.
...
- Subtract one so that it can't overflow to zero.
- Use page_start as the base so mask operation is not required.
- Recalculate it only when the page changes.
2023-09-26 00:04:07 +02:00
joevt
8348370142
Add separate flags for instruction and data TLBs.
...
The same flag was being used for flushing both instruction and data TLBs so sometimes a flush for one TLB list would not occur if the flag was cleared when flushing the other TLB list.
2023-09-25 23:42:32 +02:00
joevt
6b3cdad877
ppcmmu: Fix BAT update.
...
Need to schedule flush of both BAT and PAT type TLBs because BAT takes precedence over PAT which means updating a BAT can invalidate a PAT.
2023-09-25 23:27:00 +02:00
joevt
6b40caf63a
ppcmmu: fix setting of LRU bits.
2023-09-25 23:17:57 +02:00
Maxim Poliakovski
6cfde29f00
heathrow: implement native interrupt mode.
2023-09-25 12:22:17 +02:00
Maxim Poliakovski
278799795c
Disable decrementer exceptions for MPC601.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
c47cbb354d
Add is_601 flag for selecting MPC601 specific behavior.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
8ff2125312
Revert "Minor checks for Data Cache opcodes and LMW"
...
This reverts commit fd6327ab62
.
2023-09-18 21:20:59 +02:00
Maxim Poliakovski
a69763c6de
dbdma: noop incomplete LOAD_QUAD & STORE_QUAD.
2023-09-18 20:20:25 +02:00
dingusdev
5e32b599d6
Merge branch 'master' of https://github.com/dingusdev/dingusppc
2023-09-04 07:22:27 -07:00
dingusdev
fd6327ab62
Minor checks for Data Cache opcodes and LMW
2023-09-04 07:21:00 -07:00
Maxim Poliakovski
45528bfc6d
ppcmmu: fix flushing of the secondary ITLB.
2023-08-22 23:36:48 +02:00
Maxim Poliakovski
932f2bbceb
ppcopcodes: fix stwcx. emulation.
2023-08-21 04:50:02 +02:00
dingusdev
a7ef177164
Preliminary DBDMA expansion
2023-08-13 16:38:15 -07:00
joevt
300965ab10
Decrementer exception changes.
2023-08-10 00:46:04 +02:00
Maxim Poliakovski
d2e7c9a5df
ppcexceptions: fix next address for decrementer exceptions.
2023-08-09 12:53:48 +02:00
Maxim Poliakovski
de1f0c8a9b
ppc_mmu: rename reg_desc to rgn_desc to improve readability.
2023-08-07 13:56:49 +02:00
Maxim Poliakovski
52a64168d7
Clean up previous merge.
2023-08-07 13:45:26 +02:00
Maxim Poliakovski
b571ff8412
Revert "ppcmmu: Add 64-bit accesses to I/O"
...
This reverts commit 16123dea45
.
2023-08-07 13:06:11 +02:00
joevt
ac64f9e30d
ppcmmu: Fix mmio read/write offset calculation.
...
For TLBs referencing an mmio region, calculate an offset that will translate a guest virtual address to an offset in the mmio region.
2023-08-04 20:16:13 -07:00
joevt
16123dea45
ppcmmu: Add 64-bit accesses to I/O
...
Also add an exception for unaligned 64 bit. 64 bit accesses require dword alignment.
2023-08-04 20:16:13 -07:00
joevt
814260f0b6
ppcmmu: Reduce unmapped physical memory logging.
...
Don't log consecutive accesses to unmapped physical memory addresses. This saves a couple hundred thousand lines in the log in some cases.
This is only a partial fix. Any access that isn't logged should be queued and output if a log message is output that is not this log message or after a time period.
2023-08-04 20:16:13 -07:00
Maxim Poliakovski
25150268cd
ppcexceptions: fix ISI exception target address.
2023-07-10 14:06:20 +02:00
dingusdev
4364c89fd4
Slight clean-up for execution type
2023-06-19 22:36:27 -07:00
Maxim Poliakovski
73d0356058
ppcopcodes: fix dcbz for BlockZero in Mac OS 8.x
2023-06-17 20:57:48 +02:00
Maxim Poliakovski
03595c3940
Merge remote-tracking branch 'origin/machine-yosemite'
2023-04-21 12:49:58 +02:00
Maxim Poliakovski
cf0d361918
Merge 'hard-disks' branch.
2023-04-17 01:20:38 +02:00
Maxim Poliakovski
597c077b19
Implement PPC decrementer.
2023-02-15 02:36:40 +01:00
Maxim Poliakovski
9fcf5ba51a
ppcmmu: fix bug in mmu_change_mode().
2023-02-15 02:18:31 +01:00
joevt
19adb54cd8
Fix compiler warnings.
...
These were detected by github Actions but not by Xcode.
2023-01-11 01:17:13 -08:00
joevt
5294a8b71c
Fix compiler warnings: unused variables.
2023-01-11 01:17:12 -08:00