23#include "pedigree/kernel/compiler.h"
24#include "pedigree/kernel/machine/Disk.h"
25#include "pedigree/kernel/process/Mutex.h"
26#include "pedigree/kernel/processor/MemoryRegion.h"
27#include "pedigree/kernel/processor/types.h"
28#include "pedigree/kernel/utilities/Cache.h"
29#include "pedigree/kernel/utilities/String.h"
31#include "modules/system/vfs/File.h"
61 str = m_pFile->getName();
69 virtual void write(uint64_t location);
70 virtual void align(uint64_t location);
72 virtual bool pin(uint64_t location);
73 virtual void unpin(uint64_t location);
105 uint64_t m_AlignPoints[8];
106 size_t m_nAlignPoints;
virtual void align(uint64_t location)
Sets the page boundary alignment after a specific location on the disk.
virtual BufferView read(uint64_t location)
virtual size_t getSize() const
Gets the size of the disk.
virtual void unpin(uint64_t location)=0
virtual void write(uint64_t location)
virtual MUST_USE_RESULT bool pin(uint64_t location)=0
Pins a cache page.
virtual bool cacheIsCritical()
virtual void getName(String &str)
bool m_bVfsReference
Whether this disk owns a persistent VFS reference to m_pFile.
AccessType m_Mode
Access mode.
File * m_pFile
File we're using as a disk.
Special memory entity in the kernel's virtual address space.