diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-26 18:55:11 -0400 | 
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-06-27 11:35:16 -0400 | 
| commit | 5b6a67f849d0d78d6f71ccb7d93f48a97760a901 (patch) | |
| tree | 36c1b5b4481bd1486e0e25a2656001f831298d51 /src/core/hle/kernel | |
| parent | 3d9fbb8226e9bf7dce99568f6e616e7361d43c41 (diff) | |
SVC: Cleanup old methods.
Diffstat (limited to 'src/core/hle/kernel')
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 22 | 
1 files changed, 9 insertions, 13 deletions
| diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 768d72b92..8634d3feb 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp @@ -622,7 +622,6 @@ static void Break(Core::System& system, u32 reason, u64 info1, u64 info2) {          // Kill the current thread          current_thread->Stop(); -        system.PrepareReschedule();      }  } @@ -1004,6 +1003,7 @@ static ResultCode UnmapPhysicalMemory(Core::System& system, VAddr addr, u64 size  /// Sets the thread activity  static ResultCode SetThreadActivity(Core::System& system, Handle handle, u32 activity) {      LOG_DEBUG(Kernel_SVC, "called, handle=0x{:08X}, activity=0x{:08X}", handle, activity); +    UNIMPLEMENTED();      if (activity > static_cast<u32>(ThreadActivity::Paused)) {          return ERR_INVALID_ENUM_VALUE;      } @@ -1032,7 +1032,6 @@ static ResultCode SetThreadActivity(Core::System& system, Handle handle, u32 act      thread->SetActivity(static_cast<ThreadActivity>(activity)); -    system.PrepareReschedule(thread->GetProcessorID());      return RESULT_SUCCESS;  } @@ -1385,6 +1384,7 @@ static ResultCode UnmapProcessCodeMemory(Core::System& system, Handle process_ha  /// Exits the current process  static void ExitProcess(Core::System& system) {      auto* current_process = system.Kernel().CurrentProcess(); +    UNIMPLEMENTED();      LOG_INFO(Kernel_SVC, "Process {} exiting", current_process->GetProcessID());      ASSERT_MSG(current_process->GetStatus() == ProcessStatus::Running, @@ -1394,8 +1394,6 @@ static void ExitProcess(Core::System& system) {      // Kill the current thread      system.CurrentScheduler().GetCurrentThread()->Stop(); - -    system.PrepareReschedule();  }  /// Creates a new thread @@ -1458,8 +1456,6 @@ static ResultCode CreateThread(Core::System& system, Handle* out_handle, VAddr e      thread->SetName(          fmt::format("thread[entry_point={:X}, handle={:X}]", entry_point, *new_thread_handle)); -    system.PrepareReschedule(thread->GetProcessorID()); -      return RESULT_SUCCESS;  } @@ -1545,6 +1541,8 @@ static ResultCode WaitProcessWideKeyAtomic(Core::System& system, VAddr mutex_add          return ERR_INVALID_ADDRESS;      } +    UNIMPLEMENTED(); +      ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4));      auto* const current_process = system.Kernel().CurrentProcess(); @@ -1569,7 +1567,6 @@ static ResultCode WaitProcessWideKeyAtomic(Core::System& system, VAddr mutex_add      // Note: Deliberately don't attempt to inherit the lock owner's priority. -    system.PrepareReschedule(current_thread->GetProcessorID());      return RESULT_SUCCESS;  } @@ -1580,6 +1577,8 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_      ASSERT(condition_variable_addr == Common::AlignDown(condition_variable_addr, 4)); +    UNIMPLEMENTED(); +      // Retrieve a list of all threads that are waiting for this condition variable.      auto* const current_process = system.Kernel().CurrentProcess();      std::vector<std::shared_ptr<Thread>> waiting_threads = @@ -1634,7 +1633,6 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_              thread->SetMutexWaitAddress(0);              thread->SetWaitHandle(0);              thread->SetWaitSynchronizationResult(RESULT_SUCCESS); -            system.PrepareReschedule(thread->GetProcessorID());          } else {              // The mutex is already owned by some other thread, make this thread wait on it.              const Handle owner_handle = static_cast<Handle>(mutex_val & Mutex::MutexOwnerMask); @@ -1646,7 +1644,6 @@ static void SignalProcessWideKey(Core::System& system, VAddr condition_variable_              thread->SetStatus(ThreadStatus::WaitMutex);              owner->AddMutexWaiter(thread); -            system.PrepareReschedule(thread->GetProcessorID());          }      }  } @@ -1661,6 +1658,7 @@ static ResultCode WaitForAddress(Core::System& system, VAddr address, u32 type,      LOG_TRACE(Kernel_SVC, "called, address=0x{:X}, type=0x{:X}, value=0x{:X}, timeout={}", address,                type, value, timeout); +    UNIMPLEMENTED();      // If the passed address is a kernel virtual address, return invalid memory state.      if (Core::Memory::IsKernelVirtualAddress(address)) {          LOG_ERROR(Kernel_SVC, "Address is a kernel virtual address, address={:016X}", address); @@ -1677,9 +1675,6 @@ static ResultCode WaitForAddress(Core::System& system, VAddr address, u32 type,      auto& address_arbiter = system.Kernel().CurrentProcess()->GetAddressArbiter();      const ResultCode result =          address_arbiter.WaitForAddress(address, arbitration_type, value, timeout); -    if (result == RESULT_SUCCESS) { -        system.PrepareReschedule(); -    }      return result;  } @@ -1689,6 +1684,8 @@ static ResultCode SignalToAddress(Core::System& system, VAddr address, u32 type,      LOG_TRACE(Kernel_SVC, "called, address=0x{:X}, type=0x{:X}, value=0x{:X}, num_to_wake=0x{:X}",                address, type, value, num_to_wake); +    UNIMPLEMENTED(); +      // If the passed address is a kernel virtual address, return invalid memory state.      if (Core::Memory::IsKernelVirtualAddress(address)) {          LOG_ERROR(Kernel_SVC, "Address is a kernel virtual address, address={:016X}", address); @@ -1945,7 +1942,6 @@ static ResultCode SignalEvent(Core::System& system, Handle handle) {      }      writable_event->Signal(); -    system.PrepareReschedule();      return RESULT_SUCCESS;  } | 
