diff --git a/rpcsx-os/iodev/dmem.hpp b/rpcsx-os/iodev/dmem.hpp index bff4efd..77816ae 100644 --- a/rpcsx-os/iodev/dmem.hpp +++ b/rpcsx-os/iodev/dmem.hpp @@ -1,6 +1,7 @@ #pragma once #include "io-device.hpp" +#include "orbis/KernelAllocator.hpp" #include "orbis/error/ErrorCode.hpp" #include "orbis/file.hpp" #include "orbis/utils/Rc.hpp" @@ -21,7 +22,7 @@ struct DmemDevice : public IoDevice { auto operator<=>(const AllocationInfo &) const = default; }; - rx::MemoryTableWithPayload allocations; + rx::MemoryTableWithPayload allocations; orbis::ErrorCode allocate(std::uint64_t *start, std::uint64_t searchEnd, std::uint64_t len, std::uint64_t alignment, diff --git a/rx/include/rx/MemoryTable.hpp b/rx/include/rx/MemoryTable.hpp index a853830..70d7530 100644 --- a/rx/include/rx/MemoryTable.hpp +++ b/rx/include/rx/MemoryTable.hpp @@ -202,9 +202,13 @@ public: } }; -template class MemoryTableWithPayload { +template typename Allocator = std::allocator> +class MemoryTableWithPayload { enum class Kind { O, X, XO }; - std::map> mAreas; + std::map, std::less<>, + Allocator>>> + mAreas; public: struct AreaInfo {