Browse Source

[nce] invalidate host page

remotes/1785854429613479800/tmp_refs/heads/variable-page-size
Exverge 1 week ago
parent
commit
8ee8c92103
No known key found for this signature in database GPG Key ID: DAD399BCC5FB77E4
  1. 6
      src/core/arm/nce/arm_nce.cpp
  2. 2
      src/qt_common/game_list/model.cpp

6
src/core/arm/nce/arm_nce.cpp

@ -260,12 +260,12 @@ void ArmNce::GuestMemoryFaultSignalHandler(int sig, void* raw_info, void* raw_co
// TODO: handle accesses which split a page?
#ifndef _WIN32
const Common::ProcessAddress addr =
(reinterpret_cast<u64>(static_cast<siginfo_t*>(raw_info)->si_addr) & ~Memory::YUZU_PAGEMASK);
reinterpret_cast<u64>(static_cast<siginfo_t*>(raw_info)->si_addr) & ~(Common::HostPageSize - 1);
#else
const Common::ProcessAddress addr =
(reinterpret_cast<u64>(*static_cast<u64*>(raw_info)) & ~Memory::YUZU_PAGEMASK);
reinterpret_cast<u64>(*static_cast<u64*>(raw_info)) & ~(Common::HostPageSize - 1);
#endif
if (memory.InvalidateNCE(addr, Memory::YUZU_PAGESIZE)) {
if (memory.InvalidateNCE(addr, Common::HostPageSize)) {
// We handled the access successfully and are returning to guest code.
goto ret;
}

2
src/qt_common/game_list/model.cpp

@ -167,7 +167,7 @@ void GameListModel::RefreshGameDirectory() {
ResetExternalWatcher();
if (!UISettings::values.game_dirs.empty() && current_worker != nullptr) {
LOG_INFO(Frontend, "Change detected in the games directory. Reloading game list.");
Repopulate();
//Repopulate();
}
}

Loading…
Cancel
Save