From 16fea415d09e3c1e55667a6affab495e03117f96 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 May 2014 21:56:51 -0400 Subject: service: Renamed Sync to SyncRequest --- src/core/hle/service/service.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 716669bed..c970ace4b 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -79,7 +79,7 @@ public: * Called when svcSendSyncRequest is called, loads command buffer and executes comand * @return Return result of svcSendSyncRequest passed back to user app */ - Result Sync() { + Result SyncRequest() { u32* cmd_buff = GetCommandBuffer(); auto itr = m_functions.find(cmd_buff[0]); -- cgit v1.2.3 From 58a3adcdd2eed9d31cd441186af872a0a8924e73 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 May 2014 22:12:46 -0400 Subject: kernel: updated SyncRequest to take boolean thread wait result as a parameter --- src/core/hle/service/service.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index c970ace4b..12ef51b91 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -76,10 +76,11 @@ public: } /** - * Called when svcSendSyncRequest is called, loads command buffer and executes comand - * @return Return result of svcSendSyncRequest passed back to user app + * Synchronize kernel object + * @param wait Boolean wait set if current thread should wait as a result of sync operation + * @return Result of operation, 0 on success, otherwise error code */ - Result SyncRequest() { + Result SyncRequest(bool* wait) { u32* cmd_buff = GetCommandBuffer(); auto itr = m_functions.find(cmd_buff[0]); -- cgit v1.2.3 From a432dc8f39a866b7b523235d6d94531f93bb4aa1 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 26 May 2014 22:17:49 -0400 Subject: kernel: added WaitSynchronization method to Kernel::Object --- src/core/hle/service/service.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 12ef51b91..4671d4528 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -100,6 +100,16 @@ public: return 0; // TODO: Implement return from actual function } + /** + * Wait for kernel object to synchronize + * @param wait Boolean wait set if current thread should wait as a result of sync operation + * @return Result of operation, 0 on success, otherwise error code + */ + Result WaitSynchronization(bool* wait) { + // TODO(bunnei): ImplementMe + return 0; + } + protected: /** -- cgit v1.2.3 From 70af9d620b8c1ebbc203c3601aad7c746fddff76 Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 28 May 2014 18:39:28 -0400 Subject: service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot further --- src/core/hle/service/service.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 4671d4528..4a3d4c68a 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -87,12 +87,12 @@ public: if (itr == m_functions.end()) { ERROR_LOG(OSHLE, "Unknown/unimplemented function: port = %s, command = 0x%08X!", GetPortName(), cmd_buff[0]); - return -1; + return 0; // TODO(bunnei): Hack - ignore error } if (itr->second.func == NULL) { ERROR_LOG(OSHLE, "Unimplemented function: port = %s, name = %s!", GetPortName(), itr->second.name.c_str()); - return -1; + return 0; // TODO(bunnei): Hack - ignore error } itr->second.func(this); -- cgit v1.2.3 From 545e6919ce33a815761aef0f32e8e052858a60b3 Mon Sep 17 00:00:00 2001 From: bunnei Date: Thu, 29 May 2014 18:54:59 -0400 Subject: service: added additional hack to return success on unimplemented service calls --- src/core/hle/service/service.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 4a3d4c68a..8f8d4d552 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -87,12 +87,20 @@ public: if (itr == m_functions.end()) { ERROR_LOG(OSHLE, "Unknown/unimplemented function: port = %s, command = 0x%08X!", GetPortName(), cmd_buff[0]); - return 0; // TODO(bunnei): Hack - ignore error + + // TODO(bunnei): Hack - ignore error + u32* cmd_buff = Service::GetCommandBuffer(); + cmd_buff[1] = 0; + return 0; } if (itr->second.func == NULL) { ERROR_LOG(OSHLE, "Unimplemented function: port = %s, name = %s!", GetPortName(), itr->second.name.c_str()); - return 0; // TODO(bunnei): Hack - ignore error + + // TODO(bunnei): Hack - ignore error + u32* cmd_buff = Service::GetCommandBuffer(); + cmd_buff[1] = 0; + return 0; } itr->second.func(this); -- cgit v1.2.3 From c451ad28355b48f9d55a9b1a939e913fbf875953 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 30 May 2014 00:22:39 -0400 Subject: service: cleaned up log messages --- src/core/hle/service/service.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 8f8d4d552..c3e9dd313 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -85,7 +85,7 @@ public: auto itr = m_functions.find(cmd_buff[0]); if (itr == m_functions.end()) { - ERROR_LOG(OSHLE, "Unknown/unimplemented function: port = %s, command = 0x%08X!", + ERROR_LOG(OSHLE, "unknown/unimplemented function: port=%s, command=0x%08X", GetPortName(), cmd_buff[0]); // TODO(bunnei): Hack - ignore error @@ -94,7 +94,7 @@ public: return 0; } if (itr->second.func == NULL) { - ERROR_LOG(OSHLE, "Unimplemented function: port = %s, name = %s!", + ERROR_LOG(OSHLE, "unimplemented function: port=%s, name=%s", GetPortName(), itr->second.name.c_str()); // TODO(bunnei): Hack - ignore error -- cgit v1.2.3 From 870c6146e727e3537536f162e76ee8e20d56622f Mon Sep 17 00:00:00 2001 From: bunnei Date: Wed, 4 Jun 2014 18:50:50 -0400 Subject: service: added a error log messages for unimplemented WaitSynchronization --- src/core/hle/service/service.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index c3e9dd313..8699ad305 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -115,6 +115,7 @@ public: */ Result WaitSynchronization(bool* wait) { // TODO(bunnei): ImplementMe + ERROR_LOG(OSHLE, "unimplemented function"); return 0; } -- cgit v1.2.3 From 8cac527c943253a9471849d17b1520f4762fbb5c Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 6 Jun 2014 00:10:50 -0400 Subject: Kernel: Updated several member functions to be const --- src/core/hle/service/service.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 8699ad305..4b5c5b3c8 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -39,8 +39,8 @@ class Interface : public Kernel::Object { friend class Manager; public: - const char *GetName() { return GetPortName(); } - const char *GetTypeName() { return GetPortName(); } + const char *GetName() const { return GetPortName(); } + const char *GetTypeName() const { return GetPortName(); } static Kernel::HandleType GetStaticHandleType() { return Kernel::HandleType::Service; } Kernel::HandleType GetHandleType() const { return Kernel::HandleType::Service; } -- cgit v1.2.3 From c95972275e276abe3afcac79d956ea29a0879c8e Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 6 Jun 2014 00:35:49 -0400 Subject: HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) --- src/core/hle/service/service.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/core/hle/service/service.h') diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 4b5c5b3c8..166d13038 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -93,7 +93,7 @@ public: cmd_buff[1] = 0; return 0; } - if (itr->second.func == NULL) { + if (itr->second.func == nullptr) { ERROR_LOG(OSHLE, "unimplemented function: port=%s, name=%s", GetPortName(), itr->second.name.c_str()); -- cgit v1.2.3