Kernel: Address Feedback
This commit is contained in:
		
							parent
							
								
									0901c33753
								
							
						
					
					
						commit
						024b5fe91a
					
				@ -52,7 +52,6 @@ public:
 | 
			
		||||
    using const_reference = const T&;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
 | 
			
		||||
    pointer address(reference r) {
 | 
			
		||||
        return std::addressof(r);
 | 
			
		||||
    }
 | 
			
		||||
@ -62,11 +61,11 @@ public:
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    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) {
 | 
			
		||||
        ::operator delete(p, std::align_val_t{Align});
 | 
			
		||||
        ::operator delete (p, std::align_val_t{Align});
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void construct(pointer p, const value_type& wert) {
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,12 @@
 | 
			
		||||
 | 
			
		||||
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>>;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
} // namespace Kernel
 | 
			
		||||
 | 
			
		||||
@ -59,8 +59,8 @@ SharedPtr<SharedMemory> SharedMemory::Create(KernelCore& kernel, Process* owner_
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
SharedPtr<SharedMemory> SharedMemory::CreateForApplet(
 | 
			
		||||
    KernelCore& kernel, std::shared_ptr<Kernel::PhysicalMemory> heap_block, std::size_t offset, u64 size,
 | 
			
		||||
    MemoryPermission permissions, MemoryPermission other_permissions, std::string name) {
 | 
			
		||||
    KernelCore& kernel, std::shared_ptr<Kernel::PhysicalMemory> heap_block, std::size_t offset,
 | 
			
		||||
    u64 size, MemoryPermission permissions, MemoryPermission other_permissions, std::string name) {
 | 
			
		||||
    SharedPtr<SharedMemory> shared_memory(new SharedMemory(kernel));
 | 
			
		||||
 | 
			
		||||
    shared_memory->owner_process = nullptr;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user