pal.map 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. PAL {
  2. global:
  3. # Drawbridge ABIs
  4. DkVirtualMemoryAlloc; DkVirtualMemoryFree; DkVirtualMemoryProtect;
  5. DkThreadCreate; DkThreadDelayExecution;
  6. DkThreadYieldExecution; DkThreadExit; DkThreadResume;
  7. DkMutexCreate; DkNotificationEventCreate;
  8. DkSynchronizationEventCreate;
  9. DkMutexRelease;
  10. DkEventSet; DkEventClear;
  11. DkObjectsWaitAny;
  12. DkStreamOpen; DkStreamRead; DkStreamWrite;
  13. DkStreamMap; DkStreamUnmap; DkStreamSetLength;
  14. DkStreamFlush; DkStreamDelete;
  15. DkSendHandle; DkReceiveHandle; # Added by us
  16. DkStreamWaitForClient;
  17. DkStreamGetName;
  18. DkStreamAttributesQuerybyHandle; DkStreamAttributesQuery;
  19. DkProcessCreate; DkProcessExit;
  20. DkProcessSandboxCreate;
  21. DkSystemTimeQuery; DkRandomBitsRead;
  22. DkInstructionCacheFlush;
  23. DkObjectReference; DkObjectClose;
  24. # objects checkpoint?
  25. # objects reload?
  26. # The ABIs we added in the paper
  27. DkSetExceptionHandler; DkExceptionReturn; # exceptions
  28. DkCreatePhysicalMemoryChannel; # IPC
  29. DkPhysicalMemoryCommit; # IPC
  30. DkPhysicalMemoryMap; # IPC
  31. DkThreadStackSet; # set stack range
  32. DkThreadPrivateSet; DkThreadPrivateGet; # set/get thread private area
  33. DkThreadGetCurrent; # get a handle to describe the current thread
  34. DkStreamChangeName;
  35. DkStreamAttributesSetbyHandle;
  36. DkSegmentRegister; # set segment register
  37. DkMemoryAvailableQuota;
  38. DkCpuIdRetrieve; # retrieve CPUID
  39. # Debugging ABIs
  40. pal_printf; pal_snprintf; DkDebugAttachBinary; DkDebugDetachBinary;
  41. # Control block
  42. pal_control; pal_control_addr;
  43. local: *;
  44. };