gbeauche
7e20a8d205
- Add support for FLIGHT_RECORDER with predecode cache
...
- Always enable predecode cache & flight recorder for now
2003-10-11 09:57:52 +00:00
gbeauche
b05c68e90e
Move PPC emulator config to here
2003-10-11 09:34:35 +00:00
gbeauche
ebb67f0421
- Minor optimization to execute_ppc() as we apparently don't need to move
...
target PC into CTR.
- Fix breakage introduced during little endian fixing. We now assume that
MacOS doesn't rely on any PPC register that may have been saved on top
of it stack. i.e. register state is saved onto native stack.
2003-10-11 09:33:27 +00:00
gbeauche
1012da75dd
- Cleanups & make sure PPC emulator config is setup in sysdeps.h
...
- Log r24 in SheepShaver mode as this represents the 68k emulator PC
2003-10-11 09:03:03 +00:00
gbeauche
be50ff1b42
Adapt ROM patches space to Gossamer ROMs layout. Weird that it passed the
...
other day.
2003-10-07 19:28:09 +00:00
gbeauche
ad0aea0403
fix parcels decoder
2003-10-06 21:23:53 +00:00
gbeauche
0cb51c42dd
cleanups :-)
2003-10-06 21:01:22 +00:00
gbeauche
974ebd5d91
- Add checks against ROM patches space
...
- Make sure to also load the floppy disk driver with Gossamer ROMs so
that exfs feature can work too
2003-10-06 21:00:48 +00:00
gbeauche
c9b8dd6628
tm_task is actually correct for both nw & gossamer ROMs
2003-10-05 23:49:19 +00:00
gbeauche
84ce1f2b0d
fix tm_task patch for Gossamer ROMs
2003-10-05 23:38:07 +00:00
gbeauche
3768573d35
Add support for Gossamer ROMs (DTG3)
2003-10-05 23:05:05 +00:00
gbeauche
b66f5972f9
Make sure a 32-bit B2/JIT works reasonnably well on AMD64 too. This implies
...
to force RAMBaseHost < 0x80000000. This is empirically determined to work on
Linux/x86 and Linux/amd64.
2003-10-03 18:18:15 +00:00
gbeauche
87e4d48b3e
flags are live after a call to fflags_into_flags_internal()
2003-10-02 09:51:14 +00:00
gbeauche
c464b19f06
get a chance to see some illegal instruction variants if we ever come to
...
encounter them.
2003-10-02 09:48:10 +00:00
gbeauche
19053d4992
little endian fixes, note that trampolines are still not 64-bit clean either
2003-09-29 22:50:31 +00:00
gbeauche
663b536257
Little endian fixes to Serial trampolines.
2003-09-29 22:49:23 +00:00
gbeauche
7ac3170cb4
More little endian fixes
2003-09-29 22:48:22 +00:00
gbeauche
aafd6e4898
Little endian fixes to FindLibSymbol(). This is not 64-bit clean and this
...
needs to go through a more appropriate thunking mechanism.
2003-09-29 22:47:39 +00:00
gbeauche
5229b42622
basic implementation for missing functions (signbit/isless/isgreater) in
...
older C libraries
2003-09-29 22:45:31 +00:00
gbeauche
1713a26a3f
NULL is the null pointer to member function
2003-09-29 22:42:53 +00:00
gbeauche
792bef8e61
Make older & bogus compilers happy. aka. force "static" storage class
...
for SPIN_LOCK_UNLOCKED constant.
2003-09-29 22:41:50 +00:00
gbeauche
c7dd356f7f
VSLNewInterruptService() returns a serviceID in big endian format
2003-09-29 20:31:47 +00:00
gbeauche
3d4ed54488
first round of little endian fixes
2003-09-29 20:30:21 +00:00
gbeauche
b8b139faf2
- Share EmulatorData & KernelData struct definitions
...
- Introduce new SheepShaver data area for alternate stacks, thunks, etc.
- Experimental asynchronous interrupts handling. This improves performance
by 30% but some (rare) lockups may occur. To be debugged!
2003-09-29 15:46:09 +00:00
cebix
ddcfbe2bda
parallel build uses NCPU jobs instead of NCPU+1
2003-09-29 13:30:29 +00:00
gbeauche
2d92ad6dfb
spinlocks from QEMU
2003-09-29 08:27:56 +00:00
gbeauche
f9dd276a47
use spinlocks on SheepShaver/Linux/PPC, and possibly others where spinlocks
...
are available. TODO: check the fastest & safest means to lock VOSF stuff.
2003-09-29 08:27:24 +00:00
gbeauche
23c4ebcdf3
really fix typo!
2003-09-29 08:04:22 +00:00
gbeauche
aa61c47591
fix typo
2003-09-29 08:02:04 +00:00
gbeauche
1c2fa89e31
use B2 sigsegv API instead of rewriting yet another sigsegv handler for x86
2003-09-29 07:05:15 +00:00
gbeauche
a48a804c15
New SIGSEGV API so that skip-instruction requests are more explicit. Yes,
...
that's api change, but that's cooler now for SheepShaver. ;-)
2003-09-29 07:02:58 +00:00
gbeauche
5b57fde6ce
New NativeOps for DisableInterrupt() & EnableInterrupt().
2003-09-28 21:27:55 +00:00
gbeauche
3851071ecd
Try to handle XLM_IRQ_NEST atomically in emulated PPC views. Fix placement
...
of fake SCSIGlobals (disabled for now). Switch back to mono core emulation
until things are debugged enough. Implement get_resource() et al.
2003-09-28 21:27:34 +00:00
gbeauche
2a86a4f62a
Handle dcbz. Ignore unaligned load/store multiple. Fix icbi/isync.
2003-09-28 21:22:59 +00:00
gbeauche
4e5e13d92d
make do_execute() a template so that execution loop prologues/epilogues
...
can be performed in derived engines
2003-09-28 21:22:09 +00:00
gbeauche
2f13888ea8
plain interpretive mode for debugging purposes
2003-09-28 21:21:07 +00:00
gbeauche
28ae4b0028
Disable SIGUSR2 handler in EMULATED_PPC mode for now
2003-09-28 21:20:38 +00:00
gbeauche
9914de4a09
Define HAVE_PTHREADS, if available
2003-09-28 21:19:06 +00:00
gbeauche
2a756136e4
more tests
2003-09-21 22:13:09 +00:00
gbeauche
2cc3b4edab
fix xoris
2003-09-21 21:45:05 +00:00
gbeauche
089247fcff
Merge in cpu core:
...
- make cache invalidation routines public
- fix shift instructions, especially for invalid shift counts
- fix mullwo to set overflow only if the product can't be represented in
32 bits
2003-09-15 22:48:57 +00:00
gbeauche
09c674f63a
factor out -I usage
2003-09-14 22:11:42 +00:00
gbeauche
b5b471b4f1
add PowerPC emulator tester
2003-09-14 22:10:58 +00:00
gbeauche
fb8fbf71ed
PowerPC emulator fixes:
...
- make divw. behaviour more realistic (vs ppc 7410) when rB == 0
- fix carry/overflow computations to fix SUBFME handling
- fix nand duplicate with wrong operand
2003-09-14 22:09:13 +00:00
gbeauche
cb1dd6dac5
- Integrate new NativeOp instructions to be used as trampolines to call
...
native functions from ppc code.
- Little endian fixes in emul_op.cpp
- Add new 'gpch' 750 patch to workaround crash with MacOS 8.6
- Don't crash in Process Manager on reset/shutdown with MacOS 8.6
- We also have an experimental interrupt thread in emulation mode
2003-09-07 14:33:54 +00:00
gbeauche
15a1208483
Handle new ppc emulator
2003-09-07 14:26:15 +00:00
gbeauche
6ff594e32d
Handle manual updates with kpx_cpu core
2003-09-07 14:25:48 +00:00
gbeauche
029a7fd85b
Merge in old kpx_cpu snapshot for debugging
2003-09-07 14:25:05 +00:00
gbeauche
10aa71cb58
Handle --enable-ppc-emulator. Add Kheperix cpu emulator to sources
2003-09-07 14:21:20 +00:00
gbeauche
3f9b589eea
Add byteswap routines
2003-09-07 14:19:25 +00:00