Move page numbers for MODE SENSE to scsi.h

This commit is contained in:
Maxim Poliakovski
2026-02-12 01:05:25 +01:00
parent 3545296e3a
commit 8a280f71ab
3 changed files with 12 additions and 11 deletions
+11
View File
@@ -203,6 +203,17 @@ enum : uint8_t {
CAP_CMD_SRST = 1 << 0, // device supports soft resets
};
/** Page numbers for MODE SENSE and MODE SELECT. */
enum ModePage {
ERROR_RECOVERY = 0x1,
CDROM_PARAMS = 0xD,
CDROM_AUDIO = 0xE,
POWER_CONDITION = 0x1A,
CDROM_CAPABILITIES = 0x2A,
VENDOR_PAGE_31 = 0x31,
ALL_PAGES = 0x3F,
};
/** Standard SCSI bus timing values measured in ns. */
constexpr uint64_t BUS_SETTLE_DELAY = 400;
constexpr uint64_t BUS_FREE_DELAY = 800;
+1 -1
View File
@@ -135,7 +135,7 @@ uint32_t CdromDrive::mode_sense_ex(bool is_sense_6, uint8_t* cmd_ptr, uint8_t* d
resp_ptr[0] = page_code;
switch (page_code) {
case ModePage::READ_ERROR_RECOVERY:
case ModePage::ERROR_RECOVERY:
resp_ptr[1] = 6; // data size
std::memset(&resp_ptr[2], 0, 6);
data_ptr[1] += 8; // adjust overall length
-10
View File
@@ -44,16 +44,6 @@ typedef struct {
uint32_t start_lba;
} TrackDescriptor;
enum ModePage {
READ_ERROR_RECOVERY = 1,
CDROM_PARAMS = 0xD,
CDROM_AUDIO = 0xE,
POWER_CONDITION = 0x1A,
CDROM_CAPABILITIES = 0x2A,
VENDOR_PAGE_31 = 0x31,
ALL_PAGES = 0x3F,
};
constexpr auto CDROM_MAX_TRACKS = 100;
constexpr auto LEAD_OUT_TRK_NUM = 0xAA;
constexpr auto CDR_STD_DATA_SIZE = 2048;