evil haxx

This commit is contained in:
lizzie 2025-12-01 21:35:01 +00:00
parent 3f86593cc7
commit e3b1a9523f
3 changed files with 6 additions and 4 deletions

View File

@ -543,13 +543,13 @@ public:
}
if (use_anon) {
LOG_WARNING(Common_Memory, "Using private mappings instead of shared ones");
backing_base = static_cast<u8*>(mmap(nullptr, backing_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE | MAP_SYSTEM, -1, 0));
backing_base = static_cast<u8*>(mmap(nullptr, backing_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0));
if (fd > 0) {
fd = -1;
close(fd);
}
} else {
backing_base = static_cast<u8*>(mmap(nullptr, backing_size, PROT_READ | PROT_WRITE, MAP_SHARED | MAP_SYSTEM, fd, 0));
backing_base = static_cast<u8*>(mmap(nullptr, backing_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0));
}
ASSERT_MSG(backing_base != MAP_FAILED, "mmap failed: {}", strerror(errno));

View File

@ -6,8 +6,6 @@
#ifdef _WIN32
#include <windows.h>
#elif defined(__OPENORBIS__)
#include <orbis/libkernel.h>
#else
#include <sys/mman.h>
#endif

View File

@ -85,7 +85,11 @@ size_t KSystemControl::Init::GetIntendedMemorySize() {
switch (GetMemorySizeForInit()) {
case Smc::MemorySize_4GB:
default: // All invalid modes should go to 4GB.
#ifdef __OPENORBIS__
return 2_GiB;
#else
return 4_GiB;
#endif
case Smc::MemorySize_6GB:
return 6_GiB;
case Smc::MemorySize_8GB: