VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/OvmfPkg/Include/IndustryStandard/LsiScsi.h@ 89983

Last change on this file since 89983 was 89983, checked in by vboxsync, 3 years ago

Devices/EFI: Merge edk-stable202105 and openssl 1.1.1j and make it build, bugref:4643

  • Property svn:eol-style set to native
File size: 2.9 KB
Line 
1/** @file
2
3 Macros and type definitions for LSI 53C895A SCSI devices.
4
5 Copyright (C) 2020, SUSE LLC.
6
7 SPDX-License-Identifier: BSD-2-Clause-Patent
8
9**/
10
11#ifndef _LSI_SCSI_H_
12#define _LSI_SCSI_H_
13
14//
15// Device ID
16//
17#define LSI_LOGIC_PCI_VENDOR_ID 0x1000
18#define LSI_53C895A_PCI_DEVICE_ID 0x0012
19
20//
21// LSI 53C895A Registers
22//
23#define LSI_REG_DSTAT 0x0C
24#define LSI_REG_ISTAT0 0x14
25#define LSI_REG_DSP 0x2C
26#define LSI_REG_SIST0 0x42
27#define LSI_REG_SIST1 0x43
28#define LSI_REG_CSBC 0xDC
29
30//
31// The status bits for DMA Status (DSTAT)
32//
33#define LSI_DSTAT_IID BIT0
34#define LSI_DSTAT_R BIT1
35#define LSI_DSTAT_SIR BIT2
36#define LSI_DSTAT_SSI BIT3
37#define LSI_DSTAT_ABRT BIT4
38#define LSI_DSTAT_BF BIT5
39#define LSI_DSTAT_MDPE BIT6
40#define LSI_DSTAT_DFE BIT7
41
42//
43// The status bits for Interrupt Status Zero (ISTAT0)
44//
45#define LSI_ISTAT0_DIP BIT0
46#define LSI_ISTAT0_SIP BIT1
47#define LSI_ISTAT0_INTF BIT2
48#define LSI_ISTAT0_CON BIT3
49#define LSI_ISTAT0_SEM BIT4
50#define LSI_ISTAT0_SIGP BIT5
51#define LSI_ISTAT0_SRST BIT6
52#define LSI_ISTAT0_ABRT BIT7
53
54//
55// The status bits for SCSI Interrupt Status Zero (SIST0)
56//
57#define LSI_SIST0_PAR BIT0
58#define LSI_SIST0_RST BIT1
59#define LSI_SIST0_UDC BIT2
60#define LSI_SIST0_SGE BIT3
61#define LSI_SIST0_RSL BIT4
62#define LSI_SIST0_SEL BIT5
63#define LSI_SIST0_CMP BIT6
64#define LSI_SIST0_MA BIT7
65
66//
67// The status bits for SCSI Interrupt Status One (SIST1)
68//
69#define LSI_SIST1_HTH BIT0
70#define LSI_SIST1_GEN BIT1
71#define LSI_SIST1_STO BIT2
72#define LSI_SIST1_R3 BIT3
73#define LSI_SIST1_SBMC BIT4
74#define LSI_SIST1_R5 BIT5
75#define LSI_SIST1_R6 BIT6
76#define LSI_SIST1_R7 BIT7
77
78//
79// LSI 53C895A Script Instructions
80//
81#define LSI_INS_TYPE_BLK 0x00000000
82#define LSI_INS_TYPE_IO BIT30
83#define LSI_INS_TYPE_TC BIT31
84
85#define LSI_INS_BLK_SCSIP_DAT_OUT 0x00000000
86#define LSI_INS_BLK_SCSIP_DAT_IN BIT24
87#define LSI_INS_BLK_SCSIP_CMD BIT25
88#define LSI_INS_BLK_SCSIP_STAT (BIT24 | BIT25)
89#define LSI_INS_BLK_SCSIP_MSG_OUT (BIT25 | BIT26)
90#define LSI_INS_BLK_SCSIP_MSG_IN (BIT24 | BIT25 | BIT26)
91
92#define LSI_INS_IO_OPC_SEL 0x00000000
93#define LSI_INS_IO_OPC_WAIT_RESEL BIT28
94
95#define LSI_INS_TC_CP BIT17
96#define LSI_INS_TC_JMP BIT19
97#define LSI_INS_TC_RA BIT23
98
99#define LSI_INS_TC_OPC_JMP 0x00000000
100#define LSI_INS_TC_OPC_INT (BIT27 | BIT28)
101
102#define LSI_INS_TC_SCSIP_DAT_OUT 0x00000000
103#define LSI_INS_TC_SCSIP_MSG_IN (BIT24 | BIT25 | BIT26)
104
105#endif // _LSI_SCSI_H_
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette