diff options
| author | 2014-04-10 23:26:12 -0400 | |
|---|---|---|
| committer | 2014-04-10 23:26:12 -0400 | |
| commit | 2bde8f28561ea9436d13d990f6b129a0e80a325e (patch) | |
| tree | 4d5404d320f4c737ccc6fcbed3cc5549513689f1 /src/core/hle/hle_syscall.cpp | |
| parent | updated logging message (diff) | |
| download | yuzu-2bde8f28561ea9436d13d990f6b129a0e80a325e.tar.gz yuzu-2bde8f28561ea9436d13d990f6b129a0e80a325e.tar.xz yuzu-2bde8f28561ea9436d13d990f6b129a0e80a325e.zip | |
base code to call a syscall from ARM11 appcore
Diffstat (limited to 'src/core/hle/hle_syscall.cpp')
| -rw-r--r-- | src/core/hle/hle_syscall.cpp | 55 |
1 files changed, 51 insertions, 4 deletions
diff --git a/src/core/hle/hle_syscall.cpp b/src/core/hle/hle_syscall.cpp index fdcaa914f..53d721275 100644 --- a/src/core/hle/hle_syscall.cpp +++ b/src/core/hle/hle_syscall.cpp | |||
| @@ -10,15 +10,62 @@ | |||
| 10 | typedef u32 Handle; | 10 | typedef u32 Handle; |
| 11 | typedef s32 Result; | 11 | typedef s32 Result; |
| 12 | 12 | ||
| 13 | //////////////////////////////////////////////////////////////////////////////////////////////////// | ||
| 14 | |||
| 13 | Result SVC_ConnectToPort(void* out, const char* port_name) { | 15 | Result SVC_ConnectToPort(void* out, const char* port_name) { |
| 14 | NOTICE_LOG(OSHLE, "svcConnectToPort called, port_name: %s", port_name); | 16 | NOTICE_LOG(OSHLE, "svcConnectToPort called, port_name: %s", port_name); |
| 15 | return 0; | 17 | return 0; |
| 16 | } | 18 | } |
| 17 | 19 | ||
| 18 | const HLE::FunctionDef SysCall_Table[] = { | 20 | const HLE::FunctionDef Syscall_Table[] = { |
| 19 | {0x2D, WrapI_VC<SVC_ConnectToPort>, "svcConnectToPort"}, | 21 | {0x00, NULL, "Unknown"}, |
| 22 | {0x01, NULL, "svcControlMemory"}, | ||
| 23 | {0x02, NULL, "svcQueryMemory"}, | ||
| 24 | {0x03, NULL, "svcExitProcess"}, | ||
| 25 | {0x04, NULL, "svcGetProcessAffinityMask"}, | ||
| 26 | {0x05, NULL, "svcSetProcessAffinityMask"}, | ||
| 27 | {0x06, NULL, "svcGetProcessIdealProcessor"}, | ||
| 28 | {0x07, NULL, "svcSetProcessIdealProcessor"}, | ||
| 29 | {0x08, NULL, "svcCreateThread"}, | ||
| 30 | {0x09, NULL, "svcExitThread"}, | ||
| 31 | {0x0A, NULL, "svcSleepThread"}, | ||
| 32 | {0x0B, NULL, "svcGetThreadPriority"}, | ||
| 33 | {0x0C, NULL, "svcSetThreadPriority"}, | ||
| 34 | {0x0D, NULL, "svcGetThreadAffinityMask"}, | ||
| 35 | {0x0E, NULL, "svcSetThreadAffinityMask"}, | ||
| 36 | {0x0F, NULL, "svcGetThreadIdealProcessor"}, | ||
| 37 | {0x10, NULL, "svcSetThreadIdealProcessor"}, | ||
| 38 | {0x11, NULL, "svcGetCurrentProcessorNumber"}, | ||
| 39 | {0x12, NULL, "svcRun"}, | ||
| 40 | {0x13, NULL, "svcCreateMutex"}, | ||
| 41 | {0x14, NULL, "svcReleaseMutex"}, | ||
| 42 | {0x15, NULL, "svcCreateSemaphore"}, | ||
| 43 | {0x16, NULL, "svcReleaseSemaphore"}, | ||
| 44 | {0x17, NULL, "svcCreateEvent"}, | ||
| 45 | {0x18, NULL, "svcSignalEvent"}, | ||
| 46 | {0x19, NULL, "svcClearEvent"}, | ||
| 47 | {0x1A, NULL, "svcCreateTimer"}, | ||
| 48 | {0x1B, NULL, "svcSetTimer"}, | ||
| 49 | {0x1C, NULL, "svcCancelTimer"}, | ||
| 50 | {0x1D, NULL, "svcClearTimer"}, | ||
| 51 | {0x1E, NULL, "svcCreateMemoryBlock"}, | ||
| 52 | {0x1F, NULL, "svcMapMemoryBlock"}, | ||
| 53 | {0x20, NULL, "svcUnmapMemoryBlock"}, | ||
| 54 | {0x21, NULL, "svcCreateAddressArbiter"}, | ||
| 55 | {0x22, NULL, "svcArbitrateAddress"}, | ||
| 56 | {0x23, NULL, "svcCloseHandle"}, | ||
| 57 | {0x24, NULL, "svcWaitSynchronization1"}, | ||
| 58 | {0x25, NULL, "svcWaitSynchronizationN"}, | ||
| 59 | {0x26, NULL, "svcSignalAndWait"}, | ||
| 60 | {0x27, NULL, "svcDuplicateHandle"}, | ||
| 61 | {0x28, NULL, "svcGetSystemTick"}, | ||
| 62 | {0x29, NULL, "svcGetHandleInfo"}, | ||
| 63 | {0x2A, NULL, "svcGetSystemInfo"}, | ||
| 64 | {0x2B, NULL, "svcGetProcessInfo"}, | ||
| 65 | {0x2C, NULL, "svcGetThreadInfo"}, | ||
| 66 | {0x2D, WrapI_VC<SVC_ConnectToPort>, "svcConnectToPort"}, | ||
| 20 | }; | 67 | }; |
| 21 | 68 | ||
| 22 | void Register_SysCall() { | 69 | void Register_Syscall() { |
| 23 | HLE::RegisterModule("SysCallTable", ARRAY_SIZE(SysCall_Table), SysCall_Table); | 70 | HLE::RegisterModule("SyscallTable", ARRAY_SIZE(Syscall_Table), Syscall_Table); |
| 24 | } | 71 | } |