ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/thunks.cpp
Revision 1.19 - (view) (annotate) - [select for diffs]
2008-01-01T09:47:38Z (16 years, 10 months ago) by gbeauche
Branch: MAIN
CVS Tags: HEAD
Changes since 1.18: +1 -1 lines
Diff to previous 1.18
Happy New Year!

Revision 1.18 - (view) (annotate) - [select for diffs]
2006-05-14T07:21:10Z (18 years, 6 months ago) by gbeauche
Branch: MAIN
Changes since 1.17: +9 -8 lines
Diff to previous 1.17
Optimize generated code to NQD & CheckLoad functions. They don't call into
68k or MacOS code, so they don't need to be a termination point. i.e. don't
split into two basic blocks and thus avoid a full hash search.

Also add missing NQD_unknown_hook NativeOp from previous commit.

Revision 1.17 - (view) (annotate) - [select for diffs]
2006-05-13T17:12:18Z (18 years, 6 months ago) by gbeauche
Branch: MAIN
Changes since 1.16: +14 -12 lines
Diff to previous 1.16
NQD dirty boxes, generic code
+ while we are at it, also rename a few NQD related NativeOps.

Revision 1.16 - (view) (annotate) - [select for diffs]
2006-05-03T21:45:14Z (18 years, 6 months ago) by gbeauche
Branch: MAIN
Changes since 1.15: +63 -3 lines
Diff to previous 1.15
Add patches for native GetNamedResource() and Get1NamedResource(). This will
be useful to fix a bug in the AppleShare extension (see DRVR .AFPTranslator
in Basilisk II)

Unrelated improvement: call sheepshaver_cpu::get_resource() directly, don't
get it through another global function.

Revision 1.15 - (view) (annotate) - [select for diffs]
2005-07-03T22:43:11Z (19 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.14: +1 -1 lines
Diff to previous 1.14
Fix typo for AO_transmit_packet() thunk.

Revision 1.14 - (view) (annotate) - [select for diffs]
2005-07-03T22:02:01Z (19 years, 4 months ago) by gbeauche
Branch: MAIN
Changes since 1.13: +8 -0 lines
Diff to previous 1.13
Minor tweaks to support compilation of ether.cpp within MacOS. i.e. mostly
migrate the Ethernet driver to the MacOS side. This is enabled for
DIRECT_ADDRESSING cases. I didn't want to alter much of ether.cpp (as it
would have required to support that mode). Of course, in REAL_ADDRESSING
mode (the default) and for debugging purposes, the old driver is still
available.

Revision 1.13 - (view) (annotate) - [select for diffs]
2005-06-23T16:23:31Z (19 years, 5 months ago) by gbeauche
Branch: MAIN
Changes since 1.12: +1 -1 lines
Diff to previous 1.12
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.

Revision 1.12 - (view) (annotate) - [select for diffs]
2005-02-20T18:08:50Z (19 years, 9 months ago) by gbeauche
Branch: MAIN
Changes since 1.11: +1 -1 lines
Diff to previous 1.11
Initial support for NetBSD/ppc in native mode (some crashes occur but I
could boot MacOS 9.0.4)

Revision 1.11 - (view) (annotate) - [select for diffs]
2004-11-13T14:09:15Z (20 years ago) by gbeauche
Branch: MAIN
Changes since 1.10: +1 -1 lines
Diff to previous 1.10
Implement Direct Addressing mode similarly to Basilisk II. This is to get
SheepShaver working on OSes that don't support maipping of Low Memory globals
at 0x00000000, e.g. Windows.

Revision 1.10 - (view) (annotate) - [select for diffs]
2004-06-22T17:10:06Z (20 years, 5 months ago) by gbeauche
Branch: MAIN
Changes since 1.9: +0 -2 lines
Diff to previous 1.9
Don't handle XLM_IRQ_NEST atomically in emulated mode. That's useless since
this variable is modified only within a single thread and interrupts are
not handled asynchronously.

Revision 1.9 - (view) (annotate) - [select for diffs]
2004-04-22T22:54:46Z (20 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.8: +6 -6 lines
Diff to previous 1.8
Extend NativeOp count to 64 (6-bit value), aka fix NATIVE_FILLRECT opcpdes.
Translate NQD_{bitblt,fillrect,invrect} to direct native calls.
Use Mac2HostAddr() for converting Mac base address to native.

Revision 1.8 - (view) (annotate) - [select for diffs]
2004-04-22T20:57:29Z (20 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.7: +4 -6 lines
Diff to previous 1.7
Basic fillrect/invrect NQD. Code may need to be factored out somehow.
Verify that bitblt NQD transfer modes are really CopyBits() ones [MB5].

Revision 1.7 - (view) (annotate) - [select for diffs]
2004-04-18T23:03:50Z (20 years, 7 months ago) by gbeauche
Branch: MAIN
Changes since 1.6: +14 -0 lines
Diff to previous 1.6
Start Native QuickDraw acceleration

Revision 1.6 - (view) (annotate) - [select for diffs]
2004-01-24T11:28:04Z (20 years, 10 months ago) by gbeauche
Branch: MAIN
Changes since 1.5: +99 -0 lines
Diff to previous 1.5
Generate PowerPC code wrapping GetResource() replacements. That way, it's
a normal PPC function invocation that can be JIT compiled to native code
instead of nesting execute() calls which may lead to use the interpreter
(this took around 11% of total execution time on boot, downto 3%).

Also, optimize some SheepShaver EmulOps and actually report non-CTI.

Revision 1.5 - (view) (annotate) - [select for diffs]
2004-01-18T22:10:09Z (20 years, 10 months ago) by gbeauche
Branch: MAIN
Changes since 1.4: +1 -1 lines
Diff to previous 1.4
Darwin function descriptors act as Linux ones

Revision 1.4 - (view) (annotate) - [select for diffs]
2004-01-15T23:28:59Z (20 years, 10 months ago) by gbeauche
Branch: MAIN
Changes since 1.3: +7 -3 lines
Diff to previous 1.3
Fix native mode, a better solution would be to also add GetResource()
patches into the native_op[] table in native mode too.

Revision 1.3 - (view) (annotate) - [select for diffs]
2004-01-07T18:24:44Z (20 years, 10 months ago) by gbeauche
Branch: MAIN
Changes since 1.2: +34 -2 lines
Diff to previous 1.2
Also cache native routine descriptor instead of recreating them at each
invokation to ExecuteNative().

Revision 1.2 - (view) (annotate) - [select for diffs]
2003-12-04T23:37:35Z (20 years, 11 months ago) by gbeauche
Branch: MAIN
Changes since 1.1: +45 -7 lines
Diff to previous 1.1
Use a unique ExecuteNative() interface in any case, i.e. native & emulated

Revision 1.1 - (view) (annotate) - [select for diffs]
2003-12-04T17:26:35Z (20 years, 11 months ago) by gbeauche
Branch: MAIN
Add new thunking system for 64-bit fixes.

Convenience Links

Links to HEAD: (view) (annotate) Links to HEAD: (view) (annotate)

Compare Revisions

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a