Bochs' USB emulation
Posted: Sun Feb 05, 2023 4:42 pm
Hi guys,
If you have been following along with the few USB related threads lately, you might know that I have been updating the Bochs USB emulation to include a more accurate emulation as well as showing many more error checks.
My new code now checks for:
1) Speed indicator in the Transfer Descriptor matching the device speed.
2) Max packet size check, checking that the amount requested/sent is within limits.
3) Checking that the first packet sent is the GetDescriptor Request with a length equal to or less than the max packet size.
4) Checking the command length in the USB SCSI emulation.
5) Adding function to the USB SCSI emulation.
6) Checking command parameters within various emulations (SCSI (BBB), etc.)
7) Implemented "Boot Protocol" for the (HID) Mouse emulation.
As well as other checks and additions.
However, before I push it to the Bochs website as a pull-request, I need to test it further. If anyone here has a bootable image file of their OS with USB supported, I am requesting a copy of this image to further test my additions.
If you would like, please post a link here, or PM me for instructions on sending one to me via email. Please include a few details of which controller(s) and device(s) you support. A bochsrc.txt file would be best.
Thank you,
Ben
If you have been following along with the few USB related threads lately, you might know that I have been updating the Bochs USB emulation to include a more accurate emulation as well as showing many more error checks.
My new code now checks for:
1) Speed indicator in the Transfer Descriptor matching the device speed.
2) Max packet size check, checking that the amount requested/sent is within limits.
3) Checking that the first packet sent is the GetDescriptor Request with a length equal to or less than the max packet size.
4) Checking the command length in the USB SCSI emulation.
5) Adding function to the USB SCSI emulation.
6) Checking command parameters within various emulations (SCSI (BBB), etc.)
7) Implemented "Boot Protocol" for the (HID) Mouse emulation.
As well as other checks and additions.
However, before I push it to the Bochs website as a pull-request, I need to test it further. If anyone here has a bootable image file of their OS with USB supported, I am requesting a copy of this image to further test my additions.
If you would like, please post a link here, or PM me for instructions on sending one to me via email. Please include a few details of which controller(s) and device(s) you support. A bochsrc.txt file would be best.
Thank you,
Ben