Commit Graph

64 Commits

Author SHA1 Message Date
Uwe Seimet
4fa513090a
Improve code sharing and dependencies, address code duplication (#976) 2022-11-10 07:44:06 +01:00
Uwe Seimet
1c0179e7e3
rasdump and monitor updates, made rasdump work, improved bus abstraction (#973)
* Moved rasdump and monitor to sub-folders, cleaned up code

* Fixes rasdump issues and added additional features like device type check, LUN support and configurable buffer size
2022-11-09 08:40:26 +01:00
Uwe Seimet
1cae530d42
Added command byte count to SCSI command mapping (#966)
* Extended mapping table with command byte count

* Terminate early if command is unknown
2022-11-06 19:44:44 +01:00
Uwe Seimet
c98c52ffb8
Cleaned up dependencies on controller manager (#964)
* 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
2022-11-04 08:22:32 +01:00
Uwe Seimet
83d1595a35
Improved testability of rascsi/rasctl/scsimon/rasdump, eliminated global fields (#960)
* Moved rascsi/rasctl/scsimon/rasdump.cpp to classes (for better testability)

* Moved bus.* to hal folder

* Removed some global variables

* Fixed code redundancies
2022-11-02 23:41:45 +01:00
Uwe Seimet
c41373d9bd
Use lambdas for dispatcher, code cleanup, test updates (#958)
* 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
2022-11-02 15:36:19 +01:00
akuker
31dd063611
Create devices after bus creation (#954) 2022-11-02 08:58:59 -05:00
Uwe Seimet
621cc7d5a2
Code cleanup, especially casts, lambdas, data types, encapsulation (#952)
* 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
2022-11-02 07:36:25 +01:00
Uwe Seimet
9a4f433baf
Validate SCSI error codes (sense key, asc) in unit tests (issue #895) (#950) 2022-10-29 18:16:03 +02:00
Uwe Seimet
f84a13b3e2
Prevent copying of files in use (#951) 2022-10-29 18:15:30 +02:00
Uwe Seimet
6e35577368
Removed wrong inheritance of SCDP and SCBR from Disk class (#948)
* Fixed TODOs, updated SCBR and SCDP

* Introduced ByteWriter interface

* Use accessors instead of directly accessing length/block fields
2022-10-29 18:10:00 +02:00
Uwe Seimet
c1f63c6745
Added missing command mapping for DEVICES_INFO (#947) 2022-10-27 16:31:32 +02:00
Uwe Seimet
2cecf4b35c
Image file deletion: Fixed error handling (#944)
* Fixed ID/LUN check when deleting image

* Updated error handling when deleting image file

* Prevent renaming of image file in use
2022-10-26 17:43:11 +02:00
Daniel Markstedt
08194af424
Move C++ code into cpp/ dir (#941)
- 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
2022-10-25 12:59:30 -07:00