gbeauche
b92ce82a32
Rewrite SheepThreads locks & semaphores. They now look much better and avoid
...
busy waits for acquiring spin locks.
2005-06-25 11:00:30 +00:00
gbeauche
e991e59fc1
fix test_and_set, aka fixes X async replies when clipboard active
2005-06-25 10:58:47 +00:00
gbeauche
2de44f1910
Fix for MacOS X assembler, why don't Apple use GNU as?
2005-06-25 06:33:39 +00:00
gbeauche
d0da2a0dda
- Restore TOC on EMUL_OP_EXEC_RETURN from Execute68k
...
- Restore r13 on EMUL_RETURN, though I never saw r13 clobbered
- Increase stack frame allocated to EmulOp processing on par with BeOS
- Factor GetResource wrappers with a macro + restore r13 too
2005-06-24 22:58:55 +00:00
gbeauche
d8a33b0952
Direct Color visual is OK for fbdev dga.
2005-06-24 22:31:28 +00:00
gbeauche
26ee263b6f
Don't fake the TVECT value on non-BeOS native systems. This is important
...
for systems that use a global r2 as the TLS register, e.g. Linux/ppc with
newer glibc. Also remove the syscall junk which were simply workarounds
for this bug. Remove a duplicate r2 restoration in EmulOp.
BTW, it's possible to get SheepShaver running on Linux/ppc systems with
NPTL rather than SheepThreads.
2005-06-23 16:23:31 +00:00
gbeauche
b9b90fce11
fix last commit
2005-06-23 11:56:43 +00:00
gbeauche
2deca51ca4
Add code to gather some stats on register usage.
2005-06-23 11:37:01 +00:00
gbeauche
c33f09b2d8
Fix crash in FBDev DGA mode when it failed to initialize (here, that was
...
because fb visual was Direct Color instead of True Color). We used to
initialize the_buffer* even if !open_display. Report that gracefully with
the dedicated STR_OPEN_WINDOW_ERR.
2005-06-22 16:40:24 +00:00
gbeauche
c41f403f56
Rework sheepshaver_cpu object allocation and get rid of POSIX'ish functions.
2005-06-22 16:38:15 +00:00
gbeauche
c4a7b10650
op_invoke*() symbols are expected to be in demangled form, i.e. "C" linkage
2005-06-22 16:35:59 +00:00
gbeauche
f887fb7bac
Enable build of the JIT with GCC 2.9x compilers (e.g. "2.96" from MDK 8.1).
2005-06-22 15:37:25 +00:00
gbeauche
ae52321fe7
HOST_FLOAT_WORDS_BIG_ENDIAN is a tristate and, when defined, can still be
...
0, so little endian format. i.e. don't check that with a simple #ifdef...
2005-06-22 15:33:22 +00:00
gbeauche
32b5b4f0bd
Integrate C++ demangler from libiberty so that to handle G++ 2.9X generated
...
symbols.
2005-06-22 15:30:54 +00:00
gbeauche
f226f793dd
Extend internal math library from GNU libc to accomodate older systems
...
with glibc 2.2.X or simply no C99 capable C library. Fix vrfiz instruction
to really truncate on float values.
2005-06-22 12:32:32 +00:00
gbeauche
28a167b3bd
Avoid <limits> to determine vector register numeric_limits<>. This fixes
...
build with ancient compilers like gcc "2.96".
2005-06-22 12:27:01 +00:00
gbeauche
3aa78832fc
pointer-to-member-functions fixlets, NULL may be (void *)0 on ancient
...
compilers which is not suitable here.
2005-06-22 12:25:43 +00:00
gbeauche
c686f5451c
Include <sys/mman.h> for fbdev dga without VOSF acceleration.
2005-06-22 12:24:36 +00:00
gbeauche
12eb8b670f
Avoid C99-isms in C code for old compilers (e.g. gcc "2.96" on MDK 8.1)
2005-06-22 08:51:04 +00:00
gbeauche
1421bca4a7
Comment typo and return handled status in handle_selection()
2005-06-22 08:50:07 +00:00
gbeauche
3e532be645
Check for GTK for the GUI. Also add serial_windows.cpp to SRCS files
2005-06-20 08:43:50 +00:00
gbeauche
1e7c27958d
WIP prefs editor for Windows in GTK
2005-06-20 08:40:34 +00:00
gbeauche
c57c81879c
merge in serial ports emulation from original B2/win port
2005-06-20 06:11:28 +00:00
gbeauche
3a0b4ed999
Get real page size on Windows for vm_get_page_size() [64 KB]
2005-06-20 03:54:46 +00:00
gbeauche
d0fd88f7b2
gtk2 gui support
2005-06-19 15:52:09 +00:00
gbeauche
7f3e40883a
Only close clipboard hidden window only if created. This fixes errors on
...
early exit from the GUI.
2005-06-19 15:50:52 +00:00
gbeauche
fe99211e75
Support USE_CPU_EMUL_SERVICES in SDL/video driver. Only trigger ethernet
...
interrupt in one_tick() if no pthreads at all are used, i.e. ether_dummy
is effective in that case. Otherwise, don't trigger ethernet again if
pthreads are available (and ether_unix) and cpu emul services are active.
2005-06-14 22:35:42 +00:00
gbeauche
e616062d6d
Apple GCC uses __ppc__ as the arch token
2005-06-14 06:35:00 +00:00
gbeauche
46f9e6d2ea
Support JIT on Mach/ppc platforms. Mach/i386 (Darwin/x86) is to follow.
2005-06-14 06:32:52 +00:00
gbeauche
957bee00cf
Always allocate RAM and ROM areas at the same time. This avoids having ROM
...
suddenly allocated below RAM and thus not working. Besides, this may fix a
latent deallocation bug in real addressing mode (i.e. release the whole
block allocated at once, not separately).
Side effect: this makes Basilisk II work in direct addressing mode with JIT
on Darwin 8.0.1 for x86.
2005-06-13 20:19:15 +00:00
gbeauche
334f9ce018
Check for CoreFoundation framework (Darwin 8.0.1). Likewise for
...
IOKit/storage/IOBlockStorageDevice.h which is not available there on x86
2005-06-12 23:36:34 +00:00
gbeauche
2bc79fd857
Enable Basilisk II to work even if slirp_init() failed. Disable ethernet
...
emulation in that case, don't exit(1).
2005-06-12 22:48:48 +00:00
gbeauche
e308e5441b
Mach exception recovery and instruction skipping for Darwin/x86.
2005-06-12 21:47:46 +00:00
gbeauche
ef30f8e882
remove duplicate
2005-06-11 16:47:00 +00:00
gbeauche
369d01cf16
%Ld is for long double, not long long (%lld)
2005-06-11 06:52:22 +00:00
gbeauche
0f0b06b099
Much improved responsiveness on NetBSD systems.
...
On those systems, it's really hard to get high resolution timings and the
system oftens fails to honour a timeout in less than 20 ms. The idea here
is to have an average m68k instruction count (countdown quantum) that
triggers real interrupt checks. The quantum is calibrated every 10 ticks
and has a 1000 Hz resolution on average.
2005-06-11 06:43:24 +00:00
gbeauche
e423a07632
Recognize POWER5 CPUs. ;-)
2005-06-08 12:12:50 +00:00
gbeauche
57e618990c
Add experimental fullscreen SDL video graphics. Map Windows keys to Option.
2005-06-06 21:20:28 +00:00
gbeauche
8532e34485
Update GTK Prefs Editor with support for "jitinline" and "slirp" ethernet.
2005-06-06 20:11:50 +00:00
gbeauche
6b9f8e85c5
Robustify: only close zero_fd if actually allocated
2005-06-06 19:40:17 +00:00
gbeauche
452b7b9638
Properly QuitEmulator() on unhandled SIGSEGV even if not ENABLE_MON.
2005-06-06 19:39:36 +00:00
gbeauche
f784bf5c05
Restrict mandatory SLIRP_CFLAGS to minimum, i.e. -fno-strict-aliasing.
2005-06-06 19:31:22 +00:00
gbeauche
c0cc43a87b
Really make translation through constant jumps functional. This can be
...
disabled with the new prefs item "jitinline". Some rapid Speedometer 4
benchmarks showed only a 4% improvement.
2005-06-06 19:22:56 +00:00
gbeauche
83b228cf30
Add support for hardware locks on x86_64 too
2005-06-06 18:49:51 +00:00
gbeauche
6c65ae370e
Fix build with NO_INLINE_MEMORY_ACCESS set
2005-06-05 07:32:23 +00:00
gbeauche
830bf0f65c
Fix build on 32-bit platforms with REAL_ADDRESSING mode
2005-06-05 07:03:12 +00:00
gbeauche
08c4acd21f
Enable FLIGHT_RECORDER for generated code but don't record registers in
...
that case (yet).
2005-06-04 16:47:14 +00:00
gbeauche
a4caa8ab09
Handle all slirp input/output from a single thread, thus fixing occasional
...
hangs on slower systems (concurrent read/write in 68k mode). Reduce timeout
to 10 ms.
2005-05-21 17:48:21 +00:00
gbeauche
02714e46a8
Fix and factor out ether_exit(). Pitifully, MacOS X 10.2 does not make select()
...
a cancellation point when it is passed a NULL timeout. Workarounded in
receive_func() with a full inline of poll_fd() + pthread_testcancel().
2005-05-15 17:22:12 +00:00
gbeauche
71c3199a42
Add "fbcon" keycodes (Linux Framebuffer Console)
2005-05-15 07:55:05 +00:00