gbeauche
309c2f0bd5
Add "jitblacklist" prefs item so that opcodes ranges could be excluded for
...
translation. This should help debugging of (badly) translated code.
Usage: jitblacklist xxxx(-yyyy)?(;xxxx(-yyyy)?)*
where xxxx/yyyy are hexadecimal numbers
2003-10-14 10:29:19 +00:00
gbeauche
75df809ff7
fix merge with Mach exception filters, we have preconditions to check
2003-10-13 20:15:41 +00:00
gbeauche
6a60d56bf2
indentation fixes, optimize handle_badaccess() to receive only necessary
...
data and don't copy a struct sigcontext again on x86.
2003-10-13 19:56:17 +00:00
gbeauche
14b51b9519
return something more convenient to debug on errors
2003-10-13 19:43:09 +00:00
gbeauche
45c30ba9f2
Merge in __PAGEZERO hack from Michael Z. Sliczniak so that REAL_ADDRESSING
...
mode can work under Darwin.
2003-10-12 22:39:59 +00:00
gbeauche
4641be3209
Really make sure VERSION & PACKAGE macros are defined when generating a
...
configure script with autoconf 2.52.
2003-10-12 21:58:02 +00:00
gbeauche
c04603adce
Add hacks to disable "floppy" & "serial[ab]" entries that would cause
...
Basilisk II to hang on MacOS X as an X11 build. I am not sure this is
supposed to work in an Aqua build so I leave that enable there, assuming
<AvailabilityMacros.h> is included somehow, thus defining MAC_OS_X_VERSION_*
and friends.
2003-10-12 21:55:44 +00:00
gbeauche
46dc8c5391
Make sure reported fault instruction address falls into the expected code
...
range. This is a configure-time safety net that depends on the GCC "Labels
as Values" extension.
2003-10-12 21:41:19 +00:00
gbeauche
006f72c9fe
Report failure to install the SIGSEGV handler correctly
2003-10-12 21:21:35 +00:00
gbeauche
cf3d36a3a7
Mach memory fault recovery from Michael Z. Sliczniak
2003-10-12 21:15:52 +00:00
gbeauche
b2fee2f576
Mach bad access recovery support from Michael Z. Sliczniak
2003-10-12 15:56:00 +00:00
gbeauche
192943f46c
Fix vm_acquire() and friend on MacOS X
2003-10-12 11:00:12 +00:00
gbeauche
1b9876889e
- Record address range of block to invalidate. i.e. icbi records ranges
...
and isync actually invalidate caches
2003-10-12 06:44:04 +00:00
gbeauche
7e0dccc544
- Handle MakeExecutable() replacement
...
- Disable predecode cache in CVS for now
- Fix flight recorder ordering in predecode cache mode
2003-10-12 05:44:17 +00:00
gbeauche
a3036b0c9d
Really enable flight_recorder with predecode cache on
2003-10-11 16:43:42 +00:00
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