3
0
Fork 0
forked from suyu/suyu

Kernel: Address Feedback

This commit is contained in:
Fernando Sahmkow 2019-07-19 11:14:47 -04:00 committed by FernandoS27
parent 0901c33753
commit 024b5fe91a
3 changed files with 11 additions and 6 deletions

View file

@ -52,7 +52,6 @@ public:
using const_reference = const T&; using const_reference = const T&;
public: public:
pointer address(reference r) { pointer address(reference r) {
return std::addressof(r); return std::addressof(r);
} }
@ -62,11 +61,11 @@ public:
} }
pointer allocate(size_type n) { pointer allocate(size_type n) {
return static_cast<pointer>(::operator new(n, std::align_val_t{Align})); return static_cast<pointer>(::operator new (n, std::align_val_t{Align}));
} }
void deallocate(pointer p, size_type) { void deallocate(pointer p, size_type) {
::operator delete(p, std::align_val_t{Align}); ::operator delete (p, std::align_val_t{Align});
} }
void construct(pointer p, const value_type& wert) { void construct(pointer p, const value_type& wert) {

View file

@ -8,6 +8,12 @@
namespace Kernel { namespace Kernel {
// This encapsulation serves 2 purposes:
// - First, to encapsulate host physical memory under a single type and set an
// standard for managing it.
// - Second to ensure all host backing memory used is aligned to 256 bytes due
// to strict alignment restrictions on GPU memory.
using PhysicalMemory = std::vector<u8, Common::AlignmentAllocator<u8, 256>>; using PhysicalMemory = std::vector<u8, Common::AlignmentAllocator<u8, 256>>;
} } // namespace Kernel

View file

@ -59,8 +59,8 @@ SharedPtr<SharedMemory> SharedMemory::Create(KernelCore& kernel, Process* owner_
} }
SharedPtr<SharedMemory> SharedMemory::CreateForApplet( SharedPtr<SharedMemory> SharedMemory::CreateForApplet(
KernelCore& kernel, std::shared_ptr<Kernel::PhysicalMemory> heap_block, std::size_t offset, u64 size, KernelCore& kernel, std::shared_ptr<Kernel::PhysicalMemory> heap_block, std::size_t offset,
MemoryPermission permissions, MemoryPermission other_permissions, std::string name) { u64 size, MemoryPermission permissions, MemoryPermission other_permissions, std::string name) {
SharedPtr<SharedMemory> shared_memory(new SharedMemory(kernel)); SharedPtr<SharedMemory> shared_memory(new SharedMemory(kernel));
shared_memory->owner_process = nullptr; shared_memory->owner_process = nullptr;