Internships/ProjectIdeas/BusLogic: Difference between revisions

From QEMU
(Created page with "=== BusLogic === '''Summary:''' Porting BusLogic SCSI adapter from VirtualBox to QEMU QEMU doesn't support BusLogic SCSI adapter BT-958. However, VirtualBox supports it, a...")
 
 
Line 1: Line 1:
=== BusLogic ===
=== BusLogic SCSI adapter emulation ===
   
   
'''Summary:''' Porting BusLogic SCSI adapter from VirtualBox to QEMU
'''Summary:''' Port the BusLogic SCSI adapter from VirtualBox to QEMU
   
   
QEMU doesn't support BusLogic SCSI adapter BT-958. However, VirtualBox supports it, and some virtual machines include the only driver for BusLogic.
QEMU does not emulate the BusLogic BT-958 SCSI adapter. Virtual machines created by VirtualBox may only include the BusLogic driver and therefore be unable to boot under QEMU.


This project is aimed at supporting BusLogic adapter in QEMU. VirtualBox code may be used as a reference.
This project is aimed at supporting the BusLogic BT-958 adapter in QEMU. VirtualBox code may be used as a reference.
There is no documentation available, however Linux driver may be used to recover the details of the adapter behavior.
There is no hardware documentation available, however the Linux driver may be used to recover the details of the adapter behavior.
 
This project will expose you to device emulation and how SCSI Host Bus Adapters (HBAs) work.  You will learn in detail how drivers perform disk I/O with the BusLogic BT-958 adapter.  Previous experience with device driver development or device emulation will be helpful but is not necessary.
   
   
'''Links:'''
'''Links:'''
* No datasheet available
* [https://github.com/mirror/vbox/blob/master/src/VBox/Devices/Storage/DevBusLogic.cpp Implementation in VirtualBox]
* [https://github.com/mirror/vbox/blob/master/src/VBox/Devices/Storage/DevBusLogic.cpp Implementation in VirtualBox]
* [https://github.com/heroboec/qemu/blob/master/hw/scsi/buslogic.c Prior (incomplete) implementation in QEMU]
* [https://github.com/heroboec/qemu/blob/master/hw/scsi/buslogic.c Prior (incomplete) implementation in QEMU]

Latest revision as of 10:37, 5 February 2020

BusLogic SCSI adapter emulation

Summary: Port the BusLogic SCSI adapter from VirtualBox to QEMU

QEMU does not emulate the BusLogic BT-958 SCSI adapter. Virtual machines created by VirtualBox may only include the BusLogic driver and therefore be unable to boot under QEMU.

This project is aimed at supporting the BusLogic BT-958 adapter in QEMU. VirtualBox code may be used as a reference. There is no hardware documentation available, however the Linux driver may be used to recover the details of the adapter behavior.

This project will expose you to device emulation and how SCSI Host Bus Adapters (HBAs) work. You will learn in detail how drivers perform disk I/O with the BusLogic BT-958 adapter. Previous experience with device driver development or device emulation will be helpful but is not necessary.

Links:

Details:

  • Skill level: advanced
  • Language: C
  • Mentor: Denis Dmitriev <Denis.Dmitriev@ispras.ru>, Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
  • Suggested by: Pavel Dovgalyuk