Proper misalignment for AllocatePool, add guest object table

This commit is contained in:
disjtqz
2023-10-14 09:08:02 -04:00
committed by Radosław Gliński
parent ee424ae14a
commit 6a08208dc8
11 changed files with 513 additions and 45 deletions

View File

@@ -373,6 +373,13 @@ class Memory {
inline T* TranslateVirtual(TypedGuestPointer<T> guest_address) {
return TranslateVirtual<T*>(guest_address.m_ptr);
}
template <typename T>
inline xe::be<T>* TranslateVirtualBE(uint32_t guest_address)
XE_RESTRICT const {
static_assert(!std::is_pointer_v<T> &&
sizeof(T) > 1); // maybe assert is_integral?
return TranslateVirtual<xe::be<T>*>(guest_address);
}
// Base address of physical memory in the host address space.
// This is often something like 0x200000000.