20#include "modules/drivers/common/scsi/ScsiDisk.h"
32 size_t getSize()
const override;
33 size_t getBlockCount()
const override;
37 uint64_t
doRead(uint64_t location)
override;
38 uint64_t doWrite(uint64_t location)
override;
39 uint64_t
doWriteDirect(uint64_t location, uintptr_t page)
override;
40 uint64_t doSync(uint64_t location)
override;
50 bool supportsBufferTransfers()
const override {
53 bool transferBuffer(uint64_t location,
void* buffer,
size_t length,
bool writing)
override;
59 size_t validPageLength(uint64_t location)
const;
virtual uint64_t doRead(uint64_t location)
bool initialise(class ScsiController *pController, size_t nUnit)
virtual size_t getSize() const
Gets the size of the disk.
virtual MUST_USE_RESULT uint64_t doWriteDirect(uint64_t location, uintptr_t page)
virtual void getName(String &str)
virtual size_t getBlockSize() const
Gets the preferred I/O extent of the disk.
virtual size_t getNativeBlockSize() const