20 #include "ScsiController.h" 22 #include "pedigree/kernel/utilities/new" 24 ScsiController::ScsiController(
Controller *pDev)
30 ScsiController::ScsiController() :
RequestQueue(
"ScsiController")
36 ScsiController::~ScsiController() =
default;
38 void ScsiController::searchDisks()
40 for (
size_t i = 0; i < getNumUnits(); i++)
51 uint64_t p1, uint64_t p2, uint64_t p3, uint64_t p4, uint64_t p5,
52 uint64_t p6, uint64_t p7, uint64_t p8)
55 if (p1 == SCSI_REQUEST_READ)
57 else if (p1 == SCSI_REQUEST_WRITE)
58 return pDisk->doWrite(p3);
59 else if (p1 == SCSI_REQUEST_SYNC)
60 return pDisk->doSync(p3);
virtual uint64_t executeRequest(uint64_t p1, uint64_t p2, uint64_t p3, uint64_t p4, uint64_t p5, uint64_t p6, uint64_t p7, uint64_t p8)
virtual uint64_t doRead(uint64_t location)
bool initialise(class ScsiController *pController, size_t nUnit)