diff options
| author | 2022-10-29 13:46:39 -0700 | |
|---|---|---|
| committer | 2022-11-03 21:17:06 -0700 | |
| commit | f76b4417e6b705137dffbed0ee0b0d47af00e24a (patch) | |
| tree | 51bacd745df3fc390ffe7014a62d77f12093d553 | |
| parent | core: hle: kernel: Add KPageTableManager. (diff) | |
| download | yuzu-f76b4417e6b705137dffbed0ee0b0d47af00e24a.tar.gz yuzu-f76b4417e6b705137dffbed0ee0b0d47af00e24a.tar.xz yuzu-f76b4417e6b705137dffbed0ee0b0d47af00e24a.zip | |
core: hle: kernel: k_page_buffer: Add KPageBufferSlabHeap.
| -rw-r--r-- | src/core/hle/kernel/k_page_buffer.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/core/hle/kernel/k_page_buffer.h b/src/core/hle/kernel/k_page_buffer.h index aef06e213..cfedaae61 100644 --- a/src/core/hle/kernel/k_page_buffer.h +++ b/src/core/hle/kernel/k_page_buffer.h | |||
| @@ -11,6 +11,16 @@ | |||
| 11 | 11 | ||
| 12 | namespace Kernel { | 12 | namespace Kernel { |
| 13 | 13 | ||
| 14 | class KernelCore; | ||
| 15 | |||
| 16 | class KPageBufferSlabHeap : protected impl::KSlabHeapImpl { | ||
| 17 | public: | ||
| 18 | static constexpr size_t BufferSize = PageSize; | ||
| 19 | |||
| 20 | public: | ||
| 21 | void Initialize(Core::System& system); | ||
| 22 | }; | ||
| 23 | |||
| 14 | class KPageBuffer final : public KSlabAllocated<KPageBuffer> { | 24 | class KPageBuffer final : public KSlabAllocated<KPageBuffer> { |
| 15 | public: | 25 | public: |
| 16 | explicit KPageBuffer(KernelCore&) {} | 26 | explicit KPageBuffer(KernelCore&) {} |
| @@ -21,8 +31,6 @@ public: | |||
| 21 | private: | 31 | private: |
| 22 | [[maybe_unused]] alignas(PageSize) std::array<u8, PageSize> m_buffer{}; | 32 | [[maybe_unused]] alignas(PageSize) std::array<u8, PageSize> m_buffer{}; |
| 23 | }; | 33 | }; |
| 24 | 34 | static_assert(sizeof(KPageBuffer) == KPageBufferSlabHeap::BufferSize); | |
| 25 | static_assert(sizeof(KPageBuffer) == PageSize); | ||
| 26 | static_assert(alignof(KPageBuffer) == PageSize); | ||
| 27 | 35 | ||
| 28 | } // namespace Kernel | 36 | } // namespace Kernel |