Просмотр исходного кода

core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap.

bunnei 3 лет назад
Родитель
Сommit
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 {
 
+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> {
 public:
     explicit KPageBuffer(KernelCore&) {}
@@ -21,8 +31,6 @@ public:
 private:
     [[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