-
-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple fixes for ModeSelect #1405
Commits on Aug 1, 2022
-
Tony Kuker committed
Aug 1, 2022 Configuration menu - View commit details
-
Copy full SHA for 8135dcd - Browse repository at this point
Copy the full SHA 8135dcdView commit details
Commits on Aug 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9d10347 - Browse repository at this point
Copy the full SHA 9d10347View commit details
Commits on Sep 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 7ba85c5 - Browse repository at this point
Copy the full SHA 7ba85c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for a31476d - Browse repository at this point
Copy the full SHA a31476dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 27845d7 - Browse repository at this point
Copy the full SHA 27845d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5cb3bb5 - Browse repository at this point
Copy the full SHA 5cb3bb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for a33a256 - Browse repository at this point
Copy the full SHA a33a256View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1582ece - Browse repository at this point
Copy the full SHA 1582eceView commit details
Commits on Oct 23, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 39d36cf - Browse repository at this point
Copy the full SHA 39d36cfView commit details
Commits on Dec 23, 2022
-
Update revision number for release
Tony Kuker committedDec 23, 2022 Configuration menu - View commit details
-
Copy full SHA for c7f7f55 - Browse repository at this point
Copy the full SHA c7f7f55View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef49663 - Browse repository at this point
Copy the full SHA ef49663View commit details
Commits on Feb 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 3c7e2cd - Browse repository at this point
Copy the full SHA 3c7e2cdView commit details
Commits on Apr 7, 2023
-
Remove SonarCloud cache setup as it is now offered by default (PiSCSI…
…#1135) No need to configure the cache anymore, SonarCloud now has an automatic analysis caching. See https://docs.sonarcloud.io/advanced-setup/languages/c-c-objective-c/#analysis-cache.
Configuration menu - View commit details
-
Copy full SHA for 3ad668c - Browse repository at this point
Copy the full SHA 3ad668cView commit details
Commits on Apr 10, 2023
-
Revert "Remove SonarCloud cache setup as it is now offered by default (…
…PiSCSI#1135)" (PiSCSI#1144) This reverts commit 3ad668c.
Configuration menu - View commit details
-
Copy full SHA for 92d9fe5 - Browse repository at this point
Copy the full SHA 92d9fe5View commit details
Commits on Apr 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 57fa874 - Browse repository at this point
Copy the full SHA 57fa874View commit details
Commits on Nov 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for cd4d630 - Browse repository at this point
Copy the full SHA cd4d630View commit details -
Configuration menu - View commit details
-
Copy full SHA for 796869d - Browse repository at this point
Copy the full SHA 796869dView commit details
Commits on Dec 25, 2023
-
tl;dr Treat a computed length of 0 as `has_valid_page_code`. Details: The SRM console (aka 'BIOS') of DEC Alpha sends an empty ModeSelect6 with the following data: ~~~ ModeSelect6, CDB $151000000c00 ~~~ That makes 12 byte(s) as follows ~~~ 0 1 2 3 4 5 6 7 8 9 10 11 00 00 00 08 00 00 00 00 00 00 02 00 ~~~ decoding it (accoring to [1], Section 8.3.3, Table 94) gives us Mode Data Length 0 Medium Type 0 Device-specific 0 Block desc len 8 Density Code 0 Number of blks 0 Reserved 0 Block length 512 `scsi_command_util::ModeSelect` computes ~~~ offset = 4 + buf[3]; ~~~ giving 12 and ~~~ length -= offset; ~~~ giving 0. Thus it never enters the `while` loop and `has_valid_page_code` stays `false`, raising an error. [1] [Small Computer System Interface - 2 rev 10L.pdf](https://dn790004.ca.archive.org/0/items/SCSISpecificationDocumentsSCSIDocuments/Small%20Computer%20System%20Interface%20-%202%20rev%2010L.pdf) Signed-off-by: Klaus Kämpf <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c332c49 - Browse repository at this point
Copy the full SHA c332c49View commit details -
Allow ModeSelect with page code 1
OpenVMS Alpha (the operating system, not the SRM BIOS) uses ModeSelect6 with a page code of 1. The semantics are unknown, just accepting it works for me. Signed-off-by: Klaus Kämpf <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4194e7c - Browse repository at this point
Copy the full SHA 4194e7cView commit details -
Fix page length computation in ModeSelect
tl;dr The 'skip to next ModeSelect page' computation was off-by-one, either not taking the page code itself into account or missing the fact that the page length is given as `n - 1`. Fix: Add 1 to the computed length. Details: OpenVMS Alpha sends a ModeSelect6 as follows ~~~ command: ModeSelect6, CDB $151000001900 payload: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 00 00 00 08 00 00 00 00 00 00 02 00 01 0a 24 00 00 00 00 00 00 00 00 00 00 ~~~ This translates to (accoring to [1], Section 8.3.3) ~~~ Mode Data Length 0 Medium Type 0 Device-specific 0 Block desc len 8 ~~~ with the following offset / length computation _before_ the `while` loop ~~~ offset = 12 length = 13 ~~~ The first payload section is ~~~ 4 5 6 7 8 9 10 11 00 00 00 00 00 00 02 00 ~~~ translating to ~~~ Density Code 0 Number of blks 0 Reserved 0 Block length 0x200 512 ~~~ Then follows a pagecode 1 as ~~~ 12 13 14 15 16 17 18 19 20 21 22 23 24 01 0a 24 00 00 00 00 00 00 00 00 00 00 ~~~ translating to ~~~~ Page code 1 Page length -1 10 Mode parameters 24 00 00 00 00 00 00 00 00 00 00 ~~~ computing (inside the `while` loop, as `// Advance to the next page`) ~~~ size = 10 + 2 = 12 ~~~ followed by new `offset` and `length` values ~~~ offset = 25 length = 1 ~~~ So it stays in the `while` loop (and has a larger-than-buffer `offset` value) Signed-off-by: Klaus Kämpf <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9794ef3 - Browse repository at this point
Copy the full SHA 9794ef3View commit details
Commits on Jan 4, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 91dbbfb - Browse repository at this point
Copy the full SHA 91dbbfbView commit details -
Configuration menu - View commit details
-
Copy full SHA for db7f215 - Browse repository at this point
Copy the full SHA db7f215View commit details
Commits on Jan 5, 2024
-
Add length computation test for ModeSelect6
Signed-off-by: Klaus Kämpf <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ccaa729 - Browse repository at this point
Copy the full SHA ccaa729View commit details -
Signed-off-by: Klaus Kämpf <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e004c1d - Browse repository at this point
Copy the full SHA e004c1dView commit details
Commits on Jan 7, 2024
-
Configuration menu - View commit details
-
Copy full SHA for de803bd - Browse repository at this point
Copy the full SHA de803bdView commit details