diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/arm/unicorn/arm_unicorn.cpp | 3 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 1 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.cpp | 10 | ||||
| -rw-r--r-- | src/core/hle/service/sockets/bsd_u.h | 1 |
5 files changed, 22 insertions, 1 deletions
diff --git a/src/core/arm/unicorn/arm_unicorn.cpp b/src/core/arm/unicorn/arm_unicorn.cpp index fd64eab39..5d2956bfd 100644 --- a/src/core/arm/unicorn/arm_unicorn.cpp +++ b/src/core/arm/unicorn/arm_unicorn.cpp | |||
| @@ -52,7 +52,8 @@ static bool UnmappedMemoryHook(uc_engine* uc, uc_mem_type type, u64 addr, int si | |||
| 52 | void* user_data) { | 52 | void* user_data) { |
| 53 | ARM_Interface::ThreadContext ctx{}; | 53 | ARM_Interface::ThreadContext ctx{}; |
| 54 | Core::CPU().SaveContext(ctx); | 54 | Core::CPU().SaveContext(ctx); |
| 55 | ASSERT_MSG(false, "Attempted to read from unmapped memory: 0x%llx", addr); | 55 | ASSERT_MSG(false, "Attempted to read from unmapped memory: 0x%llx, pc=0x%llx, lr=0x%llx", addr, |
| 56 | ctx.pc, ctx.cpu_registers[30]); | ||
| 56 | return {}; | 57 | return {}; |
| 57 | } | 58 | } |
| 58 | 59 | ||
diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index 03305814f..d36d37089 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp | |||
| @@ -46,6 +46,7 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger | |||
| 46 | {1, &ISelfController::LockExit, "LockExit"}, | 46 | {1, &ISelfController::LockExit, "LockExit"}, |
| 47 | {2, &ISelfController::UnlockExit, "UnlockExit"}, | 47 | {2, &ISelfController::UnlockExit, "UnlockExit"}, |
| 48 | {9, &ISelfController::GetLibraryAppletLaunchableEvent, "GetLibraryAppletLaunchableEvent"}, | 48 | {9, &ISelfController::GetLibraryAppletLaunchableEvent, "GetLibraryAppletLaunchableEvent"}, |
| 49 | {10, &ISelfController::SetScreenShotPermission, "SetScreenShotPermission"}, | ||
| 49 | {11, &ISelfController::SetOperationModeChangedNotification, | 50 | {11, &ISelfController::SetOperationModeChangedNotification, |
| 50 | "SetOperationModeChangedNotification"}, | 51 | "SetOperationModeChangedNotification"}, |
| 51 | {12, &ISelfController::SetPerformanceModeChangedNotification, | 52 | {12, &ISelfController::SetPerformanceModeChangedNotification, |
| @@ -98,6 +99,13 @@ void ISelfController::SetPerformanceModeChangedNotification(Kernel::HLERequestCo | |||
| 98 | LOG_WARNING(Service_AM, "(STUBBED) called flag=%u", static_cast<u32>(flag)); | 99 | LOG_WARNING(Service_AM, "(STUBBED) called flag=%u", static_cast<u32>(flag)); |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 102 | void ISelfController::SetScreenShotPermission(Kernel::HLERequestContext& ctx) { | ||
| 103 | IPC::ResponseBuilder rb{ctx, 2}; | ||
| 104 | rb.Push(RESULT_SUCCESS); | ||
| 105 | |||
| 106 | LOG_WARNING(Service_AM, "(STUBBED) called"); | ||
| 107 | } | ||
| 108 | |||
| 101 | void ISelfController::SetOperationModeChangedNotification(Kernel::HLERequestContext& ctx) { | 109 | void ISelfController::SetOperationModeChangedNotification(Kernel::HLERequestContext& ctx) { |
| 102 | IPC::RequestParser rp{ctx}; | 110 | IPC::RequestParser rp{ctx}; |
| 103 | 111 | ||
diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 793ac6555..a6740fb29 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h | |||
| @@ -62,6 +62,7 @@ private: | |||
| 62 | void UnlockExit(Kernel::HLERequestContext& ctx); | 62 | void UnlockExit(Kernel::HLERequestContext& ctx); |
| 63 | void GetLibraryAppletLaunchableEvent(Kernel::HLERequestContext& ctx); | 63 | void GetLibraryAppletLaunchableEvent(Kernel::HLERequestContext& ctx); |
| 64 | void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx); | 64 | void CreateManagedDisplayLayer(Kernel::HLERequestContext& ctx); |
| 65 | void SetScreenShotPermission(Kernel::HLERequestContext& ctx); | ||
| 65 | 66 | ||
| 66 | std::shared_ptr<NVFlinger::NVFlinger> nvflinger; | 67 | std::shared_ptr<NVFlinger::NVFlinger> nvflinger; |
| 67 | Kernel::SharedPtr<Kernel::Event> launchable_event; | 68 | Kernel::SharedPtr<Kernel::Event> launchable_event; |
diff --git a/src/core/hle/service/sockets/bsd_u.cpp b/src/core/hle/service/sockets/bsd_u.cpp index 629ffb040..2ca1000ca 100644 --- a/src/core/hle/service/sockets/bsd_u.cpp +++ b/src/core/hle/service/sockets/bsd_u.cpp | |||
| @@ -17,6 +17,15 @@ void BSD_U::RegisterClient(Kernel::HLERequestContext& ctx) { | |||
| 17 | rb.Push<u32>(0); // bsd errno | 17 | rb.Push<u32>(0); // bsd errno |
| 18 | } | 18 | } |
| 19 | 19 | ||
| 20 | void BSD_U::StartMonitoring(Kernel::HLERequestContext& ctx) { | ||
| 21 | LOG_WARNING(Service, "(STUBBED) called"); | ||
| 22 | |||
| 23 | IPC::ResponseBuilder rb{ctx, 3}; | ||
| 24 | |||
| 25 | rb.Push(RESULT_SUCCESS); | ||
| 26 | rb.Push<u32>(0); // bsd errno | ||
| 27 | } | ||
| 28 | |||
| 20 | void BSD_U::Socket(Kernel::HLERequestContext& ctx) { | 29 | void BSD_U::Socket(Kernel::HLERequestContext& ctx) { |
| 21 | IPC::RequestParser rp{ctx}; | 30 | IPC::RequestParser rp{ctx}; |
| 22 | 31 | ||
| @@ -67,6 +76,7 @@ void BSD_U::Close(Kernel::HLERequestContext& ctx) { | |||
| 67 | 76 | ||
| 68 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { | 77 | BSD_U::BSD_U() : ServiceFramework("bsd:u") { |
| 69 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, | 78 | static const FunctionInfo functions[] = {{0, &BSD_U::RegisterClient, "RegisterClient"}, |
| 79 | {1, &BSD_U::StartMonitoring, "StartMonitoring"}, | ||
| 70 | {2, &BSD_U::Socket, "Socket"}, | 80 | {2, &BSD_U::Socket, "Socket"}, |
| 71 | {11, &BSD_U::SendTo, "SendTo"}, | 81 | {11, &BSD_U::SendTo, "SendTo"}, |
| 72 | {14, &BSD_U::Connect, "Connect"}, | 82 | {14, &BSD_U::Connect, "Connect"}, |
diff --git a/src/core/hle/service/sockets/bsd_u.h b/src/core/hle/service/sockets/bsd_u.h index fde08a22b..4e1252e9d 100644 --- a/src/core/hle/service/sockets/bsd_u.h +++ b/src/core/hle/service/sockets/bsd_u.h | |||
| @@ -17,6 +17,7 @@ public: | |||
| 17 | 17 | ||
| 18 | private: | 18 | private: |
| 19 | void RegisterClient(Kernel::HLERequestContext& ctx); | 19 | void RegisterClient(Kernel::HLERequestContext& ctx); |
| 20 | void StartMonitoring(Kernel::HLERequestContext& ctx); | ||
| 20 | void Socket(Kernel::HLERequestContext& ctx); | 21 | void Socket(Kernel::HLERequestContext& ctx); |
| 21 | void Connect(Kernel::HLERequestContext& ctx); | 22 | void Connect(Kernel::HLERequestContext& ctx); |
| 22 | void SendTo(Kernel::HLERequestContext& ctx); | 23 | void SendTo(Kernel::HLERequestContext& ctx); |