1 #include <hal/ahci/hba.h>
2 #include <hal/ahci/scsi.h>
3 #include <hal/ahci/utils.h>
5 #include <klibc/string.h>
6 #include <lunaix/spike.h>
9 scsi_create_packet12(struct scsi_cdb12* cdb,
14 memset(cdb, 0, sizeof(*cdb));
16 cdb->lba_be = SCSI_FLIP(lba);
17 cdb->length = alloc_size;
21 scsi_create_packet16(struct scsi_cdb16* cdb,
27 memset(cdb, 0, sizeof(*cdb));
29 cdb->lba_be_hi = SCSI_FLIP(lba_hi);
30 cdb->lba_be_lo = SCSI_FLIP(lba_lo);
31 cdb->length = alloc_size;
35 scsi_parse_capacity(struct hba_device* device, uint32_t* parameter)
37 device->max_lba = SCSI_FLIP(*(parameter + 1));
38 device->block_size = SCSI_FLIP(*(parameter + 2));