ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/SheepShaver/src/include/thunks.h
(Generate patch)

Comparing SheepShaver/src/include/thunks.h (file contents):
Revision 1.1 by gbeauche, 2003-12-04T17:26:38Z vs.
Revision 1.4 by gbeauche, 2004-01-24T11:28:05Z

# Line 54 | Line 54 | enum {
54    NATIVE_DISABLE_INTERRUPT,
55    NATIVE_ENABLE_INTERRUPT,
56    NATIVE_MAKE_EXECUTABLE,
57 +  NATIVE_CHECK_LOAD_INVOC,
58    NATIVE_OP_MAX
59   };
60  
61   // Initialize the thunks system
62   extern bool ThunksInit(void);
63  
64 + // Exit the thunks system
65 + extern void ThunksExit(void);
66 +
67   // Return the fake PowerPC opcode to handle specified native code
68   #if EMULATED_PPC
69   extern uint32 NativeOpcode(int selector);
# Line 71 | Line 75 | extern uint32 NativeTVECT(int selector);
75   // Return the native function address
76   extern uint32 NativeFunction(int selector);
77  
78 + // Return the routine descriptor address of the native function
79 + extern uint32 NativeRoutineDescriptor(int selector);
80 +
81  
82   /*
83   *  Helpers to share 32-bit addressable data with MacOS
# Line 79 | Line 86 | extern uint32 NativeFunction(int selecto
86   class SheepMem {
87          static uint32 align(uint32 size);
88   protected:
89 +        static uintptr zero_page;
90          static uintptr base;
91          static uintptr top;
92 <        static const uint32 size = 0x40000;
92 >        static const uint32 size = 0x40000; // 256 KB
93   public:
94          static bool Init(void);
95          static void Exit(void);
96 +        static uintptr ZeroPage();
97          static uintptr Reserve(uint32 size);
98          static void Release(uint32 size);
99          friend class SheepVar;
# Line 96 | Line 105 | inline uint32 SheepMem::align(uint32 siz
105          return (size + 3) & -4;
106   }
107  
108 + inline uintptr SheepMem::ZeroPage()
109 + {
110 +  return zero_page;
111 + }
112 +
113   inline uintptr SheepMem::Reserve(uint32 size)
114   {
115          top -= align(size);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines