1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 04:47:34 +00:00

Kernel: Add AnonymousVMObject constructor for a Vector of physical pages

This will be used later on by the AHCI code to create a Region
that spans over scattered DMA pages.
This commit is contained in:
Liav A 2021-02-26 14:32:43 +02:00 committed by Andreas Kling
parent e65fd83e23
commit ecb169b61e
4 changed files with 22 additions and 0 deletions

View file

@ -43,6 +43,7 @@ public:
static RefPtr<AnonymousVMObject> create_with_size(size_t, AllocationStrategy);
static RefPtr<AnonymousVMObject> create_for_physical_range(PhysicalAddress paddr, size_t size);
static NonnullRefPtr<AnonymousVMObject> create_with_physical_page(PhysicalPage& page);
static NonnullRefPtr<AnonymousVMObject> create_with_physical_pages(NonnullRefPtrVector<PhysicalPage>);
virtual RefPtr<VMObject> clone() override;
RefPtr<PhysicalPage> allocate_committed_page(size_t);
@ -119,6 +120,7 @@ private:
explicit AnonymousVMObject(size_t, AllocationStrategy);
explicit AnonymousVMObject(PhysicalAddress, size_t);
explicit AnonymousVMObject(PhysicalPage&);
explicit AnonymousVMObject(NonnullRefPtrVector<PhysicalPage>);
explicit AnonymousVMObject(const AnonymousVMObject&);
virtual const char* class_name() const override { return "AnonymousVMObject"; }