Commit Graph

932 Commits

Author SHA1 Message Date
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
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
84c9d99d18 Remove bootp debug code as it uses varargs macros that are not supported in
all foreign compilers (including preprocessor shipped with MacOS X!). Also
fix build on platforms not including <stdint.h> by default.
2005-05-14 17:37:07 +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
4bf4a1d2b0 fix for new packet interface 2005-05-14 08:10:09 +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
d91e8b2a8f fix "banks" addressing mode for 64-bit platforms 2005-05-13 11:05:56 +00:00
gbeauche
f35e176853 slirp documentation from qemu 2005-05-13 09:33:51 +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
5fffe6e2cd slirp user mode network emulation code from qemu 2005-05-13 09:00:59 +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
380a9ed970 ensure allocated code fits under 32-bit boundaries 2005-04-24 23:02:48 +00:00
gbeauche
165b32da39 Fix build with gcc4 on x86-64: ignore errors when casting pointers to int
from regs & fpu members + code cache. This is possible because data is
allocated in 32-bit space and we force allocation of translation cache to
those bounds too.
2005-04-24 23:00:08 +00:00
gbeauche
57169c7923 Recognize lahf_lm from Dual Core Opterons. This enables use of LAHF/SETO
instructions in long mode (64-bit). However, there seems to be another bug
in the JIT preventing it from being fully supported. m68k.h & codegen_x86.h
are easily fixed bug another patch is still needed.
2005-04-21 09:08:57 +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
a6070dcdf3 enable cross-compilation 2005-03-24 23:13:09 +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
5c001ba645 Allocate executable space to detect cpu features (cpuid). aka don't crash
on non-executable .data sections on x86-64 with NX support enabled.
2005-03-22 16:12:18 +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
2871aefa87 Use autogen.sh to generate configure scripts, likewise for Windows 2005-03-21 22:45:09 +00:00
gbeauche
f028a9d217 Extra changes I forgot to mention in the ChangeLog 2005-03-21 22:39:59 +00:00
gbeauche
5892c6c286 more sdl key conversions 2005-03-20 23:43:17 +00:00
gbeauche
7b6d062c9d Check that drivers are installed (e.g. CD-ROM driver) 2005-03-19 19:01:49 +00:00
gbeauche
143b18c752 Make ethernet really work on 64-bit platforms, especially x86-64 2005-03-19 17:43:03 +00:00
gbeauche
ae6555fd46 SDL_ListModes() sometimes does not return a sorted list from largest to
smallest screen dimensions (e.g. on windows)
2005-03-19 05:34:15 +00:00