mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 01:48:21 -07:00
Merge pull request #6831 from disean/ql1xxx
ql1xxx: Add functionality to emulate QLogic ISP SCSI HBA devices
This commit is contained in:
@@ -31,6 +31,43 @@
|
||||
#define PCI_REG_LATENCY_TIMER 0x0d
|
||||
#define PCI_REG_HEADER_TYPE 0x0e
|
||||
#define PCI_REG_BIST 0x0f
|
||||
#define PCI_REG_BAR0_BYTE0 0x10
|
||||
#define PCI_REG_BAR0_BYTE1 0x11
|
||||
#define PCI_REG_BAR0_BYTE2 0x12
|
||||
#define PCI_REG_BAR0_BYTE3 0x13
|
||||
#define PCI_REG_BAR1_BYTE0 0x14
|
||||
#define PCI_REG_BAR1_BYTE1 0x15
|
||||
#define PCI_REG_BAR1_BYTE2 0x16
|
||||
#define PCI_REG_BAR1_BYTE3 0x17
|
||||
#define PCI_REG_BAR2_BYTE0 0x18
|
||||
#define PCI_REG_BAR2_BYTE1 0x19
|
||||
#define PCI_REG_BAR2_BYTE2 0x1a
|
||||
#define PCI_REG_BAR2_BYTE3 0x1b
|
||||
#define PCI_REG_BAR3_BYTE0 0x1c
|
||||
#define PCI_REG_BAR3_BYTE1 0x1d
|
||||
#define PCI_REG_BAR3_BYTE2 0x1e
|
||||
#define PCI_REG_BAR3_BYTE3 0x1e
|
||||
#define PCI_REG_BAR4_BYTE0 0x20
|
||||
#define PCI_REG_BAR4_BYTE1 0x21
|
||||
#define PCI_REG_BAR4_BYTE2 0x22
|
||||
#define PCI_REG_BAR4_BYTE3 0x23
|
||||
#define PCI_REG_BAR5_BYTE0 0x24
|
||||
#define PCI_REG_BAR5_BYTE1 0x25
|
||||
#define PCI_REG_BAR5_BYTE2 0x26
|
||||
#define PCI_REG_BAR5_BYTE3 0x27
|
||||
#define PCI_REG_SUBVEN_ID_L 0x2c
|
||||
#define PCI_REG_SUBVEN_ID_H 0x2d
|
||||
#define PCI_REG_SUBSYS_ID_L 0x2e
|
||||
#define PCI_REG_SUBSYS_ID_H 0x2f
|
||||
#define PCI_REG_ROM_BAR_BYTE0 0x30
|
||||
#define PCI_REG_ROM_BAR_BYTE1 0x31
|
||||
#define PCI_REG_ROM_BAR_BYTE2 0x32
|
||||
#define PCI_REG_ROM_BAR_BYTE3 0x33
|
||||
#define PCI_REG_CAPS_PTR 0x34
|
||||
#define PCI_REG_INT_LINE 0x3c
|
||||
#define PCI_REG_INT_PIN 0x3d
|
||||
#define PCI_REG_MIN_GRANT 0x3e
|
||||
#define PCI_REG_MAX_LAT 0x3f
|
||||
|
||||
#define PCI_COMMAND_L_IO 0x01
|
||||
#define PCI_COMMAND_L_MEM 0x02
|
||||
|
||||
19
src/include/86box/scsi_qlogic.h
Normal file
19
src/include/86box/scsi_qlogic.h
Normal file
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* 86Box A hypervisor and IBM PC system emulator that specializes in
|
||||
* running old operating systems and software designed for IBM
|
||||
* PC systems and compatibles from 1981 through fairly recent
|
||||
* system designs based on the PCI bus.
|
||||
*
|
||||
* Emulation of QLogic QLA1x40/QLA1x80/QLA1x160 SCSI HBA.
|
||||
*
|
||||
* Authors: Dmitry Borisov, <di.sean@protonmail.com>
|
||||
*
|
||||
* Copyright 2026 Dmitry Borisov
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
extern const device_t qla1040b_device;
|
||||
extern const device_t qla1080_device;
|
||||
extern const device_t qla1240_device;
|
||||
extern const device_t qla1280_device;
|
||||
extern const device_t qla12160a_device;
|
||||
@@ -28,5 +28,6 @@ add_library(scsi OBJECT
|
||||
scsi_t128.c
|
||||
scsi_ncr53c8xx.c
|
||||
scsi_pcscsi.c
|
||||
scsi_ql1xxx.c
|
||||
scsi_spock.c
|
||||
)
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <86box/scsi_ncr5380.h>
|
||||
#include <86box/scsi_ncr53c8xx.h>
|
||||
#include <86box/scsi_pcscsi.h>
|
||||
#include <86box/scsi_qlogic.h>
|
||||
#include <86box/scsi_spock.h>
|
||||
|
||||
int scsi_card_current[SCSI_CARD_MAX] = { 0, 0, 0, 0 };
|
||||
@@ -91,6 +92,11 @@ static SCSI_CARD scsi_cards[] = {
|
||||
{ &ncr53c860_pci_device, },
|
||||
{ &ncr53c875_pci_device, },
|
||||
{ &dc390_pci_device, },
|
||||
{ &qla1040b_device, },
|
||||
{ &qla1080_device, },
|
||||
{ &qla1240_device, },
|
||||
{ &qla1280_device, },
|
||||
{ &qla12160a_device, },
|
||||
{ NULL, },
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
4581
src/scsi/scsi_ql1xxx.c
Normal file
4581
src/scsi/scsi_ql1xxx.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user