kern: SvcGetDebugEventInfo64From32

This commit is contained in:
Michael Scire 2020-07-31 00:36:33 -07:00 committed by SciresM
parent c9f8252577
commit 85f533e6c4
2 changed files with 10 additions and 2 deletions

View file

@ -58,6 +58,9 @@ namespace ams::kern {
private:
void PushDebugEvent(ams::svc::DebugEvent event, uintptr_t param0 = 0, uintptr_t param1 = 0, uintptr_t param2 = 0, uintptr_t param3 = 0, uintptr_t param4 = 0);
void EnqueueDebugEventInfo(KEventInfo *info);
template<typename T> requires (std::same_as<T, ams::svc::lp64::DebugEventInfo> || std::same_as<T, ams::svc::ilp32::DebugEventInfo>)
Result GetDebugEventInfoImpl(T *out);
public:
virtual void OnFinalizeSynchronizationObject() override;
virtual bool IsSignaled() const override;

View file

@ -690,7 +690,8 @@ namespace ams::kern {
return this->process;
}
Result KDebugBase::GetDebugEventInfo(ams::svc::lp64::DebugEventInfo *out) {
template<typename T> requires (std::same_as<T, ams::svc::lp64::DebugEventInfo> || std::same_as<T, ams::svc::ilp32::DebugEventInfo>)
Result KDebugBase::GetDebugEventInfoImpl(T *out) {
/* Get the attached process. */
KScopedAutoObject process = this->GetProcess();
R_UNLESS(process.IsNotNull(), svc::ResultProcessTerminated());
@ -801,8 +802,12 @@ namespace ams::kern {
return ResultSuccess();
}
Result KDebugBase::GetDebugEventInfo(ams::svc::lp64::DebugEventInfo *out) {
return this->GetDebugEventInfoImpl(out);
}
Result KDebugBase::GetDebugEventInfo(ams::svc::ilp32::DebugEventInfo *out) {
MESOSPHERE_UNIMPLEMENTED();
return this->GetDebugEventInfoImpl(out);
}
void KDebugBase::OnFinalizeSynchronizationObject() {