Warn about libfiber.sprx
It's currently incompatible with LLVM Also fixed breakpoint bug
This commit is contained in:
@@ -263,9 +263,9 @@ extern void ppu_set_breakpoint(u32 addr)
|
|||||||
|
|
||||||
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
|
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
|
||||||
|
|
||||||
if (ppu_ref(addr / 4) != _break)
|
if (ppu_ref(addr) != _break)
|
||||||
{
|
{
|
||||||
ppu_ref(addr / 4) = _break;
|
ppu_ref(addr) = _break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -279,9 +279,9 @@ extern void ppu_remove_breakpoint(u32 addr)
|
|||||||
|
|
||||||
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
|
const auto _break = ::narrow<u32>(reinterpret_cast<std::uintptr_t>(&ppu_break));
|
||||||
|
|
||||||
if (ppu_ref(addr / 4) == _break)
|
if (ppu_ref(addr) == _break)
|
||||||
{
|
{
|
||||||
ppu_ref(addr / 4) = ppu_cache(addr);
|
ppu_ref(addr) = ppu_cache(addr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -829,6 +829,17 @@ extern void ppu_initialize()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (g_cfg_ppu_decoder.get() == ppu_decoder_type::llvm)
|
||||||
|
{
|
||||||
|
idm::select<lv2_obj, lv2_prx>([](u32, lv2_prx& prx)
|
||||||
|
{
|
||||||
|
if (prx.name == "libfiber.sprx")
|
||||||
|
{
|
||||||
|
fmt::raw_error("libfiber.sprx is not compatible with PPU LLVM Recompiler.");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
std::size_t fpos = 0;
|
std::size_t fpos = 0;
|
||||||
|
|
||||||
while (fpos < _funcs->size())
|
while (fpos < _funcs->size())
|
||||||
|
|||||||
Reference in New Issue
Block a user