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
dbc467e316
prefer lower indexes in register allocation, this avoids REX prefixes on
...
x86_64 when %r8 - %r15 are used (very light speedup expected)
2006-02-26 18:58:18 +00:00
gbeauche
91babf4bb5
fix FETOX & FTWOTOX translations for x86_64
2006-02-26 18:49:55 +00:00
gbeauche
c374d519a3
fix ROM85 bug fix for AppleShare extension
2006-02-19 14:18:29 +00:00
gbeauche
294664b726
Fix SAHF_SETO_PROFITABLE code for x86-64 platforms.
...
This was only an experiment. Improvement was marginal: only +3% on AMD64
(an Athlon 64 3200+). However, it may be interesting to test it on EM64T
(e.g. newer P4s) since an older P3/800, hence in 32-bit mode, got a +15%
improvement in Speedometer 4 benchmarks.
Rationale: lahf/seto sequences avoid load/stores to the stack (push/pop)
and it was thus hoped to be faster.
Anyhow, SAHF_SETO_PROFITABLE can only be enabled manually at this time.
Edit your generated Makefile for testing, but first make sure your CPU
supports lahf in 64-bit mode (lahf_lm flag in /proc/cpuinfo).
2006-02-06 23:06:54 +00:00
gbeauche
3b94dfb1a9
Cosmetics, fix %rh cases in !X86_FLAT_REGISTERS mode, lahf/sahf are now
...
valid instructions in long mode (recent enough CPU revisions: lahf_lm).
2006-02-06 22:57:18 +00:00
gbeauche
9ccf62f7b0
Manually emit LAHF instructions so that 64-bit assemblers can grok it
2006-02-06 22:55:44 +00:00
gbeauche
d475faf4ba
Copy constants to 32-bit addressable data pool. This fixes -pie builds on
...
x86_64: program resides above 32-bit barrier and JIT generated code wants
(knowingly) to access globals directly.
2006-01-28 22:03:31 +00:00
gbeauche
d9b4b31490
Merge from KPX: new exit() handling code
2006-01-28 22:00:10 +00:00
gbeauche
e0589a097e
fix new/delete mismatch in slow_allocator, also use that for lazy_allocator
2006-01-28 21:59:41 +00:00
gbeauche
022d09375f
Merge from KPX: new exit() handling code; make "syscall" illegal for MacOS
...
emulation (SheepShaver)
2006-01-28 21:57:52 +00:00
gbeauche
360a9457c6
fix logic
2006-01-27 23:49:01 +00:00
gbeauche
d4210ef902
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:48:08 +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
e9e3ad9a4b
Further unaligned access fixes on IRIX (Brian J. Johnson). Configury needed
...
to ensure compiler supports bit-field members of unsigned char type.
2006-01-27 23:31:38 +00:00
gbeauche
6ddf123991
Adapt for new non-blocking I/O error message
2006-01-24 23:50:19 +00:00
gbeauche
02525acf32
Use FIONBIO only on pretty ancient systems.
2006-01-24 23:47:09 +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
f8c3b2c6bb
no-stack-frame optimization for linux/i386 too since it now works there too
2006-01-22 20:07:47 +00:00
gbeauche
f2d3692c08
updates
2006-01-22 16:46:41 +00:00
gbeauche
f32e053178
Apply the no-stack-frame optimization in op_invoke_*() to MacOS X for Intel
...
templates. This avoids mis-aligninment of the stack, and useless reservation
of space on it for function args. Indeed, we now pre-allocate 16 stack-slots
in op_execute() for this purpose.
2006-01-22 00:12:39 +00:00
gbeauche
51a09ecc21
Don't mis-align the stack on x86 platforms (most visible on MacOS X for Intel)
2006-01-22 00:08:32 +00:00
gbeauche
1f195045a1
__DATA,__data section may be empty (MacOS X 10.4.4 for Intel)
2006-01-22 00:07:22 +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
89700e74e2
update icon with transparency
2006-01-21 18:04:03 +00:00
gbeauche
7755bd2873
rename extfs volume name to "Unix"
2006-01-21 17:26:27 +00:00
gbeauche
46ee842be3
don't trigger interrupt through deleted cpu object (XXX may need locks)
2006-01-21 17:18:53 +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
a9468a9644
fix encoding of lis r0,0x9e00
2006-01-19 22:24:09 +00:00
gbeauche
d85590c972
adapt for older MIPSpro preprocessor
2006-01-18 23:50:16 +00:00
gbeauche
357467c97b
<cpu/jit/dyngen-exec.h> is necessary because it contains the definitions of
...
DYNGEN_FAST_DISPATCH for the direct_chaining_possible() test... [otherwise,
it was a performance regression]
2006-01-18 23:45:31 +00:00
gbeauche
73c6d2d2c0
apply the no-stack-frame optimization in op_invoke_*() to MacOS X hosts too
2006-01-18 23:06:48 +00:00
gbeauche
1313fe589b
fix for MacOS X/ppc (simply for completeness, the CPU emulator is not used
...
natively by default)
2006-01-18 23:00:59 +00:00
gbeauche
b6600ca3fe
recognize POWER5+ CPUs (e.g. p5-520)
2006-01-18 22:12:26 +00:00
gbeauche
2e7f194ff2
add generic roundf() from glibc (for IRIX/mips with older libm)
2006-01-17 23:09:18 +00:00
gbeauche
5ee0a6741b
Packet headers can be examined through unaligned addresses. This patch
...
fixes this, especially for MIPS & SPARC platforms. [Initial patch from
Brian J. Johnson]
2006-01-17 21:19:12 +00:00
nigel
998e1f7f7b
A few more clashes with OS X headers (10.3 only?), update year
2006-01-16 23:10:33 +00:00
nigel
078efac834
Added the cosmetic feature that I forgot was in v17
2006-01-16 23:09:53 +00:00
nigel
ff7665cb2e
Add a Networking section, update formatting in other parts of the text
2006-01-16 23:07:22 +00:00
gbeauche
e534b07a70
more precise callee-saved register set
2006-01-16 21:31:41 +00:00
gbeauche
12f103a83a
JIT generated code is not guaranteed to be leaf, e.g. there could be a call
...
to a generic instruction handler (untranslated code). This caused problems
on MacOS X for Intel where the unaligned stack conditions turned out to be
more visible. Performance loss is really neglectable and this is the right
fix now anyway.
2006-01-16 21:31:08 +00:00