SMMU: Implement backing CPU page protect/unprotect

This commit is contained in:
Fernando Sahmkow 2023-12-24 21:49:54 +01:00 committed by Liam
parent 7a9d1ad2f8
commit c85d7ccd79
4 changed files with 141 additions and 6 deletions

View file

@ -5,6 +5,17 @@
#include "video_core/host1x/gpu_device_memory_manager.h"
#include "video_core/rasterizer_interface.h"
namespace Tegra {
struct MaxwellDeviceMethods {
static inline void MarkRegionCaching(Core::Memory::Memory* interface, VAddr address,
size_t size, bool caching) {
interface->RasterizerMarkRegionCached(address, size, caching);
}
};
} // namespace Tegra
template struct Core::DeviceMemoryManagerAllocator<Tegra::MaxwellDeviceTraits>;
template class Core::DeviceMemoryManager<Tegra::MaxwellDeviceTraits>;

View file

@ -9,10 +9,13 @@ class RasterizerInterface;
namespace Tegra {
struct MaxwellDeviceMethods;
struct MaxwellDeviceTraits {
static constexpr bool supports_pinning = true;
static constexpr size_t device_virtual_bits = 34;
using DeviceInterface = typename VideoCore::RasterizerInterface;
using DeviceMethods = typename MaxwellDeviceMethods;
};
using MaxwellDeviceMemoryManager = Core::DeviceMemoryManager<MaxwellDeviceTraits>;