浏览代码

core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap.

bunnei 3 年之前
父节点
当前提交
f76b4417e6
共有 1 个文件被更改,包括 11 次插入3 次删除
  1. 11 3
      src/core/hle/kernel/k_page_buffer.h

+ 11 - 3
src/core/hle/kernel/k_page_buffer.h

@@ -11,6 +11,16 @@
 
 
 namespace Kernel {
 namespace Kernel {
 
 
+class KernelCore;
+
+class KPageBufferSlabHeap : protected impl::KSlabHeapImpl {
+public:
+    static constexpr size_t BufferSize = PageSize;
+
+public:
+    void Initialize(Core::System& system);
+};
+
 class KPageBuffer final : public KSlabAllocated<KPageBuffer> {
 class KPageBuffer final : public KSlabAllocated<KPageBuffer> {
 public:
 public:
     explicit KPageBuffer(KernelCore&) {}
     explicit KPageBuffer(KernelCore&) {}
@@ -21,8 +31,6 @@ public:
 private:
 private:
     [[maybe_unused]] alignas(PageSize) std::array<u8, PageSize> m_buffer{};
     [[maybe_unused]] alignas(PageSize) std::array<u8, PageSize> m_buffer{};
 };
 };
-
-static_assert(sizeof(KPageBuffer) == PageSize);
-static_assert(alignof(KPageBuffer) == PageSize);
+static_assert(sizeof(KPageBuffer) == KPageBufferSlabHeap::BufferSize);
 
 
 } // namespace Kernel
 } // namespace Kernel