Skip to content

fix generic CDB framing and CD-ROM negotiation - #1777

Open
rdmark wants to merge 1 commit into
developfrom
1634-issues-with-simulated-dec-rrd42-scsi-drive---netbsd-on-vax-and-alpha
Open

rdmark wants to merge 1 commit into
developfrom
1634-issues-with-simulated-dec-rrd42-scsi-drive---netbsd-on-vax-and-alpha

Conversation

@rdmark

@rdmark rdmark commented Sep 6, 2026

Copy link
Copy Markdown
Member

Infer the length of otherwise unsupported standard SCSI CDBs from their command group, so the target consumes the complete command before returning an invalid-command status. This prevents commands such as READ DISC INFORMATION from leaving trailing CDB bytes on the bus, while preserving the special Atari ICD prefix and rejecting vendor-specific groups whose length is not defined.

Handle page-zero MODE SENSE requests as header-and-block-descriptor responses with correct MODE DATA LENGTH fields. Accept descriptor-only CD-ROM MODE SELECT requests, validate the requested logical block size, switch between the supported 512 and 2048 byte formats while preserving capacity, and rebuild CD tracking and cache state.

Add unit test coverage for CDB group lengths, MODE SENSE page zero, descriptor-only MODE SELECT, and CD block-size transitions.

Thank you to Jan-Benedict Glaw (@jbglaw) for the report

@rdmark
rdmark requested a review from akuker as a code owner September 6, 2026 06:03
Infer the length of otherwise unsupported standard SCSI CDBs from their command group, so the target consumes the complete command before returning an invalid-command status. This prevents commands such as READ DISC INFORMATION from leaving trailing CDB bytes on the bus, while preserving the special Atari ICD prefix and rejecting vendor-specific groups whose length is not defined.

Handle page-zero MODE SENSE requests as header-and-block-descriptor responses with correct MODE DATA LENGTH fields. Accept descriptor-only CD-ROM MODE SELECT requests, validate the requested logical block size, switch between the supported 512 and 2048 byte formats while preserving capacity, and rebuild CD tracking and cache state.

Add unit test coverage for CDB group lengths, MODE SENSE page zero, descriptor-only MODE SELECT, and CD block-size transitions.

Thank you to Jan-Benedict Glaw (@jbglaw) for the report
@rdmark
rdmark force-pushed the 1634-issues-with-simulated-dec-rrd42-scsi-drive---netbsd-on-vax-and-alpha branch from 7efd674 to 3df5345 Compare September 6, 2026 06:28
@sonarqubecloud

sonarqubecloud Bot commented Sep 6, 2026

Copy link
Copy Markdown

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issues with simulated DEC RRD42 SCSI drive <-> NetBSD on VAX and Alpha

1 participant