core/memory: Check our memory fallbacks for out-of-bound behavior.

This makes it by far harder to crash yuzu.

Also implement the 48bit masking of AARCH64 while touching this code.
This commit is contained in:
Markus Wick 2021-05-29 09:24:09 +02:00
parent ddb186e61d
commit 42a7c5d017
3 changed files with 46 additions and 4 deletions

View file

@ -98,6 +98,10 @@ struct PageTable {
*/
void Resize(size_t address_space_width_in_bits, size_t page_size_in_bits);
size_t GetAddressSpaceBits() const {
return current_address_space_width_in_bits;
}
/**
* Vector of memory pointers backing each page. An entry can only be non-null if the
* corresponding attribute element is of type `Memory`.
@ -105,6 +109,8 @@ struct PageTable {
VirtualBuffer<PageInfo> pointers;
VirtualBuffer<u64> backing_addr;
size_t current_address_space_width_in_bits;
};
} // namespace Common