📄 usb.equ
字号:
MASS_VERIFY STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
dStartLBA DWORD ? ; Starting LBA address
wNumBlks WORD ? ; Number of blocks to verify
wPreSkipSize WORD ? ; Number of bytes to skip before
wPostSkipSize WORD ? ; Number of bytes to skip after
fpBufferPtr DWORD ? ; Far buffer pointer
MASS_VERIFY ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_FORMAT
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassFormatDevice (API #27h, SubFunc 06h)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; bHeadNumber BYTE Head number to format
; bTrackNumber BYTE Track number to format
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_FORMAT STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
bHeadNumber BYTE ? ; Head number to format
bTrackNumber BYTE ? ; Track number to format
MASS_FORMAT ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_REQ_SENSE
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassRequestSense (API #27h, SubFunc 07h)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_REQ_SENSE STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
MASS_REQ_SENSE ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_TEST_UNIT_RDY
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassTestUnitReady (API #27h, SubFunc 08h)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_TEST_UNIT_RDY STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
MASS_TEST_UNIT_RDY ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_START_STOP_UNIT
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassStartStopUnit (API #27h, SubFunc 09h)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; bCommand BYTE 0 - Stop, 1 - Start
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_START_STOP_UNIT STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
bCommand BYTE ? ; 0 - Stop, 1 - Start
MASS_START_STOP_UNIT ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_READ_CAPACITY
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassReadCapacity (API #27h, SubFunc 0Ah)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; dMaxLBA DWORD Maximum LBA address
; dBlockSize DWORD Block size
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_READ_CAPACITY STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
dMaxLBA DWORD ? ; Max LBA address
dBlockSize DWORD ? ; Block size
MASS_READ_CAPACITY ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_MODE_SENSE
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassModeSense (API #27h, SubFunc 0Bh)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; bNumHeads BYTE Number of heads
; wNumCylinders WORD Number of cylinders
; bNumSectors BYTE Number of sectors
; wBytesPerSector WORD Number of bytes per sector
; bMediaType BYTE Media type
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_MODE_SENSE STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
bNumHeads BYTE ? ; Number of heads
wNumCylinders WORD ? ; Number of cylinders
bNumSectors BYTE ? ; Number of sectors
wBytesPerSector WORD ? ; Number of bytes per sector
bMediaType BYTE ? ; Media type
MASS_MODE_SENSE ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_INQUIRY
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassInquiry (API #27h, SubFunc 0Ch)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; bDevType BYTE Device type byte (HDD, CD, Removable)
; bEmuType BYTE Emulation type used
; fpDevId DWORD Far pointer to the device ID
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_INQUIRY STRUC
bDevAddr BYTE ? ; USB Device Address
dSenseData DWORD ? ; USB Sense data
bDevType BYTE ? ; Device type
bEmuType BYTE ? ; Emulation type
fpDevId DWORD ? ; Far ptr to the device id
;; DO NOT ADD OR DELETE ANY FIELD ABOVE - This should match the
;; MASS_GET_DEV_INFO structure for proper working
MASS_INQUIRY ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: MASS_CMD_PASS_THRU
;
; Description: This is a Mass URP (Mass USB Request Packet) structure for
; the BIOS API call MassCmdPassThru command (API #27h,
; SubFunc 0Dh)
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bDevAddr BYTE USB device address of the device
; dSenseData DWORD Sense data of the last command
; fpCmdBuffer DWORD Far pointer to the command buffer
; wCmdLength WORD Command length
; fpDataBuffer DWORD Far pointer for data buffer
; wDataLength WORD Data length
; bXferDir BYTE Data transfer direction
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
MASS_CMD_PASS_THRU STRUC
bDevAddr BYTE ?
dSenseData DWORD ?
fpCmdBuffer DWORD ?
wCmdLength WORD ?
fpDataBuffer DWORD ?
wDataLength WORD ?
bXferDir BYTE ?
MASS_CMD_PASS_THRU ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: API_DATA
;
; Description: This is a union data type of all the API related data
;
; Fields: Name Type Description
; ------------------------------------------------------------
; CkPresence CK_PRESENCE See relevant structure
; StartHc START_HC See relevant structure
; GetDevInfo GET_DEV_INFO See relevant structure
; ChkDevPrsnc CHK_DEV_PRSNC See relevant structure
; MassGetDevInfo MASS_GET_DEV_INFO Refer struc header
; MassGetDevGeo MASS_GET_DEV_GEO Refer struc header
; MassReset MASS_RESET Refer struc header
; MassRead MASS_READ Refer struc header
; MassWrite MASS_WRITE Refer struc header
; MassVerify MASS_VERIFY Refer struc header
; MassFormat MASS_FORMAT Refer struc header
; MassReqSense MASS_REQ_SENSE Refer struc header
; MassTstUnitRdy MASS_TEST_UNIT_RDY Refer struc header
; MassStartStop MASS_START_STOP_UNIT Refer struc header
; MassReadCap MASS_READ_CAPACITY Refer struc header
; MassModeSense MASS_MODE_SENSE Refer struc header
; MassInquiry MASS_INQUIRY Refer struc header
; MassCmdPassThru MASS_CMD_PASS_THRU Refer struc header
; MassAssignNum MASS_ASSIGN_DRIVE_NUM Refer struc header
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
API_DATA UNION
CkPresence CK_PRESENCE <>
StartHc START_HC <>
GetDevInfo GET_DEV_INFO <>
ChkDevPrsnc CHK_DEV_PRSNC <>
MassGetDevInfo MASS_GET_DEV_INFO <>
MassGetDevGeo MASS_GET_DEV_GEO <>
MassReset MASS_RESET <>
MassRead MASS_READ <>
MassWrite MASS_WRITE <>
MassVerify MASS_VERIFY <>
MassFormat MASS_FORMAT <>
MassReqSense MASS_REQ_SENSE <>
MassTstUnitRdy MASS_TEST_UNIT_RDY <>
MassStartStop MASS_START_STOP_UNIT <>
MassReadCap MASS_READ_CAPACITY <>
MassModeSense MASS_MODE_SENSE <>
MassInquiry MASS_INQUIRY <>
MassCmdPassThru MASS_CMD_PASS_THRU <>
MassAssignNum MASS_ASSIGN_DRIVE_NUM <>
API_DATA ENDS
;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name: URP_STRUC
;
; Description: URP (USB Request Packet) is the structure used to send command
; to the USB code from POST/Runtime. The POST/Runtime code can
; invoke the USB API functions using this structure.
;
; Fields: Name Type Description
; ------------------------------------------------------------
; bFuncNumber BYTE Function number of the URP
; bSubFunc BYTE Sub-func number of the URP
; bRetValue BYTE Return value
; ApiData API_DATA Refer structure definition
;----------------------------------------------------------------------------
;<AMI_SHDR_END>
URP_STRUC STRUC
bFuncNumber BYTE ?
bSubFunc BYTE ?
bRetValue BYTE ?
ApiData API_DATA <>
URP_STRUC ENDS
;----------------------------------------------------------------------------
; DO NOT CHANGE THIS VALUES. If you do change the value then please
; change 'USBPort_GetDataSegment' routine also
USB_GET_CURRENT_SEGMENT EQU 00000h
USB_GET_RUNTIME_SEGMENT EQU 0FFFFh ; -1
USB_GET_BOOTBLOCK_SEGMENT EQU 0FFFEh ; -2
;----------------------------------------------------------------------------
; Values used to identify the update data area table invoke time
USB_CALLED_AT_INIT EQU 00Fh
USB_CALLED_AT_MOVE EQU 01Fh
USB_CALLED_AT_PREOS EQU 02Fh
USB_CALLED_AT_BBLK EQU 03Fh
;----------------------------------------------------------------------------
USB_MEM_ALLOCATED EQU 10h
USB_MEM_FREE EQU 20h
MAX_TEMP_BUFFER_SIZE EQU 080h ; Size of temp buffer
MAX_CONTROL_DATA_SIZE EQU 200h ; Maximum amount of data to
; transfer in one control
; transaction
USB_HC_CLASS_CODE EQU 0C03h
MAX_NUM_HC_MODULES EQU 3
MAX_DEVICES EQU (MKF_MAX_MASS_DEVICES + \
MKF_HID_DEVICE_LIMIT + \
MKF_HUB_DEVICE_LIMIT)
; Highest possible device address
MAX_DEVICE_ADDR EQU MAX_DEVICES
; Addr that is guaranted not to be used
DUMMY_DEVICE_ADDR EQU MAX_DEVICE_ADDR + 1
DEFAULT_PACKET_LENGTH EQU 8 ; Max size of packet data
;----------------------------------------------------------------------------
; USB Initialization Flags - passed in when USB is initialized
;----------------------------------------------------------------------------
USB_LEGACY_ENABLED_BIT EQU BIT0 ; 0 Q_USB_LEGACY_ENABLE setup option
USB_LEGACY_KEYBOARD_BIT EQU BIT1 ; 1 Q_USB_LEGACY_KEYBOARD setup option
USB_LEGACY_MOUSE_BIT EQU BIT2 ; 2 Q_USB_LEGACY_MOUSE setup option
USB_LEGACY_STORAGE_BIT EQU BIT3 ; 3 Q_USB_LEGACY_STORAGE setup option
INIT_FLAG_BEEP_ENABLE EQU BIT4 ; 4 If set, beep on device connect/disconnect
USB_HISPEED_SUPPORT EQU BIT5 ; 5 Q_USB_HISPEED_SUPPORT setup option
USB_PORT_TRAPPING_BIT EQU BIT6 ; 6 Q_USB_6460_EMULATION setup option
USB_STOP_EHCI_IN_OHCI_HANDOVER EQU BIT7 ; 7 Q_USB_STOP_HISPEED_HC setup option
USB_MASS_DEVICES_REGISTERED EQU BIT8 ; 8 If set, USB mass storage devices are already registered with BBS
USB_HOTPLUG_FDD_BIT EQU BIT9 ; 9 If set, USB hotplug FDD support is added
USB_HOTPLUG_FDD_AUTO_BIT EQU BIT10 ;10 If set, USB hotplug FDD support is set to auto
USB_HOTPLUG_CDROM_BIT EQU BIT11 ;11 If set, USB hotplug CDROM support is added
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -