shadPS4/src/Core/Memory.cpp

26 lines
655 B
C++
Raw Normal View History

2023-06-19 04:51:56 +00:00
#include "../Core/PS4/Loader/Elf.h"
2023-05-17 16:29:05 +00:00
#include <windows.h>
#include "../Util/Log.h"
namespace Memory
{
namespace VirtualMemory {
u64 memory_alloc(u64 address, u64 size)
{
//TODO it supports only execute_read_write mode
auto ptr = reinterpret_cast<uintptr_t>(VirtualAlloc(reinterpret_cast<LPVOID>(static_cast<uintptr_t>(address)),
size,
static_cast<DWORD>(MEM_COMMIT) | static_cast<DWORD>(MEM_RESERVE),
PAGE_EXECUTE_READWRITE));
if (ptr == 0)
{
auto err = static_cast<u32>(GetLastError());
LOG_ERROR_IF(true,"VirtualAlloc() failed: 0x{:X}\n", err);
}
return ptr;
}
}
}