mirror of
https://github.com/momo5502/emulator.git
synced 2026-01-31 00:11:02 +00:00
remove references to nt_memory_permission from backend
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
#include "memory_permission.hpp"
|
||||
#include "std_include.hpp"
|
||||
#include "memory_manager.hpp"
|
||||
|
||||
@@ -269,12 +268,9 @@ bool memory_manager::allocate_memory(const uint64_t address, const size_t size,
|
||||
|
||||
if (!reserve_only)
|
||||
{
|
||||
this->map_memory(address, size, permissions);
|
||||
|
||||
auto common = memory_permission::read_write;
|
||||
auto extended = permissions.is_guarded() ? memory_permission_ext::guard : memory_permission_ext::none;
|
||||
|
||||
entry->second.committed_regions[address] = committed_region{size, nt_memory_permission{common, extended}};
|
||||
this->map_memory(address, size, permissions.is_guarded() ? memory_permission::none : permissions.common);
|
||||
entry->second.committed_regions[address] =
|
||||
committed_region{size, nt_memory_permission{memory_permission::read_write, permissions.extended}};
|
||||
}
|
||||
|
||||
this->update_layout_version();
|
||||
@@ -630,11 +626,9 @@ void memory_manager::map_mmio(const uint64_t address, const size_t size, mmio_re
|
||||
this->memory_->map_mmio(address, size, std::move(read_cb), std::move(write_cb));
|
||||
}
|
||||
|
||||
void memory_manager::map_memory(const uint64_t address, const size_t size, const nt_memory_permission permissions)
|
||||
void memory_manager::map_memory(const uint64_t address, const size_t size, const memory_permission permissions)
|
||||
{
|
||||
auto perms = permissions.is_guarded() ? nt_memory_permission(memory_permission::none) : permissions;
|
||||
|
||||
this->memory_->map_memory(address, size, perms);
|
||||
this->memory_->map_memory(address, size, permissions);
|
||||
}
|
||||
|
||||
void memory_manager::unmap_memory(const uint64_t address, const size_t size)
|
||||
@@ -643,7 +637,7 @@ void memory_manager::unmap_memory(const uint64_t address, const size_t size)
|
||||
}
|
||||
|
||||
void memory_manager::apply_memory_protection(const uint64_t address, const size_t size,
|
||||
const nt_memory_permission permissions)
|
||||
const memory_permission permissions)
|
||||
{
|
||||
this->memory_->apply_memory_protection(address, size, permissions);
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <atomic>
|
||||
#include <cstdint>
|
||||
|
||||
#include "memory_region.hpp"
|
||||
#include "memory_permission_ext.hpp"
|
||||
#include "serialization.hpp"
|
||||
|
||||
#include <memory_interface.hpp>
|
||||
@@ -12,7 +12,16 @@ constexpr auto ALLOCATION_GRANULARITY = 0x0000000000010000ULL;
|
||||
constexpr auto MIN_ALLOCATION_ADDRESS = 0x0000000000010000ULL;
|
||||
constexpr auto MAX_ALLOCATION_ADDRESS = 0x00007ffffffeffffULL;
|
||||
|
||||
struct region_info : basic_memory_region
|
||||
// This maps to the `basic_memory_region` struct defined in
|
||||
// emulator\memory_region.hpp
|
||||
struct nt_basic_memory_region
|
||||
{
|
||||
uint64_t start{};
|
||||
size_t length{};
|
||||
nt_memory_permission permissions{};
|
||||
};
|
||||
|
||||
struct region_info : nt_basic_memory_region
|
||||
{
|
||||
uint64_t allocation_base{};
|
||||
size_t allocation_length{};
|
||||
@@ -96,9 +105,9 @@ class memory_manager : public memory_interface
|
||||
std::atomic<std::uint64_t> layout_version_{0};
|
||||
|
||||
void map_mmio(uint64_t address, size_t size, mmio_read_callback read_cb, mmio_write_callback write_cb) final;
|
||||
void map_memory(uint64_t address, size_t size, nt_memory_permission permissions) final;
|
||||
void map_memory(uint64_t address, size_t size, memory_permission permissions) final;
|
||||
void unmap_memory(uint64_t address, size_t size) final;
|
||||
void apply_memory_protection(uint64_t address, size_t size, nt_memory_permission permissions) final;
|
||||
void apply_memory_protection(uint64_t address, size_t size, memory_permission permissions) final;
|
||||
|
||||
void update_layout_version();
|
||||
};
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <emulator.hpp>
|
||||
#include "memory_permission_ext.hpp"
|
||||
|
||||
inline std::string get_permission_string(const memory_permission permission)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user