diff options
| author | mailwl <mailwl@gmail.com> | 2019-09-04 18:43:04 +0300 | 
|---|---|---|
| committer | bunnei <bunneidev@gmail.com> | 2019-09-04 11:43:04 -0400 | 
| commit | a1d48b5f529156c7ab35f1b3e2a15af66e58b15b (patch) | |
| tree | 2ce1e79689b28d63e249ed9c7c534a8278b66b50 /src/core/hle | |
| parent | fe83ee102b630526a6bbb3e1e605bc6897dc2852 (diff) | |
AM: Stub IApplicationFunctions::GetGpuErrorDetectedSystemEvent (#2827)
* AM: Implement IApplicationFunctions::GetGpuErrorDetectedSystemEvent
* Remove unneeded event clear
* Fix event name
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/service/am/am.cpp | 13 | ||||
| -rw-r--r-- | src/core/hle/service/am/am.h | 3 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index a192a1f5f..111633ba3 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -1057,6 +1057,7 @@ IApplicationFunctions::IApplicationFunctions() : ServiceFramework("IApplicationF          {120, nullptr, "ExecuteProgram"},          {121, nullptr, "ClearUserChannel"},          {122, nullptr, "UnpopToUserChannel"}, +        {130, &IApplicationFunctions::GetGpuErrorDetectedSystemEvent, "GetGpuErrorDetectedSystemEvent"},          {500, nullptr, "StartContinuousRecordingFlushForDebug"},          {1000, nullptr, "CreateMovieMaker"},          {1001, nullptr, "PrepareForJit"}, @@ -1064,6 +1065,10 @@ IApplicationFunctions::IApplicationFunctions() : ServiceFramework("IApplicationF      // clang-format on      RegisterHandlers(functions); + +    auto& kernel = Core::System::GetInstance().Kernel(); +    gpu_error_detected_event = Kernel::WritableEvent::CreateEventPair( +        kernel, Kernel::ResetType::Manual, "IApplicationFunctions:GpuErrorDetectedSystemEvent");  }  IApplicationFunctions::~IApplicationFunctions() = default; @@ -1285,6 +1290,14 @@ void IApplicationFunctions::GetSaveDataSize(Kernel::HLERequestContext& ctx) {      rb.Push(size.journal);  } +void IApplicationFunctions::GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx) { +    LOG_WARNING(Service_AM, "(STUBBED) called"); + +    IPC::ResponseBuilder rb{ctx, 2, 1}; +    rb.Push(RESULT_SUCCESS); +    rb.PushCopyObjects(gpu_error_detected_event.readable); +} +  void InstallInterfaces(SM::ServiceManager& service_manager,                         std::shared_ptr<NVFlinger::NVFlinger> nvflinger, Core::System& system) {      auto message_queue = std::make_shared<AppletMessageQueue>(); diff --git a/src/core/hle/service/am/am.h b/src/core/hle/service/am/am.h index 6cb582483..cbc9da7b6 100644 --- a/src/core/hle/service/am/am.h +++ b/src/core/hle/service/am/am.h @@ -242,6 +242,9 @@ private:      void BeginBlockingHomeButton(Kernel::HLERequestContext& ctx);      void EndBlockingHomeButton(Kernel::HLERequestContext& ctx);      void EnableApplicationCrashReport(Kernel::HLERequestContext& ctx); +    void GetGpuErrorDetectedSystemEvent(Kernel::HLERequestContext& ctx); + +    Kernel::EventPair gpu_error_detected_event;  };  class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> { | 
