/[pcsx2_0.9.7]/trunk/pcsx2/R5900.h
ViewVC logotype

Diff of /trunk/pcsx2/R5900.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 62 by william, Tue Sep 7 11:08:22 2010 UTC revision 280 by william, Thu Dec 23 12:02:12 2010 UTC
# Line 273  extern void __fastcall eeloadReplaceOSDS Line 273  extern void __fastcall eeloadReplaceOSDS
273  struct R5900cpu  struct R5900cpu
274  {  {
275          // Memory allocation function, for allocating virtual memory spaces needed by          // Memory allocation function, for allocating virtual memory spaces needed by
276          // the emulator.  (ints/recs are free to allocate additional memory while running          // the virtual cpu provider.  Allocating additional heap memory from this method is
277          // code, however any virtual mapped memory should always be allocated as soon          // NOT recommended.  Heap allocations should be performed by Reset only.  This
278          // as possible, to claim the memory before some plugin does..)          // maximizes the likeliness of reservations claiming addresses they prefer.
279          //          //
280          // Thread Affinity:          // Thread Affinity:
281          //   Can be called from any thread.  Execute status must be suspended or stopped          //   Called from the main/UI thread only.  Cpu execution status is guaranteed to
282          //   to prevent multi-thread race conditions.          //   be inactive.  No locking is necessary.
283          //          //
284          // Exception Throws:          // Exception Throws:
285            //   HardwareDeficiency - The host machine's hardware does not support this CPU provider.
286          //   OutOfMemory - Not enough memory, or the memory areas required were already          //   OutOfMemory - Not enough memory, or the memory areas required were already
287          //                 reserved.          //                 reserved.
288          //          void (*Reserve)();
         void (*Allocate)();  
289    
290          // Deallocates ram allocated by Allocate and/or by runtime code execution.          // Deallocates ram allocated by Allocate, Reserve, and/or by runtime code execution.
291          //          //
292          // Thread Affinity:          // Thread Affinity:
293          //   Can be called from any thread.  Execute status must be suspended or stopped          //   Called from the main/UI thread only.  Cpu execution status is guaranteed to
294          //   to prevent multi-thread race conditions.          //   be inactive.  No locking is necessary.
295          //          //
296          // Exception Throws:  None.  This function is a destructor, and should not throw.          // Exception Throws:  None.  This function is a destructor, and should not throw.
297          //          //
# Line 302  struct R5900cpu Line 302  struct R5900cpu
302          // rely on the CPU/VM states almost entirely.          // rely on the CPU/VM states almost entirely.
303          //          //
304          // Thread Affinity:          // Thread Affinity:
305          //   Can be called from any thread.  Execute status must be suspended or stopped          //   Can be called from any thread.  CPU execution status is indeterminate and may
306          //   to prevent multi-thread race conditions.          //   already be in progress.  Implementations should be sure to queue and execute
307            //   resets at the earliest safe convenience (typically right before recompiling a
308            //   new block of code, or after a vsync event).
309          //          //
310          // Exception Throws:  Emulator-defined.  Common exception types to expect are          // Exception Throws:  Emulator-defined.  Common exception types to expect are
311          //   OutOfMemory, Stream Exceptions          //   OutOfMemory, Stream Exceptions
# Line 365  struct R5900cpu Line 367  struct R5900cpu
367          // better off replaced with some generic API callbacks from VTLB block protection.          // better off replaced with some generic API callbacks from VTLB block protection.
368          // Also: the calls from COP0's TLB remap code should be replaced with full recompiler          // Also: the calls from COP0's TLB remap code should be replaced with full recompiler
369          // resets, since TLB remaps affect more than just the code they contain (code that          // resets, since TLB remaps affect more than just the code they contain (code that
370          // may reference the remaped blocks via memory loads/stores, for example).          // may reference the remapped blocks via memory loads/stores, for example).
371          //          //
372          // Thread Affinity Rule:          // Thread Affinity Rule:
373          //   Can be called from any thread (namely for being called from debugging threads)          //   Can be called from any thread (namely for being called from debugging threads)
# Line 374  struct R5900cpu Line 376  struct R5900cpu
376          //   doesn't matter if we're stripping it out soon. ;)          //   doesn't matter if we're stripping it out soon. ;)
377          //          //
378          void (*Clear)(u32 Addr, u32 Size);          void (*Clear)(u32 Addr, u32 Size);
379            
380            uint (*GetCacheReserve)();
381            void (*SetCacheReserve)( uint reserveInMegs );
382  };  };
383    
384  extern R5900cpu *Cpu;  extern R5900cpu *Cpu;

Legend:
Removed from v.62  
changed lines
  Added in v.280

  ViewVC Help
Powered by ViewVC 1.1.22