* Add ModeSense page 0x25 (DECSpecialFunctionControlPage)
VAXServer 3100 (CPU KA41-E) console firmware issues ModeSense(6)
page 0x25 when probing for disks. A disk won't be recognized if
this returns an error.
The DEC SCSI specification[1], section 8.5 documents this page.
[1] https://manx-docs.org/collections/antonio/dec/dec-scsi.pdfFixes#1410
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Make ModeSelect() non-const
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Implement ModeSelect for scsicd
and honor sector size setting.
DEC's VMS can't handle 2k sector sizes and uses ModeSelect6 to set the
sector size to 512 bytes.
Fixes#1397
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Test sector size setting via ModeSelect in SCSICD
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Re-calculate total blocks when sector size changes
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Reset CD data tracks after sector size change
The track calculation is based on sector size and must be reset after
change of sector size.
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* resize cache after change of sector size
The disk cache is based on sector size and must be resized when the
sector size changes.
Disk::ResizeCache needs a `raw` parameter, make this value accessible
from the current cache.
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Make GetRawMode const
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
---------
Signed-off-by: Klaus Kämpf <kkaempf@gmail.com>
* Improve how commands are internally executed
* Use const CommandContext for execution
* Update error handling
* Fix SonarQube issues
* Remove duplicate code
* Use mutex instead of atomic_bool
* Add hasher
* Add param_map
* Do not log unknown operations as an error for backward/foward compatibility
* Rebrand project to PiSCSI
- rascsi ->piscsi
- rasctl -> scsictl
- rasdump -> scsidump
- ras* -> piscsi* (rasutil -> piscsi_util, etc.)
* Refined the formatting and wording of the app startup banner
* Kept some references to rascsi and rasctl where backwards compatibility is concerned
* Point to the new github repo URL
Co-authored-by: nucleogenic <nr@nucleogenic.com>
Co-authored-by: Uwe Seimet <Uwe.Seimet@seimet.de>
* Cleaned up dependencies on controller manager
* Removed global fields
* Simplified setting up RascsiResponse and RascsiExecutor
* Got rid of remaining raw pointers
* Use references instead of pointers
* Improved encapsulation
* Moved rascsi/rasctl/scsimon/rasdump.cpp to classes (for better testability)
* Moved bus.* to hal folder
* Removed some global variables
* Fixed code redundancies
* Using lambdas instead of member function pointers simplifies the command dispatching and reduces the code volume
* Removed duplicate error handling
* Fix for issue #956
* Unit test updates
* Resolved SonarQube issues
* Unit test updates
* Lambda syntax cleanup
* Use new-style casts
* Use std::none_of when saving the cache
* Use to_integer instead of casts
* Use accessors for getting CDB data
* Made ctrl_t private
* Improved encapsulation
* Replaced pointers by references
* Removed all remaining occurrences of DWORD and BYTE, making os.h obsolete
- Moved C++ code to cpp/ from src/raspberrypi
- Related updates to Makefile, easyinstall.sh, and the github build rules
- Removed the native X68k C code in src/x68k from the repo