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
89643dbce0
Enable VidMode extension by default though some Xservers may still be
...
broken. Probably run-time check for the right VidMode version? My tests
were done with X.org 6.8.2 (VidMode 2.2)
2005-05-12 11:21:10 +00:00
gbeauche
0bce152c20
- Sync with latest B2 video_vosf.h updates.
...
- Enable VidMode extension with FBDev DGA graphics.
- Factor out FBDev/XF86 DGA code.
- Fix pointer grab in fbdev DGA mode, thus fixing scrolling screens in
lower VidModes.
- Only select VidModes that match the requested resolutions, exactly.
- Fix VideoQuitFullScreen() in non FBDev mode.
2005-05-12 11:20:00 +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
1853c38130
fix inline asm for gcc4
2005-04-24 17:22:49 +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
8db2a3ef62
implement lvsl/lvsr instructions
2005-04-15 17:03:49 +00:00
gbeauche
ac6b7d760e
What a silly thing I wrote! Really nuke the generated file, not the original
...
source. IOW, don't commit stuff when you are ill.
2005-04-07 22:35:47 +00:00
gbeauche
8f80b5ddba
remove generated ppc_asm.S on make clean
2005-04-03 15:35:20 +00:00
gbeauche
b4152fc466
cosmetics
2005-04-02 09:56:12 +00:00
gbeauche
8e512ca7fe
Better lock and zero VOSF data, especially for DGA mode. Also make sure
...
that we really update the whole screen when sub-8bpp modes are used
2005-04-02 09:54:16 +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
b46eb9ae45
Only support True Color frame buffers. Make it possible to run-time switch
...
depth in FBDev DGA fullscreen mode.
2005-03-28 16:19:28 +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
f9e3fd28a1
better logics in sigstack allocation on native platforms
2005-03-28 09:50:58 +00:00
gbeauche
88b493bf38
fix make modules for Linux NetDriver
2005-03-28 09:06:46 +00:00
gbeauche
0f4440f99f
Handle "screen fbdev/WIDTH/HEIGHT" to force use of FBDev DGA instead of XF86
...
DGA mode. In other words, root user can now use FBDev DGA though it's always
recommended to run SheepShaver with a normal user. Increase "ramsize" bounds
in the GUI and fully migrate to new "screen" modes. Remove "windowmodes" and
"screenmodes" defaults.
2005-03-28 09:05:28 +00:00
gbeauche
5810c6a764
Use "screen TYPE/WIDTH/HEIGHT" prefs item by default on Unix systems. The
...
former options (windowmodes/screenmodes) are migrated if the user uses the
GUI. Also make a note about EXPERIMENTAL state for jit68k.
2005-03-27 22:32:46 +00:00
gbeauche
abd2c5406f
Add "screen" prefs item similar to Basilisk II. Don't ignore SEGV by default
...
as this could hide real bugs.
2005-03-27 22:08:33 +00:00
gbeauche
08e30a894e
disable 68k DR emulator for now (not stable enough yet)
2005-03-27 22:06:52 +00:00
gbeauche
d27832cb1c
- Implement fullscreen DGA via fbdev access under Linux. Besides, r/w access
...
to /dev/mem is required on Linux to use XF86 DGA mode. Otherwise, there is
now a fallback to fbdev.
- Forward port some features from Basilisk II (set_window_name,
disable_mouse_accel).
- Don't SIGSTOP the emulation thread on suspend since that would completely
stop the process on Linux. Use a frame buffer lock instead (as B2 does)
2005-03-27 19:05:18 +00:00