2. Modified some source files to meet ICC build for IA32 and IPF.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3271
6f19259b-4bc3-4df7-8a09-
765794883524
40 files changed:
\r
*_ICC_IA32_APP_FLAGS = /nologo /E /TC\r
*_ICC_IA32_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h\r
\r
*_ICC_IA32_APP_FLAGS = /nologo /E /TC\r
*_ICC_IA32_PP_FLAGS = /nologo /E /TC /FI$(DEST_DIR_DEBUG)/AutoGen.h\r
-DEBUG_ICC_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yu$(DEST_DIR_DEBUG)/AutoGen.h /Zi /Gm\r
-RELEASE_ICC_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yu$(DEST_DIR_DEBUG)/AutoGen.h\r
-DEBUG_ICC_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yc /TC /Zi /Gm\r
-RELEASE_ICC_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Fp$(DEST_DIR_OUTPUT)/AutoGen.h.gch /Yc /TC\r
+DEBUG_ICC_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm\r
+RELEASE_ICC_IA32_CC_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192\r
+DEBUG_ICC_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Yc /TC /Zi /Gm\r
+RELEASE_ICC_IA32_PCH_FLAGS = /nologo /W4 /WX /Gy /c /D UNICODE /D EFI32 /O1ib2 /GL /DEFI_FIRMWARE_VENDOR=L\"INTEL\" /DSTRING_ARRAY_NAME=$(BASE_NAME)Strings /FI$(DEST_DIR_DEBUG)/AutoGen.h /EHs-c- /GF /Gs8192 /Yc /TC\r
DEBUG_ICC_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi\r
RELEASE_ICC_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
*_ICC_IA32_SLINK_FLAGS = /nologo /LTCG\r
DEBUG_ICC_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0 /Zi\r
RELEASE_ICC_IA32_ASM_FLAGS = /nologo /W3 /WX /c /coff /Cx /Zd /W0\r
*_ICC_IA32_SLINK_FLAGS = /nologo /LTCG\r
\r
*_MYTOOLS_*_LZMA_NAME = Lzma.bat\r
*_MYTOOLS_*_LZMA_GUID = EE4E5898-3914-4259-9D6E-DC7B-D79403CF\r
\r
*_MYTOOLS_*_LZMA_NAME = Lzma.bat\r
*_MYTOOLS_*_LZMA_GUID = EE4E5898-3914-4259-9D6E-DC7B-D79403CF\r
-*_MYTOOLS_*_LAMA_PATH = \r
- \r
+*_MYTOOLS_*_LAMA_PATH =\r
+\r
*_MYTOOLS_*_TIANO_NAME = Tiano.bat\r
*_MYTOOLS_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F-4C984779\r
*_MYTOOLS_*_TIANO_NAME = Tiano.bat\r
*_MYTOOLS_*_TIANO_GUID = A31280AD-481E-41B6-95E8-127F-4C984779\r
-*_MYTOOLS_*_TIANO_PATH = \r
+*_MYTOOLS_*_TIANO_PATH =\r
\r
##################\r
# IA32 definitions\r
\r
##################\r
# IA32 definitions\r
\r
for (Index = 0; Index < MapSize; Index++) {\r
if (EHC_BIT_IS_SET (State, mUsbPortStateMap[Index].HwState)) {\r
\r
for (Index = 0; Index < MapSize; Index++) {\r
if (EHC_BIT_IS_SET (State, mUsbPortStateMap[Index].HwState)) {\r
- PortStatus->PortStatus |= mUsbPortStateMap[Index].UefiState;\r
+ PortStatus->PortStatus = (UINT16) (PortStatus->PortStatus | mUsbPortStateMap[Index].UefiState);\r
\r
for (Index = 0; Index < MapSize; Index++) {\r
if (EHC_BIT_IS_SET (State, mUsbPortChangeMap[Index].HwState)) {\r
\r
for (Index = 0; Index < MapSize; Index++) {\r
if (EHC_BIT_IS_SET (State, mUsbPortChangeMap[Index].HwState)) {\r
- PortStatus->PortChangeStatus |= mUsbPortChangeMap[Index].UefiState;\r
+ PortStatus->PortChangeStatus = (UINT16) (PortStatus->PortChangeStatus | mUsbPortChangeMap[Index].UefiState);\r
// endpoint is bidirectional. EhcCreateUrb expects this\r
// combination of Ep addr and its direction.\r
//\r
// endpoint is bidirectional. EhcCreateUrb expects this\r
// combination of Ep addr and its direction.\r
//\r
- Endpoint = 0 | ((TransferDirection == EfiUsbDataIn) ? 0x80 : 0);\r
+ Endpoint = (UINT8) (0 | ((TransferDirection == EfiUsbDataIn) ? 0x80 : 0));\r
Urb = EhcCreateUrb (\r
Ehc,\r
DeviceAddress,\r
Urb = EhcCreateUrb (\r
Ehc,\r
DeviceAddress,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsb2HcProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsb2HcProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
EHC_SYNC_POLL_TIME = 20 * EHC_STALL_1_MICROSECOND,\r
EHC_ASYNC_POLL_TIME = 50 * 10000UL, // The unit of time is 100us\r
\r
EHC_SYNC_POLL_TIME = 20 * EHC_STALL_1_MICROSECOND,\r
EHC_ASYNC_POLL_TIME = 50 * 10000UL, // The unit of time is 100us\r
\r
- EHC_TPL = TPL_NOTIFY,\r
\r
#define EHC_FROM_THIS(a) CR(a, USB2_HC_DEV, Usb2Hc, USB2_HC_DEV_SIGNATURE)\r
\r
\r
#define EHC_FROM_THIS(a) CR(a, USB2_HC_DEV, Usb2Hc, USB2_HC_DEV_SIGNATURE)\r
\r
-typedef struct _USB2_HC_DEV {\r
UINTN Signature;\r
EFI_USB2_HC_PROTOCOL Usb2Hc;\r
\r
UINTN Signature;\r
EFI_USB2_HC_PROTOCOL Usb2Hc;\r
\r
// Misc\r
//\r
EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
// Misc\r
//\r
EFI_UNICODE_STRING_TABLE *ControllerNameTable;\r
\r
\r
extern EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding;\r
\r
\r
extern EFI_DRIVER_BINDING_PROTOCOL gEhciDriverBinding;\r
\r
EHC_DEBUG_QH = (UINTN)(1 << 8),\r
EHC_DEBUG_QTD = (UINTN)(1 << 9),\r
\r
EHC_DEBUG_QH = (UINTN)(1 << 8),\r
EHC_DEBUG_QTD = (UINTN)(1 << 9),\r
- EHC_DEBUG_BUF = (UINTN)(1 << 10),\r
+ EHC_DEBUG_BUF = (UINTN)(1 << 10)\r
//\r
EHC_PCI_CLASSC = 0x09,\r
EHC_PCI_CLASSC_PI = 0x20,\r
//\r
EHC_PCI_CLASSC = 0x09,\r
EHC_PCI_CLASSC_PI = 0x20,\r
- EHC_BAR_INDEX = 0, /* how many bytes away from USB_BASE to 0x10 */\r
+ EHC_BAR_INDEX = 0 /* how many bytes away from USB_BASE to 0x10 */\r
};\r
\r
#define EHC_LINK_TERMINATED(Link) (((Link) & 0x01) != 0)\r
};\r
\r
#define EHC_LINK_TERMINATED(Link) (((Link) & 0x01) != 0)\r
// Switch the Toggle bit if odd number of packets are included in the QTD.\r
//\r
if (((Qtd->DataLen + Ep->MaxPacket - 1) / Ep->MaxPacket) % 2) {\r
// Switch the Toggle bit if odd number of packets are included in the QTD.\r
//\r
if (((Qtd->DataLen + Ep->MaxPacket - 1) / Ep->MaxPacket) % 2) {\r
+ Toggle = (UINT8) (1 - Toggle);\r
}\r
\r
Len += Qtd->DataLen;\r
}\r
\r
Len += Qtd->DataLen;\r
\r
Ep = &Urb->Ep;\r
Ep->DevAddr = DevAddr;\r
\r
Ep = &Urb->Ep;\r
Ep->DevAddr = DevAddr;\r
- Ep->EpAddr = EpAddr & 0x0F;\r
+ Ep->EpAddr = (UINT8) (EpAddr & 0x0F);\r
Ep->Direction = ((EpAddr & 0x80) ? EfiUsbDataIn : EfiUsbDataOut);\r
Ep->DevSpeed = DevSpeed;\r
Ep->MaxPacket = MaxPacket;\r
Ep->Direction = ((EpAddr & 0x80) ? EfiUsbDataIn : EfiUsbDataOut);\r
Ep->DevSpeed = DevSpeed;\r
Ep->MaxPacket = MaxPacket;\r
QH_MICROFRAME_6 = 0x40,\r
QH_MICROFRAME_7 = 0x80,\r
\r
QH_MICROFRAME_6 = 0x40,\r
QH_MICROFRAME_7 = 0x80,\r
\r
- USB_ERR_SHORT_PACKET = 0x200,\r
+ USB_ERR_SHORT_PACKET = 0x200\r
// Software QTD strcture, this is used to manage all the\r
// QTD generated from a URB. Don't add fields before QtdHw.\r
//\r
// Software QTD strcture, this is used to manage all the\r
// QTD generated from a URB. Don't add fields before QtdHw.\r
//\r
-typedef struct _EHC_QTD {\r
QTD_HW QtdHw;\r
UINT32 Signature;\r
LIST_ENTRY QtdList; // The list of QTDs to one end point\r
UINT8 *Data; // Buffer of the original data\r
UINTN DataLen; // Original amount of data in this QTD\r
QTD_HW QtdHw;\r
UINT32 Signature;\r
LIST_ENTRY QtdList; // The list of QTDs to one end point\r
UINT8 *Data; // Buffer of the original data\r
UINTN DataLen; // Original amount of data in this QTD\r
\r
//\r
// Software QH structure. All three different transaction types\r
\r
//\r
// Software QH structure. All three different transaction types\r
// transfer is supported. A dummy QH is linked to EHCI AsyncListAddr\r
// as the reclamation header. New transfer is inserted after this QH.\r
//\r
// transfer is supported. A dummy QH is linked to EHCI AsyncListAddr\r
// as the reclamation header. New transfer is inserted after this QH.\r
//\r
-typedef struct _EHC_QH {\r
QH_HW QhHw;\r
UINT32 Signature;\r
EHC_QH *NextQh; // The queue head pointed to by horizontal link\r
LIST_ENTRY Qtds; // The list of QTDs to this queue head\r
UINTN Interval;\r
QH_HW QhHw;\r
UINT32 Signature;\r
EHC_QH *NextQh; // The queue head pointed to by horizontal link\r
LIST_ENTRY Qtds; // The list of QTDs to this queue head\r
UINTN Interval;\r
\r
//\r
// URB (Usb Request Block) contains information for all kinds of\r
// usb requests.\r
//\r
\r
//\r
// URB (Usb Request Block) contains information for all kinds of\r
// usb requests.\r
//\r
UINT32 Signature;\r
LIST_ENTRY UrbList;\r
\r
UINT32 Signature;\r
LIST_ENTRY UrbList;\r
\r
UINT32 Result;\r
UINTN Completed; // completed data length\r
UINT8 DataToggle;\r
UINT32 Result;\r
UINTN Completed; // completed data length\r
UINT8 DataToggle;\r
for (Count = 0; Count < (AllocSize / USBHC_MEM_UNIT); Count++) {\r
ASSERT (USB_HC_BIT_IS_SET (Block->Bits[Byte], Bit));\r
\r
for (Count = 0; Count < (AllocSize / USBHC_MEM_UNIT); Count++) {\r
ASSERT (USB_HC_BIT_IS_SET (Block->Bits[Byte], Bit));\r
\r
- Block->Bits[Byte] ^= (UINT8) USB_HC_BIT (Bit);\r
+ Block->Bits[Byte] = (UINT8) (Block->Bits[Byte] ^ USB_HC_BIT (Bit));\r
NEXT_BIT (Byte, Bit);\r
}\r
\r
NEXT_BIT (Byte, Bit);\r
}\r
\r
\r
typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;\r
\r
\r
typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;\r
\r
-typedef struct _USBHC_MEM_BLOCK {\r
+struct _USBHC_MEM_BLOCK {\r
UINT8 *Bits; // Bit array to record which unit is allocated\r
UINTN BitsLen;\r
UINT8 *Buf;\r
UINT8 *Bits; // Bit array to record which unit is allocated\r
UINTN BitsLen;\r
UINT8 *Buf;\r
UINTN BufLen; // Memory size in bytes\r
VOID *Mapping;\r
USBHC_MEM_BLOCK *Next;\r
UINTN BufLen; // Memory size in bytes\r
VOID *Mapping;\r
USBHC_MEM_BLOCK *Next;\r
\r
//\r
// USBHC_MEM_POOL is used to manage the memory used by USB\r
\r
//\r
// USBHC_MEM_POOL is used to manage the memory used by USB\r
USBHC_MEM_UNIT = 64, // Memory allocation unit, must be 2^n, n>4\r
\r
USBHC_MEM_UNIT_MASK = USBHC_MEM_UNIT - 1,\r
USBHC_MEM_UNIT = 64, // Memory allocation unit, must be 2^n, n>4\r
\r
USBHC_MEM_UNIT_MASK = USBHC_MEM_UNIT - 1,\r
- USBHC_MEM_DEFAULT_PAGES = 16,\r
+ USBHC_MEM_DEFAULT_PAGES = 16\r
};\r
\r
#define USBHC_MEM_ROUND(Len) (((Len) + USBHC_MEM_UNIT_MASK) & (~USBHC_MEM_UNIT_MASK))\r
};\r
\r
#define USBHC_MEM_ROUND(Len) (((Len) + USBHC_MEM_UNIT_MASK) & (~USBHC_MEM_UNIT_MASK))\r
BOOLEAN IsSlow;\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
BOOLEAN IsSlow;\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
- IsSlow = (EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE;\r
+ IsSlow = (BOOLEAN) ((EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE);\r
\r
return UhciControlTransfer (\r
&Uhc->UsbHc,\r
\r
return UhciControlTransfer (\r
&Uhc->UsbHc,\r
BOOLEAN IsSlow;\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
BOOLEAN IsSlow;\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
- IsSlow = (EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE;\r
+ IsSlow = (BOOLEAN) ((EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE);\r
\r
return UhciAsyncInterruptTransfer (\r
&Uhc->UsbHc,\r
\r
return UhciAsyncInterruptTransfer (\r
&Uhc->UsbHc,\r
}\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
}\r
\r
Uhc = UHC_FROM_USB2_HC_PROTO (This);\r
- IsSlow = (EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE;\r
+ IsSlow = (BOOLEAN) ((EFI_USB_SPEED_LOW == DeviceSpeed) ? TRUE : FALSE);\r
\r
return UhciSyncInterruptTransfer (\r
&Uhc->UsbHc,\r
\r
return UhciSyncInterruptTransfer (\r
&Uhc->UsbHc,\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiPciIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbHcProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbHcProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsb2HcProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsb2HcProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
//\r
UHCI_TPL = TPL_NOTIFY,\r
\r
//\r
UHCI_TPL = TPL_NOTIFY,\r
\r
- USB_HC_DEV_SIGNATURE = EFI_SIGNATURE_32 ('u', 'h', 'c', 'i'),\r
+ USB_HC_DEV_SIGNATURE = EFI_SIGNATURE_32 ('u', 'h', 'c', 'i')\r
};\r
\r
#pragma pack(1)\r
};\r
\r
#pragma pack(1)\r
// or bulk transfer can reclaim the unused bandwidth. Some USB\r
// device requires this bandwidth reclamation capability.\r
//\r
// or bulk transfer can reclaim the unused bandwidth. Some USB\r
// device requires this bandwidth reclamation capability.\r
//\r
-typedef struct _USB_HC_DEV {\r
UINT32 Signature;\r
EFI_USB_HC_PROTOCOL UsbHc;\r
EFI_USB2_HC_PROTOCOL Usb2Hc;\r
UINT32 Signature;\r
EFI_USB_HC_PROTOCOL UsbHc;\r
EFI_USB2_HC_PROTOCOL Usb2Hc;\r
USBHC_MEM_POOL *MemPool;\r
EFI_UNICODE_STRING_TABLE *CtrlNameTable;\r
VOID *FrameMapping;\r
USBHC_MEM_POOL *MemPool;\r
EFI_UNICODE_STRING_TABLE *CtrlNameTable;\r
VOID *FrameMapping;\r
\r
extern EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding;\r
extern EFI_COMPONENT_NAME_PROTOCOL gUhciComponentName;\r
\r
extern EFI_DRIVER_BINDING_PROTOCOL gUhciDriverBinding;\r
extern EFI_COMPONENT_NAME_PROTOCOL gUhciComponentName;\r
typedef struct _UHCI_TD_SW UHCI_TD_SW;\r
typedef struct _UHCI_QH_SW UHCI_QH_SW;\r
\r
typedef struct _UHCI_TD_SW UHCI_TD_SW;\r
typedef struct _UHCI_QH_SW UHCI_QH_SW;\r
\r
-typedef struct _UHCI_QH_SW {\r
UHCI_QH_HW QhHw;\r
UHCI_QH_SW *NextQh;\r
UHCI_TD_SW *TDs;\r
UINTN Interval;\r
UHCI_QH_HW QhHw;\r
UHCI_QH_SW *NextQh;\r
UHCI_TD_SW *TDs;\r
UINTN Interval;\r
-typedef struct _UHCI_TD_SW {\r
UHCI_TD_HW TdHw;\r
UHCI_TD_SW *NextTd;\r
UINT8 *Data;\r
UINT16 DataLen;\r
UHCI_TD_HW TdHw;\r
UHCI_TD_SW *NextTd;\r
UINT8 *Data;\r
UINT16 DataLen;\r
UINT16 Data;\r
\r
Data = UhciReadReg (PciIo, Offset);\r
UINT16 Data;\r
\r
Data = UhciReadReg (PciIo, Offset);\r
+ Data = (UINT16) (Data |Bit);\r
UhciWriteReg (PciIo, Offset, Data);\r
}\r
\r
UhciWriteReg (PciIo, Offset, Data);\r
}\r
\r
UINT16 Data;\r
\r
Data = UhciReadReg (PciIo, Offset);\r
UINT16 Data;\r
\r
Data = UhciReadReg (PciIo, Offset);\r
+ Data = (UINT16) (Data & ~Bit);\r
UhciWriteReg (PciIo, Offset, Data);\r
}\r
\r
UhciWriteReg (PciIo, Offset, Data);\r
}\r
\r
USBTD_BABBLE = BIT(4), // Babble condition\r
USBTD_NAK = BIT(3), // NAK is received\r
USBTD_CRC = BIT(2), // CRC/Time out error\r
USBTD_BABBLE = BIT(4), // Babble condition\r
USBTD_NAK = BIT(3), // NAK is received\r
USBTD_CRC = BIT(2), // CRC/Time out error\r
- USBTD_BITSTUFF = BIT(1), // Bit stuff error\r
+ USBTD_BITSTUFF = BIT(1) // Bit stuff error\r
// next to the last known-good TD's data toggle if\r
// any TD is executed OK\r
//\r
// next to the last known-good TD's data toggle if\r
// any TD is executed OK\r
//\r
- QhResult->NextToggle = 1 - (UINT8)TdHw->DataToggle;\r
+ QhResult->NextToggle = (UINT8) (1 - (UINT8)TdHw->DataToggle);\r
\r
//\r
// This TD is finished OK or met short packet read. Update the\r
\r
//\r
// This TD is finished OK or met short packet read. Update the\r
USB_ERR_FAIL_MASK = EFI_USB_ERR_STALL | EFI_USB_ERR_BUFFER |\r
EFI_USB_ERR_BABBLE | EFI_USB_ERR_CRC |\r
EFI_USB_ERR_TIMEOUT | EFI_USB_ERR_BITSTUFF |\r
USB_ERR_FAIL_MASK = EFI_USB_ERR_STALL | EFI_USB_ERR_BUFFER |\r
EFI_USB_ERR_BABBLE | EFI_USB_ERR_CRC |\r
EFI_USB_ERR_TIMEOUT | EFI_USB_ERR_BITSTUFF |\r
//\r
// Structure used to manager the asynchronous interrupt transfers.\r
//\r
//\r
// Structure used to manager the asynchronous interrupt transfers.\r
//\r
-typedef struct _UHCI_ASYNC_REQUEST{\r
+struct _UHCI_ASYNC_REQUEST{\r
UINTN Signature;\r
LIST_ENTRY Link;\r
UHCI_ASYNC_REQUEST *Recycle;\r
UINTN Signature;\r
LIST_ENTRY Link;\r
UHCI_ASYNC_REQUEST *Recycle;\r
//\r
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;\r
VOID *Context;\r
//\r
EFI_ASYNC_USB_TRANSFER_CALLBACK Callback;\r
VOID *Context;\r
\r
#define UHCI_ASYNC_INT_FROM_LINK(a) \\r
CR (a, UHCI_ASYNC_REQUEST, Link, UHCI_ASYNC_INT_SIGNATURE)\r
\r
#define UHCI_ASYNC_INT_FROM_LINK(a) \\r
CR (a, UHCI_ASYNC_REQUEST, Link, UHCI_ASYNC_INT_SIGNATURE)\r
for (Count = 0; Count < (AllocSize / USBHC_MEM_UNIT); Count++) {\r
ASSERT (USB_HC_BIT_IS_SET (Block->Bits[Byte], Bit));\r
\r
for (Count = 0; Count < (AllocSize / USBHC_MEM_UNIT); Count++) {\r
ASSERT (USB_HC_BIT_IS_SET (Block->Bits[Byte], Bit));\r
\r
- Block->Bits[Byte] ^= (UINT8) USB_HC_BIT (Bit);\r
+ Block->Bits[Byte] = (UINT8) (Block->Bits[Byte] ^ USB_HC_BIT (Bit));\r
NEXT_BIT (Byte, Bit);\r
}\r
\r
NEXT_BIT (Byte, Bit);\r
}\r
\r
\r
typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;\r
\r
\r
typedef struct _USBHC_MEM_BLOCK USBHC_MEM_BLOCK;\r
\r
-typedef struct _USBHC_MEM_BLOCK {\r
+struct _USBHC_MEM_BLOCK {\r
UINT8 *Bits; // Bit array to record which unit is allocated\r
UINTN BitsLen;\r
UINT8 *Buf;\r
UINT8 *Bits; // Bit array to record which unit is allocated\r
UINTN BitsLen;\r
UINT8 *Buf;\r
UINTN BufLen; // Memory size in bytes\r
VOID *Mapping;\r
USBHC_MEM_BLOCK *Next;\r
UINTN BufLen; // Memory size in bytes\r
VOID *Mapping;\r
USBHC_MEM_BLOCK *Next;\r
\r
//\r
// USBHC_MEM_POOL is used to manage the memory used by USB\r
\r
//\r
// USBHC_MEM_POOL is used to manage the memory used by USB\r
USBHC_MEM_UNIT = 64, // Memory allocation unit, must be 2^n, n>4\r
\r
USBHC_MEM_UNIT_MASK = USBHC_MEM_UNIT - 1,\r
USBHC_MEM_UNIT = 64, // Memory allocation unit, must be 2^n, n>4\r
\r
USBHC_MEM_UNIT_MASK = USBHC_MEM_UNIT - 1,\r
- USBHC_MEM_DEFAULT_PAGES = 16,\r
+ USBHC_MEM_DEFAULT_PAGES = 16\r
};\r
\r
#define USBHC_MEM_ROUND(Len) (((Len) + USBHC_MEM_UNIT_MASK) & (~USBHC_MEM_UNIT_MASK))\r
};\r
\r
#define USBHC_MEM_ROUND(Len) (((Len) + USBHC_MEM_UNIT_MASK) & (~USBHC_MEM_UNIT_MASK))\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
Module Name:\r
\r
scsibus.c\r
\r
Module Name:\r
\r
scsibus.c\r
\r
Revision History\r
--*/\r
\r
Revision History\r
--*/\r
/**\r
The user Entry Point for module ScsiBus. The user code starts with this function.\r
\r
/**\r
The user Entry Point for module ScsiBus. The user code starts with this function.\r
\r
- @param[in] ImageHandle The firmware allocated handle for the EFI image. \r
+ @param[in] ImageHandle The firmware allocated handle for the EFI image.\r
@param[in] SystemTable A pointer to the EFI System Table.\r
@param[in] SystemTable A pointer to the EFI System Table.\r
@retval EFI_SUCCESS The entry point is executed successfully.\r
@retval other Some error occurs when executing this entry point.\r
\r
@retval EFI_SUCCESS The entry point is executed successfully.\r
@retval other Some error occurs when executing this entry point.\r
\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
if (Status == EFI_ALREADY_STARTED) {\r
return EFI_SUCCESS;\r
}\r
if (Status == EFI_ALREADY_STARTED) {\r
return EFI_SUCCESS;\r
}\r
if (EFI_ERROR (Status)) {\r
Status = gBS->OpenProtocol (\r
Controller,\r
if (EFI_ERROR (Status)) {\r
Status = gBS->OpenProtocol (\r
Controller,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
);\r
if (Status == EFI_ALREADY_STARTED) {\r
return EFI_SUCCESS;\r
}\r
if (Status == EFI_ALREADY_STARTED) {\r
return EFI_SUCCESS;\r
}\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
);\r
return EFI_SUCCESS;\r
}\r
);\r
return EFI_SUCCESS;\r
}\r
gBS->CloseProtocol (\r
Controller,\r
&gEfiExtScsiPassThruProtocolGuid,\r
gBS->CloseProtocol (\r
Controller,\r
&gEfiExtScsiPassThruProtocolGuid,\r
}\r
\r
TargetId = &ScsiTargetId->ScsiId.ExtScsi[0];\r
}\r
\r
TargetId = &ScsiTargetId->ScsiId.ExtScsi[0];\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiDevicePathProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiDevicePathProtocolGuid,\r
);\r
gBS->FreePool (ScsiBusDev);\r
return Status;\r
);\r
gBS->FreePool (ScsiBusDev);\r
return Status;\r
DEBUG ((EFI_D_INFO, "Open Scsi Pass Thrugh Protocol\n"));\r
ScsiBusDev->ExtScsiSupport = FALSE;\r
} else {\r
DEBUG ((EFI_D_INFO, "Open Scsi Pass Thrugh Protocol\n"));\r
ScsiBusDev->ExtScsiSupport = FALSE;\r
} else {\r
FromFirstTarget = TRUE;\r
} else {\r
if (ScsiBusDev->ExtScsiSupport) {\r
FromFirstTarget = TRUE;\r
} else {\r
if (ScsiBusDev->ExtScsiSupport) {\r
- ScsiBusDev->ExtScsiInterface->GetTargetLun (ScsiBusDev->ExtScsiInterface, RemainingDevicePath, &TargetId, &Lun); \r
+ ScsiBusDev->ExtScsiInterface->GetTargetLun (ScsiBusDev->ExtScsiInterface, RemainingDevicePath, &TargetId, &Lun);\r
} else {\r
ScsiBusDev->ScsiInterface->GetTargetLun (ScsiBusDev->ScsiInterface, RemainingDevicePath, &ScsiTargetId->ScsiId.Scsi, &Lun);\r
}\r
} else {\r
ScsiBusDev->ScsiInterface->GetTargetLun (ScsiBusDev->ScsiInterface, RemainingDevicePath, &ScsiTargetId->ScsiId.Scsi, &Lun);\r
}\r
IN EFI_HANDLE *ChildHandleBuffer\r
)\r
/*++\r
IN EFI_HANDLE *ChildHandleBuffer\r
)\r
/*++\r
--*/\r
// TODO: This - add argument and description to function comment\r
// TODO: Controller - add argument and description to function comment\r
--*/\r
// TODO: This - add argument and description to function comment\r
// TODO: Controller - add argument and description to function comment\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
);\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
);\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
if (EFI_ERROR (Status)) {\r
return EFI_DEVICE_ERROR;\r
}\r
&mScsiBusProtocolGuid,\r
&ScsiBusDev->BusIdentify\r
);\r
&mScsiBusProtocolGuid,\r
&ScsiBusDev->BusIdentify\r
);\r
//\r
// Close the bus driver\r
//\r
//\r
// Close the bus driver\r
//\r
gBS->OpenProtocol (\r
Controller,\r
&gEfiExtScsiPassThruProtocolGuid,\r
gBS->OpenProtocol (\r
Controller,\r
&gEfiExtScsiPassThruProtocolGuid,\r
- &(EFI_EXT_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
+ (VOID **) &(EFI_EXT_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
This->DriverBindingHandle,\r
ChildHandleBuffer[Index],\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
This->DriverBindingHandle,\r
ChildHandleBuffer[Index],\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
gBS->OpenProtocol (\r
Controller,\r
&gEfiScsiPassThruProtocolGuid,\r
gBS->OpenProtocol (\r
Controller,\r
&gEfiScsiPassThruProtocolGuid,\r
- &(EFI_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
+ (VOID **) &(EFI_SCSI_PASS_THRU_PROTOCOL*)ScsiPassThru,\r
This->DriverBindingHandle,\r
ChildHandleBuffer[Index],\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
This->DriverBindingHandle,\r
ChildHandleBuffer[Index],\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
\r
Routine Description:\r
Retrieves the device type information of the SCSI Controller.\r
\r
Routine Description:\r
Retrieves the device type information of the SCSI Controller.\r
Arguments:\r
This - Protocol instance pointer.\r
DeviceType - A pointer to the device type information\r
Arguments:\r
This - Protocol instance pointer.\r
DeviceType - A pointer to the device type information\r
- retrieved from the SCSI Controller. \r
+ retrieved from the SCSI Controller.\r
\r
Returns:\r
EFI_SUCCESS - Retrieves the device type information successfully.\r
\r
Returns:\r
EFI_SUCCESS - Retrieves the device type information successfully.\r
/*++\r
Routine Description:\r
Retrieves the device location in the SCSI channel.\r
/*++\r
Routine Description:\r
Retrieves the device location in the SCSI channel.\r
Arguments:\r
This - Protocol instance pointer.\r
Arguments:\r
This - Protocol instance pointer.\r
- Target - A pointer to the Target ID of a SCSI device \r
- on the SCSI channel. \r
- Lun - A pointer to the LUN of the SCSI device on \r
+ Target - A pointer to the Target ID of a SCSI device\r
+ on the SCSI channel.\r
+ Lun - A pointer to the LUN of the SCSI device on\r
the SCSI channel.\r
\r
Returns:\r
the SCSI channel.\r
\r
Returns:\r
\r
Routine Description:\r
Resets the SCSI Bus that the SCSI Controller is attached to.\r
\r
Routine Description:\r
Resets the SCSI Bus that the SCSI Controller is attached to.\r
Arguments:\r
This - Protocol instance pointer.\r
\r
Arguments:\r
This - Protocol instance pointer.\r
\r
EFI_DEVICE_ERROR - Errors encountered when resetting the SCSI bus.\r
EFI_UNSUPPORTED - The bus reset operation is not supported by the\r
SCSI Host Controller.\r
EFI_DEVICE_ERROR - Errors encountered when resetting the SCSI bus.\r
EFI_UNSUPPORTED - The bus reset operation is not supported by the\r
SCSI Host Controller.\r
- EFI_TIMEOUT - A timeout occurred while attempting to reset \r
+ EFI_TIMEOUT - A timeout occurred while attempting to reset\r
the SCSI bus.\r
--*/\r
{\r
the SCSI bus.\r
--*/\r
{\r
\r
Routine Description:\r
Resets the SCSI Controller that the device handle specifies.\r
\r
Routine Description:\r
Resets the SCSI Controller that the device handle specifies.\r
Arguments:\r
This - Protocol instance pointer.\r
Arguments:\r
This - Protocol instance pointer.\r
\r
Returns:\r
EFI_SUCCESS - Reset the SCSI controller successfully.\r
EFI_DEVICE_ERROR - Errors are encountered when resetting the\r
SCSI Controller.\r
\r
Returns:\r
EFI_SUCCESS - Reset the SCSI controller successfully.\r
EFI_DEVICE_ERROR - Errors are encountered when resetting the\r
SCSI Controller.\r
- EFI_UNSUPPORTED - The SCSI bus does not support a device \r
+ EFI_UNSUPPORTED - The SCSI bus does not support a device\r
- EFI_TIMEOUT - A timeout occurred while attempting to \r
+ EFI_TIMEOUT - A timeout occurred while attempting to\r
reset the SCSI Controller.\r
--*/\r
{\r
reset the SCSI Controller.\r
--*/\r
{\r
\r
Routine Description:\r
Sends a SCSI Request Packet to the SCSI Controller for execution.\r
\r
Routine Description:\r
Sends a SCSI Request Packet to the SCSI Controller for execution.\r
Arguments:\r
This - Protocol instance pointer.\r
Arguments:\r
This - Protocol instance pointer.\r
- Packet - The SCSI request packet to send to the SCSI \r
+ Packet - The SCSI request packet to send to the SCSI\r
Controller specified by the device handle.\r
Event - If the SCSI bus where the SCSI device is attached\r
Controller specified by the device handle.\r
Event - If the SCSI bus where the SCSI device is attached\r
- does not support non-blocking I/O, then Event is \r
- ignored, and blocking I/O is performed. \r
+ does not support non-blocking I/O, then Event is\r
+ ignored, and blocking I/O is performed.\r
If Event is NULL, then blocking I/O is performed.\r
If Event is NULL, then blocking I/O is performed.\r
- If Event is not NULL and non-blocking I/O is \r
+ If Event is not NULL and non-blocking I/O is\r
supported, then non-blocking I/O is performed,\r
and Event will be signaled when the SCSI Request\r
Packet completes.\r
Returns:\r
supported, then non-blocking I/O is performed,\r
and Event will be signaled when the SCSI Request\r
Packet completes.\r
Returns:\r
- EFI_SUCCESS - The SCSI Request Packet was sent by the host \r
- successfully, and TransferLength bytes were \r
- transferred to/from DataBuffer.See \r
- HostAdapterStatus, TargetStatus, \r
+ EFI_SUCCESS - The SCSI Request Packet was sent by the host\r
+ successfully, and TransferLength bytes were\r
+ transferred to/from DataBuffer.See\r
+ HostAdapterStatus, TargetStatus,\r
SenseDataLength, and SenseData in that order\r
for additional status information.\r
SenseDataLength, and SenseData in that order\r
for additional status information.\r
- EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed, \r
+ EFI_WARN_BUFFER_TOO_SMALL - The SCSI Request Packet was executed,\r
but the entire DataBuffer could not be transferred.\r
The actual number of bytes transferred is returned\r
but the entire DataBuffer could not be transferred.\r
The actual number of bytes transferred is returned\r
- in TransferLength. See HostAdapterStatus, \r
- TargetStatus, SenseDataLength, and SenseData in \r
+ in TransferLength. See HostAdapterStatus,\r
+ TargetStatus, SenseDataLength, and SenseData in\r
that order for additional status information.\r
that order for additional status information.\r
- EFI_NOT_READY - The SCSI Request Packet could not be sent because \r
- there are too many SCSI Command Packets already \r
+ EFI_NOT_READY - The SCSI Request Packet could not be sent because\r
+ there are too many SCSI Command Packets already\r
queued.The caller may retry again later.\r
queued.The caller may retry again later.\r
- EFI_DEVICE_ERROR - A device error occurred while attempting to send \r
- the SCSI Request Packet. See HostAdapterStatus, \r
- TargetStatus, SenseDataLength, and SenseData in \r
+ EFI_DEVICE_ERROR - A device error occurred while attempting to send\r
+ the SCSI Request Packet. See HostAdapterStatus,\r
+ TargetStatus, SenseDataLength, and SenseData in\r
that order for additional status information.\r
that order for additional status information.\r
- EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid. \r
- The SCSI Request Packet was not sent, so no \r
+ EFI_INVALID_PARAMETER - The contents of CommandPacket are invalid.\r
+ The SCSI Request Packet was not sent, so no\r
additional status information is available.\r
EFI_UNSUPPORTED - The command described by the SCSI Request Packet\r
additional status information is available.\r
EFI_UNSUPPORTED - The command described by the SCSI Request Packet\r
- is not supported by the SCSI initiator(i.e., SCSI \r
+ is not supported by the SCSI initiator(i.e., SCSI\r
Host Controller). The SCSI Request Packet was not\r
Host Controller). The SCSI Request Packet was not\r
- sent, so no additional status information is \r
+ sent, so no additional status information is\r
- EFI_TIMEOUT - A timeout occurred while waiting for the SCSI \r
+ EFI_TIMEOUT - A timeout occurred while waiting for the SCSI\r
Request Packet to execute. See HostAdapterStatus,\r
Request Packet to execute. See HostAdapterStatus,\r
- TargetStatus, SenseDataLength, and SenseData in \r
+ TargetStatus, SenseDataLength, and SenseData in\r
that order for additional status information.\r
--*/\r
{\r
that order for additional status information.\r
--*/\r
{\r
UINT8 Target[TARGET_MAX_BYTES];\r
EFI_EVENT PacketEvent;\r
EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *ExtRequestPacket;\r
UINT8 Target[TARGET_MAX_BYTES];\r
EFI_EVENT PacketEvent;\r
EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *ExtRequestPacket;\r
- SCSI_EVENT_DATA EventData; \r
+ SCSI_EVENT_DATA EventData;\r
if (Packet == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
ScsiIoDevice = SCSI_IO_DEV_FROM_THIS (This);\r
CopyMem (Target,&ScsiIoDevice->Pun, TARGET_MAX_BYTES);\r
if (Packet == NULL) {\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
ScsiIoDevice = SCSI_IO_DEV_FROM_THIS (This);\r
CopyMem (Target,&ScsiIoDevice->Pun, TARGET_MAX_BYTES);\r
if (ScsiIoDevice->ExtScsiSupport) {\r
ExtRequestPacket = (EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *) Packet;\r
Status = ScsiIoDevice->ExtScsiPassThru->PassThru (\r
if (ScsiIoDevice->ExtScsiSupport) {\r
ExtRequestPacket = (EFI_EXT_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *) Packet;\r
Status = ScsiIoDevice->ExtScsiPassThru->PassThru (\r
- // Convert package into EFI1.0, EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET. \r
+ // Convert package into EFI1.0, EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET.\r
//\r
Status = ScsiioToPassThruPacket(Packet, (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET*)WorkingBuffer);\r
if (EFI_ERROR(Status)) {\r
//\r
Status = ScsiioToPassThruPacket(Packet, (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET*)WorkingBuffer);\r
if (EFI_ERROR(Status)) {\r
- gBS->FreePool(WorkingBuffer); \r
+ gBS->FreePool(WorkingBuffer);\r
gBS->FreePool(WorkingBuffer);\r
return Status;\r
}\r
gBS->FreePool(WorkingBuffer);\r
return Status;\r
}\r
Status = ScsiIoDevice->ScsiPassThru->PassThru (\r
ScsiIoDevice->ScsiPassThru,\r
ScsiIoDevice->Pun.ScsiId.Scsi,\r
Status = ScsiIoDevice->ScsiPassThru->PassThru (\r
ScsiIoDevice->ScsiPassThru,\r
ScsiIoDevice->Pun.ScsiId.Scsi,\r
gBS->CloseEvent(PacketEvent);\r
return Status;\r
}\r
gBS->CloseEvent(PacketEvent);\r
return Status;\r
}\r
} else {\r
//\r
// If there's no event or SCSI Device doesn't support NON-BLOCKING, just convert\r
} else {\r
//\r
// If there's no event or SCSI Device doesn't support NON-BLOCKING, just convert\r
ScsiScanCreateDevice (\r
EFI_DRIVER_BINDING_PROTOCOL *This,\r
EFI_HANDLE Controller,\r
ScsiScanCreateDevice (\r
EFI_DRIVER_BINDING_PROTOCOL *This,\r
EFI_HANDLE Controller,\r
ScsiIoDevice->DevicePath = AppendDevicePathNode (\r
ScsiBusDev->DevicePath,\r
ScsiDevicePath\r
ScsiIoDevice->DevicePath = AppendDevicePathNode (\r
ScsiBusDev->DevicePath,\r
ScsiDevicePath\r
gBS->FreePool (ScsiIoDevice);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
gBS->FreePool (ScsiIoDevice);\r
return EFI_OUT_OF_RESOURCES;\r
}\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ScsiIoDevice->Handle,\r
&gEfiDevicePathProtocolGuid,\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&ScsiIoDevice->Handle,\r
&gEfiDevicePathProtocolGuid,\r
DiscoverScsiDevice (\r
SCSI_IO_DEV *ScsiIoDevice\r
)\r
DiscoverScsiDevice (\r
SCSI_IO_DEV *ScsiIoDevice\r
)\r
Returns:\r
\r
TRUE - Find SCSI Device and verify it.\r
Returns:\r
\r
TRUE - Find SCSI Device and verify it.\r
- FALSE - Unable to find SCSI Device. \r
+ FALSE - Unable to find SCSI Device.\r
if (0x1e >= InquiryData.Peripheral_Type >= 0xa) {\r
return FALSE;\r
}\r
if (0x1e >= InquiryData.Peripheral_Type >= 0xa) {\r
return FALSE;\r
}\r
//\r
// valid device type and peripheral qualifier combination.\r
//\r
//\r
// valid device type and peripheral qualifier combination.\r
//\r
\r
Routine Description:\r
\r
\r
Routine Description:\r
\r
- Convert EFI_SCSI_IO_SCSI_REQUEST_PACKET packet to \r
+ Convert EFI_SCSI_IO_SCSI_REQUEST_PACKET packet to\r
EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet\r
EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet\r
Arguments:\r
\r
Packet - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
CommandPacket - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
Arguments:\r
\r
Packet - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
CommandPacket - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
if (Packet->DataDirection == EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL) {\r
return EFI_UNSUPPORTED;\r
}\r
if (Packet->DataDirection == EFI_SCSI_IO_DATA_DIRECTION_BIDIRECTIONAL) {\r
return EFI_UNSUPPORTED;\r
}\r
ZeroMem (CommandPacket, sizeof (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET));\r
\r
CommandPacket->Timeout = Packet->Timeout;\r
ZeroMem (CommandPacket, sizeof (EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET));\r
\r
CommandPacket->Timeout = Packet->Timeout;\r
\r
Routine Description:\r
\r
\r
Routine Description:\r
\r
- Convert EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet to \r
+ Convert EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET packet to\r
EFI_SCSI_IO_SCSI_REQUEST_PACKET packet\r
EFI_SCSI_IO_SCSI_REQUEST_PACKET packet\r
Arguments:\r
\r
ScsiPacket - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
Packet - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
Arguments:\r
\r
ScsiPacket - The pointer of EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET\r
Packet - The pointer of EFI_SCSI_IO_SCSI_REQUEST_PACKET\r
Packet->OutDataBuffer = ScsiPacket->DataBuffer;\r
Packet->OutTransferLength = ScsiPacket->TransferLength;\r
}\r
Packet->OutDataBuffer = ScsiPacket->DataBuffer;\r
Packet->OutTransferLength = ScsiPacket->TransferLength;\r
}\r
return EFI_SUCCESS;\r
}\r
\r
return EFI_SUCCESS;\r
}\r
\r
\r
Routine Description:\r
\r
\r
Routine Description:\r
\r
- Notify Function in which convert EFI1.0 PassThru Packet back to UEF2.0 \r
+ Notify Function in which convert EFI1.0 PassThru Packet back to UEF2.0\r
Arguments:\r
\r
Event - The instance of EFI_EVENT.\r
Context - The parameter passed in.\r
Arguments:\r
\r
Event - The instance of EFI_EVENT.\r
Context - The parameter passed in.\r
{\r
EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet;\r
EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *ScsiPacket;\r
EFI_EVENT CallerEvent;\r
{\r
EFI_SCSI_IO_SCSI_REQUEST_PACKET *Packet;\r
EFI_SCSI_PASS_THRU_SCSI_REQUEST_PACKET *ScsiPacket;\r
EFI_EVENT CallerEvent;\r
- SCSI_EVENT_DATA *PassData; \r
+ SCSI_EVENT_DATA *PassData;\r
\r
PassData = (SCSI_EVENT_DATA*)Context;\r
Packet = (EFI_SCSI_IO_SCSI_REQUEST_PACKET *)PassData->Data1;\r
\r
PassData = (SCSI_EVENT_DATA*)Context;\r
Packet = (EFI_SCSI_IO_SCSI_REQUEST_PACKET *)PassData->Data1;\r
// Convert EFI1.0 PassThru packet to UEFI2.0 SCSI IO Packet.\r
//\r
PassThruToScsiioPacket(ScsiPacket, Packet);\r
// Convert EFI1.0 PassThru packet to UEFI2.0 SCSI IO Packet.\r
//\r
PassThruToScsiioPacket(ScsiPacket, Packet);\r
//\r
// After converting EFI1.0 PassThru Packet back to UEFI2.0 SCSI IO Packet,\r
// free WorkingBuffer.\r
//\r
// After converting EFI1.0 PassThru Packet back to UEFI2.0 SCSI IO Packet,\r
// free WorkingBuffer.\r
#define _USB_DESCRIPTOR_H_\r
\r
enum {\r
#define _USB_DESCRIPTOR_H_\r
\r
enum {\r
- USB_MAX_INTERFACE_SETTING = 8,\r
+ USB_MAX_INTERFACE_SETTING = 8\r
// If overcurrent condition is cleared, enable the port again\r
//\r
if (!USB_BIT_IS_SET (PortState.PortStatus, USB_PORT_STAT_OVERCURRENT)) {\r
// If overcurrent condition is cleared, enable the port again\r
//\r
if (!USB_BIT_IS_SET (PortState.PortStatus, USB_PORT_STAT_OVERCURRENT)) {\r
- HubApi->SetPortFeature (HubIf, Port, USB_HUB_PORT_POWER);\r
+ HubApi->SetPortFeature (HubIf, Port, (EFI_USB_PORT_FEATURE) USB_HUB_PORT_POWER);\r
}\r
\r
} else if (USB_BIT_IS_SET (PortState.PortChangeStatus, USB_PORT_STAT_C_CONNECTION)) {\r
}\r
\r
} else if (USB_BIT_IS_SET (PortState.PortChangeStatus, USB_PORT_STAT_C_CONNECTION)) {\r
IN USB_INTERFACE *UsbIf\r
);\r
\r
IN USB_INTERFACE *UsbIf\r
);\r
\r
-typedef struct _USB_HUB_API{\r
USB_HUB_INIT Init;\r
USB_HUB_GET_PORT_STATUS GetPortStatus;\r
USB_HUB_CLEAR_PORT_CHANGE ClearPortChange;\r
USB_HUB_INIT Init;\r
USB_HUB_GET_PORT_STATUS GetPortStatus;\r
USB_HUB_CLEAR_PORT_CHANGE ClearPortChange;\r
USB_HUB_CLEAR_PORT_FEATURE ClearPortFeature;\r
USB_HUB_RESET_PORT ResetPort;\r
USB_HUB_RELEASE Release;\r
USB_HUB_CLEAR_PORT_FEATURE ClearPortFeature;\r
USB_HUB_RESET_PORT ResetPort;\r
USB_HUB_RELEASE Release;\r
\r
USB_ENDPOINT_DESC*\r
UsbGetEndpointDesc (\r
\r
USB_ENDPOINT_DESC*\r
UsbGetEndpointDesc (\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_CLEAR_FEATURE,\r
Feature,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_CLEAR_FEATURE,\r
Feature,\r
//\r
// Check USB2.0 spec page 424 for wValue's encoding\r
//\r
//\r
// Check USB2.0 spec page 424 for wValue's encoding\r
//\r
- Value = (EpNum & 0x0F) | (DevAddr << 4) |\r
- ((EpType & 0x03) << 11) | ((EpNum & 0x80) << 15);\r
+ Value = (UINT16) ((EpNum & 0x0F) | (DevAddr << 4) |\r
+ ((EpType & 0x03) << 11) | ((EpNum & 0x80) << 15));\r
\r
Status = UsbCtrlRequest (\r
HubDev,\r
\r
Status = UsbCtrlRequest (\r
HubDev,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_CLEAR_TT,\r
Value,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_CLEAR_TT,\r
Value,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_GET_STATUS,\r
0,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_GET_STATUS,\r
0,\r
USB_HUB_TARGET_HUB,\r
USB_HUB_REQ_RESET_TT,\r
0,\r
USB_HUB_TARGET_HUB,\r
USB_HUB_REQ_RESET_TT,\r
0,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_SET_FEATURE,\r
Feature,\r
USB_HUB_TARGET_PORT,\r
USB_HUB_REQ_SET_FEATURE,\r
Feature,\r
// for both gang/individual powered hubs.\r
//\r
for (Index = 0; Index < HubDesc.NumPorts; Index++) {\r
// for both gang/individual powered hubs.\r
//\r
for (Index = 0; Index < HubDesc.NumPorts; Index++) {\r
- UsbHubCtrlSetPortFeature (HubIf->Device, Index, USB_HUB_PORT_POWER);\r
+ UsbHubCtrlSetPortFeature (HubIf->Device, Index, (EFI_USB_PORT_FEATURE) USB_HUB_PORT_POWER);\r
}\r
\r
gBS->Stall (HubDesc.PwrOn2PwrGood * 2 * USB_STALL_1_MS);\r
}\r
\r
gBS->Stall (HubDesc.PwrOn2PwrGood * 2 * USB_STALL_1_MS);\r
{\r
EFI_STATUS Status;\r
\r
{\r
EFI_STATUS Status;\r
\r
- Status = UsbHubCtrlSetPortFeature (HubIf->Device, Port, Feature);\r
+ Status = UsbHubCtrlSetPortFeature (HubIf->Device, Port, (UINT8) Feature);\r
{\r
EFI_STATUS Status;\r
\r
{\r
EFI_STATUS Status;\r
\r
- Status = UsbHubCtrlClearPortFeature (HubIf->Device, Port, Feature);\r
+ Status = UsbHubCtrlClearPortFeature (HubIf->Device, Port, (UINT8) Feature);\r
UINTN Index;\r
EFI_STATUS Status;\r
\r
UINTN Index;\r
EFI_STATUS Status;\r
\r
- Status = UsbHubSetPortFeature (HubIf, Port, USB_HUB_PORT_RESET);\r
+ Status = UsbHubSetPortFeature (HubIf, Port, (EFI_USB_PORT_FEATURE) USB_HUB_PORT_RESET);\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
\r
if (EFI_ERROR (Status)) {\r
return Status;\r
Map = &mRootHubFeatureMap[Index];\r
\r
if (USB_BIT_IS_SET (PortState.PortChangeStatus, Map->ChangedBit)) {\r
Map = &mRootHubFeatureMap[Index];\r
\r
if (USB_BIT_IS_SET (PortState.PortChangeStatus, Map->ChangedBit)) {\r
- UsbHcClearRootHubPortFeature (HubIf->Device->Bus, Port, Map->Feature);\r
+ UsbHcClearRootHubPortFeature (HubIf->Device->Bus, Port, (EFI_USB_PORT_FEATURE) Map->Feature);\r
#ifndef _USB_HUB_H_\r
#define _USB_HUB_H_\r
\r
#ifndef _USB_HUB_H_\r
#define _USB_HUB_H_\r
\r
+#include <IndustryStandard/Usb.h>\r
+\r
#define USB_ENDPOINT_ADDR(EpAddr) ((EpAddr) & 0x7F)\r
#define USB_ENDPOINT_TYPE(Desc) ((Desc)->Attributes & USB_ENDPOINT_TYPE_MASK)\r
\r
#define USB_ENDPOINT_ADDR(EpAddr) ((EpAddr) & 0x7F)\r
#define USB_ENDPOINT_TYPE(Desc) ((Desc)->Attributes & USB_ENDPOINT_TYPE_MASK)\r
\r
USB_HUB_SUBCLASS_CODE = 0x00,\r
\r
\r
USB_HUB_SUBCLASS_CODE = 0x00,\r
\r
\r
};\r
\r
#pragma pack(1)\r
};\r
\r
#pragma pack(1)\r
\r
typedef struct {\r
UINT16 ChangedBit;\r
\r
typedef struct {\r
UINT16 ChangedBit;\r
- EFI_USB_PORT_FEATURE Feature;\r
} USB_CHANGE_FEATURE_MAP;\r
\r
\r
} USB_CHANGE_FEATURE_MAP;\r
\r
\r
UsbResult\r
);\r
} else {\r
UsbResult\r
);\r
} else {\r
- IsSlowDevice = (EFI_USB_SPEED_LOW == DevSpeed) ? TRUE : FALSE;\r
+ IsSlowDevice = (BOOLEAN) ((EFI_USB_SPEED_LOW == DevSpeed) ? TRUE : FALSE);\r
Status = UsbBus->UsbHc->SyncInterruptTransfer (\r
UsbBus->UsbHc,\r
DevAddr,\r
Status = UsbBus->UsbHc->SyncInterruptTransfer (\r
UsbBus->UsbHc,\r
DevAddr,\r
Status = gBS->OpenProtocol (\r
Bus->HostHandle,\r
&gEfiUsb2HcProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Bus->HostHandle,\r
&gEfiUsb2HcProtocolGuid,\r
mUsbBusDriverBinding.DriverBindingHandle,\r
Child,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
mUsbBusDriverBinding.DriverBindingHandle,\r
Child,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
Status = gBS->OpenProtocol (\r
Bus->HostHandle,\r
&gEfiUsbHcProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Bus->HostHandle,\r
&gEfiUsbHcProtocolGuid,\r
mUsbBusDriverBinding.DriverBindingHandle,\r
Child,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
mUsbBusDriverBinding.DriverBindingHandle,\r
Child,\r
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER\r
USB_BUS_TPL = TPL_NOTIFY,\r
\r
USB_INTERFACE_SIGNATURE = EFI_SIGNATURE_32 ('U', 'S', 'B', 'I'),\r
USB_BUS_TPL = TPL_NOTIFY,\r
\r
USB_INTERFACE_SIGNATURE = EFI_SIGNATURE_32 ('U', 'S', 'B', 'I'),\r
- USB_BUS_SIGNATURE = EFI_SIGNATURE_32 ('U', 'S', 'B', 'B'),\r
+ USB_BUS_SIGNATURE = EFI_SIGNATURE_32 ('U', 'S', 'B', 'B')\r
};\r
\r
#define USB_BIT(a) ((UINTN)(1 << (a)))\r
};\r
\r
#define USB_BIT(a) ((UINTN)(1 << (a)))\r
// Stands for the real USB device. Each device may\r
// has several seperately working interfaces.\r
//\r
// Stands for the real USB device. Each device may\r
// has several seperately working interfaces.\r
//\r
-typedef struct _USB_DEVICE {\r
UINT8 ParentAddr;\r
USB_INTERFACE *ParentIf;\r
UINT8 ParentPort; // Start at 0\r
UINT8 ParentAddr;\r
USB_INTERFACE *ParentIf;\r
UINT8 ParentPort; // Start at 0\r
\r
//\r
// Stands for different functions of USB device\r
//\r
\r
//\r
// Stands for different functions of USB device\r
//\r
-typedef struct _USB_INTERFACE {\r
+struct _USB_INTERFACE {\r
UINTN Signature;\r
USB_DEVICE *Device;\r
USB_INTERFACE_DESC *IfDesc;\r
UINTN Signature;\r
USB_DEVICE *Device;\r
USB_INTERFACE_DESC *IfDesc;\r
// connected to EHCI.\r
//\r
UINT8 MaxSpeed;\r
// connected to EHCI.\r
//\r
UINT8 MaxSpeed;\r
\r
//\r
// Stands for the current USB Bus\r
//\r
\r
//\r
// Stands for the current USB Bus\r
//\r
-typedef struct _USB_BUS {\r
UINTN Signature;\r
EFI_USB_BUS_PROTOCOL BusId;\r
\r
UINTN Signature;\r
EFI_USB_BUS_PROTOCOL BusId;\r
\r
// for root hub. Device with address i is at Devices[i].\r
//\r
USB_DEVICE *Devices[USB_MAX_DEVICES];\r
// for root hub. Device with address i is at Devices[i].\r
//\r
USB_DEVICE *Devices[USB_MAX_DEVICES];\r
\r
extern EFI_USB_IO_PROTOCOL mUsbIoProtocol;\r
extern EFI_DRIVER_BINDING_PROTOCOL mUsbBusDriverBinding;\r
\r
extern EFI_USB_IO_PROTOCOL mUsbIoProtocol;\r
extern EFI_DRIVER_BINDING_PROTOCOL mUsbBusDriverBinding;\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
EFI_STATUS Status;\r
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *SimpleInput;\r
USB_KB_DEV *UsbKeyboardDevice;\r
EFI_STATUS Status;\r
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *SimpleInput;\r
USB_KB_DEV *UsbKeyboardDevice;\r
- EFI_USB_IO_PROTOCOL *UsbIo;\r
\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiSimpleTextInProtocolGuid,\r
\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiSimpleTextInProtocolGuid,\r
+ (VOID **) &SimpleInput,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
- UsbIo = UsbKeyboardDevice->UsbIo;\r
//\r
// Uninstall the Asyn Interrupt Transfer from this device\r
// will disable the key data input from this device\r
//\r
// Uninstall the Asyn Interrupt Transfer from this device\r
// will disable the key data input from this device\r
{\r
EFI_STATUS Status;\r
USB_KB_DEV *UsbKeyboardDevice;\r
{\r
EFI_STATUS Status;\r
USB_KB_DEV *UsbKeyboardDevice;\r
- EFI_USB_IO_PROTOCOL *UsbIo;\r
\r
UsbKeyboardDevice = USB_KB_DEV_FROM_THIS (This);\r
\r
\r
UsbKeyboardDevice = USB_KB_DEV_FROM_THIS (This);\r
\r
- UsbIo = UsbKeyboardDevice->UsbIo;\r
-\r
KbdReportStatusCode (\r
UsbKeyboardDevice->DevicePath,\r
EFI_PROGRESS_CODE,\r
KbdReportStatusCode (\r
UsbKeyboardDevice->DevicePath,\r
EFI_PROGRESS_CODE,\r
UINT8 Duration;\r
EFI_STATUS Status;\r
UINT32 TransferResult;\r
UINT8 Duration;\r
EFI_STATUS Status;\r
UINT32 TransferResult;\r
- EFI_USB_IO_PROTOCOL *UsbIo;\r
-\r
- UsbIo = UsbKeyboardDevice->UsbIo;\r
\r
KbdReportStatusCode (\r
UsbKeyboardDevice->DevicePath,\r
\r
KbdReportStatusCode (\r
UsbKeyboardDevice->DevicePath,\r
UINT8 Index;\r
UINT8 Index2;\r
BOOLEAN Down;\r
UINT8 Index;\r
UINT8 Index2;\r
BOOLEAN Down;\r
BOOLEAN KeyRelease;\r
BOOLEAN KeyPress;\r
UINT8 SavedTail;\r
USB_KEY UsbKey;\r
UINT8 NewRepeatKey;\r
UINT32 UsbStatus;\r
BOOLEAN KeyRelease;\r
BOOLEAN KeyPress;\r
UINT8 SavedTail;\r
USB_KEY UsbKey;\r
UINT8 NewRepeatKey;\r
UINT32 UsbStatus;\r
\r
ASSERT (Context);\r
\r
NewRepeatKey = 0;\r
\r
ASSERT (Context);\r
\r
NewRepeatKey = 0;\r
- DataPtr = (UINT8 *) Data;\r
UsbKeyboardDevice = (USB_KB_DEV *) Context;\r
UsbIo = UsbKeyboardDevice->UsbIo;\r
\r
UsbKeyboardDevice = (USB_KB_DEV *) Context;\r
UsbIo = UsbKeyboardDevice->UsbIo;\r
\r
// Delete & Submit this interrupt again\r
//\r
\r
// Delete & Submit this interrupt again\r
//\r
\r
- Status = UsbIo->UsbAsyncInterruptTransfer (\r
+ UsbIo->UsbAsyncInterruptTransfer (\r
UsbIo,\r
UsbKeyboardDevice->IntEndpointDescriptor.EndpointAddress,\r
FALSE,\r
UsbIo,\r
UsbKeyboardDevice->IntEndpointDescriptor.EndpointAddress,\r
FALSE,\r
\r
USB_MASS_CMD_SUCCESS = 0,\r
USB_MASS_CMD_FAIL,\r
\r
USB_MASS_CMD_SUCCESS = 0,\r
USB_MASS_CMD_FAIL,\r
- USB_MASS_CMD_PERSISTENT,\r
+ USB_MASS_CMD_PERSISTENT\r
IN UINT16 Data16\r
)\r
{\r
IN UINT16 Data16\r
)\r
{\r
- Data16 = USB_BOOT_SWAP16 (Data16);\r
+ Data16 = (UINT16) (USB_BOOT_SWAP16 (Data16));\r
CopyMem (Buf, &Data16, sizeof (UINT16));\r
}\r
\r
CopyMem (Buf, &Data16, sizeof (UINT16));\r
}\r
\r
ZeroMem (&SenseData, sizeof (USB_BOOT_REQUEST_SENSE_DATA));\r
\r
SenseCmd.OpCode = USB_BOOT_REQUEST_SENSE_OPCODE;\r
ZeroMem (&SenseData, sizeof (USB_BOOT_REQUEST_SENSE_DATA));\r
\r
SenseCmd.OpCode = USB_BOOT_REQUEST_SENSE_OPCODE;\r
- SenseCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ SenseCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
SenseCmd.AllocLen = sizeof (USB_BOOT_REQUEST_SENSE_DATA);\r
\r
Status = Transport->ExecCommand (\r
SenseCmd.AllocLen = sizeof (USB_BOOT_REQUEST_SENSE_DATA);\r
\r
Status = Transport->ExecCommand (\r
ZeroMem (&TestCmd, sizeof (USB_BOOT_TEST_UNIT_READY_CMD));\r
\r
TestCmd.OpCode = USB_BOOT_TEST_UNIT_READY_OPCODE;\r
ZeroMem (&TestCmd, sizeof (USB_BOOT_TEST_UNIT_READY_CMD));\r
\r
TestCmd.OpCode = USB_BOOT_TEST_UNIT_READY_OPCODE;\r
- TestCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ TestCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
\r
return UsbBootExecCmdWithRetry (\r
UsbMass,\r
\r
return UsbBootExecCmdWithRetry (\r
UsbMass,\r
ZeroMem (&InquiryData, sizeof (USB_BOOT_INQUIRY_DATA));\r
\r
InquiryCmd.OpCode = USB_BOOT_INQUIRY_OPCODE;\r
ZeroMem (&InquiryData, sizeof (USB_BOOT_INQUIRY_DATA));\r
\r
InquiryCmd.OpCode = USB_BOOT_INQUIRY_OPCODE;\r
- InquiryCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ InquiryCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
InquiryCmd.AllocLen = sizeof (InquiryData);\r
\r
Status = UsbBootExecCmdWithRetry (\r
InquiryCmd.AllocLen = sizeof (InquiryData);\r
\r
Status = UsbBootExecCmdWithRetry (\r
- UsbMass->Pdt = USB_BOOT_PDT (InquiryData.Pdt);\r
- Media->RemovableMedia = USB_BOOT_REMOVABLE (InquiryData.Removable);\r
+ UsbMass->Pdt = (UINT8) (USB_BOOT_PDT (InquiryData.Pdt));\r
+ Media->RemovableMedia = (BOOLEAN) (USB_BOOT_REMOVABLE (InquiryData.Removable));\r
//\r
// Default value 512 Bytes, in case no media present at first time\r
//\r
//\r
// Default value 512 Bytes, in case no media present at first time\r
//\r
ZeroMem (&CapacityData, sizeof (USB_BOOT_READ_CAPACITY_DATA));\r
\r
CapacityCmd.OpCode = USB_BOOT_READ_CAPACITY_OPCODE;\r
ZeroMem (&CapacityData, sizeof (USB_BOOT_READ_CAPACITY_DATA));\r
\r
CapacityCmd.OpCode = USB_BOOT_READ_CAPACITY_OPCODE;\r
- CapacityCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ CapacityCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
\r
Status = UsbBootExecCmdWithRetry (\r
UsbMass,\r
\r
Status = UsbBootExecCmdWithRetry (\r
UsbMass,\r
ZeroMem (&ReadCmd, sizeof (USB_BOOT_READ10_CMD));\r
\r
ReadCmd.OpCode = USB_BOOT_READ10_OPCODE;\r
ZeroMem (&ReadCmd, sizeof (USB_BOOT_READ10_CMD));\r
\r
ReadCmd.OpCode = USB_BOOT_READ10_OPCODE;\r
- ReadCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ ReadCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
UsbBootPutUint32 (ReadCmd.Lba, Lba);\r
UsbBootPutUint16 (ReadCmd.TransferLen, Count);\r
\r
UsbBootPutUint32 (ReadCmd.Lba, Lba);\r
UsbBootPutUint16 (ReadCmd.TransferLen, Count);\r
\r
ZeroMem (&WriteCmd, sizeof (USB_BOOT_WRITE10_CMD));\r
\r
WriteCmd.OpCode = USB_BOOT_WRITE10_OPCODE;\r
ZeroMem (&WriteCmd, sizeof (USB_BOOT_WRITE10_CMD));\r
\r
WriteCmd.OpCode = USB_BOOT_WRITE10_OPCODE;\r
- WriteCmd.Lun = USB_BOOT_LUN (UsbMass->Lun);\r
+ WriteCmd.Lun = (UINT8) (USB_BOOT_LUN (UsbMass->Lun));\r
UsbBootPutUint32 (WriteCmd.Lba, Lba);\r
UsbBootPutUint16 (WriteCmd.TransferLen, Count);\r
\r
UsbBootPutUint32 (WriteCmd.Lba, Lba);\r
UsbBootPutUint16 (WriteCmd.TransferLen, Count);\r
\r
USB_PDT_DIRECT_ACCESS = 0x00, // Direct access device\r
USB_PDT_CDROM = 0x05, // CDROM\r
USB_PDT_OPTICAL = 0x07, // Non-CD optical disks\r
USB_PDT_DIRECT_ACCESS = 0x00, // Direct access device\r
USB_PDT_CDROM = 0x05, // CDROM\r
USB_PDT_OPTICAL = 0x07, // Non-CD optical disks\r
- USB_PDT_SIMPLE_DIRECT = 0x0E, // Simplified direct access device\r
+ USB_PDT_SIMPLE_DIRECT = 0x0E // Simplified direct access device\r
Cbw.Signature = USB_BOT_CBW_SIGNATURE;\r
Cbw.Tag = UsbBot->CbwTag;\r
Cbw.DataLen = TransLen;\r
Cbw.Signature = USB_BOT_CBW_SIGNATURE;\r
Cbw.Tag = UsbBot->CbwTag;\r
Cbw.DataLen = TransLen;\r
- Cbw.Flag = ((DataDir == EfiUsbDataIn) ? 0x80 : 0);\r
+ Cbw.Flag = (UINT8) ((DataDir == EfiUsbDataIn) ? 0x80 : 0);\r
Cbw.Lun = 0;\r
Cbw.CmdLen = CmdLen;\r
\r
Cbw.Lun = 0;\r
Cbw.CmdLen = CmdLen;\r
\r
//\r
USB_BOT_CBW_TIMEOUT = 1 * USB_MASS_STALL_1_S,\r
USB_BOT_CSW_TIMEOUT = 1 * USB_MASS_STALL_1_S,\r
//\r
USB_BOT_CBW_TIMEOUT = 1 * USB_MASS_STALL_1_S,\r
USB_BOT_CSW_TIMEOUT = 1 * USB_MASS_STALL_1_S,\r
- USB_BOT_RESET_TIMEOUT = 3 * USB_MASS_STALL_1_S,\r
+ USB_BOT_RESET_TIMEOUT = 3 * USB_MASS_STALL_1_S\r
//\r
// Usb Cbi transfer timeout\r
//\r
//\r
// Usb Cbi transfer timeout\r
//\r
- USB_CBI_RESET_TIMEOUT = 1 * USB_MASS_STALL_1_S,\r
+ USB_CBI_RESET_TIMEOUT = 1 * USB_MASS_STALL_1_S\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiBlockIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiBlockIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
#include "UsbMassBoot.h"\r
\r
enum {\r
#include "UsbMassBoot.h"\r
\r
enum {\r
- USB_MASS_SIGNATURE= EFI_SIGNATURE_32 ('U', 's', 'b', 'K'),\r
+ USB_MASS_SIGNATURE= EFI_SIGNATURE_32 ('U', 's', 'b', 'K')\r
-typedef struct _USB_MASS_DEVICE {\r
+struct _USB_MASS_DEVICE {\r
UINT32 Signature;\r
EFI_HANDLE Controller;\r
EFI_USB_IO_PROTOCOL *UsbIo;\r
UINT32 Signature;\r
EFI_HANDLE Controller;\r
EFI_USB_IO_PROTOCOL *UsbIo;\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
OpenStatus = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiUsbIoProtocolGuid,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_BY_DRIVER\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiSimplePointerProtocolGuid,\r
Status = gBS->OpenProtocol (\r
Controller,\r
&gEfiSimplePointerProtocolGuid,\r
- &SimplePointerProtocol,\r
+ (VOID **) &SimplePointerProtocol,\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
This->DriverBindingHandle,\r
Controller,\r
EFI_OPEN_PROTOCOL_GET_PROTOCOL\r
)\r
{\r
USB_MOUSE_DEV *UsbMouseDevice;\r
)\r
{\r
USB_MOUSE_DEV *UsbMouseDevice;\r
- EFI_USB_IO_PROTOCOL *UsbIo;\r
\r
UsbMouseDevice = USB_MOUSE_DEV_FROM_MOUSE_PROTOCOL (This);\r
\r
\r
UsbMouseDevice = USB_MOUSE_DEV_FROM_MOUSE_PROTOCOL (This);\r
\r
- UsbIo = UsbMouseDevice->UsbIo;\r
-\r
MouseReportStatusCode (\r
UsbMouseDevice->DevicePath,\r
EFI_PROGRESS_CODE,\r
MouseReportStatusCode (\r
UsbMouseDevice->DevicePath,\r
EFI_PROGRESS_CODE,\r
/** @file\r
Private functions used by PCD DXE driver.\r
\r
/** @file\r
Private functions used by PCD DXE driver.\r
\r
-Copyright (c) 2006 - 2007, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2006 - 2007, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
\r
Module Name: Service.h\r
\r
\r
Module Name: Service.h\r
// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
// and generated by PCD Database generation tool.\r
//\r
// PCD_DXE_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
// and generated by PCD Database generation tool.\r
//\r
-#if (PCD_SERVICE_DXE_DRIVER_VERSION != PCD_DXE_SERVICE_DRIVER_AUTOGEN_VERSION)\r
+//#if (PCD_SERVICE_DXE_DRIVER_VERSION != PCD_DXE_SERVICE_DRIVER_AUTOGEN_VERSION)\r
// #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"\r
// #error "Please make sure the version of PCD Service DXE Driver and PCD DXE Database Generation Tool matches"\r
\r
//\r
// Protocol Interface function declaration.\r
\r
//\r
// Protocol Interface function declaration.\r
IN CONST EFI_GUID *Guid,\r
IN UINTN ExTokenNumber,\r
IN UINTN GetSize\r
IN CONST EFI_GUID *Guid,\r
IN UINTN ExTokenNumber,\r
IN UINTN GetSize\r
UINT32 LocalTokenNumber,\r
UINTN Size,\r
BOOLEAN IsPeiDb\r
UINT32 LocalTokenNumber,\r
UINTN Size,\r
BOOLEAN IsPeiDb\r
GetExPcdTokenNumber (\r
IN CONST EFI_GUID *Guid,\r
IN UINT32 ExTokenNumber\r
GetExPcdTokenNumber (\r
IN CONST EFI_GUID *Guid,\r
IN UINT32 ExTokenNumber\r
ExGetNextTokeNumber (\r
IN CONST EFI_GUID *Guid,\r
IN OUT UINTN *TokenNumber,\r
ExGetNextTokeNumber (\r
IN CONST EFI_GUID *Guid,\r
IN OUT UINTN *TokenNumber,\r
/** @file\r
Private functions used by PCD PEIM.\r
\r
/** @file\r
Private functions used by PCD PEIM.\r
\r
-Copyright (c) 2006, Intel Corporation \r
-All rights reserved. This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
\r
Module Name: Service.h\r
\r
\r
Module Name: Service.h\r
// PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
// and generated by PCD Database generation tool.\r
//\r
// PCD_PEI_DATABASE_GENTOOL_VERSION is defined in Autogen.h\r
// and generated by PCD Database generation tool.\r
//\r
-#if (PCD_SERVICE_PEIM_VERSION != PCD_PEI_SERVICE_DRIVER_AUTOGEN_VERSION )\r
+//#if (PCD_SERVICE_PEIM_VERSION != PCD_PEI_SERVICE_DRIVER_AUTOGEN_VERSION )\r
// #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"\r
// #error "Please make sure the version of PCD Service PEIM and PCD PEI Database Generation Tool matches"\r
\r
//\r
// PPI Interface Implementation Declaration.\r
\r
//\r
// PPI Interface Implementation Declaration.\r
} EX_PCD_ENTRY_ATTRIBUTE;\r
\r
\r
} EX_PCD_ENTRY_ATTRIBUTE;\r
\r
\r
GetExPcdTokenNumber (\r
IN CONST EFI_GUID *Guid,\r
IN UINTN ExTokenNumber\r
GetExPcdTokenNumber (\r
IN CONST EFI_GUID *Guid,\r
IN UINTN ExTokenNumber\r
--*/\r
{\r
UINTN Address;\r
--*/\r
{\r
UINTN Address;\r
- VOID *PlabelConvertAddress;\r
UINT64 VirtEndOfRange;\r
EFI_MEMORY_DESCRIPTOR *VirtEntry;\r
UINTN Index;\r
UINT64 VirtEndOfRange;\r
EFI_MEMORY_DESCRIPTOR *VirtEntry;\r
UINTN Index;\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
return EFI_INVALID_PARAMETER;\r
}\r
\r
- PlabelConvertAddress = NULL;\r
VirtEntry = mVirtualMap;\r
for (Index = 0; Index < mVirtualMapMaxIndex; Index++) {\r
//\r
VirtEntry = mVirtualMap;\r
for (Index = 0; Index < mVirtualMapMaxIndex; Index++) {\r
//\r
RuntimeDriverCalculateEfiHdrCrc (&gRT->Hdr);\r
\r
//\r
RuntimeDriverCalculateEfiHdrCrc (&gRT->Hdr);\r
\r
//\r
- // BugBug: PI requires System Configuration Tables Conversion. \r
+ // BugBug: PI requires System Configuration Tables Conversion.\r
// Currently, we do not implement it.\r
// Currently, we do not implement it.\r
\r
//\r
// Convert the runtime fields of the EFI System Table and recompute the CRC-32\r
\r
//\r
// Convert the runtime fields of the EFI System Table and recompute the CRC-32\r