|
|
|
@ -211,6 +211,7 @@ private: |
|
|
|
size_t m_mapped_unsafe_physical_memory{}; |
|
|
|
size_t m_mapped_insecure_memory{}; |
|
|
|
size_t m_mapped_ipc_server_memory{}; |
|
|
|
size_t m_alias_region_extra_size{}; |
|
|
|
mutable KLightLock m_general_lock; |
|
|
|
mutable KLightLock m_map_physical_memory_lock; |
|
|
|
KLightLock m_device_map_lock; |
|
|
|
@ -698,6 +699,10 @@ public: |
|
|
|
return m_alias_code_region_end - m_alias_code_region_start; |
|
|
|
} |
|
|
|
|
|
|
|
size_t GetAliasRegionExtraSize() const { |
|
|
|
return m_alias_region_extra_size; |
|
|
|
} |
|
|
|
|
|
|
|
size_t GetNormalMemorySize() const { |
|
|
|
// Lock the table. |
|
|
|
KScopedLightLock lk(m_general_lock); |
|
|
|
@ -718,17 +723,6 @@ public: |
|
|
|
return m_address_space_width; |
|
|
|
} |
|
|
|
|
|
|
|
size_t CalculateAliasRegionExtraSize() const { |
|
|
|
const size_t baseline = 64ull << 30; // Mostly appropriate for DRAM values <= 8GB |
|
|
|
const size_t region = GetAliasRegionSize(); |
|
|
|
|
|
|
|
if (region > baseline) { |
|
|
|
return region - baseline; |
|
|
|
} |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |
|
|
|
|
|
|
|
public: |
|
|
|
// Linear mapped |
|
|
|
static u8* GetLinearMappedVirtualPointer(KernelCore& kernel, KPhysicalAddress addr) { |
|
|
|
|