Commit Graph

614 Commits

Author SHA1 Message Date
gbeauche
b662e6acec Add linker script for FreeBSD 5.3 (and probably newer). Verified to allocate
up to 1 GB of Mac RAM in both REAL_ADDRESSING and DIRECT_ADDRESSING modes.

NetBSD 2.0 can use the Linux linker script. However, I could not verify 1G
support since my installation does not permit this.
2006-03-15 06:54:07 +00:00
gbeauche
449c6496ff Link with AppKit framework on MacOS X. This should enable X11 builds when
there is no SDL available (suggested by Dara Hazeghi)
2006-03-14 22:14:13 +00:00
gbeauche
7ee9cb43dc Relocate MacOS X executable to 0x78048000 akin to linker scripts on Linux
arches. This probably already worked in the past but I have just verified
that Basilisk II works with up to 1 GB of Mac RAM in DIRECT_ADDRESSING or
REAL_ADDRESSING mode.

BTW, a quick Speedometer 4 CPU performance test showed a +15% speed increase
in real addressing mode vs. direct addressing. x86 arches don't benefit much
from that mode since they support complex address modes already (beyond plain
load/store).

TODO: check on MacOS X for Intel so that to reduce the test to darwin*:*)
2006-03-14 21:18:44 +00:00
gbeauche
b80e9651f5 fix cross-block initializer 2006-02-27 13:39:29 +00:00
gbeauche
cafa8c8c89 add some barriers to make sure L_e_region* really come after the test insns 2006-02-27 13:38:52 +00:00
gbeauche
c19cc7a81b Updates 2006-02-27 07:25:43 +00:00
gbeauche
74c62b9095 - Try to allocate Mac memory only once on 32-bit systems
- Cap Mac memory to 1023 MB, Apple Personal Diagnostics crashes at 1 GB
- Scratch memory is meant to be addressed from Mac programs too
2006-02-27 07:24:58 +00:00
gbeauche
f446d610f8 Start allocating memory from 0x10000000 with linker scripts since the system
sometimes has a problem to make a decision when next_address == 0.

NOTE: this makes it possible to allocate up to 1 GB with DIRECT_ADDRESSING
2006-02-27 07:16:40 +00:00
gbeauche
9aab8c7d85 Move up _start base 2006-02-27 07:14:39 +00:00
gbeauche
93d918097b Fix vm_acquire_mac() fallback to non 33-bit addressing mode. Support 33-bit
addressing in REAL_ADDRESSING mode. Only support platforms with proper
linker scripts to map the whole Mac memory from address 0. Warning fix.

NOTE: when compiled with --enable-addressing=real on Linux {x86,x86_64},
you can not address up to 1.5 GB in Basilisk II.
2006-02-27 00:15:39 +00:00
gbeauche
2ef9d6e708 Add linker scripts for correct REAL_ADDRESSING support 2006-02-27 00:11:49 +00:00
gbeauche
077a232acc Memory allocated through win32 VirtualAlloc() is zero-filled. Likewise for
memory mmap()'ed with MAP_ANONYMOUS (equivalent to /dev/zero mapping but
faster)
2006-02-27 00:04:12 +00:00
gbeauche
735c332ab7 add 33-bit addressing support to vm_acquire_fixed() 2006-02-26 23:45:07 +00:00
gbeauche
360a9457c6 fix logic 2006-01-27 23:49:01 +00:00
gbeauche
9d984b3b34 Check whether compiler supports byte bit-fields. If so, we can enable slirp
emulation code since it pure C+sockets code.
2006-01-27 23:41:43 +00:00
gbeauche
a615a4ac24 Use the most portable POSIX-style non-blocking I/O (O_NONBLOCK) instead of
BSD-style through FIONBIO. It turns out Tru64 and probably IRIX don't support
the latter when fd is a pipe (slirp case).
2006-01-24 23:46:19 +00:00
gbeauche
064973dbc7 ugly cast games 2006-01-24 21:33:26 +00:00
gbeauche
e0a966ee15 Code I wrote yesterday was totally broken. It's enough to make sure nPC is
correctly updated too... Instruction skipper now works on Solaris/SPARC.
2006-01-23 23:57:41 +00:00
gbeauche
99f5dcf66f - Fix SPARC Store Doubleword transfer_size in decoder.
- In the instruction skipper code, add a huge kludge (trampoline) to forcibly
  zero out %global registers when requested. Otherwise, Solaris/SPARC turned
  out to use %g1 during signal handling, and the zero we could have written
  to there vanished. This assumes [%sp-8] is valid to use (ABI states data
  below %sp is undefined though)
2006-01-22 23:14:48 +00:00
gbeauche
100a3e1abd Adapt for MacOS X for Intel, also fix thread_state type in forward_exception() 2006-01-22 00:05:05 +00:00
gbeauche
f0f76cd7ad Remove nigel's hack, I am confident the problem was MacOS X implementation of
poll() that was not a cancellation point, which I fixed (OSX/Intel 10.4.4)
2006-01-21 20:48:17 +00:00
gbeauche
ceb7488a77 poll() and select() are still not cancellation points in MacOS X 10.4.4... 2006-01-21 16:19:47 +00:00
gbeauche
a6156a17b7 streamline for standalone VOSF performance testing 2006-01-21 16:00:17 +00:00
gbeauche
335a9dd7f3 MacOS X bundle 2006-01-21 13:06:32 +00:00
gbeauche
2bc7887bc1 fix framework detection on OSX/intel (thanks toshi for the remote access ;-) 2006-01-15 11:38:41 +00:00
gbeauche
a2840298b0 - factor out native_byte_order determination
- fix ExpandMap[] when client X image byte order is different than host's
  e.g. { mips, ppc } -> x86 in 8 bpp mode
2006-01-03 22:03:27 +00:00
nigel
5d09d2b6c4 Small hack for clean exits on Nigel's OS X port 2005-12-29 13:40:25 +00:00
gbeauche
bdcf8efe2e Link with math library (-lm) on IRIX so that to get support for long double
arithmetic. Also make sure to only use -IPA with MIPSPro Compilers.
2005-12-04 15:45:09 +00:00
gbeauche
dbd5736f1d Fix Serial build on IRIX, remove the STDC_HEADERS manually defined macro
since it now works (egrep was missing previously, IIRC)
2005-12-04 15:03:11 +00:00
cebix
9cdff5117f ignore floppy device open fail in Sys_open() so the floppy drive will be
operative even if no disk was inserted at startup
2005-11-24 17:23:43 +00:00
cebix
92551146fc modernized Linux sound device detection 2005-11-24 17:03:15 +00:00
cebix
f450308b2f modernized Linux floppy detection 2005-11-24 17:02:59 +00:00
gbeauche
1f66e31423 undo unwanted change for now (double check this one later) 2005-11-22 21:57:59 +00:00
gbeauche
af7973a79c fix build with gtk-1.2 2005-11-22 21:53:24 +00:00
gbeauche
4c4b24026f fix copyright dates 2005-11-22 20:29:46 +00:00
gbeauche
a7da877356 Remove obsolete Cygwin/X11 addressing hack. Fix DirectX fullscreen mode
with hardware surface. On the other hand, DIB (SDL_VIDEODRIVER=windib)
always seems the fastest on my system for both windowed and fullscreen
modes.
2005-11-21 23:38:46 +00:00
gbeauche
9c06a00dd2 GUI cosmetics from the Windows port: add "browse" button to ROM & keycodes
file selectors, improve "Memory/Misc" pane to be more attractive and simplify
RAM size selection, rename to "Keyboard/Mouse" pane to match the actual order
of elements in the pane, make "<control>-S" save/start the config.
2005-11-21 21:39:08 +00:00
gbeauche
a750963a94 don't grab in -mdynamic-no-pic with icc, note that you need icc >= 9.0.25
to have a working build
2005-08-18 22:10:15 +00:00
gbeauche
e694311703 Drop the old _llseek() hack. That was causing problems and we "now" use the
right approach with LFS for a few years now.
2005-08-01 05:23:02 +00:00
gbeauche
77208f85b0 sys_darwin.cpp depends on CoreFoundation stuff, disable it for OpenDarwin 2005-07-10 16:42:04 +00:00
gbeauche
43c8792b6e Fix detection of GCC versions (J.P. Larocque) 2005-07-06 05:25:05 +00:00
gbeauche
9d7e5017d9 Factor out stuff for SheepShaver compatibility. 2005-07-03 08:21:32 +00:00
gbeauche
858c3b9719 - Check for <stdint.h> ourselves if AC_HEADER_STDC didn't do that
- Build with -mdynamic-no-pic on MacOS X, this brings up to 20% performance
  improvement in the CPU core.
2005-07-01 05:57:07 +00:00
gbeauche
01b34da3d9 Don't remove config.h.in in distclean rule if we are still keeping configure 2005-07-01 05:54:58 +00:00
gbeauche
eaa0f6576b Import m4 macros for external packages in case one would want to regenerate
a configure script without having those installed (e.g. on MacOS X).
2005-07-01 05:54:20 +00:00
cebix
fa5ae3ab6e minor cleanups 2005-06-30 21:25:26 +00:00
gbeauche
e867749999 POSIX conforming use of pthread_cond_wait(). 2005-06-30 10:34:31 +00:00
gbeauche
e355c83f59 Add system-specific implementations of idle_{wait,resume} functions. 2005-06-30 10:20:18 +00:00
gbeauche
a8ba24aecf Use fast spinlocks only for small enough atomic operations. Otherwise, you
run into some performance problems in e.g. video graphics experience because
of busywaits in the current spin_lock() implementation.
2005-06-25 11:40:29 +00:00
gbeauche
1421bca4a7 Comment typo and return handled status in handle_selection() 2005-06-22 08:50:07 +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
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
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
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
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
dab65b1211 Enable ethernet on MacOS X even though slirp seems to have some small
problems on big endian systems. IOW, Basilisk II can hang there. I also
noticed that on Linux/ppc so that's probably not MacOS X specific, assuming
the same problem. ==> A packet arrives but Basilisk II can't seem to trigger
an interrupt (need to try sheep_net/tun in linux to make sure)
2005-05-14 17:40:05 +00:00
gbeauche
77446db25d fix poll() emulation 2005-05-14 17:33:57 +00:00
gbeauche
1b53603138 MacOS X doesn't implement unnamed POSIX semaphores even though their libc
defines the functions. Use Mach semaphores instead.
2005-05-14 17:32:55 +00:00
gbeauche
85db30f78d add missing rule to build extfs_macosx.mm 2005-05-14 16:37:21 +00:00
gbeauche
fd61ad2b0c Try to improve the documentation concerning the "tun" interface. Take note
that that kernel module must be loaded and IP forwarding enabled. Also add
slight improvements to the "tunconfig" script so that sudo /sbin/ifconfig
and sudo /sbin/iptables are really supported for current user if not root.
2005-05-14 16:08:17 +00:00
gbeauche
722eedd6e2 ethernet/slirp works on netbsd too 2005-05-14 08:42:39 +00:00
gbeauche
eff6830415 detect slirp at configure time, aka fix build when ether_dummy.cpp is used 2005-05-14 08:10:49 +00:00
gbeauche
63015fd6d3 Use a custom poll_fd() function implemented as select() on platforms that
don't support poll() natively, e.g. MacOS X and some older BSDs.
2005-05-13 17:43:38 +00:00
gbeauche
d9839e7079 Fix build on MacOS X: dedicated extfs_macosx.mm & static SDL libs 2005-05-13 17:32:13 +00:00
gbeauche
fdfcd3eb86 Some 64-bit fixes to bootp, icmp, udp (cu-seeme). However, it can happen
that on certain occasions, it doesn't work. Some timing problem?
2005-05-13 14:02:37 +00:00
gbeauche
745bc86678 fix CFLAGS preservation 2005-05-13 11:13:26 +00:00
gbeauche
20fcf38e30 Recognize Intel Compilers. Add user mode network stack with slirp from qemu.
Simply use "ether slirp" in the prefs file, no kernel module required. I
could perform up to 450 KB/sec on my DSL line.
2005-05-13 09:21:21 +00:00
gbeauche
a532ff64c8 Improve SDL/fullscreen mode when not used in DGA mode, i.e. cases when
screen needs to be updated too. This needs better boxes characterisation.
2005-05-12 16:55:16 +00:00
gbeauche
9f8b4bcc0d Fix SDL/DGA build. Drop useless "inline" for updates. Overlapping scanlines
optimization.
2005-05-12 14:39:56 +00:00
gbeauche
31f80e338b Fix DGA when visible screen is smaller than virtual display, aka fix
fullscreen mode when VidMode extension is enabled. Also fix SDL fullscreen
to really update the screen as this is necessary by default on Linux since
simple windowed is used (and not DGA for fullscreen).

Always prefer the 64 pixel chunks update code.

Rearrange B2 video_x.cpp to match video_vosf.h updates
2005-05-12 11:09:31 +00:00
gbeauche
b4152fc466 cosmetics 2005-04-02 09:56:12 +00:00
gbeauche
85246b8408 Rewrite update_display_dga_vosf() for much improved performance and cope
with palette changes. Also slightly improve the generic code when we need
to further update the screen (e.g. SDL without hardware surface)
2005-04-02 09:50:17 +00:00
gbeauche
e8ac4897b6 Enable multiple depths in fullscreen DGA modes, i.e. add 1-bit to 16/32-bit
blitters, rewrite update_display_dga_vosf() to actually work with sub byte
pixels. Factor out update_display_window_vosf() since it's long time that
it is no longer checking for first column and last column that have changed.
2005-03-28 16:14:25 +00:00
gbeauche
7dedb433fd Gracefully catch SIGSEGV & SIGBUS for TEST_VM_PROT_* test cases. This should
avoid dumping core, and especially Windows fault alerts when natively
configuring with MinGW32.
2005-03-24 23:45:40 +00:00
gbeauche
35e8c8c9cd Enable instruction skipping for OpenBSD 3.4 on i386 2005-03-23 22:00:06 +00:00
gbeauche
f2908fe7bf instruction skipper for Solaris/i386 (Solaris 9) 2005-03-23 21:37:24 +00:00
gbeauche
569d916664 fix for 2.4.21 2005-03-22 13:43:50 +00:00
gbeauche
afe033a63d fix build with kernels >= 2.6.9 2005-03-22 13:31:13 +00:00
gbeauche
04a331e827 Avoid use of pthread_cancel() for redraw thread cancellation. Use an extra
variable to acknowledge cancellation. This avoids Xserver events queue
corruption when clipboard is in use. Concretely, this fixes following errors:
Xlib: unexpected async reply (sequence 0xHEX)!
2005-03-21 23:57:34 +00:00
gbeauche
143b18c752 Make ethernet really work on 64-bit platforms, especially x86-64 2005-03-19 17:43:03 +00:00
gbeauche
f29eb7dd1d nanosleep() delays seem better suited to MacOS X, instead of select() 2005-02-21 22:57:03 +00:00
gbeauche
10f38d4b50 NetBSD/ppc support 2005-02-20 11:39:12 +00:00
gbeauche
3aeed84471 <machine/soundcard.h> was simply a compatibility symlink on FreeBSD and it
is now gone away.
2005-02-13 17:56:55 +00:00
gbeauche
30632aed4f Happy New Year! 2005-01-30 21:42:16 +00:00
gbeauche
fd7d8cd625 Implement RGB555 mode on 16-bit displays, big endian, native byte order (MacOS X) 2005-01-19 20:27:14 +00:00
gbeauche
09d6712bdb Fixes for NetBSD 2.0 2005-01-04 23:38:01 +00:00
gbeauche
3032cb417c enable build with kernel 2.6 2004-12-19 15:55:31 +00:00
gbeauche
50eee913b8 s/vm_page_size/vm_get_page_size/ to avoid name clash on MacOS X 2004-12-18 22:20:27 +00:00
gbeauche
61e223471b Force use of MacX mappings with Apple's X server 2004-12-18 19:28:33 +00:00
gbeauche
1406b615c7 Make EtherInterrupt/packet[] "static" so that it is allocated in the .data
section, which is likely accessible under 32-bit address on 64-bit platforms
2004-12-18 18:10:40 +00:00
gbeauche
854478a048 support for kernel 2.6 (from MOL) 2004-12-18 17:49:12 +00:00
gbeauche
c10046c137 Check that we can really read at the faulty eip in Windows prior to decoding
the instruction. Also fix the unrecoverable fault dump to really be useful.
2004-12-11 13:07:38 +00:00
gbeauche
a80e76111f remove obsolete headers inclusion, implement vosf lock with native windows
mutexes, use new vm_page_size() accessor
2004-12-11 10:20:32 +00:00
gbeauche
fc47096ef8 implement vm_page_size() to get the actual size of a page 2004-12-11 10:19:34 +00:00
gbeauche
0e52edfbd0 ppc64 fixes 2004-12-02 23:29:52 +00:00
gbeauche
fbff8b1b3c typos 2004-11-29 21:59:03 +00:00
gbeauche
01a1d4e8b2 Use Windows clipboard code with SDL graphics only. X11 output will use
the X server glue anyway
2004-11-17 00:59:04 +00:00
gbeauche
ce67261af4 lock X11 display better around update_display_window_vosf() 2004-11-15 23:40:23 +00:00
gbeauche
e85f4397c8 Backport copy-paste of 'TEXT' from SheepShaver 2004-11-15 23:27:43 +00:00
gbeauche
e7fb4be12f Fast spinlocks from SheepShaver for X11 clipboard handling 2004-11-15 23:24:09 +00:00
gbeauche
dc13732db0 Add Lauri's icon for Basilisk II builds on Windows 2004-11-15 00:07:54 +00:00
gbeauche
5f44aa0266 Check for egrep early, as AC_EGREP_CPP wouldn't work correctly otherwise
(e.g. GCC version not detected, likewise for ANSI C headers). Add check
for Windows exceptions support. Some cosmetics for Cygwin.
2004-11-14 23:24:51 +00:00
gbeauche
cb99e7673d Don't use pthread_mutexattr_setprotocol() on Cygwin targets as
PTHREAD_PRIO_INHERIT is not defined correctly and it probably wouldn't
work as expected anyway.
2004-11-14 23:23:07 +00:00
gbeauche
adf82c8f45 Handle .exe suffix for Windows builds. Remove obsolete rules for cpuopti. 2004-11-14 23:21:54 +00:00
gbeauche
48b39b9eb1 Implement RGB555 mode on 16-bit displays (Windows) 2004-11-14 21:41:46 +00:00
gbeauche
68083d1102 Integrate SIGSEGV recovery from libsigsegv for Windows and Cygwin.
Also implement instruction skipper for Windows/x86.
2004-11-13 23:44:11 +00:00
gbeauche
347f7ce77b Windows memory allocators 2004-11-13 23:39:58 +00:00
gbeauche
a4a6233dab fix detection of <linux/if.h> (thanks Bob Deblier) 2004-11-10 07:33:15 +00:00
gbeauche
e3c5f1769d Enable 33-bit memory addressing on 64-bit JIT capable platforms (e.g. x86-64).
This is useful to get rid of address offset sign extensions. It uses POSIX
shared memory to create aliased regions, fallback to usual sign-extension
way if shm_open et al. don't work (e.g. no /dev/shm mounted)
2004-11-08 21:07:07 +00:00
gbeauche
cfaddce448 disable store motion on gcc >= 3.3-hammer (and normal 3.4), where the option
is available actually
2004-11-02 20:40:54 +00:00
gbeauche
382294ef55 enable JIT on x86_64 2004-11-01 16:07:39 +00:00
gbeauche
eed5724b80 SDL audio support 2004-07-19 19:25:07 +00:00
gbeauche
a4eb3b19ab Don't try to make a cast value an lvalue (Brian Johnson). Add some explicit
casts to (int) in order to avaoid this warning:
warning: comparison between `const enum video_depth' and `enum <anonymous>'
2004-06-29 21:50:23 +00:00
gbeauche
f3fbf06674 Add configure macros to check for -framework Carbon & -framework IOKit so
that we choose to include ../MacOSX/clip_macosx.cpp, sys_darwin.cpp or not.
2004-06-27 22:06:02 +00:00
gbeauche
4b7c7d22a1 Handle SDL scancode -> Mac keycode map files 2004-06-27 18:14:43 +00:00
gbeauche
4ea24edaf3 Fix video_vosf_init() for BasiliskII/SDL 2004-06-26 17:20:35 +00:00
gbeauche
6482f7b7a6 Try a better VOSF run-time performance check heuristic. 2004-06-26 16:26:07 +00:00
gbeauche
808b3e34c8 Add heuristic to deitermine run-time effect of VOSF acceleration, and
disable it if it turns out to not be profitable
2004-06-26 15:22:02 +00:00
gbeauche
1b5a3a6069 Check for the "true" command better with AC_PATH_PROG. aka fix BLESS
command checking on MacOS X.
2004-06-24 22:34:43 +00:00
gbeauche
b76aab08e4 Move VideoMode wrappers to video_blit.h. 2004-06-24 15:19:56 +00:00
gbeauche
8948ce2a49 Use atexit(SDL_Quit) idiom. XCloseDisplay() only when using X11 graphics. 2004-06-24 15:18:42 +00:00
gbeauche
c6ff8bc709 Use clip_unix.cpp only with X11 targets. Otherwise, default to clip_dummy.cpp 2004-06-23 22:33:45 +00:00
gbeauche
19494038b3 Initial SDL/video support. Fix VOSF code could lead to a crash on run-time
resolution/depth switching. Rearrange blitter lookup code, aka make it cleaner.
2004-06-23 14:30:48 +00:00
gbeauche
25f205c535 Fix double mappings in "MacX" section, aka do recognize 'r' key. 2004-06-22 22:42:37 +00:00
gbeauche
342db1fb26 Handle Control key in "MacX" mappings. 2004-06-22 20:04:51 +00:00
gbeauche
9445ccb5ad typos 2004-05-12 11:46:34 +00:00
gbeauche
a8c8c1d4d9 Move and fix tun interface shutdown call 2004-05-09 16:32:12 +00:00
gbeauche
2ce9491e96 TUN/TAP support 2004-05-09 16:16:05 +00:00
gbeauche
815390707a Decode MOVSX r32, r/m16 (generated by icc v8.0 on x86) 2004-02-16 16:02:48 +00:00
nigel
9c57351dba Tidy up Aqua/Darwin specific code 2004-01-26 11:08:52 +00:00
gbeauche
93c472ec0a cosmetic fixes when printing movsbq operation summary 2004-01-22 00:00:55 +00:00
gbeauche
7a0681c44b handle (skip) x86 movsbl instructions 2004-01-21 23:50:06 +00:00
gbeauche
1a6c128ab2 Summary: possible support of SheepShaver on Zaurus PDAs
Add Linux/ARM instruction skipping, includes support for ARMv4+ halfword
and signed data transfer instructions. Note that load/store multiple are
not handled and someone has to make sure post-incr/write-back logic is
correctly implemented.
2004-01-21 23:14:28 +00:00
nigel
2208c5460b Added missing switch value to eliminate a warning 2004-01-20 23:49:32 +00:00
nigel
3d4961887c Make distclean remove some extra files/dirs generated by autoconf,
and some Darwin test programs generated by configure.
Note - Ideally it would also remove configure?
2004-01-20 03:30:52 +00:00
gbeauche
d09df6d1fa ARM/linux sigsegv handler. Instruction skipper yet to be written for
happy Zaurus owners.
2004-01-19 16:59:13 +00:00
cebix
5098c8ae83 Happy New Year! 2004-01-12 15:55:51 +00:00
cebix
9e7932abf0 Happy New Year! :) 2004-01-12 15:29:31 +00:00
gbeauche
866919579f Force DSP_RESET on AudioExit() so that we don't get "clicks" (?). 2004-01-04 16:35:32 +00:00
gbeauche
f054ce8648 Always prefer our (inlined) spinlocks. 2004-01-04 06:11:49 +00:00
gbeauche
3fd927f404 Force device to stop immediately with an SNDCTL_DSP_RESET. Otherwise, a
regular close() sends SNDCTL_DSP_SYNC which can hang (and does on PPC)
2004-01-04 05:47:08 +00:00
gbeauche
c48515b6d5 Instruction skipper for Solaris/SPARC. 2003-12-20 23:22:25 +00:00
gbeauche
47f64bdcb8 Add support for Linux/hppa, FreeBSD/alpha. Misc debugging output. 2003-12-20 21:50:08 +00:00
gbeauche
36ee9370a6 Fix build with DEC C++ compiler on Tru64. 2003-12-20 21:44:52 +00:00
gbeauche
9b99a095f0 MIPS instruction skipper. TODO: check LWL/LWR semantics. 2003-12-20 10:06:18 +00:00
gbeauche
fdf5970c28 Fix subterfuge mode on IRIX/mips. Get PC in both modes for Irix too 2003-12-20 07:43:56 +00:00
cebix
ea0d909ce5 run depmod after installing module 2003-11-28 15:49:16 +00:00
gbeauche
10c04e2654 Enable possibility to manually pass VM_MAP_32BIT & friends. This is needed
for the PowerPC "JIT1" engine.
2003-11-24 23:27:18 +00:00
gbeauche
45df157a5e Implement lazy icache range invalidation. Disable for now until it shows
a real benefit over only 2%
2003-11-21 14:20:01 +00:00
gbeauche
1af0362296 fix loff_t & caddr_t type checks 2003-11-21 14:16:02 +00:00
nigel
ee0958380c Compile fix for OS X (which does not define loff_t) 2003-11-18 11:14:43 +00:00
gbeauche
d4ad77d734 really fix writes to byte registers 2003-11-11 00:10:39 +00:00
gbeauche
4bce0876c0 fix configure tests. i.e. move up arch_insn_skipper_tests() 2003-11-10 23:54:31 +00:00
gbeauche
1169001df7 Extend x86 instruction skipper to AMD64. Add plenty of arch dependent
opcodes to test it. Also fix DEBUG output & writes (zero'ing) to %xH regs
2003-11-10 23:47:39 +00:00
gbeauche
9057fda327 - FreeBSD/i386 sigcontext subterfuge support for instruction skipper
- NetBSD/alpha support from Boehm GC
- NetBSD/i386 won't work in sigcontext subterfuge mode unless instruction
  is decoded more accurately to compute the effective address. Also note
  that NetBSD 1.6 does not support siginfo_t yet.
2003-10-21 23:10:19 +00:00
gbeauche
f8a0f363ea Solaris/SPARC support for SIGSEGV_FAULT_INSTRUCTION 2003-10-21 21:59:41 +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
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
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
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
505455c8c4 Check for readline headers in the headers check section as otherwise, and
I don't exactly know why, AC_HEADER_STDC would fail with newer autoconf
versions.
2003-08-17 11:58:00 +00:00
gbeauche
ac027954dc Bring x86 instruction skipper back to life 2003-08-17 10:52:52 +00:00
gbeauche
797cb8825a Aliases for PACKAGE and VERSION used for localisation if compiling cxmon
now that we check for AM_GNU_GETTEXT. Yes, life sucks sometimes.
2003-08-17 10:35:18 +00:00
gbeauche
ff483b7800 #define log printf in B2 stubs 2003-08-17 10:20:22 +00:00
gbeauche
f40f7ab91f AM_GNU_GETTEXT for gnome stuff 2003-08-17 10:16:23 +00:00
cebix
91c9cf1879 fixed the test for GCC [Brian J. Johnson] 2003-07-25 13:45:25 +00:00
cebix
2257e7be3f fix for no-threads case for an emulated 68k [Todd Vierling] 2003-07-25 13:41:58 +00:00
cebix
16b21014ef added format switching and other improvements [Brian Johnson] 2003-07-12 11:04:38 +00:00
cebix
0074b3346e modernized the autoconf stuff 2003-07-01 18:10:38 +00:00
cebix
c945f0484e updated autoconf auxiliary files 2003-06-27 13:59:16 +00:00
gbeauche
548e5a3dfd Rearrange video_vosf.h to accomodate both SheepShaver and BasiliskII video
infrastructure. Make video_blit.cpp a little more emulator independent.
2003-05-22 22:13:56 +00:00
gbeauche
deb3da2e9f New API to ignore a SIGSEGV fault. This should help on SheepShaver/x86 for now
since I still don't know why MacOS would like to write to ROM on a particular
test.
2003-05-14 06:50:05 +00:00
gbeauche
61e40b3e55 Fix check against return value of memset() in vm_acquire_fixed 2003-05-13 16:56:37 +00:00
gbeauche
f5a1a93d2c Fix check for mmap()'able low mem globals 2003-05-13 16:33:06 +00:00
nigel
fda7b93625 Darwin-specific prefs and initial CD code. Since some of the CD code is just too weird to include here, I just call extern functions which I currently implement in a file sys_darwin.cpp 2003-03-21 07:03:05 +00:00
cebix
a69dcbb18f some cleanups 2003-02-06 19:24:09 +00:00
cebix
4bca966e18 added "install" target 2003-02-06 19:10:08 +00:00