IntelFrameworkModulePkg: Clean up source files

1. Do not use tab characters
2. No trailing white space in one line
3. All files must end with CRLF

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Liming Gao
2018-06-27 21:06:35 +08:00
parent e38f26a2f7
commit 0a6f48249a
246 changed files with 4071 additions and 4071 deletions

View File

@ -1,7 +1,7 @@
/** @file /** @file
The header file for ISA bus driver The header file for ISA bus driver
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -157,20 +157,20 @@ typedef struct {
// EFI Driver Binding Protocol Interface Functions // EFI Driver Binding Protocol Interface Functions
// //
/** /**
Tests to see if a controller can be managed by the ISA Bus Driver. If a child device is provided, Tests to see if a controller can be managed by the ISA Bus Driver. If a child device is provided,
it further tests to see if this driver supports creating a handle for the specified child device. it further tests to see if this driver supports creating a handle for the specified child device.
Note that the ISA Bus driver always creates all of its child handles on the first call to Start(). Note that the ISA Bus driver always creates all of its child handles on the first call to Start().
How the Start() function of a driver is implemented can affect how the Supported() function is implemented. How the Start() function of a driver is implemented can affect how the Supported() function is implemented.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
@retval EFI_UNSUPPORTED The device is is not supported by this driver. @retval EFI_UNSUPPORTED The device is is not supported by this driver.
@ -184,24 +184,24 @@ IsaBusControllerDriverSupported (
); );
/** /**
Start this driver on ControllerHandle. Start this driver on ControllerHandle.
Note that the ISA Bus driver always creates all of its child handles on the first call to Start(). Note that the ISA Bus driver always creates all of its child handles on the first call to Start().
The Start() function is designed to be invoked from the EFI boot service ConnectController(). The Start() function is designed to be invoked from the EFI boot service ConnectController().
As a result, much of the error checking on the parameters to Start() has been moved into this As a result, much of the error checking on the parameters to Start() has been moved into this
common boot service. It is legal to call Start() from other locations, but the following calling common boot service. It is legal to call Start() from other locations, but the following calling
restrictions must be followed or the system behavior will not be deterministic. restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE. 1. ControllerHandle must be a valid EFI_HANDLE.
2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned 2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned
EFI_DEVICE_PATH_PROTOCOL. EFI_DEVICE_PATH_PROTOCOL.
3. Prior to calling Start(), the Supported() function for the driver specified by This must 3. Prior to calling Start(), the Supported() function for the driver specified by This must
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS. have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -219,11 +219,11 @@ IsaBusControllerDriverStart (
); );
/** /**
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
The Stop() function is designed to be invoked from the EFI boot service DisconnectController(). The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
As a result, much of the error checking on the parameters to Stop() has been moved As a result, much of the error checking on the parameters to Stop() has been moved
into this common boot service. It is legal to call Stop() from other locations, into this common boot service. It is legal to call Stop() from other locations,
but the following calling restrictions must be followed or the system behavior will not be deterministic. but the following calling restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this 1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this
same driver's Start() function. same driver's Start() function.
@ -231,13 +231,13 @@ IsaBusControllerDriverStart (
EFI_HANDLE. In addition, all of these handles must have been created in this driver's EFI_HANDLE. In addition, all of these handles must have been created in this driver's
Start() function, and the Start() function must have called OpenProtocol() on Start() function, and the Start() function must have called OpenProtocol() on
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.
@ -257,11 +257,11 @@ IsaBusControllerDriverStop (
// //
/** /**
Create EFI Handle for a ISA device found via ISA ACPI Protocol Create EFI Handle for a ISA device found via ISA ACPI Protocol
@param[in] This The EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This The EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of ISA bus controller(PCI to ISA bridge) @param[in] Controller The handle of ISA bus controller(PCI to ISA bridge)
@param[in] PciIo The Pointer to the PCI protocol @param[in] PciIo The Pointer to the PCI protocol
@param[in] ParentDevicePath Device path of the ISA bus controller @param[in] ParentDevicePath Device path of the ISA bus controller
@param[in] IsaDeviceResourceList The resource list of the ISA device @param[in] IsaDeviceResourceList The resource list of the ISA device
@param[out] ChildDevicePath The pointer to the child device. @param[out] ChildDevicePath The pointer to the child device.
@ -285,7 +285,7 @@ IsaCreateDevice (
@param[in] IsaIoDevice The iso device to be initialized. @param[in] IsaIoDevice The iso device to be initialized.
@param[in] IsaDeviceResourceList The resource list. @param[in] IsaDeviceResourceList The resource list.
**/ **/
VOID VOID
InitializeIsaIoInstance ( InitializeIsaIoInstance (

View File

@ -1,7 +1,7 @@
/** @file /** @file
The header file for EFI_ISA_IO protocol implementation. The header file for EFI_ISA_IO protocol implementation.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -34,9 +34,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@param[in] IsaIoDevice The ISA device to be verified. @param[in] IsaIoDevice The ISA device to be verified.
@param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo. @param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo.
@param[in] Width The width of the memory operation. @param[in] Width The width of the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@retval EFI_SUCCESS Verify success. @retval EFI_SUCCESS Verify success.
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
@retval EFI_UNSUPPORTED The device ont support the access type. @retval EFI_UNSUPPORTED The device ont support the access type.
@ -49,14 +49,14 @@ IsaIoVerifyAccess (
IN UINTN Count, IN UINTN Count,
IN UINT32 Offset IN UINT32 Offset
); );
/** /**
Performs an ISA I/O Read Cycle Performs an ISA I/O Read Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device sucessfully. @retval EFI_SUCCESS The data was read from the device sucessfully.
@ -79,8 +79,8 @@ IsaIoIoRead (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was writen to the device sucessfully. @retval EFI_SUCCESS The data was writen to the device sucessfully.
@ -102,18 +102,18 @@ IsaIoIoWrite (
Maps a memory region for DMA Maps a memory region for DMA
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -173,8 +173,8 @@ IsaIoFlush (
@param[in] PageOffset The page's offest. @param[in] PageOffset The page's offest.
@param[in] CountOffset The count's offset. @param[in] CountOffset The count's offset.
@param[in] BaseAddress The base address. @param[in] BaseAddress The base address.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@retval EFI_INVALID_PARAMETER Parameter is invalid. @retval EFI_INVALID_PARAMETER Parameter is invalid.
@retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid. @retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid.
@ -194,7 +194,7 @@ WriteDmaPort (
Writes an 8-bit I/O Port Writes an 8-bit I/O Port
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Offset The offset in ISA IO space to start the IO operation. @param[in] Offset The offset in ISA IO space to start the IO operation.
@param[in] Value The data to write port. @param[in] Value The data to write port.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -207,17 +207,17 @@ WritePort (
IN EFI_ISA_IO_PROTOCOL *This, IN EFI_ISA_IO_PROTOCOL *This,
IN UINT32 Offset, IN UINT32 Offset,
IN UINT8 Value IN UINT8 Value
); );
/** /**
Performs an ISA Memory Read Cycle Performs an ISA Memory Read Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device successfully. @retval EFI_SUCCESS The data was read from the device successfully.
@retval EFI_UNSUPPORTED The Offset is not valid for this device. @retval EFI_UNSUPPORTED The Offset is not valid for this device.
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid. @retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.
@ -237,10 +237,10 @@ IsaIoMemRead (
/** /**
Performs an ISA Memory Write Cycle Performs an ISA Memory Write Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was written to the device sucessfully. @retval EFI_SUCCESS The data was written to the device sucessfully.
@ -263,7 +263,7 @@ IsaIoMemWrite (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory copy operation. @param[in] Width Specifies the width of the memory copy operation.
@param[in] DestOffset The offset of the destination @param[in] DestOffset The offset of the destination
@param[in] SrcOffset The offset of the source @param[in] SrcOffset The offset of the source
@param[in] Count The number of memory copy operations to perform @param[in] Count The number of memory copy operations to perform
@ -294,7 +294,7 @@ IsaIoCopyMem (
@retval EFI_SUCCESS The requested memory pages were allocated. @retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL @retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL
@retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified @retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified
by HostAddress, Pages, and Type is not available for common buffer use. by HostAddress, Pages, and Type is not available for common buffer use.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/ **/
@ -310,7 +310,7 @@ IsaIoAllocateBuffer (
); );
/** /**
Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer(). Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer().
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Pages The number of pages to free. @param[in] Pages The number of pages to free.

View File

@ -1,12 +1,12 @@
/** @file /** @file
ISA Bus UEFI driver. ISA Bus UEFI driver.
Discovers all the ISA Controllers and their resources by using the ISA ACPI Discovers all the ISA Controllers and their resources by using the ISA ACPI
Protocol, produces an instance of the ISA I/O Protocol for every ISA Protocol, produces an instance of the ISA I/O Protocol for every ISA
Controller found. This driver is designed to manage a PCI-to-ISA bridge Device Controller found. This driver is designed to manage a PCI-to-ISA bridge Device
such as LPC bridge. such as LPC bridge.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -34,9 +34,9 @@ EFI_DRIVER_BINDING_PROTOCOL gIsaBusControllerDriver = {
/** /**
The main entry point for the ISA Bus driver. The main entry point for the ISA Bus driver.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols. @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
@ -65,20 +65,20 @@ InitializeIsaBus(
return Status; return Status;
} }
/** /**
Tests to see if a controller can be managed by the ISA Bus Driver. If a child device is provided, Tests to see if a controller can be managed by the ISA Bus Driver. If a child device is provided,
it further tests to see if this driver supports creating a handle for the specified child device. it further tests to see if this driver supports creating a handle for the specified child device.
Note that the ISA Bus driver always creates all of its child handles on the first call to Start(). Note that the ISA Bus driver always creates all of its child handles on the first call to Start().
How the Start() function of a driver is implemented can affect how the Supported() function is implemented. How the Start() function of a driver is implemented can affect how the Supported() function is implemented.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
@retval EFI_UNSUPPORTED The device is is not supported by this driver. @retval EFI_UNSUPPORTED The device is is not supported by this driver.
@ -97,7 +97,7 @@ IsaBusControllerDriverSupported (
// //
// If RemainingDevicePath is not NULL, it should verify that the first device // If RemainingDevicePath is not NULL, it should verify that the first device
// path node in RemainingDevicePath is an ACPI Device path node which is a // path node in RemainingDevicePath is an ACPI Device path node which is a
// legal Device Path Node for this bus driver's children. // legal Device Path Node for this bus driver's children.
// //
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
@ -192,24 +192,24 @@ IsaBusControllerDriverSupported (
} }
/** /**
Start this driver on ControllerHandle. Start this driver on ControllerHandle.
Note that the ISA Bus driver always creates all of its child handles on the first call to Start(). Note that the ISA Bus driver always creates all of its child handles on the first call to Start().
The Start() function is designed to be invoked from the EFI boot service ConnectController(). The Start() function is designed to be invoked from the EFI boot service ConnectController().
As a result, much of the error checking on the parameters to Start() has been moved into this As a result, much of the error checking on the parameters to Start() has been moved into this
common boot service. It is legal to call Start() from other locations, but the following calling common boot service. It is legal to call Start() from other locations, but the following calling
restrictions must be followed or the system behavior will not be deterministic. restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE. 1. ControllerHandle must be a valid EFI_HANDLE.
2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned 2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned
EFI_DEVICE_PATH_PROTOCOL. EFI_DEVICE_PATH_PROTOCOL.
3. Prior to calling Start(), the Supported() function for the driver specified by This must 3. Prior to calling Start(), the Supported() function for the driver specified by This must
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS. have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -413,11 +413,11 @@ IsaBusControllerDriverStart (
} }
/** /**
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
The Stop() function is designed to be invoked from the EFI boot service DisconnectController(). The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
As a result, much of the error checking on the parameters to Stop() has been moved As a result, much of the error checking on the parameters to Stop() has been moved
into this common boot service. It is legal to call Stop() from other locations, into this common boot service. It is legal to call Stop() from other locations,
but the following calling restrictions must be followed or the system behavior will not be deterministic. but the following calling restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this 1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this
same driver's Start() function. same driver's Start() function.
@ -425,13 +425,13 @@ IsaBusControllerDriverStart (
EFI_HANDLE. In addition, all of these handles must have been created in this driver's EFI_HANDLE. In addition, all of these handles must have been created in this driver's
Start() function, and the Start() function must have called OpenProtocol() on Start() function, and the Start() function must have called OpenProtocol() on
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.
@ -538,7 +538,7 @@ IsaBusControllerDriverStop (
This->DriverBindingHandle, This->DriverBindingHandle,
ChildHandleBuffer[Index], ChildHandleBuffer[Index],
EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER
); );
} }
} }
@ -559,11 +559,11 @@ IsaBusControllerDriverStop (
// //
/** /**
Create EFI Handle for a ISA device found via ISA ACPI Protocol Create EFI Handle for a ISA device found via ISA ACPI Protocol
@param[in] This The EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This The EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of ISA bus controller(PCI to ISA bridge) @param[in] Controller The handle of ISA bus controller(PCI to ISA bridge)
@param[in] PciIo The Pointer to the PCI protocol @param[in] PciIo The Pointer to the PCI protocol
@param[in] ParentDevicePath Device path of the ISA bus controller @param[in] ParentDevicePath Device path of the ISA bus controller
@param[in] IsaDeviceResourceList The resource list of the ISA device @param[in] IsaDeviceResourceList The resource list of the ISA device
@param[out] ChildDevicePath The pointer to the child device. @param[out] ChildDevicePath The pointer to the child device.

View File

@ -6,13 +6,13 @@
// Controller found. This driver is designed to manage a PCI-to-ISA bridge Device // Controller found. This driver is designed to manage a PCI-to-ISA bridge Device
// such as an LPC bridge. // such as an LPC bridge.
// //
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IsaBusDxe Localized Strings and Content // IsaBusDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"ISA Bus DXE Driver" "ISA Bus DXE Driver"

View File

@ -1,7 +1,7 @@
/** @file /** @file
The implementation for EFI_ISA_IO_PROTOCOL. The implementation for EFI_ISA_IO_PROTOCOL.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -18,11 +18,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// Module Variables // Module Variables
// //
EFI_ISA_IO_PROTOCOL mIsaIoInterface = { EFI_ISA_IO_PROTOCOL mIsaIoInterface = {
{ {
IsaIoMemRead, IsaIoMemRead,
IsaIoMemWrite IsaIoMemWrite
}, },
{ {
IsaIoIoRead, IsaIoIoRead,
IsaIoIoWrite IsaIoIoWrite
}, },
@ -85,7 +85,7 @@ EFI_ISA_DMA_REGISTERS mDmaRegisters[8] = {
@param[in] IsaIoDevice The iso device to be initialized. @param[in] IsaIoDevice The iso device to be initialized.
@param[in] IsaDeviceResourceList The resource list. @param[in] IsaDeviceResourceList The resource list.
**/ **/
VOID VOID
InitializeIsaIoInstance ( InitializeIsaIoInstance (
@ -110,8 +110,8 @@ InitializeIsaIoInstance (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device sucessfully. @retval EFI_SUCCESS The data was read from the device sucessfully.
@ -172,8 +172,8 @@ IsaIoIoRead (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was writen to the device sucessfully. @retval EFI_SUCCESS The data was writen to the device sucessfully.
@ -233,7 +233,7 @@ IsaIoIoWrite (
Writes an 8-bit I/O Port Writes an 8-bit I/O Port
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Offset The offset in ISA IO space to start the IO operation. @param[in] Offset The offset in ISA IO space to start the IO operation.
@param[in] Value The data to write port. @param[in] Value The data to write port.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -282,8 +282,8 @@ WritePort (
@param[in] PageOffset The page's offest. @param[in] PageOffset The page's offest.
@param[in] CountOffset The count's offset. @param[in] CountOffset The count's offset.
@param[in] BaseAddress The base address. @param[in] BaseAddress The base address.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@retval EFI_INVALID_PARAMETER Parameter is invalid. @retval EFI_INVALID_PARAMETER Parameter is invalid.
@retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid. @retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid.
@ -420,9 +420,9 @@ IsaIoFlush (
@param[in] IsaIoDevice The ISA device to be verified. @param[in] IsaIoDevice The ISA device to be verified.
@param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo. @param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo.
@param[in] Width The width of the memory operation. @param[in] Width The width of the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@retval EFI_SUCCESS Verify success. @retval EFI_SUCCESS Verify success.
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
@retval EFI_UNSUPPORTED The device ont support the access type. @retval EFI_UNSUPPORTED The device ont support the access type.
@ -482,10 +482,10 @@ IsaIoVerifyAccess (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device successfully. @retval EFI_SUCCESS The data was read from the device successfully.
@retval EFI_UNSUPPORTED The Offset is not valid for this device. @retval EFI_UNSUPPORTED The Offset is not valid for this device.
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid. @retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.
@ -549,10 +549,10 @@ IsaIoMemRead (
/** /**
Performs an ISA Memory Write Cycle Performs an ISA Memory Write Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was written to the device sucessfully. @retval EFI_SUCCESS The data was written to the device sucessfully.
@ -620,7 +620,7 @@ IsaIoMemWrite (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory copy operation. @param[in] Width Specifies the width of the memory copy operation.
@param[in] DestOffset The offset of the destination @param[in] DestOffset The offset of the destination
@param[in] SrcOffset The offset of the source @param[in] SrcOffset The offset of the source
@param[in] Count The number of memory copy operations to perform @param[in] Count The number of memory copy operations to perform
@ -701,18 +701,18 @@ IsaIoCopyMem (
only supports slave read/write operation to save code size. only supports slave read/write operation to save code size.
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -743,7 +743,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
UINT8 DmaMask; UINT8 DmaMask;
UINT8 DmaClear; UINT8 DmaClear;
UINT8 DmaChannelMode; UINT8 DmaChannelMode;
if ((NULL == This) || if ((NULL == This) ||
(NULL == HostAddress) || (NULL == HostAddress) ||
(NULL == NumberOfBytes) || (NULL == NumberOfBytes) ||
@ -762,7 +762,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
// Make sure the Operation parameter is valid. // Make sure the Operation parameter is valid.
// Light IsaIo only supports two operations. // Light IsaIo only supports two operations.
// //
if (!(Operation == EfiIsaIoOperationSlaveRead || if (!(Operation == EfiIsaIoOperationSlaveRead ||
Operation == EfiIsaIoOperationSlaveWrite)) { Operation == EfiIsaIoOperationSlaveWrite)) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
@ -848,7 +848,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
// //
*DeviceAddress = PhysicalAddress; *DeviceAddress = PhysicalAddress;
} }
// //
// Figure out what to program into the DMA Channel Mode Register // Figure out what to program into the DMA Channel Mode Register
// //
@ -933,22 +933,22 @@ IsaIoMapOnlySupportSlaveReadWrite (
} }
/** /**
Maps a memory region for DMA. This implementation implement the Maps a memory region for DMA. This implementation implement the
the full mapping support. the full mapping support.
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS - The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS - The range was mapped for the returned NumberOfBytes.
@ -1262,18 +1262,18 @@ IsaIoMapFullSupport (
Maps a memory region for DMA Maps a memory region for DMA
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -1302,7 +1302,7 @@ IsaIoMap (
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
// //
// Set Feature Flag PcdIsaBusSupportBusMaster to FALSE to disable support for // Set Feature Flag PcdIsaBusSupportBusMaster to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// //
// So we just return EFI_UNSUPPORTED for these functions. // So we just return EFI_UNSUPPORTED for these functions.
@ -1345,7 +1345,7 @@ IsaIoMap (
@retval EFI_SUCCESS The requested memory pages were allocated. @retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL @retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL
@retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified @retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified
by HostAddress, Pages, and Type is not available for common buffer use. by HostAddress, Pages, and Type is not available for common buffer use.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/ **/
@ -1364,7 +1364,7 @@ IsaIoAllocateBuffer (
EFI_PHYSICAL_ADDRESS PhysicalAddress; EFI_PHYSICAL_ADDRESS PhysicalAddress;
// //
// Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for // Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA. // Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
// //
@ -1418,7 +1418,7 @@ IsaIoAllocateBuffer (
} }
/** /**
Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer(). Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer().
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Pages The number of pages to free. @param[in] Pages The number of pages to free.
@ -1438,7 +1438,7 @@ IsaIoFreeBuffer (
EFI_STATUS Status; EFI_STATUS Status;
// //
// Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for // Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA. // Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
// //

View File

@ -1,14 +1,14 @@
/** @file /** @file
ISA Floppy Disk UEFI Driver conforming to the UEFI driver model ISA Floppy Disk UEFI Driver conforming to the UEFI driver model
1. Support two types diskette drive 1. Support two types diskette drive
1.44M drive and 2.88M drive (and now only support 1.44M) 1.44M drive and 2.88M drive (and now only support 1.44M)
2. Support two diskette drives per floppy disk controller 2. Support two diskette drives per floppy disk controller
3. Use DMA channel 2 to transfer data 3. Use DMA channel 2 to transfer data
4. Do not use interrupt 4. Do not use interrupt
5. Support diskette change line signal and write protect 5. Support diskette change line signal and write protect
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -39,9 +39,9 @@ EFI_DRIVER_BINDING_PROTOCOL gFdcControllerDriver = {
/** /**
The main Entry Point for this driver. The main Entry Point for this driver.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point. @retval other Some error occurs when executing this entry point.
**/ **/
@ -72,14 +72,14 @@ InitializeIsaFloppy(
/** /**
Test if the controller is a floppy disk drive device Test if the controller is a floppy disk drive device
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
@retval EFI_UNSUPPORTED The device is is not supported by this driver. @retval EFI_UNSUPPORTED The device is is not supported by this driver.
**/ **/
@ -159,10 +159,10 @@ FdcControllerDriverSupported (
Start this driver on Controller. Start this driver on Controller.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -248,7 +248,7 @@ FdcControllerDriverStart (
FdcDev->ControllerNameTable = NULL; FdcDev->ControllerNameTable = NULL;
AddName (FdcDev); AddName (FdcDev);
// //
// Look up the base address of the Floppy Disk Controller which controls this floppy device // Look up the base address of the Floppy Disk Controller which controls this floppy device
// //
@ -397,11 +397,11 @@ Done:
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.

View File

@ -1,7 +1,7 @@
/** @file /** @file
Include file for ISA Floppy Driver Include file for ISA Floppy Driver
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -482,14 +482,14 @@ typedef struct {
/** /**
Test controller is a floppy disk drive device Test controller is a floppy disk drive device
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
**/ **/
EFI_STATUS EFI_STATUS
@ -504,10 +504,10 @@ FdcControllerDriverSupported (
Start this driver on Controller. Start this driver on Controller.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -528,11 +528,11 @@ FdcControllerDriverStart (
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.
@ -552,14 +552,14 @@ FdcControllerDriverStop (
// //
/** /**
Reset the Floppy Logic Drive, call the FddReset function. Reset the Floppy Logic Drive, call the FddReset function.
@param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface @param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface
@param ExtendedVerification BOOLEAN: Indicate that the driver may perform a more @param ExtendedVerification BOOLEAN: Indicate that the driver may perform a more
exhaustive verification operation of the device during exhaustive verification operation of the device during
reset, now this par is ignored in this driver reset, now this par is ignored in this driver
@retval EFI_SUCCESS: The Floppy Logic Drive is reset @retval EFI_SUCCESS: The Floppy Logic Drive is reset
@retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly @retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly
and can not be reset and can not be reset
**/ **/
@ -572,7 +572,7 @@ FdcReset (
/** /**
Flush block via fdd controller. Flush block via fdd controller.
@param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface @param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface
@return EFI_SUCCESS @return EFI_SUCCESS
@ -584,23 +584,23 @@ FddFlushBlocks (
); );
/** /**
Read the requested number of blocks from the device. Read the requested number of blocks from the device.
@param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface @param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface
@param MediaId UINT32: The media id that the read request is for @param MediaId UINT32: The media id that the read request is for
@param Lba EFI_LBA: The starting logic block address to read from on the device @param Lba EFI_LBA: The starting logic block address to read from on the device
@param BufferSize UINTN: The size of the Buffer in bytes @param BufferSize UINTN: The size of the Buffer in bytes
@param Buffer VOID *: A pointer to the destination buffer for the data @param Buffer VOID *: A pointer to the destination buffer for the data
@retval EFI_SUCCESS: The data was read correctly from the device @retval EFI_SUCCESS: The data was read correctly from the device
@retval EFI_DEVICE_ERROR:The device reported an error while attempting to perform @retval EFI_DEVICE_ERROR:The device reported an error while attempting to perform
the read operation the read operation
@retval EFI_NO_MEDIA: There is no media in the device @retval EFI_NO_MEDIA: There is no media in the device
@retval EFI_MEDIA_CHANGED: The MediaId is not for the current media @retval EFI_MEDIA_CHANGED: The MediaId is not for the current media
@retval EFI_BAD_BUFFER_SIZE: The BufferSize parameter is not a multiple of the @retval EFI_BAD_BUFFER_SIZE: The BufferSize parameter is not a multiple of the
intrinsic block size of the device intrinsic block size of the device
@retval EFI_INVALID_PARAMETER:The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER:The read request contains LBAs that are not valid,
or the buffer is not on proper alignment or the buffer is not on proper alignment
**/ **/
EFI_STATUS EFI_STATUS
@ -614,24 +614,24 @@ FddReadBlocks (
); );
/** /**
Write a specified number of blocks to the device. Write a specified number of blocks to the device.
@param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface @param This EFI_BLOCK_IO *: A pointer to the Block I/O protocol interface
@param MediaId UINT32: The media id that the write request is for @param MediaId UINT32: The media id that the write request is for
@param Lba EFI_LBA: The starting logic block address to be written @param Lba EFI_LBA: The starting logic block address to be written
@param BufferSize UINTN: The size in bytes in Buffer @param BufferSize UINTN: The size in bytes in Buffer
@param Buffer VOID *: A pointer to the source buffer for the data @param Buffer VOID *: A pointer to the source buffer for the data
@retval EFI_SUCCESS: The data were written correctly to the device @retval EFI_SUCCESS: The data were written correctly to the device
@retval EFI_WRITE_PROTECTED: The device can not be written to @retval EFI_WRITE_PROTECTED: The device can not be written to
@retval EFI_NO_MEDIA: There is no media in the device @retval EFI_NO_MEDIA: There is no media in the device
@retval EFI_MEDIA_CHANGED: The MediaId is not for the current media @retval EFI_MEDIA_CHANGED: The MediaId is not for the current media
@retval EFI_DEVICE_ERROR: The device reported an error while attempting to perform @retval EFI_DEVICE_ERROR: The device reported an error while attempting to perform
the write operation the write operation
@retval EFI_BAD_BUFFER_SIZE: The BufferSize parameter is not a multiple of the @retval EFI_BAD_BUFFER_SIZE: The BufferSize parameter is not a multiple of the
intrinsic block size of the device intrinsic block size of the device
@retval EFI_INVALID_PARAMETER:The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER:The write request contains LBAs that are not valid,
or the buffer is not on proper alignment or the buffer is not on proper alignment
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -649,7 +649,7 @@ FddWriteBlocks (
/** /**
Detect the floppy drive is presented or not. Detect the floppy drive is presented or not.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS Drive is presented @retval EFI_SUCCESS Drive is presented
@retval EFI_NOT_FOUND Drive is not presented @retval EFI_NOT_FOUND Drive is not presented
@ -664,7 +664,7 @@ DiscoverFddDevice (
Do recalibrate and see the drive is presented or not. Do recalibrate and see the drive is presented or not.
Set the media parameters. Set the media parameters.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV
@return the drive is presented or not @return the drive is presented or not
@ -677,9 +677,9 @@ FddIdentify (
/** /**
Reset the Floppy Logic Drive. Reset the Floppy Logic Drive.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: The Floppy Logic Drive is reset @retval EFI_SUCCESS: The Floppy Logic Drive is reset
@retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly and @retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly and
can not be reset can not be reset
@ -694,9 +694,9 @@ FddReset (
Turn the drive's motor on. Turn the drive's motor on.
The drive's motor must be on before any command can be executed. The drive's motor must be on before any command can be executed.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Turn the drive's motor on successfully @retval EFI_SUCCESS: Turn the drive's motor on successfully
@retval EFI_DEVICE_ERROR: The drive is busy, so can not turn motor on @retval EFI_DEVICE_ERROR: The drive is busy, so can not turn motor on
@retval EFI_INVALID_PARAMETER: Fail to Set timer(Cancel timer) @retval EFI_INVALID_PARAMETER: Fail to Set timer(Cancel timer)
@ -710,10 +710,10 @@ MotorOn (
/** /**
Set a Timer and when Timer goes off, turn the motor off. Set a Timer and when Timer goes off, turn the motor off.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Set the Timer successfully @retval EFI_SUCCESS: Set the Timer successfully
@retval EFI_INVALID_PARAMETER: Fail to Set the timer @retval EFI_INVALID_PARAMETER: Fail to Set the timer
@ -725,10 +725,10 @@ MotorOff (
/** /**
Detect the disk in the drive is changed or not. Detect the disk in the drive is changed or not.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: No disk media change @retval EFI_SUCCESS: No disk media change
@retval EFI_DEVICE_ERROR: Fail to do the recalibrate or seek operation @retval EFI_DEVICE_ERROR: Fail to do the recalibrate or seek operation
@retval EFI_NO_MEDIA: No disk in the drive @retval EFI_NO_MEDIA: No disk in the drive
@ -743,9 +743,9 @@ DisketChanged (
Do the Specify command, this command sets DMA operation Do the Specify command, this command sets DMA operation
and the initial values for each of the three internal and the initial values for each of the three internal
times: HUT, SRT and HLT. times: HUT, SRT and HLT.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Execute the Specify command successfully @retval EFI_SUCCESS: Execute the Specify command successfully
@retval EFI_DEVICE_ERROR: Fail to execute the command @retval EFI_DEVICE_ERROR: Fail to execute the command
@ -757,7 +757,7 @@ Specify (
/** /**
Set the head of floppy drive to track 0. Set the head of floppy drive to track 0.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Execute the Recalibrate operation successfully @retval EFI_SUCCESS: Execute the Recalibrate operation successfully
@retval EFI_DEVICE_ERROR: Fail to execute the Recalibrate operation @retval EFI_DEVICE_ERROR: Fail to execute the Recalibrate operation
@ -770,10 +770,10 @@ Recalibrate (
/** /**
Set the head of floppy drive to the new cylinder. Set the head of floppy drive to the new cylinder.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param Lba EFI_LBA : The logic block address want to seek @param Lba EFI_LBA : The logic block address want to seek
@retval EFI_SUCCESS: Execute the Seek operation successfully @retval EFI_SUCCESS: Execute the Seek operation successfully
@retval EFI_DEVICE_ERROR: Fail to execute the Seek operation @retval EFI_DEVICE_ERROR: Fail to execute the Seek operation
@ -786,12 +786,12 @@ Seek (
/** /**
Do the Sense Interrupt Status command, this command resets the interrupt signal. Do the Sense Interrupt Status command, this command resets the interrupt signal.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param StatusRegister0 UINT8 *: Be used to save Status Register 0 read from FDC @param StatusRegister0 UINT8 *: Be used to save Status Register 0 read from FDC
@param PresentCylinderNumber UINT8 *: Be used to save present cylinder number @param PresentCylinderNumber UINT8 *: Be used to save present cylinder number
read from FDC read from FDC
@retval EFI_SUCCESS: Execute the Sense Interrupt Status command successfully @retval EFI_SUCCESS: Execute the Sense Interrupt Status command successfully
@retval EFI_DEVICE_ERROR: Fail to execute the command @retval EFI_DEVICE_ERROR: Fail to execute the command
@ -805,10 +805,10 @@ SenseIntStatus (
/** /**
Do the Sense Drive Status command. Do the Sense Drive Status command.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param Lba EFI_LBA : Logic block address @param Lba EFI_LBA : Logic block address
@retval EFI_SUCCESS: Execute the Sense Drive Status command successfully @retval EFI_SUCCESS: Execute the Sense Drive Status command successfully
@retval EFI_DEVICE_ERROR: Fail to execute the command @retval EFI_DEVICE_ERROR: Fail to execute the command
@retval EFI_WRITE_PROTECTED:The disk is write protected @retval EFI_WRITE_PROTECTED:The disk is write protected
@ -822,9 +822,9 @@ SenseDrvStatus (
/** /**
Update the disk media properties and if necessary reinstall Block I/O interface. Update the disk media properties and if necessary reinstall Block I/O interface.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Do the operation successfully @retval EFI_SUCCESS: Do the operation successfully
@retval EFI_DEVICE_ERROR: Fail to the operation @retval EFI_DEVICE_ERROR: Fail to the operation
@ -836,7 +836,7 @@ DetectMedia (
/** /**
Set the data rate and so on. Set the data rate and so on.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@retval EFI_SUCCESS success to set the data rate @retval EFI_SUCCESS success to set the data rate
@ -848,13 +848,13 @@ Setup (
/** /**
Read or Write a number of blocks in the same cylinder. Read or Write a number of blocks in the same cylinder.
@param FdcDev A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev A pointer to Data Structure FDC_BLK_IO_DEV
@param HostAddress device address @param HostAddress device address
@param Lba The starting logic block address to read from on the device @param Lba The starting logic block address to read from on the device
@param NumberOfBlocks The number of block wanted to be read or write @param NumberOfBlocks The number of block wanted to be read or write
@param Read Operation type: read or write @param Read Operation type: read or write
@retval EFI_SUCCESS Success operate @retval EFI_SUCCESS Success operate
**/ **/
@ -869,7 +869,7 @@ ReadWriteDataSector (
/** /**
Fill in FDD command's parameter. Fill in FDD command's parameter.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Lba The starting logic block address to read from on the device @param Lba The starting logic block address to read from on the device
@param Command FDD command @param Command FDD command
@ -884,10 +884,10 @@ FillPara (
/** /**
Read result byte from Data Register of FDC. Read result byte from Data Register of FDC.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Pointer Buffer to store the byte read from FDC @param Pointer Buffer to store the byte read from FDC
@retval EFI_SUCCESS Read result byte from FDC successfully @retval EFI_SUCCESS Read result byte from FDC successfully
@retval EFI_DEVICE_ERROR The FDC is not ready to be read @retval EFI_DEVICE_ERROR The FDC is not ready to be read
@ -900,10 +900,10 @@ DataInByte (
/** /**
Write command byte to Data Register of FDC. Write command byte to Data Register of FDC.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Pointer Be used to save command byte written to FDC @param Pointer Be used to save command byte written to FDC
@retval EFI_SUCCESS: Write command byte to FDC successfully @retval EFI_SUCCESS: Write command byte to FDC successfully
@retval EFI_DEVICE_ERROR: The FDC is not ready to be written @retval EFI_DEVICE_ERROR: The FDC is not ready to be written
@ -916,10 +916,10 @@ DataOutByte (
/** /**
Detect the specified floppy logic drive is busy or not within a period of time. Detect the specified floppy logic drive is busy or not within a period of time.
@param FdcDev Indicate it is drive A or drive B @param FdcDev Indicate it is drive A or drive B
@param Timeout The time period for waiting @param Timeout The time period for waiting
@retval EFI_SUCCESS: The drive and command are not busy @retval EFI_SUCCESS: The drive and command are not busy
@retval EFI_TIMEOUT: The drive or command is still busy after a period time that @retval EFI_TIMEOUT: The drive or command is still busy after a period time that
set by Timeout set by Timeout
@ -933,11 +933,11 @@ FddWaitForBSYClear (
/** /**
Determine whether FDC is ready to write or read. Determine whether FDC is ready to write or read.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Dio BOOLEAN: Indicate the FDC is waiting to write or read @param Dio BOOLEAN: Indicate the FDC is waiting to write or read
@param Timeout The time period for waiting @param Timeout The time period for waiting
@retval EFI_SUCCESS: FDC is ready to write or read @retval EFI_SUCCESS: FDC is ready to write or read
@retval EFI_NOT_READY: FDC is not ready within the specified time period @retval EFI_NOT_READY: FDC is not ready within the specified time period
@ -969,9 +969,9 @@ CheckResult (
/** /**
Check the drive status information. Check the drive status information.
@param StatusRegister3 the value of Status Register 3 @param StatusRegister3 the value of Status Register 3
@retval EFI_SUCCESS The disk is not write protected @retval EFI_SUCCESS The disk is not write protected
@retval EFI_WRITE_PROTECTED: The disk is write protected @retval EFI_WRITE_PROTECTED: The disk is write protected
@ -983,11 +983,11 @@ CheckStatus3 (
/** /**
Calculate the number of block in the same cylinder according to Lba. Calculate the number of block in the same cylinder according to Lba.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param Lba EFI_LBA: The starting logic block address @param Lba EFI_LBA: The starting logic block address
@param NumberOfBlocks UINTN: The number of blocks @param NumberOfBlocks UINTN: The number of blocks
@return The number of blocks in the same cylinder which the starting @return The number of blocks in the same cylinder which the starting
logic block address is Lba logic block address is Lba
@ -1001,7 +1001,7 @@ GetTransferBlockCount (
/** /**
When the Timer(2s) off, turn the drive's motor off. When the Timer(2s) off, turn the drive's motor off.
@param Event EFI_EVENT: Event(the timer) whose notification function is being @param Event EFI_EVENT: Event(the timer) whose notification function is being
invoked invoked
@param Context VOID *: Pointer to the notification function's context @param Context VOID *: Pointer to the notification function's context
@ -1016,7 +1016,7 @@ FddTimerProc (
/** /**
Read I/O port for FDC. Read I/O port for FDC.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param Offset The offset address of port @param Offset The offset address of port
@ -1029,11 +1029,11 @@ FdcReadPort (
/** /**
Write I/O port for FDC. Write I/O port for FDC.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to Data Structure FDC_BLK_IO_DEV
@param Offset The offset address of port @param Offset The offset address of port
@param Data Value written to port @param Data Value written to port
**/ **/
VOID VOID
FdcWritePort ( FdcWritePort (
@ -1079,10 +1079,10 @@ FddReadWriteBlocks (
); );
/** /**
Common interface for free cache. Common interface for free cache.
@param FdcDev Pointer of FDC_BLK_IO_DEV instance @param FdcDev Pointer of FDC_BLK_IO_DEV instance
**/ **/
VOID VOID
FdcFreeCache ( FdcFreeCache (

View File

@ -1,7 +1,7 @@
/** @file /** @file
Implementation of the EFI Block IO Protocol for ISA Floppy driver Implementation of the EFI Block IO Protocol for ISA Floppy driver
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -71,7 +71,7 @@ FddFlushBlocks (
/** /**
Common report status code interface. Common report status code interface.
@param This Pointer of FDC_BLK_IO_DEV instance @param This Pointer of FDC_BLK_IO_DEV instance
@param Read Read or write operation when error occurrs @param Read Read or write operation when error occurrs
**/ **/
@ -107,7 +107,7 @@ FddReportStatus (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -148,7 +148,7 @@ FddReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -189,7 +189,7 @@ FddWriteBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
@retval EFI_WRITE_PROTECTED The device can not be written to. @retval EFI_WRITE_PROTECTED The device can not be written to.
@ -359,9 +359,9 @@ FddReadWriteBlocks (
/** /**
Free cache for a floppy disk. Free cache for a floppy disk.
@param FdcDev A Pointer to FDC_BLK_IO_DEV instance @param FdcDev A Pointer to FDC_BLK_IO_DEV instance
**/ **/
VOID VOID
FdcFreeCache ( FdcFreeCache (

View File

@ -1,7 +1,7 @@
/** @file /** @file
Internal floppy disk controller programming functions for the floppy driver. Internal floppy disk controller programming functions for the floppy driver.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -16,7 +16,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/** /**
Detect whether a floppy drive is present or not. Detect whether a floppy drive is present or not.
@param[in] FdcDev A pointer to the FDC_BLK_IO_DEV @param[in] FdcDev A pointer to the FDC_BLK_IO_DEV
@retval EFI_SUCCESS The floppy disk drive is present @retval EFI_SUCCESS The floppy disk drive is present
@ -49,7 +49,7 @@ DiscoverFddDevice (
/** /**
Do recalibrate and check if the drive is present or not Do recalibrate and check if the drive is present or not
and set the media parameters if the driver is present. and set the media parameters if the driver is present.
@param[in] FdcDev A pointer to the FDC_BLK_IO_DEV @param[in] FdcDev A pointer to the FDC_BLK_IO_DEV
@retval EFI_SUCCESS The floppy disk drive is present @retval EFI_SUCCESS The floppy disk drive is present
@ -123,9 +123,9 @@ FddIdentify (
/** /**
Reset the Floppy Logic Drive. Reset the Floppy Logic Drive.
@param FdcDev FDC_BLK_IO_DEV * : A pointer to the FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV * : A pointer to the FDC_BLK_IO_DEV
@retval EFI_SUCCESS: The Floppy Logic Drive is reset @retval EFI_SUCCESS: The Floppy Logic Drive is reset
@retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly and @retval EFI_DEVICE_ERROR: The Floppy Logic Drive is not functioning correctly and
can not be reset can not be reset
@ -222,9 +222,9 @@ FddReset (
/** /**
Turn the floppy disk drive's motor on. Turn the floppy disk drive's motor on.
The drive's motor must be on before any command can be executed. The drive's motor must be on before any command can be executed.
@param[in] FdcDev A pointer to the FDC_BLK_IO_DEV @param[in] FdcDev A pointer to the FDC_BLK_IO_DEV
@retval EFI_SUCCESS The drive's motor was turned on successfully @retval EFI_SUCCESS The drive's motor was turned on successfully
@retval EFI_DEVICE_ERROR The drive is busy, so can not turn motor on @retval EFI_DEVICE_ERROR The drive is busy, so can not turn motor on
**/ **/
@ -298,9 +298,9 @@ MotorOn (
/** /**
Set a Timer and when Timer goes off, turn the motor off. Set a Timer and when Timer goes off, turn the motor off.
@param[in] FdcDev A pointer to the FDC_BLK_IO_DEV @param[in] FdcDev A pointer to the FDC_BLK_IO_DEV
@retval EFI_SUCCESS Set the Timer successfully @retval EFI_SUCCESS Set the Timer successfully
@retval EFI_INVALID_PARAMETER Fail to Set the timer @retval EFI_INVALID_PARAMETER Fail to Set the timer
**/ **/
@ -317,9 +317,9 @@ MotorOff (
/** /**
Detect whether the disk in the drive is changed or not. Detect whether the disk in the drive is changed or not.
@param[in] FdcDev A pointer to FDC_BLK_IO_DEV @param[in] FdcDev A pointer to FDC_BLK_IO_DEV
@retval EFI_SUCCESS No disk media change @retval EFI_SUCCESS No disk media change
@retval EFI_DEVICE_ERROR Fail to do the recalibrate or seek operation @retval EFI_DEVICE_ERROR Fail to do the recalibrate or seek operation
@retval EFI_NO_MEDIA No disk in the drive @retval EFI_NO_MEDIA No disk in the drive
@ -382,9 +382,9 @@ DisketChanged (
Do the Specify command, this command sets DMA operation Do the Specify command, this command sets DMA operation
and the initial values for each of the three internal and the initial values for each of the three internal
times: HUT, SRT and HLT. times: HUT, SRT and HLT.
@param[in] FdcDev Pointer to instance of FDC_BLK_IO_DEV @param[in] FdcDev Pointer to instance of FDC_BLK_IO_DEV
@retval EFI_SUCCESS Execute the Specify command successfully @retval EFI_SUCCESS Execute the Specify command successfully
@retval EFI_DEVICE_ERROR Fail to execute the command @retval EFI_DEVICE_ERROR Fail to execute the command
**/ **/
@ -422,7 +422,7 @@ Specify (
/** /**
Set the head of floppy drive to track 0. Set the head of floppy drive to track 0.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Execute the Recalibrate operation successfully @retval EFI_SUCCESS: Execute the Recalibrate operation successfully
@retval EFI_DEVICE_ERROR: Fail to execute the Recalibrate operation @retval EFI_DEVICE_ERROR: Fail to execute the Recalibrate operation
@ -496,10 +496,10 @@ Recalibrate (
/** /**
Set the head of floppy drive to the new cylinder. Set the head of floppy drive to the new cylinder.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@param Lba EFI_LBA : The logic block address want to seek @param Lba EFI_LBA : The logic block address want to seek
@retval EFI_SUCCESS: Execute the Seek operation successfully @retval EFI_SUCCESS: Execute the Seek operation successfully
@retval EFI_DEVICE_ERROR: Fail to execute the Seek operation @retval EFI_DEVICE_ERROR: Fail to execute the Seek operation
@ -600,12 +600,12 @@ Seek (
/** /**
Do the Sense Interrupt Status command, this command Do the Sense Interrupt Status command, this command
resets the interrupt signal. resets the interrupt signal.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@param StatusRegister0 UINT8 *: Be used to save Status Register 0 read from FDC @param StatusRegister0 UINT8 *: Be used to save Status Register 0 read from FDC
@param PresentCylinderNumber UINT8 *: Be used to save present cylinder number @param PresentCylinderNumber UINT8 *: Be used to save present cylinder number
read from FDC read from FDC
@retval EFI_SUCCESS: Execute the Sense Interrupt Status command successfully @retval EFI_SUCCESS: Execute the Sense Interrupt Status command successfully
@retval EFI_DEVICE_ERROR: Fail to execute the command @retval EFI_DEVICE_ERROR: Fail to execute the command
@ -637,10 +637,10 @@ SenseIntStatus (
/** /**
Do the Sense Drive Status command. Do the Sense Drive Status command.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@param Lba EFI_LBA : Logic block address @param Lba EFI_LBA : Logic block address
@retval EFI_SUCCESS: Execute the Sense Drive Status command successfully @retval EFI_SUCCESS: Execute the Sense Drive Status command successfully
@retval EFI_DEVICE_ERROR: Fail to execute the command @retval EFI_DEVICE_ERROR: Fail to execute the command
@retval EFI_WRITE_PROTECTED:The disk is write protected @retval EFI_WRITE_PROTECTED:The disk is write protected
@ -700,9 +700,9 @@ SenseDrvStatus (
/** /**
Update the disk media properties and if necessary reinstall Block I/O interface. Update the disk media properties and if necessary reinstall Block I/O interface.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@retval EFI_SUCCESS: Do the operation successfully @retval EFI_SUCCESS: Do the operation successfully
@retval EFI_DEVICE_ERROR: Fail to the operation @retval EFI_DEVICE_ERROR: Fail to the operation
@ -778,7 +778,7 @@ DetectMedia (
/** /**
Set the data rate and so on. Set the data rate and so on.
@param FdcDev A pointer to FDC_BLK_IO_DEV @param FdcDev A pointer to FDC_BLK_IO_DEV
@retval EFI_SUCCESS success to set the data rate @retval EFI_SUCCESS success to set the data rate
@ -811,13 +811,13 @@ Setup (
/** /**
Read or Write a number of blocks in the same cylinder. Read or Write a number of blocks in the same cylinder.
@param FdcDev A pointer to FDC_BLK_IO_DEV @param FdcDev A pointer to FDC_BLK_IO_DEV
@param HostAddress device address @param HostAddress device address
@param Lba The starting logic block address to read from on the device @param Lba The starting logic block address to read from on the device
@param NumberOfBlocks The number of block wanted to be read or write @param NumberOfBlocks The number of block wanted to be read or write
@param Read Operation type: read or write @param Read Operation type: read or write
@retval EFI_SUCCESS Success operate @retval EFI_SUCCESS Success operate
**/ **/
@ -961,7 +961,7 @@ ReadWriteDataSector (
/** /**
Fill in FDD command's parameter. Fill in FDD command's parameter.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Lba The starting logic block address to read from on the device @param Lba The starting logic block address to read from on the device
@param Command FDD command @param Command FDD command
@ -1002,10 +1002,10 @@ FillPara (
/** /**
Read result byte from Data Register of FDC. Read result byte from Data Register of FDC.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Pointer Buffer to store the byte read from FDC @param Pointer Buffer to store the byte read from FDC
@retval EFI_SUCCESS Read result byte from FDC successfully @retval EFI_SUCCESS Read result byte from FDC successfully
@retval EFI_DEVICE_ERROR The FDC is not ready to be read @retval EFI_DEVICE_ERROR The FDC is not ready to be read
@ -1041,10 +1041,10 @@ DataInByte (
/** /**
Write command byte to Data Register of FDC. Write command byte to Data Register of FDC.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Pointer Be used to save command byte written to FDC @param Pointer Be used to save command byte written to FDC
@retval EFI_SUCCESS: Write command byte to FDC successfully @retval EFI_SUCCESS: Write command byte to FDC successfully
@retval EFI_DEVICE_ERROR: The FDC is not ready to be written @retval EFI_DEVICE_ERROR: The FDC is not ready to be written
@ -1081,10 +1081,10 @@ DataOutByte (
/** /**
Detect the specified floppy logic drive is busy or not within a period of time. Detect the specified floppy logic drive is busy or not within a period of time.
@param FdcDev Indicate it is drive A or drive B @param FdcDev Indicate it is drive A or drive B
@param Timeout The time period for waiting @param Timeout The time period for waiting
@retval EFI_SUCCESS: The drive and command are not busy @retval EFI_SUCCESS: The drive and command are not busy
@retval EFI_TIMEOUT: The drive or command is still busy after a period time that @retval EFI_TIMEOUT: The drive or command is still busy after a period time that
set by Timeout set by Timeout
@ -1135,11 +1135,11 @@ FddWaitForBSYClear (
/** /**
Determine whether FDC is ready to write or read. Determine whether FDC is ready to write or read.
@param FdcDev Pointer to instance of FDC_BLK_IO_DEV @param FdcDev Pointer to instance of FDC_BLK_IO_DEV
@param Dio BOOLEAN: Indicate the FDC is waiting to write or read @param Dio BOOLEAN: Indicate the FDC is waiting to write or read
@param Timeout The time period for waiting @param Timeout The time period for waiting
@retval EFI_SUCCESS: FDC is ready to write or read @retval EFI_SUCCESS: FDC is ready to write or read
@retval EFI_NOT_READY: FDC is not ready within the specified time period @retval EFI_NOT_READY: FDC is not ready within the specified time period
@ -1196,7 +1196,7 @@ FddDRQReady (
} }
/** /**
Set FDC control structure's attribute according to result. Set FDC control structure's attribute according to result.
@param Result Point to result structure @param Result Point to result structure
@param FdcDev FDC control structure @param FdcDev FDC control structure
@ -1247,9 +1247,9 @@ CheckResult (
/** /**
Check the drive status information. Check the drive status information.
@param StatusRegister3 the value of Status Register 3 @param StatusRegister3 the value of Status Register 3
@retval EFI_SUCCESS The disk is not write protected @retval EFI_SUCCESS The disk is not write protected
@retval EFI_WRITE_PROTECTED: The disk is write protected @retval EFI_WRITE_PROTECTED: The disk is write protected
@ -1268,11 +1268,11 @@ CheckStatus3 (
/** /**
Calculate the number of block in the same cylinder according to LBA. Calculate the number of block in the same cylinder according to LBA.
@param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV @param FdcDev FDC_BLK_IO_DEV *: A pointer to FDC_BLK_IO_DEV
@param LBA EFI_LBA: The starting logic block address @param LBA EFI_LBA: The starting logic block address
@param NumberOfBlocks UINTN: The number of blocks @param NumberOfBlocks UINTN: The number of blocks
@return The number of blocks in the same cylinder which the starting @return The number of blocks in the same cylinder which the starting
logic block address is LBA logic block address is LBA
@ -1304,7 +1304,7 @@ GetTransferBlockCount (
/** /**
When the Timer(2s) off, turn the drive's motor off. When the Timer(2s) off, turn the drive's motor off.
@param Event EFI_EVENT: Event(the timer) whose notification function is being @param Event EFI_EVENT: Event(the timer) whose notification function is being
invoked invoked
@param Context VOID *: Pointer to the notification function's context @param Context VOID *: Pointer to the notification function's context
@ -1343,7 +1343,7 @@ FddTimerProc (
/** /**
Read an I/O port of FDC. Read an I/O port of FDC.
@param[in] FdcDev A pointer to FDC_BLK_IO_DEV. @param[in] FdcDev A pointer to FDC_BLK_IO_DEV.
@param[in] Offset The address offset of the I/O port. @param[in] Offset The address offset of the I/O port.
@ -1372,7 +1372,7 @@ FdcReadPort (
/** /**
Write an I/O port of FDC. Write an I/O port of FDC.
@param[in] FdcDev A pointer to FDC_BLK_IO_DEV @param[in] FdcDev A pointer to FDC_BLK_IO_DEV
@param[in] Offset The address offset of the I/O port @param[in] Offset The address offset of the I/O port
@param[in] Data 8-bit Value written to the I/O port @param[in] Data 8-bit Value written to the I/O port

View File

@ -5,13 +5,13 @@
// driver provides support for two drives per controller, DMA channel 2, diskette // driver provides support for two drives per controller, DMA channel 2, diskette
// change line and write protect. Currently only 1.44MB drives are supported. // change line and write protect. Currently only 1.44MB drives are supported.
// //
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IsaFloppyDxe Localized Strings and Content // IsaFloppyDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"ISA Floppy DXE Driver" "ISA Floppy DXE Driver"

View File

@ -1,8 +1,8 @@
/** @file /** @file
Definition of FDC registers and structures. Definition of FDC registers and structures.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
of the BSD License which accompanies this distribution. The of the BSD License which accompanies this distribution. The

View File

@ -1,8 +1,8 @@
/** @file /** @file
Floppy Peim to support Recovery function from Floppy device. Floppy Peim to support Recovery function from Floppy device.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
of the BSD License which accompanies this distribution. The of the BSD License which accompanies this distribution. The
@ -152,7 +152,7 @@ PEI_DMA_TABLE mRegisterTable[] = {
}; };
// //
// Table of diskette parameters of various diskette types // Table of diskette parameters of various diskette types
// //
DISKET_PARA_TABLE DiskPara[9] = { DISKET_PARA_TABLE DiskPara[9] = {
{ {
@ -292,7 +292,7 @@ FDC_BLK_IO_DEV mBlockIoDevTemplate = {
TRUE means input. TRUE means input.
FALSE means output. FALSE means output.
@param TimeoutInMseconds Timeout value to wait. @param TimeoutInMseconds Timeout value to wait.
@retval EFI_SUCCESS FDC is ready. @retval EFI_SUCCESS FDC is ready.
@retval EFI_NOT_READY FDC is not ready within the specified time period. @retval EFI_NOT_READY FDC is not ready within the specified time period.
@ -783,7 +783,7 @@ Recalibrate (
if ((Sts0 & 0xf0) == BIT5 && Pcn == 0) { if ((Sts0 & 0xf0) == BIT5 && Pcn == 0) {
// //
// Recalibration is successful. // Recalibration is successful.
// //
Info->Pcn = 0; Info->Pcn = 0;
Info->NeedRecalibrate = FALSE; Info->NeedRecalibrate = FALSE;
@ -1022,7 +1022,7 @@ DiscoverFdcDevice (
// //
// No diskette in floppy. // No diskette in floppy.
// //
MediaInfo->MediaPresent = FALSE; MediaInfo->MediaPresent = FALSE;
} else if (Status != EFI_MEDIA_CHANGED && Status != EFI_SUCCESS) { } else if (Status != EFI_MEDIA_CHANGED && Status != EFI_SUCCESS) {
// //
// EFI_DEVICE_ERROR // EFI_DEVICE_ERROR
@ -1439,16 +1439,16 @@ ReadDataSector (
/** /**
Gets the count of block I/O devices that one specific block driver detects. Gets the count of block I/O devices that one specific block driver detects.
This function is used for getting the count of block I/O devices that one This function is used for getting the count of block I/O devices that one
specific block driver detects. To the PEI ATAPI driver, it returns the number specific block driver detects. To the PEI ATAPI driver, it returns the number
of all the detected ATAPI devices it detects during the enumeration process. of all the detected ATAPI devices it detects during the enumeration process.
To the PEI legacy floppy driver, it returns the number of all the legacy To the PEI legacy floppy driver, it returns the number of all the legacy
devices it finds during its enumeration process. If no device is detected, devices it finds during its enumeration process. If no device is detected,
then the function will return zero. then the function will return zero.
@param[in] PeiServices General-purpose services that are available @param[in] PeiServices General-purpose services that are available
to every PEIM. to every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI
instance. instance.
@param[out] NumberBlockDevices The number of block I/O devices discovered. @param[out] NumberBlockDevices The number of block I/O devices discovered.
@ -1477,27 +1477,27 @@ FdcGetNumberOfBlockDevices (
/** /**
Gets a block device's media information. Gets a block device's media information.
This function will provide the caller with the specified block device's media This function will provide the caller with the specified block device's media
information. If the media changes, calling this function will update the media information. If the media changes, calling this function will update the media
information accordingly. information accordingly.
@param[in] PeiServices General-purpose services that are available to every @param[in] PeiServices General-purpose services that are available to every
PEIM PEIM
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants @param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the want to talk to a single device must specify the
device index that was assigned during the enumeration device index that was assigned during the enumeration
process. This index is a number from one to process. This index is a number from one to
NumberBlockDevices. NumberBlockDevices.
@param[out] MediaInfo The media information of the specified block media. @param[out] MediaInfo The media information of the specified block media.
The caller is responsible for the ownership of this The caller is responsible for the ownership of this
data structure. data structure.
@retval EFI_SUCCESS Media information about the specified block device @retval EFI_SUCCESS Media information about the specified block device
was obtained successfully. was obtained successfully.
@retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware @retval EFI_DEVICE_ERROR Cannot get the media information due to a hardware
error. error.
@retval Others Other failure occurs. @retval Others Other failure occurs.
@ -1559,31 +1559,31 @@ FdcGetBlockDeviceMediaInfo (
/** /**
Reads the requested number of blocks from the specified block device. Reads the requested number of blocks from the specified block device.
The function reads the requested number of blocks from the device. All the The function reads the requested number of blocks from the device. All the
blocks are read, or an error is returned. If there is no media in the device, blocks are read, or an error is returned. If there is no media in the device,
the function returns EFI_NO_MEDIA. the function returns EFI_NO_MEDIA.
@param[in] PeiServices General-purpose services that are available to @param[in] PeiServices General-purpose services that are available to
every PEIM. every PEIM.
@param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance. @param[in] This Indicates the EFI_PEI_RECOVERY_BLOCK_IO_PPI instance.
@param[in] DeviceIndex Specifies the block device to which the function wants @param[in] DeviceIndex Specifies the block device to which the function wants
to talk. Because the driver that implements Block I/O to talk. Because the driver that implements Block I/O
PPIs will manage multiple block devices, the PPIs that PPIs will manage multiple block devices, the PPIs that
want to talk to a single device must specify the device want to talk to a single device must specify the device
index that was assigned during the enumeration process. index that was assigned during the enumeration process.
This index is a number from one to NumberBlockDevices. This index is a number from one to NumberBlockDevices.
@param[in] StartLBA The starting logical block address (LBA) to read from @param[in] StartLBA The starting logical block address (LBA) to read from
on the device on the device
@param[in] BufferSize The size of the Buffer in bytes. This number must be @param[in] BufferSize The size of the Buffer in bytes. This number must be
a multiple of the intrinsic block size of the device. a multiple of the intrinsic block size of the device.
@param[out] Buffer A pointer to the destination buffer for the data. @param[out] Buffer A pointer to the destination buffer for the data.
The caller is responsible for the ownership of the The caller is responsible for the ownership of the
buffer. buffer.
@retval EFI_SUCCESS The data was read correctly from the device. @retval EFI_SUCCESS The data was read correctly from the device.
@retval EFI_DEVICE_ERROR The device reported an error while attempting @retval EFI_DEVICE_ERROR The device reported an error while attempting
to perform the read operation. to perform the read operation.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not
valid, or the buffer is not properly aligned. valid, or the buffer is not properly aligned.
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of @retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of
@ -1729,7 +1729,7 @@ FdcPeimEntry (
// //
// Allocate memory for instance of FDC_BLK_IO_DEV and copy initial value // Allocate memory for instance of FDC_BLK_IO_DEV and copy initial value
// from template to it. // from template to it.
// //
FdcBlkIoDev = AllocatePages (EFI_SIZE_TO_PAGES(sizeof (FDC_BLK_IO_DEV))); FdcBlkIoDev = AllocatePages (EFI_SIZE_TO_PAGES(sizeof (FDC_BLK_IO_DEV)));
if (FdcBlkIoDev == NULL) { if (FdcBlkIoDev == NULL) {

View File

@ -1,8 +1,8 @@
/** @file /** @file
Private include file for IsaFloppyPei PEIM. Private include file for IsaFloppyPei PEIM.
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
of the BSD License which accompanies this distribution. The of the BSD License which accompanies this distribution. The
@ -104,7 +104,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/// ///
/// ISA memory range /// ISA memory range
/// ///
#define ISA_MAX_MEMORY_ADDRESS 0x1000000 #define ISA_MAX_MEMORY_ADDRESS 0x1000000
// //
// Macro for time delay & interval // Macro for time delay & interval

View File

@ -5,14 +5,14 @@
// the PEIM will install the BlockIo PPI. This module is only dispatched if it // the PEIM will install the BlockIo PPI. This module is only dispatched if it
// is in the Recovery Boot mode. // is in the Recovery Boot mode.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IsaFloppyPei Localized Strings and Content // IsaFloppyPei Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"ISA Floppy PEI Module" "ISA Floppy PEI Module"

View File

@ -2,8 +2,8 @@
IsaIo UEFI driver. IsaIo UEFI driver.
Produce an instance of the ISA I/O Protocol for every SIO controller. Produce an instance of the ISA I/O Protocol for every SIO controller.
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -31,9 +31,9 @@ EFI_DRIVER_BINDING_PROTOCOL gIsaIoDriver = {
/** /**
The main entry point for the IsaIo driver. The main entry point for the IsaIo driver.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols. @retval EFI_OUT_OF_RESOURCES There was not enough memory in pool to install all the protocols.
**/ **/
@ -62,16 +62,16 @@ InitializeIsaIo (
return Status; return Status;
} }
/** /**
Tests to see if a controller can be managed by the IsaIo driver. Tests to see if a controller can be managed by the IsaIo driver.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
@retval EFI_UNSUPPORTED The device is is not supported by this driver. @retval EFI_UNSUPPORTED The device is is not supported by this driver.
@ -136,23 +136,23 @@ IsaIoDriverSupported (
} }
/** /**
Start this driver on ControllerHandle. Start this driver on ControllerHandle.
The Start() function is designed to be invoked from the EFI boot service ConnectController(). The Start() function is designed to be invoked from the EFI boot service ConnectController().
As a result, much of the error checking on the parameters to Start() has been moved into this As a result, much of the error checking on the parameters to Start() has been moved into this
common boot service. It is legal to call Start() from other locations, but the following calling common boot service. It is legal to call Start() from other locations, but the following calling
restrictions must be followed or the system behavior will not be deterministic. restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE. 1. ControllerHandle must be a valid EFI_HANDLE.
2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned 2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned
EFI_DEVICE_PATH_PROTOCOL. EFI_DEVICE_PATH_PROTOCOL.
3. Prior to calling Start(), the Supported() function for the driver specified by This must 3. Prior to calling Start(), the Supported() function for the driver specified by This must
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS. have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -254,11 +254,11 @@ IsaIoDriverStart (
} }
/** /**
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
The Stop() function is designed to be invoked from the EFI boot service DisconnectController(). The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
As a result, much of the error checking on the parameters to Stop() has been moved As a result, much of the error checking on the parameters to Stop() has been moved
into this common boot service. It is legal to call Stop() from other locations, into this common boot service. It is legal to call Stop() from other locations,
but the following calling restrictions must be followed or the system behavior will not be deterministic. but the following calling restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this 1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this
same driver's Start() function. same driver's Start() function.
@ -266,13 +266,13 @@ IsaIoDriverStart (
EFI_HANDLE. In addition, all of these handles must have been created in this driver's EFI_HANDLE. In addition, all of these handles must have been created in this driver's
Start() function, and the Start() function must have called OpenProtocol() on Start() function, and the Start() function must have called OpenProtocol() on
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.

View File

@ -1,7 +1,7 @@
/** @file /** @file
The header file for ISA driver The header file for ISA driver
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -148,18 +148,18 @@ typedef struct {
// EFI Driver Binding Protocol Interface Functions // EFI Driver Binding Protocol Interface Functions
// //
/** /**
Tests to see if a controller can be managed by the ISA Driver. Tests to see if a controller can be managed by the ISA Driver.
How the Start() function of a driver is implemented can affect how the Supported() function is implemented. How the Start() function of a driver is implemented can affect how the Supported() function is implemented.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] Controller The handle of the controller to test. @param[in] Controller The handle of the controller to test.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The device is supported by this driver. @retval EFI_SUCCESS The device is supported by this driver.
@retval EFI_ALREADY_STARTED The device is already being managed by this driver. @retval EFI_ALREADY_STARTED The device is already being managed by this driver.
@retval EFI_ACCESS_DENIED The device is already being managed by a different driver @retval EFI_ACCESS_DENIED The device is already being managed by a different driver
or an application that requires exclusive access. or an application that requires exclusive access.
@retval EFI_UNSUPPORTED The device is is not supported by this driver. @retval EFI_UNSUPPORTED The device is is not supported by this driver.
@ -173,23 +173,23 @@ IsaIoDriverSupported (
); );
/** /**
Start this driver on ControllerHandle. Start this driver on ControllerHandle.
The Start() function is designed to be invoked from the EFI boot service ConnectController(). The Start() function is designed to be invoked from the EFI boot service ConnectController().
As a result, much of the error checking on the parameters to Start() has been moved into this As a result, much of the error checking on the parameters to Start() has been moved into this
common boot service. It is legal to call Start() from other locations, but the following calling common boot service. It is legal to call Start() from other locations, but the following calling
restrictions must be followed or the system behavior will not be deterministic. restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE. 1. ControllerHandle must be a valid EFI_HANDLE.
2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned 2. If RemainingDevicePath is not NULL, then it must be a pointer to a naturally aligned
EFI_DEVICE_PATH_PROTOCOL. EFI_DEVICE_PATH_PROTOCOL.
3. Prior to calling Start(), the Supported() function for the driver specified by This must 3. Prior to calling Start(), the Supported() function for the driver specified by This must
have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS. have been called with the same calling parameters, and Supported() must have returned EFI_SUCCESS.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle The handle of the controller to start. This handle @param[in] ControllerHandle The handle of the controller to start. This handle
must support a protocol interface that supplies must support a protocol interface that supplies
an I/O abstraction to the driver. an I/O abstraction to the driver.
@param[in] RemainingDevicePath A pointer to the remaining portion of a device path. @param[in] RemainingDevicePath A pointer to the remaining portion of a device path.
This parameter is ignored by device drivers, and is optional for bus drivers. This parameter is ignored by device drivers, and is optional for bus drivers.
@retval EFI_SUCCESS The device was started. @retval EFI_SUCCESS The device was started.
@ -207,11 +207,11 @@ IsaIoDriverStart (
); );
/** /**
Stop this driver on ControllerHandle. Stop this driver on ControllerHandle.
The Stop() function is designed to be invoked from the EFI boot service DisconnectController(). The Stop() function is designed to be invoked from the EFI boot service DisconnectController().
As a result, much of the error checking on the parameters to Stop() has been moved As a result, much of the error checking on the parameters to Stop() has been moved
into this common boot service. It is legal to call Stop() from other locations, into this common boot service. It is legal to call Stop() from other locations,
but the following calling restrictions must be followed or the system behavior will not be deterministic. but the following calling restrictions must be followed or the system behavior will not be deterministic.
1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this 1. ControllerHandle must be a valid EFI_HANDLE that was used on a previous call to this
same driver's Start() function. same driver's Start() function.
@ -219,13 +219,13 @@ IsaIoDriverStart (
EFI_HANDLE. In addition, all of these handles must have been created in this driver's EFI_HANDLE. In addition, all of these handles must have been created in this driver's
Start() function, and the Start() function must have called OpenProtocol() on Start() function, and the Start() function must have called OpenProtocol() on
ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. ControllerHandle with an Attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER.
@param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param[in] This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param[in] ControllerHandle A handle to the device being stopped. The handle must @param[in] ControllerHandle A handle to the device being stopped. The handle must
support a bus specific I/O protocol for the driver support a bus specific I/O protocol for the driver
to use to stop the device. to use to stop the device.
@param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer. @param[in] NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL @param[in] ChildHandleBuffer An array of child handles to be freed. May be NULL
if NumberOfChildren is 0. if NumberOfChildren is 0.
@retval EFI_SUCCESS The device was stopped. @retval EFI_SUCCESS The device was stopped.
@ -250,7 +250,7 @@ IsaIoDriverStop (
@param[in] IsaIoDevice The isa device to be initialized. @param[in] IsaIoDevice The isa device to be initialized.
@param[in] DevicePath The device path of the isa device. @param[in] DevicePath The device path of the isa device.
@param[in] Resources The ACPI resource list. @param[in] Resources The ACPI resource list.
**/ **/
VOID VOID
InitializeIsaIoInstance ( InitializeIsaIoInstance (

View File

@ -1,7 +1,7 @@
/** @file /** @file
The implementation for EFI_ISA_IO_PROTOCOL. The implementation for EFI_ISA_IO_PROTOCOL.
Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -18,11 +18,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// Module Variables // Module Variables
// //
EFI_ISA_IO_PROTOCOL mIsaIoInterface = { EFI_ISA_IO_PROTOCOL mIsaIoInterface = {
{ {
IsaIoMemRead, IsaIoMemRead,
IsaIoMemWrite IsaIoMemWrite
}, },
{ {
IsaIoIoRead, IsaIoIoRead,
IsaIoIoWrite IsaIoIoWrite
}, },
@ -86,9 +86,9 @@ EFI_ISA_DMA_REGISTERS mDmaRegisters[8] = {
@param[in] IsaIoDevice The ISA device to be verified. @param[in] IsaIoDevice The ISA device to be verified.
@param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo. @param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo.
@param[in] Width The width of the memory operation. @param[in] Width The width of the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@retval EFI_SUCCESS Verify success. @retval EFI_SUCCESS Verify success.
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
@retval EFI_UNSUPPORTED The device ont support the access type. @retval EFI_UNSUPPORTED The device ont support the access type.
@ -163,7 +163,7 @@ IsaIoAttribute (
case EFI_ACPI_IO_DECODE_16_BIT: case EFI_ACPI_IO_DECODE_16_BIT:
Attribute |= EFI_ISA_ACPI_IO_DECODE_16_BITS; Attribute |= EFI_ISA_ACPI_IO_DECODE_16_BITS;
break; break;
case EFI_ACPI_IO_DECODE_10_BIT: case EFI_ACPI_IO_DECODE_10_BIT:
Attribute |= EFI_ISA_ACPI_IO_DECODE_10_BITS; Attribute |= EFI_ISA_ACPI_IO_DECODE_10_BITS;
break; break;
@ -244,7 +244,7 @@ IsaDmaAttribute (
UINT32 Attribute; UINT32 Attribute;
Attribute = EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SINGLE_MODE; Attribute = EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SINGLE_MODE;
switch (Information & EFI_ACPI_DMA_SPEED_TYPE_MASK) { switch (Information & EFI_ACPI_DMA_SPEED_TYPE_MASK) {
case EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY: case EFI_ACPI_DMA_SPEED_TYPE_COMPATIBILITY:
Attribute |= EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_COMPATIBLE; Attribute |= EFI_ISA_IO_SLAVE_DMA_ATTRIBUTE_SPEED_COMPATIBLE;
@ -424,7 +424,7 @@ AcpiResourceToIsaResource (
@param[in] IsaIoDevice The isa device to be initialized. @param[in] IsaIoDevice The isa device to be initialized.
@param[in] DevicePath The device path of the isa device. @param[in] DevicePath The device path of the isa device.
@param[in] Resources The ACPI resource list. @param[in] Resources The ACPI resource list.
**/ **/
VOID VOID
InitializeIsaIoInstance ( InitializeIsaIoInstance (
@ -452,7 +452,7 @@ InitializeIsaIoInstance (
ResourcePtr = Resources; ResourcePtr = Resources;
Index = 0; Index = 0;
while (ResourcePtr.SmallHeader->Byte != ACPI_END_TAG_DESCRIPTOR) { while (ResourcePtr.SmallHeader->Byte != ACPI_END_TAG_DESCRIPTOR) {
Index += AcpiResourceToIsaResource (ResourcePtr, NULL); Index += AcpiResourceToIsaResource (ResourcePtr, NULL);
if (ResourcePtr.SmallHeader->Bits.Type == 0) { if (ResourcePtr.SmallHeader->Bits.Type == 0) {
@ -498,7 +498,7 @@ InitializeIsaIoInstance (
+ sizeof (*ResourcePtr.LargeHeader)); + sizeof (*ResourcePtr.LargeHeader));
} }
} }
// //
// Convert the ACPI End Tag // Convert the ACPI End Tag
// //
@ -510,8 +510,8 @@ InitializeIsaIoInstance (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device sucessfully. @retval EFI_SUCCESS The data was read from the device sucessfully.
@ -572,8 +572,8 @@ IsaIoIoRead (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was writen to the device sucessfully. @retval EFI_SUCCESS The data was writen to the device sucessfully.
@ -633,7 +633,7 @@ IsaIoIoWrite (
Writes an 8-bit I/O Port Writes an 8-bit I/O Port
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Offset The offset in ISA IO space to start the IO operation. @param[in] Offset The offset in ISA IO space to start the IO operation.
@param[in] Value The data to write port. @param[in] Value The data to write port.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -685,8 +685,8 @@ WritePort (
@param[in] PageOffset The page's offest. @param[in] PageOffset The page's offest.
@param[in] CountOffset The count's offset. @param[in] CountOffset The count's offset.
@param[in] BaseAddress The base address. @param[in] BaseAddress The base address.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@retval EFI_INVALID_PARAMETER Parameter is invalid. @retval EFI_INVALID_PARAMETER Parameter is invalid.
@retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid. @retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid.
@ -822,10 +822,10 @@ IsaIoFlush (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device successfully. @retval EFI_SUCCESS The data was read from the device successfully.
@retval EFI_UNSUPPORTED The Offset is not valid for this device. @retval EFI_UNSUPPORTED The Offset is not valid for this device.
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid. @retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.
@ -889,10 +889,10 @@ IsaIoMemRead (
/** /**
Performs an ISA Memory Write Cycle Performs an ISA Memory Write Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was written to the device sucessfully. @retval EFI_SUCCESS The data was written to the device sucessfully.
@ -960,7 +960,7 @@ IsaIoMemWrite (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory copy operation. @param[in] Width Specifies the width of the memory copy operation.
@param[in] DestOffset The offset of the destination @param[in] DestOffset The offset of the destination
@param[in] SrcOffset The offset of the source @param[in] SrcOffset The offset of the source
@param[in] Count The number of memory copy operations to perform @param[in] Count The number of memory copy operations to perform
@ -1041,18 +1041,18 @@ IsaIoCopyMem (
only supports slave read/write operation to save code size. only supports slave read/write operation to save code size.
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -1083,7 +1083,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
UINT8 DmaMask; UINT8 DmaMask;
UINT8 DmaClear; UINT8 DmaClear;
UINT8 DmaChannelMode; UINT8 DmaChannelMode;
if ((NULL == This) || if ((NULL == This) ||
(NULL == HostAddress) || (NULL == HostAddress) ||
(NULL == NumberOfBytes) || (NULL == NumberOfBytes) ||
@ -1102,7 +1102,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
// Make sure the Operation parameter is valid. // Make sure the Operation parameter is valid.
// Light IsaIo only supports two operations. // Light IsaIo only supports two operations.
// //
if (!(Operation == EfiIsaIoOperationSlaveRead || if (!(Operation == EfiIsaIoOperationSlaveRead ||
Operation == EfiIsaIoOperationSlaveWrite)) { Operation == EfiIsaIoOperationSlaveWrite)) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
@ -1188,7 +1188,7 @@ IsaIoMapOnlySupportSlaveReadWrite (
// //
*DeviceAddress = PhysicalAddress; *DeviceAddress = PhysicalAddress;
} }
// //
// Figure out what to program into the DMA Channel Mode Register // Figure out what to program into the DMA Channel Mode Register
// //
@ -1273,22 +1273,22 @@ IsaIoMapOnlySupportSlaveReadWrite (
} }
/** /**
Maps a memory region for DMA. This implementation implement the Maps a memory region for DMA. This implementation implement the
the full mapping support. the full mapping support.
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS - The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS - The range was mapped for the returned NumberOfBytes.
@ -1602,18 +1602,18 @@ IsaIoMapFullSupport (
Maps a memory region for DMA Maps a memory region for DMA
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -1642,7 +1642,7 @@ IsaIoMap (
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
// //
// Set Feature Flag PcdIsaBusSupportBusMaster to FALSE to disable support for // Set Feature Flag PcdIsaBusSupportBusMaster to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// //
// So we just return EFI_UNSUPPORTED for these functions. // So we just return EFI_UNSUPPORTED for these functions.
@ -1685,7 +1685,7 @@ IsaIoMap (
@retval EFI_SUCCESS The requested memory pages were allocated. @retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL @retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL
@retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified @retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified
by HostAddress, Pages, and Type is not available for common buffer use. by HostAddress, Pages, and Type is not available for common buffer use.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/ **/
@ -1704,7 +1704,7 @@ IsaIoAllocateBuffer (
EFI_PHYSICAL_ADDRESS PhysicalAddress; EFI_PHYSICAL_ADDRESS PhysicalAddress;
// //
// Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for // Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA. // Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
// //
@ -1758,7 +1758,7 @@ IsaIoAllocateBuffer (
} }
/** /**
Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer(). Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer().
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Pages The number of pages to free. @param[in] Pages The number of pages to free.
@ -1778,7 +1778,7 @@ IsaIoFreeBuffer (
EFI_STATUS Status; EFI_STATUS Status;
// //
// Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for // Set Feature Flag PcdIsaBusOnlySupportSlaveDma to FALSE to disable support for
// ISA Bus Master. // ISA Bus Master.
// Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA. // Or unset Feature Flag PcdIsaBusSupportDma to disable support for ISA DMA.
// //

View File

@ -1,7 +1,7 @@
/** @file /** @file
The header file for EFI_ISA_IO protocol implementation. The header file for EFI_ISA_IO protocol implementation.
Copyright (c) 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -34,9 +34,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
@param[in] IsaIoDevice The ISA device to be verified. @param[in] IsaIoDevice The ISA device to be verified.
@param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo. @param[in] Type The Access type. The input must be either IsaAccessTypeMem or IsaAccessTypeIo.
@param[in] Width The width of the memory operation. @param[in] Width The width of the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@retval EFI_SUCCESS Verify success. @retval EFI_SUCCESS Verify success.
@retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.
@retval EFI_UNSUPPORTED The device ont support the access type. @retval EFI_UNSUPPORTED The device ont support the access type.
@ -49,14 +49,14 @@ IsaIoVerifyAccess (
IN UINTN Count, IN UINTN Count,
IN UINT32 Offset IN UINT32 Offset
); );
/** /**
Performs an ISA I/O Read Cycle Performs an ISA I/O Read Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device sucessfully. @retval EFI_SUCCESS The data was read from the device sucessfully.
@ -79,8 +79,8 @@ IsaIoIoRead (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the I/O operation. @param[in] Width Specifies the width of the I/O operation.
@param[in] Offset The offset in ISA I/O space to start the I/O operation. @param[in] Offset The offset in ISA I/O space to start the I/O operation.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was writen to the device sucessfully. @retval EFI_SUCCESS The data was writen to the device sucessfully.
@ -102,18 +102,18 @@ IsaIoIoWrite (
Maps a memory region for DMA Maps a memory region for DMA
@param This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param Operation Indicates the type of DMA (slave or bus master), and if @param Operation Indicates the type of DMA (slave or bus master), and if
the DMA operation is going to read or write to system memory. the DMA operation is going to read or write to system memory.
@param ChannelNumber The slave channel number to use for this DMA operation. @param ChannelNumber The slave channel number to use for this DMA operation.
If Operation and ChannelAttributes shows that this device If Operation and ChannelAttributes shows that this device
performs bus mastering DMA, then this field is ignored. performs bus mastering DMA, then this field is ignored.
The legal range for this field is 0..7. The legal range for this field is 0..7.
@param ChannelAttributes The attributes of the DMA channel to use for this DMA operation @param ChannelAttributes The attributes of the DMA channel to use for this DMA operation
@param HostAddress The system memory address to map to the device. @param HostAddress The system memory address to map to the device.
@param NumberOfBytes On input the number of bytes to map. On output the number @param NumberOfBytes On input the number of bytes to map. On output the number
of bytes that were mapped. of bytes that were mapped.
@param DeviceAddress The resulting map address for the bus master device to use @param DeviceAddress The resulting map address for the bus master device to use
to access the hosts HostAddress. to access the hosts HostAddress.
@param Mapping A resulting value to pass to EFI_ISA_IO.Unmap(). @param Mapping A resulting value to pass to EFI_ISA_IO.Unmap().
@retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes. @retval EFI_SUCCESS The range was mapped for the returned NumberOfBytes.
@ -173,8 +173,8 @@ IsaIoFlush (
@param[in] PageOffset The page's offest. @param[in] PageOffset The page's offest.
@param[in] CountOffset The count's offset. @param[in] CountOffset The count's offset.
@param[in] BaseAddress The base address. @param[in] BaseAddress The base address.
@param[in] Count The number of I/O operations to perform. @param[in] Count The number of I/O operations to perform.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@retval EFI_INVALID_PARAMETER Parameter is invalid. @retval EFI_INVALID_PARAMETER Parameter is invalid.
@retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid. @retval EFI_UNSUPPORTED The address range specified by these Offsets and Count is not valid.
@ -194,7 +194,7 @@ WriteDmaPort (
Writes an 8-bit I/O Port Writes an 8-bit I/O Port
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Offset The offset in ISA IO space to start the IO operation. @param[in] Offset The offset in ISA IO space to start the IO operation.
@param[in] Value The data to write port. @param[in] Value The data to write port.
@retval EFI_SUCCESS Success. @retval EFI_SUCCESS Success.
@ -207,17 +207,17 @@ WritePort (
IN EFI_ISA_IO_PROTOCOL *This, IN EFI_ISA_IO_PROTOCOL *This,
IN UINT32 Offset, IN UINT32 Offset,
IN UINT8 Value IN UINT8 Value
); );
/** /**
Performs an ISA Memory Read Cycle Performs an ISA Memory Read Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[out] Buffer The destination buffer to store the results @param[out] Buffer The destination buffer to store the results
@retval EFI_SUCCESS The data was read from the device successfully. @retval EFI_SUCCESS The data was read from the device successfully.
@retval EFI_UNSUPPORTED The Offset is not valid for this device. @retval EFI_UNSUPPORTED The Offset is not valid for this device.
@retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid. @retval EFI_INVALID_PARAMETER Width or Count, or both, were invalid.
@ -237,10 +237,10 @@ IsaIoMemRead (
/** /**
Performs an ISA Memory Write Cycle Performs an ISA Memory Write Cycle
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory operation. @param[in] Width Specifies the width of the memory operation.
@param[in] Offset The offset in ISA memory space to start the memory operation. @param[in] Offset The offset in ISA memory space to start the memory operation.
@param[in] Count The number of memory operations to perform. @param[in] Count The number of memory operations to perform.
@param[in] Buffer The source buffer to write data from @param[in] Buffer The source buffer to write data from
@retval EFI_SUCCESS The data was written to the device sucessfully. @retval EFI_SUCCESS The data was written to the device sucessfully.
@ -263,7 +263,7 @@ IsaIoMemWrite (
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Width Specifies the width of the memory copy operation. @param[in] Width Specifies the width of the memory copy operation.
@param[in] DestOffset The offset of the destination @param[in] DestOffset The offset of the destination
@param[in] SrcOffset The offset of the source @param[in] SrcOffset The offset of the source
@param[in] Count The number of memory copy operations to perform @param[in] Count The number of memory copy operations to perform
@ -294,7 +294,7 @@ IsaIoCopyMem (
@retval EFI_SUCCESS The requested memory pages were allocated. @retval EFI_SUCCESS The requested memory pages were allocated.
@retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL @retval EFI_INVALID_PARAMETER Type is invalid or MemoryType is invalid or HostAddress is NULL
@retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified @retval EFI_UNSUPPORTED Attributes is unsupported or the memory range specified
by HostAddress, Pages, and Type is not available for common buffer use. by HostAddress, Pages, and Type is not available for common buffer use.
@retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated. @retval EFI_OUT_OF_RESOURCES The memory pages could not be allocated.
**/ **/
@ -310,7 +310,7 @@ IsaIoAllocateBuffer (
); );
/** /**
Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer(). Frees memory that was allocated with EFI_ISA_IO.AllocateBuffer().
@param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance. @param[in] This A pointer to the EFI_ISA_IO_PROTOCOL instance.
@param[in] Pages The number of pages to free. @param[in] Pages The number of pages to free.

View File

@ -5,13 +5,13 @@
// I/O protocols are installed based off of the information provided by each // I/O protocols are installed based off of the information provided by each
// instance of the SIO Protocol found. // instance of the SIO Protocol found.
// //
// Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IsaIoDxe Localized Strings and Content // IsaIoDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"ISA I/O DXE Driver" "ISA I/O DXE Driver"

View File

@ -4,7 +4,7 @@
# Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver # Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver
# supports the 8250, 16450, 16550 and 16550A UART types. # supports the 8250, 16450, 16550 and 16550A UART types.
# #
# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -30,8 +30,8 @@
# #
# VALID_ARCHITECTURES = IA32 X64 IPF EBC # VALID_ARCHITECTURES = IA32 X64 IPF EBC
# #
# DRIVER_BINDING = gSerialControllerDriver # DRIVER_BINDING = gSerialControllerDriver
# COMPONENT_NAME = gIsaSerialComponentName # COMPONENT_NAME = gIsaSerialComponentName
# COMPONENT_NAME2 = gIsaSerialComponentName2 # COMPONENT_NAME2 = gIsaSerialComponentName2
# #

View File

@ -4,13 +4,13 @@
// Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver // Produces the Serial I/O protocol for standard UARTS using ISA I/O. This driver
// supports the 8250, 16450, 16550 and 16550A UART types. // supports the 8250, 16450, 16550 and 16550A UART types.
// //
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IsaSerialDxe Localized Strings and Content // IsaSerialDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"ISA UART Serial Bus DXE Driver" "ISA UART Serial Bus DXE Driver"

View File

@ -90,7 +90,7 @@ SERIAL_DEV gSerialDevTempate = {
Check the device path node whether it's the Flow Control node or not. Check the device path node whether it's the Flow Control node or not.
@param[in] FlowControl The device path node to be checked. @param[in] FlowControl The device path node to be checked.
@retval TRUE It's the Flow Control node. @retval TRUE It's the Flow Control node.
@retval FALSE It's not. @retval FALSE It's not.
@ -111,7 +111,7 @@ IsUartFlowControlNode (
Check the device path node whether it contains Flow Control node or not. Check the device path node whether it contains Flow Control node or not.
@param[in] DevicePath The device path to be checked. @param[in] DevicePath The device path to be checked.
@retval TRUE It contains the Flow Control node. @retval TRUE It contains the Flow Control node.
@retval FALSE It doesn't. @retval FALSE It doesn't.
@ -134,9 +134,9 @@ ContainsFlowControl (
/** /**
The user Entry Point for module IsaSerial. The user code starts with this function. The user Entry Point for module IsaSerial. The user code starts with this function.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point. @retval other Some error occurs when executing this entry point.
@ -213,7 +213,7 @@ SerialControllerDriverSupported (
// //
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
// //
// Check if RemainingDevicePath is the End of Device Path Node, // Check if RemainingDevicePath is the End of Device Path Node,
// if yes, go on checking other conditions // if yes, go on checking other conditions
// //
if (!IsDevicePathEnd (RemainingDevicePath)) { if (!IsDevicePathEnd (RemainingDevicePath)) {
@ -230,27 +230,27 @@ SerialControllerDriverSupported (
) { ) {
goto Error; goto Error;
} }
if (UartNode->BaudRate > SERIAL_PORT_MAX_BAUD_RATE) { if (UartNode->BaudRate > SERIAL_PORT_MAX_BAUD_RATE) {
goto Error; goto Error;
} }
if (UartNode->Parity < NoParity || UartNode->Parity > SpaceParity) { if (UartNode->Parity < NoParity || UartNode->Parity > SpaceParity) {
goto Error; goto Error;
} }
if (UartNode->DataBits < 5 || UartNode->DataBits > 8) { if (UartNode->DataBits < 5 || UartNode->DataBits > 8) {
goto Error; goto Error;
} }
if (UartNode->StopBits < OneStopBit || UartNode->StopBits > TwoStopBits) { if (UartNode->StopBits < OneStopBit || UartNode->StopBits > TwoStopBits) {
goto Error; goto Error;
} }
if ((UartNode->DataBits == 5) && (UartNode->StopBits == TwoStopBits)) { if ((UartNode->DataBits == 5) && (UartNode->StopBits == TwoStopBits)) {
goto Error; goto Error;
} }
if ((UartNode->DataBits >= 6) && (UartNode->DataBits <= 8) && (UartNode->StopBits == OneFiveStopBits)) { if ((UartNode->DataBits >= 6) && (UartNode->DataBits <= 8) && (UartNode->StopBits == OneFiveStopBits)) {
goto Error; goto Error;
} }
@ -510,7 +510,7 @@ SerialControllerDriverStart (
// Clear the bits that are not allowed to pass to SetControl // Clear the bits that are not allowed to pass to SetControl
// //
Control &= (EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY | Control &= (EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |
EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE | EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE |
EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE); EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE);
Status = SerialIo->SetControl (SerialIo, Control); Status = SerialIo->SetControl (SerialIo, Control);
} }
@ -529,7 +529,7 @@ SerialControllerDriverStart (
// //
// If RemainingDevicePath is the End of Device Path Node, // If RemainingDevicePath is the End of Device Path Node,
// skip enumerate any device and return EFI_SUCESSS // skip enumerate any device and return EFI_SUCESSS
// //
return EFI_SUCCESS; return EFI_SUCCESS;
} }
} }
@ -550,13 +550,13 @@ SerialControllerDriverStart (
FlowControlMap = 0; FlowControlMap = 0;
// //
// Check if RemainingDevicePath is NULL, // Check if RemainingDevicePath is NULL,
// if yes, use the values from the gSerialDevTempate as no remaining device path was // if yes, use the values from the gSerialDevTempate as no remaining device path was
// passed in. // passed in.
// //
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
// //
// If RemainingDevicePath isn't NULL, // If RemainingDevicePath isn't NULL,
// match the configuration of the RemainingDevicePath. IsHandleSupported() // match the configuration of the RemainingDevicePath. IsHandleSupported()
// already checked to make sure the RemainingDevicePath contains settings // already checked to make sure the RemainingDevicePath contains settings
// that we can support. // that we can support.
@ -577,7 +577,7 @@ SerialControllerDriverStart (
SerialDevice->BaseAddress = (UINT16) SerialDevice->IsaIo->ResourceList->ResourceItem[Index].StartRange; SerialDevice->BaseAddress = (UINT16) SerialDevice->IsaIo->ResourceList->ResourceItem[Index].StartRange;
} }
} }
SerialDevice->HardwareFlowControl = (BOOLEAN) (FlowControlMap == UART_FLOW_CONTROL_HARDWARE); SerialDevice->HardwareFlowControl = (BOOLEAN) (FlowControlMap == UART_FLOW_CONTROL_HARDWARE);
// //
@ -601,7 +601,7 @@ SerialControllerDriverStart (
// //
// Build the device path by appending the UART node to the ParentDevicePath. // Build the device path by appending the UART node to the ParentDevicePath.
// The Uart setings are zero here, since SetAttribute() will update them to match // The Uart setings are zero here, since SetAttribute() will update them to match
// the default setings. // the default setings.
// //
SerialDevice->DevicePath = AppendDevicePathNode ( SerialDevice->DevicePath = AppendDevicePathNode (
@ -853,7 +853,7 @@ IsaSerialFifoFull (
/** /**
Detect whether specific FIFO is empty or not. Detect whether specific FIFO is empty or not.
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
@return whether specific FIFO is empty or not @return whether specific FIFO is empty or not
@ -1022,7 +1022,7 @@ IsaSerialReceiveTransmit (
Data = READ_RBR (SerialDevice->IsaIo, SerialDevice->BaseAddress); Data = READ_RBR (SerialDevice->IsaIo, SerialDevice->BaseAddress);
IsaSerialFifoAdd (&SerialDevice->Receive, Data); IsaSerialFifoAdd (&SerialDevice->Receive, Data);
// //
// For full handshake flow control, if receive buffer full // For full handshake flow control, if receive buffer full
// tell the peer to stop sending data. // tell the peer to stop sending data.
@ -1571,7 +1571,7 @@ IsaSerialSetControl (
// first determine the parameter is invalid // first determine the parameter is invalid
// //
if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY | if ((Control & (~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY |
EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE | EFI_SERIAL_HARDWARE_LOOPBACK_ENABLE | EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE |
EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) { EFI_SERIAL_HARDWARE_FLOW_CONTROL_ENABLE))) != 0) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
@ -1783,20 +1783,20 @@ IsaSerialWrite (
// //
// Compute the number of bits in a single character. This is a start bit, // Compute the number of bits in a single character. This is a start bit,
// followed by the number of data bits, followed by the number of stop bits. // followed by the number of data bits, followed by the number of stop bits.
// The number of stop bits is specified by an enumeration that includes // The number of stop bits is specified by an enumeration that includes
// support for 1.5 stop bits. Treat 1.5 stop bits as 2 stop bits. // support for 1.5 stop bits. Treat 1.5 stop bits as 2 stop bits.
// //
BitsPerCharacter = BitsPerCharacter =
1 + 1 +
This->Mode->DataBits + This->Mode->DataBits +
((This->Mode->StopBits == TwoStopBits) ? 2 : This->Mode->StopBits); ((This->Mode->StopBits == TwoStopBits) ? 2 : This->Mode->StopBits);
// //
// Compute the timeout in microseconds to wait for a single byte to be // Compute the timeout in microseconds to wait for a single byte to be
// transmitted. The Mode structure contans a Timeout field that is the // transmitted. The Mode structure contans a Timeout field that is the
// maximum time to transmit or receive a character. However, many UARTs // maximum time to transmit or receive a character. However, many UARTs
// have a FIFO for transmits, so the time required to add one new character // have a FIFO for transmits, so the time required to add one new character
// to the transmit FIFO may be the time required to flush a full FIFO. If // to the transmit FIFO may be the time required to flush a full FIFO. If
// the Timeout in the Mode structure is smaller than the time required to // the Timeout in the Mode structure is smaller than the time required to
// flush a full FIFO at the current baud rate, then use a timeout value that // flush a full FIFO at the current baud rate, then use a timeout value that
// is required to flush a full transmit FIFO. // is required to flush a full transmit FIFO.
@ -1809,7 +1809,7 @@ IsaSerialWrite (
NULL NULL
) )
); );
for (Index = 0; Index < *BufferSize; Index++) { for (Index = 0; Index < *BufferSize; Index++) {
IsaSerialFifoAdd (&SerialDevice->Transmit, CharBuffer[Index]); IsaSerialFifoAdd (&SerialDevice->Transmit, CharBuffer[Index]);

View File

@ -1,7 +1,7 @@
/** @file /** @file
Include for Serial Driver Include for Serial Driver
Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -603,7 +603,7 @@ IsaSerialFifoFull (
/** /**
Detect whether specific FIFO is empty or not. Detect whether specific FIFO is empty or not.
@param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO @param Fifo A pointer to the Data Structure SERIAL_DEV_FIFO
@return whether specific FIFO is empty or not @return whether specific FIFO is empty or not

View File

@ -1,7 +1,7 @@
/** @file /** @file
Routines related Component Name protocol. Routines related Component Name protocol.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at

View File

@ -1548,8 +1548,8 @@ InitKeyboard (
// Exceed the max try times. The device may be error. // Exceed the max try times. The device may be error.
// //
if (TryTime == KEYBOARD_MAX_TRY) { if (TryTime == KEYBOARD_MAX_TRY) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Done; goto Done;
} }
} }
// //
@ -1579,7 +1579,7 @@ InitKeyboard (
KeyboardError (ConsoleIn, L"\n\r"); KeyboardError (ConsoleIn, L"\n\r");
goto Done; goto Done;
} }
Status = KeyboardRead (ConsoleIn, &CommandByte); Status = KeyboardRead (ConsoleIn, &CommandByte);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
KeyboardError (ConsoleIn, L"\n\r"); KeyboardError (ConsoleIn, L"\n\r");
@ -1595,7 +1595,7 @@ InitKeyboard (
} }
} else { } else {
mEnableMouseInterface = FALSE; mEnableMouseInterface = FALSE;
} }
} else { } else {
// //
// 8042 controller is not setup yet: // 8042 controller is not setup yet:
@ -1611,13 +1611,13 @@ InitKeyboard (
KeyboardError (ConsoleIn, L"\n\r"); KeyboardError (ConsoleIn, L"\n\r");
goto Done; goto Done;
} }
Status = KeyboardCommand (ConsoleIn, KEYBOARD_8042_COMMAND_DISABLE_MOUSE_INTERFACE); Status = KeyboardCommand (ConsoleIn, KEYBOARD_8042_COMMAND_DISABLE_MOUSE_INTERFACE);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
KeyboardError (ConsoleIn, L"\n\r"); KeyboardError (ConsoleIn, L"\n\r");
goto Done; goto Done;
} }
REPORT_STATUS_CODE_WITH_DEVICE_PATH ( REPORT_STATUS_CODE_WITH_DEVICE_PATH (
EFI_PROGRESS_CODE, EFI_PROGRESS_CODE,
EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_SELF_TEST, EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_SELF_TEST,
@ -1631,7 +1631,7 @@ InitKeyboard (
KeyboardError (ConsoleIn, L"8042 controller command write error!\n\r"); KeyboardError (ConsoleIn, L"8042 controller command write error!\n\r");
goto Done; goto Done;
} }
Status = KeyboardWaitForValue (ConsoleIn, 0x55); Status = KeyboardWaitForValue (ConsoleIn, 0x55);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
KeyboardError (ConsoleIn, L"8042 controller self test failed!\n\r"); KeyboardError (ConsoleIn, L"8042 controller self test failed!\n\r");
@ -1903,7 +1903,7 @@ CheckKeyboardConnect (
ConsoleIn, ConsoleIn,
KEYBOARD_KBEN KEYBOARD_KBEN
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return FALSE; return FALSE;
} }
@ -1917,11 +1917,11 @@ CheckKeyboardConnect (
KEYBOARD_CMDECHO_ACK KEYBOARD_CMDECHO_ACK
); );
mWaitForValueTimeOut = WaitForValueTimeOutBcakup; mWaitForValueTimeOut = WaitForValueTimeOutBcakup;
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return FALSE; return FALSE;
} }
return TRUE; return TRUE;
} else { } else {
return TRUE; return TRUE;

View File

@ -272,7 +272,7 @@ KeyboardReadKeyStroke (
EFI_KEY_DATA KeyData; EFI_KEY_DATA KeyData;
ConsoleIn = KEYBOARD_CONSOLE_IN_DEV_FROM_THIS (This); ConsoleIn = KEYBOARD_CONSOLE_IN_DEV_FROM_THIS (This);
// //
// Considering if the partial keystroke is enabled, there maybe a partial // Considering if the partial keystroke is enabled, there maybe a partial
// keystroke in the queue, so here skip the partial keystroke and get the // keystroke in the queue, so here skip the partial keystroke and get the
@ -719,7 +719,7 @@ KeyNotifyProcessHandler (
while (TRUE) { while (TRUE) {
// //
// Enter critical section // Enter critical section
// //
OldTpl = gBS->RaiseTPL (TPL_NOTIFY); OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
Status = PopEfikeyBufHead (&ConsoleIn->EfiKeyQueueForNotify, &KeyData); Status = PopEfikeyBufHead (&ConsoleIn->EfiKeyQueueForNotify, &KeyData);
// //

View File

@ -3,7 +3,7 @@
PS/2 Keyboard driver. Routines that interacts with callers, PS/2 Keyboard driver. Routines that interacts with callers,
conforming to EFI driver model conforming to EFI driver model
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -21,11 +21,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //
/** /**
Test controller is a keyboard Controller. Test controller is a keyboard Controller.
@param This Pointer of EFI_DRIVER_BINDING_PROTOCOL @param This Pointer of EFI_DRIVER_BINDING_PROTOCOL
@param Controller driver's controller @param Controller driver's controller
@param RemainingDevicePath children device path @param RemainingDevicePath children device path
@retval EFI_UNSUPPORTED controller is not floppy disk @retval EFI_UNSUPPORTED controller is not floppy disk
@retval EFI_SUCCESS controller is floppy disk @retval EFI_SUCCESS controller is floppy disk
**/ **/
@ -39,11 +39,11 @@ KbdControllerDriverSupported (
/** /**
Create KEYBOARD_CONSOLE_IN_DEV instance on controller. Create KEYBOARD_CONSOLE_IN_DEV instance on controller.
@param This Pointer of EFI_DRIVER_BINDING_PROTOCOL @param This Pointer of EFI_DRIVER_BINDING_PROTOCOL
@param Controller driver controller handle @param Controller driver controller handle
@param RemainingDevicePath Children's device path @param RemainingDevicePath Children's device path
@retval whether success to create floppy control instance. @retval whether success to create floppy control instance.
**/ **/
EFI_STATUS EFI_STATUS
@ -79,16 +79,16 @@ KbdControllerDriverStop (
/** /**
Free the waiting key notify list. Free the waiting key notify list.
@param ListHead Pointer to list head @param ListHead Pointer to list head
@retval EFI_INVALID_PARAMETER ListHead is NULL @retval EFI_INVALID_PARAMETER ListHead is NULL
@retval EFI_SUCCESS Sucess to free NotifyList @retval EFI_SUCCESS Sucess to free NotifyList
**/ **/
EFI_STATUS EFI_STATUS
KbdFreeNotifyList ( KbdFreeNotifyList (
IN OUT LIST_ENTRY *ListHead IN OUT LIST_ENTRY *ListHead
); );
// //
// DriverBinding Protocol Instance // DriverBinding Protocol Instance
@ -104,11 +104,11 @@ EFI_DRIVER_BINDING_PROTOCOL gKeyboardControllerDriver = {
/** /**
Test controller is a keyboard Controller. Test controller is a keyboard Controller.
@param This Pointer of EFI_DRIVER_BINDING_PROTOCOL @param This Pointer of EFI_DRIVER_BINDING_PROTOCOL
@param Controller driver's controller @param Controller driver's controller
@param RemainingDevicePath children device path @param RemainingDevicePath children device path
@retval EFI_UNSUPPORTED controller is not floppy disk @retval EFI_UNSUPPORTED controller is not floppy disk
@retval EFI_SUCCESS controller is floppy disk @retval EFI_SUCCESS controller is floppy disk
**/ **/
@ -158,11 +158,11 @@ KbdControllerDriverSupported (
/** /**
Create KEYBOARD_CONSOLE_IN_DEV instance on controller. Create KEYBOARD_CONSOLE_IN_DEV instance on controller.
@param This Pointer of EFI_DRIVER_BINDING_PROTOCOL @param This Pointer of EFI_DRIVER_BINDING_PROTOCOL
@param Controller driver controller handle @param Controller driver controller handle
@param RemainingDevicePath Children's device path @param RemainingDevicePath Children's device path
@retval whether success to create floppy control instance. @retval whether success to create floppy control instance.
**/ **/
EFI_STATUS EFI_STATUS
@ -249,17 +249,17 @@ KbdControllerDriverStart (
ConsoleIn->ConInEx.ReadKeyStrokeEx = KeyboardReadKeyStrokeEx; ConsoleIn->ConInEx.ReadKeyStrokeEx = KeyboardReadKeyStrokeEx;
ConsoleIn->ConInEx.SetState = KeyboardSetState; ConsoleIn->ConInEx.SetState = KeyboardSetState;
ConsoleIn->ConInEx.RegisterKeyNotify = KeyboardRegisterKeyNotify; ConsoleIn->ConInEx.RegisterKeyNotify = KeyboardRegisterKeyNotify;
ConsoleIn->ConInEx.UnregisterKeyNotify = KeyboardUnregisterKeyNotify; ConsoleIn->ConInEx.UnregisterKeyNotify = KeyboardUnregisterKeyNotify;
InitializeListHead (&ConsoleIn->NotifyList); InitializeListHead (&ConsoleIn->NotifyList);
// //
// Fix for random hangs in System waiting for the Key if no KBC is present in BIOS. // Fix for random hangs in System waiting for the Key if no KBC is present in BIOS.
// When KBC decode (IO port 0x60/0x64 decode) is not enabled, // When KBC decode (IO port 0x60/0x64 decode) is not enabled,
// KeyboardRead will read back as 0xFF and return status is EFI_SUCCESS. // KeyboardRead will read back as 0xFF and return status is EFI_SUCCESS.
// So instead we read status register to detect after read if KBC decode is enabled. // So instead we read status register to detect after read if KBC decode is enabled.
// //
// //
// Return code is ignored on purpose. // Return code is ignored on purpose.
// //
@ -275,7 +275,7 @@ KbdControllerDriverStart (
goto ErrorExit; goto ErrorExit;
} }
} }
// //
// Setup the WaitForKey event // Setup the WaitForKey event
// //
@ -293,7 +293,7 @@ KbdControllerDriverStart (
} }
// //
// Setup the WaitForKeyEx event // Setup the WaitForKeyEx event
// //
Status = gBS->CreateEvent ( Status = gBS->CreateEvent (
EVT_NOTIFY_WAIT, EVT_NOTIFY_WAIT,
TPL_NOTIFY, TPL_NOTIFY,
@ -306,7 +306,7 @@ KbdControllerDriverStart (
StatusCode = EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_CONTROLLER_ERROR; StatusCode = EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_CONTROLLER_ERROR;
goto ErrorExit; goto ErrorExit;
} }
// Setup a periodic timer, used for reading keystrokes at a fixed interval // Setup a periodic timer, used for reading keystrokes at a fixed interval
// //
Status = gBS->CreateEvent ( Status = gBS->CreateEvent (
@ -442,7 +442,7 @@ ErrorExit:
Status1 = KeyboardRead (ConsoleIn, &Data);; Status1 = KeyboardRead (ConsoleIn, &Data);;
} }
} }
if (ConsoleIn != NULL) { if (ConsoleIn != NULL) {
gBS->FreePool (ConsoleIn); gBS->FreePool (ConsoleIn);
} }
@ -517,7 +517,7 @@ KbdControllerDriverStop (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
ConsoleIn = KEYBOARD_CONSOLE_IN_DEV_FROM_THIS (ConIn); ConsoleIn = KEYBOARD_CONSOLE_IN_DEV_FROM_THIS (ConIn);
// //
@ -595,9 +595,9 @@ KbdControllerDriverStop (
/** /**
Free the waiting key notify list. Free the waiting key notify list.
@param ListHead Pointer to list head @param ListHead Pointer to list head
@retval EFI_INVALID_PARAMETER ListHead is NULL @retval EFI_INVALID_PARAMETER ListHead is NULL
@retval EFI_SUCCESS Sucess to free NotifyList @retval EFI_SUCCESS Sucess to free NotifyList
**/ **/
@ -613,24 +613,24 @@ KbdFreeNotifyList (
} }
while (!IsListEmpty (ListHead)) { while (!IsListEmpty (ListHead)) {
NotifyNode = CR ( NotifyNode = CR (
ListHead->ForwardLink, ListHead->ForwardLink,
KEYBOARD_CONSOLE_IN_EX_NOTIFY, KEYBOARD_CONSOLE_IN_EX_NOTIFY,
NotifyEntry, NotifyEntry,
KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE
); );
RemoveEntryList (ListHead->ForwardLink); RemoveEntryList (ListHead->ForwardLink);
gBS->FreePool (NotifyNode); gBS->FreePool (NotifyNode);
} }
return EFI_SUCCESS; return EFI_SUCCESS;
} }
/** /**
The module Entry Point for module Ps2Keyboard. The module Entry Point for module Ps2Keyboard.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point. @retval other Some error occurs when executing this entry point.

View File

@ -4,13 +4,13 @@
// Ps2 Keyboard Driver for UEFI. The keyboard type implemented follows IBM // Ps2 Keyboard Driver for UEFI. The keyboard type implemented follows IBM
// compatible PS2 protocol using Scan Code Set 1. // compatible PS2 protocol using Scan Code Set 1.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// Ps2KeyboardDxe Localized Strings and Content // Ps2KeyboardDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"PS2 Keyboard DXE Driver" "PS2 Keyboard DXE Driver"

View File

@ -4,7 +4,7 @@
# Ps2 Keyboard Driver for UEFI. The keyboard type implemented follows IBM # Ps2 Keyboard Driver for UEFI. The keyboard type implemented follows IBM
# compatible PS2 protocol using Scan Code Set 1. # compatible PS2 protocol using Scan Code Set 1.
# #
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -58,7 +58,7 @@
BaseMemoryLib BaseMemoryLib
TimerLib TimerLib
PcdLib PcdLib
[Protocols] [Protocols]
gEfiSimpleTextInProtocolGuid ## BY_START gEfiSimpleTextInProtocolGuid ## BY_START
gEfiSimpleTextInputExProtocolGuid ## BY_START gEfiSimpleTextInputExProtocolGuid ## BY_START

View File

@ -1,7 +1,7 @@
/** @file /** @file
PS2 Mouse Communication Interface. PS2 Mouse Communication Interface.
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -21,9 +21,9 @@ UINT8 ResolutionTbl[MaxResolution] = { 0, 1, 2, 3 };
/** /**
Issue self test command via IsaIo interface. Issue self test command via IsaIo interface.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return EFI_SUCCESS Success to do keyboard self testing. @return EFI_SUCCESS Success to do keyboard self testing.
@return others Fail to do keyboard self testing. @return others Fail to do keyboard self testing.
**/ **/
@ -82,9 +82,9 @@ KbcSelfTest (
/** /**
Issue command to enable keyboard AUX functionality. Issue command to enable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -100,9 +100,9 @@ KbcEnableAux (
/** /**
Issue command to disable keyboard AUX functionality. Issue command to disable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -118,9 +118,9 @@ KbcDisableAux (
/** /**
Issue command to enable keyboard. Issue command to enable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -136,9 +136,9 @@ KbcEnableKb (
/** /**
Issue command to disable keyboard. Issue command to disable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -154,10 +154,10 @@ KbcDisableKb (
/** /**
Issue command to check keyboard status. Issue command to check keyboard status.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param KeyboardEnable return whether keyboard is enable. @param KeyboardEnable return whether keyboard is enable.
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -195,9 +195,9 @@ CheckKbStatus (
/** /**
Issue command to reset keyboard. Issue command to reset keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -240,10 +240,10 @@ PS2MouseReset (
/** /**
Issue command to set mouse's sample rate Issue command to set mouse's sample rate
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param SampleRate value of sample rate @param SampleRate value of sample rate
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -269,10 +269,10 @@ PS2MouseSetSampleRate (
/** /**
Issue command to set mouse's resolution. Issue command to set mouse's resolution.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Resolution value of resolution @param Resolution value of resolution
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -298,10 +298,10 @@ PS2MouseSetResolution (
/** /**
Issue command to set mouse's scaling. Issue command to set mouse's scaling.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Scaling value of scaling @param Scaling value of scaling
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -322,9 +322,9 @@ PS2MouseSetScaling (
/** /**
Issue command to enable Ps2 mouse. Issue command to enable Ps2 mouse.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -341,7 +341,7 @@ PS2MouseEnable (
/** /**
Get mouse packet . Only care first 3 bytes Get mouse packet . Only care first 3 bytes
@param MouseAbsolutePointerDev Pointer to PS2 Absolute Pointer Simulation Device Private Data Structure @param MouseAbsolutePointerDev Pointer to PS2 Absolute Pointer Simulation Device Private Data Structure
@retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet @retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet
@retval EFI_SUCCESS The data packet is gotten successfully. @retval EFI_SUCCESS The data packet is gotten successfully.
@ -432,19 +432,19 @@ PS2MouseGetPacket (
RelativeMovementX = Packet[1]; RelativeMovementX = Packet[1];
RelativeMovementY = Packet[2]; RelativeMovementY = Packet[2];
// //
// Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 // Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0
// Byte 0 | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn // Byte 0 | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn
// Byte 1 | 8 bit X Movement // Byte 1 | 8 bit X Movement
// Byte 2 | 8 bit Y Movement // Byte 2 | 8 bit Y Movement
// //
// X sign bit + 8 bit X Movement : 9-bit signed twos complement integer that presents the relative displacement of the device in the X direction since the last data transmission. // X sign bit + 8 bit X Movement : 9-bit signed twos complement integer that presents the relative displacement of the device in the X direction since the last data transmission.
// Y sign bit + 8 bit Y Movement : Same as X sign bit + 8 bit X Movement. // Y sign bit + 8 bit Y Movement : Same as X sign bit + 8 bit X Movement.
// //
// //
// First, Clear X and Y high 8 bits // First, Clear X and Y high 8 bits
// //
RelativeMovementX = (INT16) (RelativeMovementX & 0xFF); RelativeMovementX = (INT16) (RelativeMovementX & 0xFF);
RelativeMovementY = (INT16) (RelativeMovementY & 0xFF); RelativeMovementY = (INT16) (RelativeMovementY & 0xFF);
// //
// Second, if the 9-bit signed twos complement integer is negative, set the high 8 bit 0xff // Second, if the 9-bit signed twos complement integer is negative, set the high 8 bit 0xff
// //
@ -455,7 +455,7 @@ PS2MouseGetPacket (
RelativeMovementY = (INT16) (RelativeMovementY | 0xFF00); RelativeMovementY = (INT16) (RelativeMovementY | 0xFF00);
} }
RButton = (UINT8) (Packet[0] & 0x2); RButton = (UINT8) (Packet[0] & 0x2);
LButton = (UINT8) (Packet[0] & 0x1); LButton = (UINT8) (Packet[0] & 0x1);
@ -475,12 +475,12 @@ PS2MouseGetPacket (
/** /**
Read data via IsaIo protocol with given number. Read data via IsaIo protocol with given number.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Buffer Buffer receive data of mouse @param Buffer Buffer receive data of mouse
@param BufSize The size of buffer @param BufSize The size of buffer
@param State Check input or read data @param State Check input or read data
@return status of reading mouse data. @return status of reading mouse data.
**/ **/
EFI_STATUS EFI_STATUS
@ -536,10 +536,10 @@ PS2MouseRead (
// //
/** /**
I/O work flow of outing 8042 command. I/O work flow of outing 8042 command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command I/O command. @param Command I/O command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -575,10 +575,10 @@ Out8042Command (
/** /**
I/O work flow of outing 8042 data. I/O work flow of outing 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -611,10 +611,10 @@ Out8042Data (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -654,11 +654,11 @@ In8042Data (
/** /**
I/O work flow of outing 8042 Aux command. I/O work flow of outing 8042 Aux command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command Aux I/O command @param Command Aux I/O command
@param Resend Whether need resend the Aux command. @param Resend Whether need resend the Aux command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -736,10 +736,10 @@ Out8042AuxCommand (
/** /**
I/O work flow of outing 8042 Aux data. I/O work flow of outing 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value @param Data Buffer holding return value
@retval EFI_SUCCESS Success to execute I/O work flow. @retval EFI_SUCCESS Success to execute I/O work flow.
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -782,10 +782,10 @@ Out8042AuxData (
/** /**
I/O work flow of in 8042 Aux data. I/O work flow of in 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value. @param Data Buffer holding return value.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -813,9 +813,9 @@ In8042AuxData (
/** /**
Check keyboard controller status, if it is output buffer full and for auxiliary device. Check keyboard controller status, if it is output buffer full and for auxiliary device.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@retval EFI_SUCCESS Keyboard controller is ready @retval EFI_SUCCESS Keyboard controller is ready
@retval EFI_NOT_READY Keyboard controller is not ready @retval EFI_NOT_READY Keyboard controller is not ready
**/ **/
@ -840,10 +840,10 @@ CheckForInput (
/** /**
I/O work flow to wait input buffer empty in given time. I/O work flow to wait input buffer empty in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout Wating time. @param Timeout Wating time.
@retval EFI_TIMEOUT if input is still not empty in given time. @retval EFI_TIMEOUT if input is still not empty in given time.
@retval EFI_SUCCESS input is empty. @retval EFI_SUCCESS input is empty.
**/ **/
@ -881,10 +881,10 @@ WaitInputEmpty (
/** /**
I/O work flow to wait output buffer full in given time. I/O work flow to wait output buffer full in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout given time @param Timeout given time
@retval EFI_TIMEOUT output is not full in given time @retval EFI_TIMEOUT output is not full in given time
@retval EFI_SUCCESS output is full in given time. @retval EFI_SUCCESS output is full in given time.
**/ **/

View File

@ -1,7 +1,7 @@
/** @file /** @file
Using PS2 Mouse to simulation Absolution Pointer Device. Using PS2 Mouse to simulation Absolution Pointer Device.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -78,23 +78,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/// ///
/// Parity Error /// Parity Error
/// ///
#define KBC_PARE 0x80 #define KBC_PARE 0x80
/// ///
/// General Time Out /// General Time Out
/// ///
#define KBC_TIM 0x40 #define KBC_TIM 0x40
/// ///
/// Output buffer for auxiliary device (PS/2): /// Output buffer for auxiliary device (PS/2):
/// 0 - Holds keyboard data /// 0 - Holds keyboard data
/// 1 - Holds data for auxiliary device /// 1 - Holds data for auxiliary device
/// ///
#define KBC_AUXB 0x20 #define KBC_AUXB 0x20
/// ///
/// Keyboard lock status: /// Keyboard lock status:
/// 0 - keyboard locked /// 0 - keyboard locked
/// 1 - keyboard free /// 1 - keyboard free
/// ///
#define KBC_KEYL 0x10 #define KBC_KEYL 0x10
/// ///
/// Command/Data: /// Command/Data:
/// 0 - data byte written via port 60h /// 0 - data byte written via port 60h
@ -106,25 +106,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/// 0 - power-on reset /// 0 - power-on reset
/// 1 - self-test successful /// 1 - self-test successful
/// ///
#define KBC_SYSF 0x04 #define KBC_SYSF 0x04
/// ///
/// Input Buffer Status : /// Input Buffer Status :
/// 0 - input buffer empty /// 0 - input buffer empty
/// 1 - CPU data in input buffer /// 1 - CPU data in input buffer
/// ///
#define KBC_INPB 0x02 #define KBC_INPB 0x02
/// ///
/// Output Buffer Status : /// Output Buffer Status :
/// 0 - output buffer empty /// 0 - output buffer empty
/// 1 - keyboard controller data in output buffer /// 1 - keyboard controller data in output buffer
/// ///
#define KBC_OUTB 0x01 #define KBC_OUTB 0x01
/** /**
Issue self test command via IsaIo interface. Issue self test command via IsaIo interface.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return EFI_SUCCESS Success to do keyboard self testing. @return EFI_SUCCESS Success to do keyboard self testing.
@return others Fail to do keyboard self testing. @return others Fail to do keyboard self testing.
**/ **/
@ -135,9 +135,9 @@ KbcSelfTest (
/** /**
Issue command to enable keyboard AUX functionality. Issue command to enable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -147,9 +147,9 @@ KbcEnableAux (
/** /**
Issue command to disable keyboard AUX functionality. Issue command to disable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -159,9 +159,9 @@ KbcDisableAux (
/** /**
Issue command to enable keyboard. Issue command to enable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -171,9 +171,9 @@ KbcEnableKb (
/** /**
Issue command to disable keyboard. Issue command to disable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -183,10 +183,10 @@ KbcDisableKb (
/** /**
Issue command to check keyboard status. Issue command to check keyboard status.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param KeyboardEnable return whether keyboard is enable. @param KeyboardEnable return whether keyboard is enable.
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -197,9 +197,9 @@ CheckKbStatus (
/** /**
Issue command to reset keyboard. Issue command to reset keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -209,10 +209,10 @@ PS2MouseReset (
/** /**
Issue command to set mouse's sample rate Issue command to set mouse's sample rate
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param SampleRate value of sample rate @param SampleRate value of sample rate
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -223,10 +223,10 @@ PS2MouseSetSampleRate (
/** /**
Issue command to set mouse's resolution. Issue command to set mouse's resolution.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Resolution value of resolution @param Resolution value of resolution
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -237,10 +237,10 @@ PS2MouseSetResolution (
/** /**
Issue command to set mouse's scaling. Issue command to set mouse's scaling.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Scaling value of scaling @param Scaling value of scaling
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -251,9 +251,9 @@ PS2MouseSetScaling (
/** /**
Issue command to enable Ps2 mouse. Issue command to enable Ps2 mouse.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -277,12 +277,12 @@ PS2MouseGetPacket (
/** /**
Read data via IsaIo protocol with given number. Read data via IsaIo protocol with given number.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Buffer Buffer receive data of mouse @param Buffer Buffer receive data of mouse
@param BufSize The size of buffer @param BufSize The size of buffer
@param State Check input or read data @param State Check input or read data
@return status of reading mouse data. @return status of reading mouse data.
**/ **/
EFI_STATUS EFI_STATUS
@ -298,10 +298,10 @@ PS2MouseRead (
// //
/** /**
I/O work flow of outing 8042 command. I/O work flow of outing 8042 command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command I/O command. @param Command I/O command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -313,10 +313,10 @@ Out8042Command (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -328,10 +328,10 @@ In8042Data (
/** /**
I/O work flow of outing 8042 data. I/O work flow of outing 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -343,11 +343,11 @@ Out8042Data (
/** /**
I/O work flow of outing 8042 Aux command. I/O work flow of outing 8042 Aux command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command Aux I/O command @param Command Aux I/O command
@param Resend Whether need resend the Aux command. @param Resend Whether need resend the Aux command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -360,10 +360,10 @@ Out8042AuxCommand (
/** /**
I/O work flow of in 8042 Aux data. I/O work flow of in 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value. @param Data Buffer holding return value.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -375,10 +375,10 @@ In8042AuxData (
/** /**
I/O work flow of outing 8042 Aux data. I/O work flow of outing 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value. @param Data Buffer holding return value.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -390,9 +390,9 @@ Out8042AuxData (
/** /**
Check keyboard controller status, if it is output buffer full and for auxiliary device. Check keyboard controller status, if it is output buffer full and for auxiliary device.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@retval EFI_SUCCESS Keyboard controller is ready @retval EFI_SUCCESS Keyboard controller is ready
@retval EFI_NOT_READY Keyboard controller is not ready @retval EFI_NOT_READY Keyboard controller is not ready
**/ **/
@ -403,10 +403,10 @@ CheckForInput (
/** /**
I/O work flow to wait input buffer empty in given time. I/O work flow to wait input buffer empty in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout Wating time. @param Timeout Wating time.
@retval EFI_TIMEOUT if input is still not empty in given time. @retval EFI_TIMEOUT if input is still not empty in given time.
@retval EFI_SUCCESS input is empty. @retval EFI_SUCCESS input is empty.
**/ **/
@ -418,10 +418,10 @@ WaitInputEmpty (
/** /**
I/O work flow to wait output buffer full in given time. I/O work flow to wait output buffer full in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout given time @param Timeout given time
@retval EFI_TIMEOUT output is not full in given time @retval EFI_TIMEOUT output is not full in given time
@retval EFI_SUCCESS output is full in given time. @retval EFI_SUCCESS output is full in given time.
**/ **/

View File

@ -1,8 +1,8 @@
/** @file /** @file
A faked PS/2 Absolute Pointer driver. Routines that interacts with callers, A faked PS/2 Absolute Pointer driver. Routines that interacts with callers,
conforming to EFI driver model conforming to EFI driver model
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -230,7 +230,7 @@ PS2MouseAbsolutePointerDriverStart (
// //
// Initialize keyboard controller if necessary // Initialize keyboard controller if necessary
// //
REPORT_STATUS_CODE_WITH_DEVICE_PATH ( REPORT_STATUS_CODE_WITH_DEVICE_PATH (
EFI_PROGRESS_CODE, EFI_PROGRESS_CODE,
EFI_PERIPHERAL_MOUSE | EFI_P_MOUSE_PC_SELF_TEST, EFI_PERIPHERAL_MOUSE | EFI_P_MOUSE_PC_SELF_TEST,
ParentDevicePath ParentDevicePath
@ -640,7 +640,7 @@ CheckMouseAbsolutePointerConnect (
/** /**
Get and Clear mouse status. Get and Clear mouse status.
@param This - Pointer of simple pointer Protocol. @param This - Pointer of simple pointer Protocol.
@param State - Output buffer holding status. @param State - Output buffer holding status.
@ -743,9 +743,9 @@ PollMouseAbsolutePointer(
/** /**
The user Entry Point for module Ps2MouseAbsolutePointer. The user code starts with this function. The user Entry Point for module Ps2MouseAbsolutePointer. The user code starts with this function.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point. @retval other Some error occurs when executing this entry point.

View File

@ -1,7 +1,7 @@
/** @file /** @file
A Ps2MouseAbsolutePointer driver header file A Ps2MouseAbsolutePointer driver header file
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -322,7 +322,7 @@ MouseAbsolutePointerReset (
/** /**
Get and Clear mouse status. Get and Clear mouse status.
@param This - Pointer of simple pointer Protocol. @param This - Pointer of simple pointer Protocol.
@param State - Output buffer holding status. @param State - Output buffer holding status.
@ -370,10 +370,10 @@ PollMouseAbsolutePointer (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/

View File

@ -4,13 +4,13 @@
// This driver simulates a touch pad absolute pointing device using a standard // This driver simulates a touch pad absolute pointing device using a standard
// PS2 mouse as the input hardware. // PS2 mouse as the input hardware.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// Ps2MouseAbsolutePointerDxe Localized Strings and Content // Ps2MouseAbsolutePointerDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"PS2 Tablet Pointer DXE Driver" "PS2 Tablet Pointer DXE Driver"

View File

@ -1,7 +1,7 @@
/** @file /** @file
PS2 Mouse Communication Interface. PS2 Mouse Communication Interface.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -21,9 +21,9 @@ UINT8 ResolutionTbl[MaxResolution] = { 0, 1, 2, 3 };
/** /**
Issue self test command via IsaIo interface. Issue self test command via IsaIo interface.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return EFI_SUCCESS Success to do keyboard self testing. @return EFI_SUCCESS Success to do keyboard self testing.
@return others Fail to do keyboard self testing. @return others Fail to do keyboard self testing.
**/ **/
@ -82,9 +82,9 @@ KbcSelfTest (
/** /**
Issue command to enable keyboard AUX functionality. Issue command to enable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -100,9 +100,9 @@ KbcEnableAux (
/** /**
Issue command to disable keyboard AUX functionality. Issue command to disable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -118,9 +118,9 @@ KbcDisableAux (
/** /**
Issue command to enable keyboard. Issue command to enable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -136,9 +136,9 @@ KbcEnableKb (
/** /**
Issue command to disable keyboard. Issue command to disable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -154,10 +154,10 @@ KbcDisableKb (
/** /**
Issue command to check keyboard status. Issue command to check keyboard status.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param KeyboardEnable return whether keyboard is enable. @param KeyboardEnable return whether keyboard is enable.
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -195,9 +195,9 @@ CheckKbStatus (
/** /**
Issue command to reset keyboard. Issue command to reset keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -240,10 +240,10 @@ PS2MouseReset (
/** /**
Issue command to set mouse's sample rate Issue command to set mouse's sample rate
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param SampleRate value of sample rate @param SampleRate value of sample rate
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -269,10 +269,10 @@ PS2MouseSetSampleRate (
/** /**
Issue command to set mouse's resolution. Issue command to set mouse's resolution.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Resolution value of resolution @param Resolution value of resolution
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -298,10 +298,10 @@ PS2MouseSetResolution (
/** /**
Issue command to set mouse's scaling. Issue command to set mouse's scaling.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Scaling value of scaling @param Scaling value of scaling
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -322,9 +322,9 @@ PS2MouseSetScaling (
/** /**
Issue command to enable Ps2 mouse. Issue command to enable Ps2 mouse.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -341,7 +341,7 @@ PS2MouseEnable (
/** /**
Get mouse packet . Only care first 3 bytes Get mouse packet . Only care first 3 bytes
@param MouseDev Pointer of PS2 Mouse Private Data Structure @param MouseDev Pointer of PS2 Mouse Private Data Structure
@retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet @retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet
@retval EFI_SUCCESS The data packet is gotten successfully. @retval EFI_SUCCESS The data packet is gotten successfully.
@ -432,19 +432,19 @@ PS2MouseGetPacket (
RelativeMovementX = Packet[1]; RelativeMovementX = Packet[1];
RelativeMovementY = Packet[2]; RelativeMovementY = Packet[2];
// //
// Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 // Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0
// Byte 0 | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn // Byte 0 | Y overflow | X overflow | Y sign bit | X sign bit | Always 1 | Middle Btn | Right Btn | Left Btn
// Byte 1 | 8 bit X Movement // Byte 1 | 8 bit X Movement
// Byte 2 | 8 bit Y Movement // Byte 2 | 8 bit Y Movement
// //
// X sign bit + 8 bit X Movement : 9-bit signed twos complement integer that presents the relative displacement of the device in the X direction since the last data transmission. // X sign bit + 8 bit X Movement : 9-bit signed twos complement integer that presents the relative displacement of the device in the X direction since the last data transmission.
// Y sign bit + 8 bit Y Movement : Same as X sign bit + 8 bit X Movement. // Y sign bit + 8 bit Y Movement : Same as X sign bit + 8 bit X Movement.
// //
// //
// First, Clear X and Y high 8 bits // First, Clear X and Y high 8 bits
// //
RelativeMovementX = (INT16) (RelativeMovementX & 0xFF); RelativeMovementX = (INT16) (RelativeMovementX & 0xFF);
RelativeMovementY = (INT16) (RelativeMovementY & 0xFF); RelativeMovementY = (INT16) (RelativeMovementY & 0xFF);
// //
// Second, if the 9-bit signed twos complement integer is negative, set the high 8 bit 0xff // Second, if the 9-bit signed twos complement integer is negative, set the high 8 bit 0xff
// //
@ -455,7 +455,7 @@ PS2MouseGetPacket (
RelativeMovementY = (INT16) (RelativeMovementY | 0xFF00); RelativeMovementY = (INT16) (RelativeMovementY | 0xFF00);
} }
RButton = (UINT8) (Packet[0] & 0x2); RButton = (UINT8) (Packet[0] & 0x2);
LButton = (UINT8) (Packet[0] & 0x1); LButton = (UINT8) (Packet[0] & 0x1);
@ -475,12 +475,12 @@ PS2MouseGetPacket (
/** /**
Read data via IsaIo protocol with given number. Read data via IsaIo protocol with given number.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Buffer Buffer receive data of mouse @param Buffer Buffer receive data of mouse
@param BufSize The size of buffer @param BufSize The size of buffer
@param State Check input or read data @param State Check input or read data
@return status of reading mouse data. @return status of reading mouse data.
**/ **/
EFI_STATUS EFI_STATUS
@ -535,10 +535,10 @@ PS2MouseRead (
// //
/** /**
I/O work flow of outing 8042 command. I/O work flow of outing 8042 command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command I/O command. @param Command I/O command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -574,10 +574,10 @@ Out8042Command (
/** /**
I/O work flow of outing 8042 data. I/O work flow of outing 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -610,10 +610,10 @@ Out8042Data (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -653,11 +653,11 @@ In8042Data (
/** /**
I/O work flow of outing 8042 Aux command. I/O work flow of outing 8042 Aux command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command Aux I/O command @param Command Aux I/O command
@param Resend Whether need resend the Aux command. @param Resend Whether need resend the Aux command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -735,10 +735,10 @@ Out8042AuxCommand (
/** /**
I/O work flow of outing 8042 Aux data. I/O work flow of outing 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value @param Data Buffer holding return value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -781,10 +781,10 @@ Out8042AuxData (
/** /**
I/O work flow of in 8042 Aux data. I/O work flow of in 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value. @param Data Buffer holding return value.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -812,9 +812,9 @@ In8042AuxData (
/** /**
Check keyboard controller status, if it is output buffer full and for auxiliary device. Check keyboard controller status, if it is output buffer full and for auxiliary device.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@retval EFI_SUCCESS Keyboard controller is ready @retval EFI_SUCCESS Keyboard controller is ready
@retval EFI_NOT_READY Keyboard controller is not ready @retval EFI_NOT_READY Keyboard controller is not ready
**/ **/
@ -839,10 +839,10 @@ CheckForInput (
/** /**
I/O work flow to wait input buffer empty in given time. I/O work flow to wait input buffer empty in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout Wating time. @param Timeout Wating time.
@retval EFI_TIMEOUT if input is still not empty in given time. @retval EFI_TIMEOUT if input is still not empty in given time.
@retval EFI_SUCCESS input is empty. @retval EFI_SUCCESS input is empty.
**/ **/
@ -880,10 +880,10 @@ WaitInputEmpty (
/** /**
I/O work flow to wait output buffer full in given time. I/O work flow to wait output buffer full in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout given time @param Timeout given time
@retval EFI_TIMEOUT output is not full in given time @retval EFI_TIMEOUT output is not full in given time
@retval EFI_SUCCESS output is full in given time. @retval EFI_SUCCESS output is full in given time.
**/ **/

View File

@ -1,7 +1,7 @@
/** @file /** @file
PS2 Mouse Communication Interface PS2 Mouse Communication Interface
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -78,23 +78,23 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/// ///
/// Parity Error /// Parity Error
/// ///
#define KBC_PARE 0x80 #define KBC_PARE 0x80
/// ///
/// General Time Out /// General Time Out
/// ///
#define KBC_TIM 0x40 #define KBC_TIM 0x40
/// ///
/// Output buffer for auxiliary device (PS/2): /// Output buffer for auxiliary device (PS/2):
/// 0 - Holds keyboard data /// 0 - Holds keyboard data
/// 1 - Holds data for auxiliary device /// 1 - Holds data for auxiliary device
/// ///
#define KBC_AUXB 0x20 #define KBC_AUXB 0x20
/// ///
/// Keyboard lock status: /// Keyboard lock status:
/// 0 - keyboard locked /// 0 - keyboard locked
/// 1 - keyboard free /// 1 - keyboard free
/// ///
#define KBC_KEYL 0x10 #define KBC_KEYL 0x10
/// ///
/// Command/Data: /// Command/Data:
/// 0 - data byte written via port 60h /// 0 - data byte written via port 60h
@ -106,25 +106,25 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
/// 0 - power-on reset /// 0 - power-on reset
/// 1 - self-test successful /// 1 - self-test successful
/// ///
#define KBC_SYSF 0x04 #define KBC_SYSF 0x04
/// ///
/// Input Buffer Status : /// Input Buffer Status :
/// 0 - input buffer empty /// 0 - input buffer empty
/// 1 - CPU data in input buffer /// 1 - CPU data in input buffer
/// ///
#define KBC_INPB 0x02 #define KBC_INPB 0x02
/// ///
/// Output Buffer Status : /// Output Buffer Status :
/// 0 - output buffer empty /// 0 - output buffer empty
/// 1 - keyboard controller data in output buffer /// 1 - keyboard controller data in output buffer
/// ///
#define KBC_OUTB 0x01 #define KBC_OUTB 0x01
/** /**
Issue self test command via IsaIo interface. Issue self test command via IsaIo interface.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return EFI_SUCCESS Success to do keyboard self testing. @return EFI_SUCCESS Success to do keyboard self testing.
@return others Fail to do keyboard self testing. @return others Fail to do keyboard self testing.
**/ **/
@ -135,9 +135,9 @@ KbcSelfTest (
/** /**
Issue command to enable keyboard AUX functionality. Issue command to enable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -147,9 +147,9 @@ KbcEnableAux (
/** /**
Issue command to disable keyboard AUX functionality. Issue command to disable keyboard AUX functionality.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -159,9 +159,9 @@ KbcDisableAux (
/** /**
Issue command to enable keyboard. Issue command to enable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -171,9 +171,9 @@ KbcEnableKb (
/** /**
Issue command to disable keyboard. Issue command to disable keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -183,10 +183,10 @@ KbcDisableKb (
/** /**
Issue command to check keyboard status. Issue command to check keyboard status.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param KeyboardEnable return whether keyboard is enable. @param KeyboardEnable return whether keyboard is enable.
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -197,9 +197,9 @@ CheckKbStatus (
/** /**
Issue command to reset keyboard. Issue command to reset keyboard.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -209,10 +209,10 @@ PS2MouseReset (
/** /**
Issue command to set mouse's sample rate Issue command to set mouse's sample rate
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param SampleRate value of sample rate @param SampleRate value of sample rate
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -223,10 +223,10 @@ PS2MouseSetSampleRate (
/** /**
Issue command to set mouse's resolution. Issue command to set mouse's resolution.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Resolution value of resolution @param Resolution value of resolution
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -237,10 +237,10 @@ PS2MouseSetResolution (
/** /**
Issue command to set mouse's scaling. Issue command to set mouse's scaling.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Scaling value of scaling @param Scaling value of scaling
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -251,9 +251,9 @@ PS2MouseSetScaling (
/** /**
Issue command to enable Ps2 mouse. Issue command to enable Ps2 mouse.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@return Status of command issuing. @return Status of command issuing.
**/ **/
EFI_STATUS EFI_STATUS
@ -264,7 +264,7 @@ PS2MouseEnable (
/** /**
Get mouse packet . Only care first 3 bytes Get mouse packet . Only care first 3 bytes
@param MouseDev Pointer of PS2 Mouse Private Data Structure @param MouseDev Pointer of PS2 Mouse Private Data Structure
@retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet @retval EFI_NOT_READY Mouse Device not ready to input data packet, or some error happened during getting the packet
@retval EFI_SUCCESS The data packet is gotten successfully. @retval EFI_SUCCESS The data packet is gotten successfully.
@ -277,12 +277,12 @@ PS2MouseGetPacket (
/** /**
Read data via IsaIo protocol with given number. Read data via IsaIo protocol with given number.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Buffer Buffer receive data of mouse @param Buffer Buffer receive data of mouse
@param BufSize The size of buffer @param BufSize The size of buffer
@param State Check input or read data @param State Check input or read data
@return status of reading mouse data. @return status of reading mouse data.
**/ **/
EFI_STATUS EFI_STATUS
@ -298,10 +298,10 @@ PS2MouseRead (
// //
/** /**
I/O work flow of outing 8042 command. I/O work flow of outing 8042 command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command I/O command. @param Command I/O command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -313,10 +313,10 @@ Out8042Command (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -328,10 +328,10 @@ In8042Data (
/** /**
I/O work flow of outing 8042 data. I/O work flow of outing 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -343,11 +343,11 @@ Out8042Data (
/** /**
I/O work flow of outing 8042 Aux command. I/O work flow of outing 8042 Aux command.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Command Aux I/O command @param Command Aux I/O command
@param Resend Whether need resend the Aux command. @param Resend Whether need resend the Aux command.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -360,10 +360,10 @@ Out8042AuxCommand (
/** /**
I/O work flow of in 8042 Aux data. I/O work flow of in 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value. @param Data Buffer holding return value.
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -375,10 +375,10 @@ In8042AuxData (
/** /**
I/O work flow of outing 8042 Aux data. I/O work flow of outing 8042 Aux data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Buffer holding return value @param Data Buffer holding return value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/
@ -390,9 +390,9 @@ Out8042AuxData (
/** /**
Check keyboard controller status, if it is output buffer full and for auxiliary device. Check keyboard controller status, if it is output buffer full and for auxiliary device.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@retval EFI_SUCCESS Keyboard controller is ready @retval EFI_SUCCESS Keyboard controller is ready
@retval EFI_NOT_READY Keyboard controller is not ready @retval EFI_NOT_READY Keyboard controller is not ready
**/ **/
@ -403,10 +403,10 @@ CheckForInput (
/** /**
I/O work flow to wait input buffer empty in given time. I/O work flow to wait input buffer empty in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout Wating time. @param Timeout Wating time.
@retval EFI_TIMEOUT if input is still not empty in given time. @retval EFI_TIMEOUT if input is still not empty in given time.
@retval EFI_SUCCESS input is empty. @retval EFI_SUCCESS input is empty.
**/ **/
@ -418,10 +418,10 @@ WaitInputEmpty (
/** /**
I/O work flow to wait output buffer full in given time. I/O work flow to wait output buffer full in given time.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Timeout given time @param Timeout given time
@retval EFI_TIMEOUT output is not full in given time @retval EFI_TIMEOUT output is not full in given time
@retval EFI_SUCCESS output is full in given time. @retval EFI_SUCCESS output is full in given time.
**/ **/

View File

@ -1,8 +1,8 @@
/** @file /** @file
PS/2 Mouse driver. Routines that interacts with callers, PS/2 Mouse driver. Routines that interacts with callers,
conforming to EFI driver model. conforming to EFI driver model.
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -109,7 +109,7 @@ PS2MouseDriverSupported (
} }
/** /**
Start this driver on ControllerHandle by opening a IsaIo protocol, creating Start this driver on ControllerHandle by opening a IsaIo protocol, creating
PS2_MOUSE_ABSOLUTE_POINTER_DEV device and install gEfiAbsolutePointerProtocolGuid PS2_MOUSE_ABSOLUTE_POINTER_DEV device and install gEfiAbsolutePointerProtocolGuid
finally. finally.
@ -239,7 +239,7 @@ PS2MouseDriverStart (
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
StatusCode = EFI_PERIPHERAL_MOUSE | EFI_P_EC_NOT_DETECTED; StatusCode = EFI_PERIPHERAL_MOUSE | EFI_P_EC_NOT_DETECTED;
goto ErrorExit; goto ErrorExit;
} }
REPORT_STATUS_CODE_WITH_DEVICE_PATH ( REPORT_STATUS_CODE_WITH_DEVICE_PATH (
EFI_PROGRESS_CODE, EFI_PROGRESS_CODE,
@ -381,7 +381,7 @@ ErrorExit:
if ((MouseDev != NULL) && (MouseDev->ControllerNameTable != NULL)) { if ((MouseDev != NULL) && (MouseDev->ControllerNameTable != NULL)) {
FreeUnicodeStringTable (MouseDev->ControllerNameTable); FreeUnicodeStringTable (MouseDev->ControllerNameTable);
} }
if (Status != EFI_DEVICE_ERROR) { if (Status != EFI_DEVICE_ERROR) {
// //
// Since there will be no timer handler for mouse input any more, // Since there will be no timer handler for mouse input any more,
@ -655,7 +655,7 @@ CheckMouseConnect (
/** /**
Get and Clear mouse status. Get and Clear mouse status.
@param This - Pointer of simple pointer Protocol. @param This - Pointer of simple pointer Protocol.
@param State - Output buffer holding status. @param State - Output buffer holding status.
@ -757,9 +757,9 @@ PollMouse (
/** /**
The user Entry Point for module Ps2Mouse. The user code starts with this function. The user Entry Point for module Ps2Mouse. The user code starts with this function.
@param[in] ImageHandle The firmware allocated handle for the EFI image. @param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table. @param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The entry point is executed successfully. @retval EFI_SUCCESS The entry point is executed successfully.
@retval other Some error occurs when executing this entry point. @retval other Some error occurs when executing this entry point.

View File

@ -1,7 +1,7 @@
/** @file /** @file
PS/2 Mouse driver header file. PS/2 Mouse driver header file.
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -322,7 +322,7 @@ MouseReset (
/** /**
Get and Clear mouse status. Get and Clear mouse status.
@param This - Pointer of simple pointer Protocol. @param This - Pointer of simple pointer Protocol.
@param State - Output buffer holding status. @param State - Output buffer holding status.
@ -370,10 +370,10 @@ PollMouse (
/** /**
I/O work flow of in 8042 data. I/O work flow of in 8042 data.
@param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL
@param Data Data value @param Data Data value
@retval EFI_SUCCESS Success to execute I/O work flow @retval EFI_SUCCESS Success to execute I/O work flow
@retval EFI_TIMEOUT Keyboard controller time out. @retval EFI_TIMEOUT Keyboard controller time out.
**/ **/

View File

@ -3,13 +3,13 @@
// //
// This dirver provides support for PS2 based mice. // This dirver provides support for PS2 based mice.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// Ps2MouseDxe Localized Strings and Content // Ps2MouseDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"PS2 Mouse DXE Driver" "PS2 Mouse DXE Driver"

View File

@ -1,7 +1,7 @@
/** @file /** @file
This file contains all helper functions on the ATA command This file contains all helper functions on the ATA command
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -31,9 +31,9 @@
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@retval EFI_SUCCESS The disk specified by IdeDev is a Atapi6 supported one and @retval EFI_SUCCESS The disk specified by IdeDev is a Atapi6 supported one and
48-bit addressing must be used 48-bit addressing must be used
@retval EFI_UNSUPPORTED The disk dosn't not support Atapi6 or it supports but the @retval EFI_UNSUPPORTED The disk dosn't not support Atapi6 or it supports but the
capacity is below 120G, 48bit addressing is not needed capacity is below 120G, 48bit addressing is not needed
@retval EFI_DEVICE_ERROR The identify data in IdeDev is incorrect @retval EFI_DEVICE_ERROR The identify data in IdeDev is incorrect
@retval EFI_INVALID_PARAMETER The identify data in IdeDev is NULL. @retval EFI_INVALID_PARAMETER The identify data in IdeDev is NULL.
@ -110,7 +110,7 @@ AtaAtapi6Identify (
/** /**
Enable SMART of the disk if supported Enable SMART of the disk if supported
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record
all the information of the IDE device. all the information of the IDE device.
**/ **/
VOID VOID
@ -263,7 +263,7 @@ AtaSMARTSupport (
information it needs to fill the IDE_BLK_IO_DEV data structure, information it needs to fill the IDE_BLK_IO_DEV data structure,
including device type, media block size, media capacity, and etc. including device type, media block size, media capacity, and etc.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record
all the information of the IDE device. all the information of the IDE device.
@retval EFI_SUCCESS Identify ATA device successfully. @retval EFI_SUCCESS Identify ATA device successfully.
@ -280,7 +280,7 @@ ATAIdentify (
EFI_IDENTIFY_DATA *AtaIdentifyPointer; EFI_IDENTIFY_DATA *AtaIdentifyPointer;
UINT32 Capacity; UINT32 Capacity;
UINT8 DeviceSelect; UINT8 DeviceSelect;
UINTN Retry; UINTN Retry;
// //
// AtaIdentifyPointer is used for accommodating returned IDENTIFY data of // AtaIdentifyPointer is used for accommodating returned IDENTIFY data of
@ -297,9 +297,9 @@ ATAIdentify (
// //
DeviceSelect = (UINT8) ((IdeDev->Device) << 4); DeviceSelect = (UINT8) ((IdeDev->Device) << 4);
Retry = 3; Retry = 3;
while (Retry > 0) { while (Retry > 0) {
Status = AtaPioDataIn ( Status = AtaPioDataIn (
IdeDev, IdeDev,
(VOID *) AtaIdentifyPointer, (VOID *) AtaIdentifyPointer,
@ -348,20 +348,20 @@ ATAIdentify (
// //
return EFI_SUCCESS; return EFI_SUCCESS;
} else if (Status == EFI_DEVICE_ERROR) { } else if (Status == EFI_DEVICE_ERROR) {
// //
// Some disk with big capacity (>200GB) is slow when being identified // Some disk with big capacity (>200GB) is slow when being identified
// and will return all zero for word83. // and will return all zero for word83.
// We try twice at first. If it fails, we do a SoftRest and try again. // We try twice at first. If it fails, we do a SoftRest and try again.
// //
Retry--; Retry--;
if (Retry == 1) { if (Retry == 1) {
// //
// Do a SoftRest before the third attempt. // Do a SoftRest before the third attempt.
// //
AtaSoftReset (IdeDev); AtaSoftReset (IdeDev);
} }
continue; continue;
} }
// //
// This is a hard disk <= 120GB capacity, treat it as normal hard disk // This is a hard disk <= 120GB capacity, treat it as normal hard disk
// //
@ -390,7 +390,7 @@ ATAIdentify (
} }
} }
break; break;
} }
gBS->FreePool (AtaIdentifyPointer); gBS->FreePool (AtaIdentifyPointer);
@ -404,12 +404,12 @@ ATAIdentify (
/** /**
This function is a helper function used to change the char order in a string. It This function is a helper function used to change the char order in a string. It
is designed specially for the PrintAtaModuleName() function. After the IDE device is designed specially for the PrintAtaModuleName() function. After the IDE device
is detected, the IDE driver gets the device module name by sending ATA command is detected, the IDE driver gets the device module name by sending ATA command
called ATA Identify Command or ATAPI Identify Command to the specified IDE device. called ATA Identify Command or ATAPI Identify Command to the specified IDE device.
The module name returned is a string of ASCII characters: the first character is bit8--bit15 The module name returned is a string of ASCII characters: the first character is bit8--bit15
of the first word, the second character is BIT0--bit7 of the first word and so on. Thus of the first word, the second character is BIT0--bit7 of the first word and so on. Thus
the string can not be print directly before it is preprocessed by this func to change the string can not be print directly before it is preprocessed by this func to change
the order of characters in each word in the string. the order of characters in each word in the string.
@param Destination Indicates the destination string. @param Destination Indicates the destination string.
@ -455,7 +455,7 @@ PrintAtaModuleName (
/** /**
This function is used to send out ATA commands conforms to the PIO Data In Protocol. This function is used to send out ATA commands conforms to the PIO Data In Protocol.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param Buffer buffer contained data transferred from device to host. @param Buffer buffer contained data transferred from device to host.
@param ByteCount data size in byte unit of the buffer. @param ByteCount data size in byte unit of the buffer.
@ -465,7 +465,7 @@ PrintAtaModuleName (
@param SectorNumber value of the Sector Number Register @param SectorNumber value of the Sector Number Register
@param CylinderLsb value of the low byte of the Cylinder Register @param CylinderLsb value of the low byte of the Cylinder Register
@param CylinderMsb value of the high byte of the Cylinder Register @param CylinderMsb value of the high byte of the Cylinder Register
@retval EFI_SUCCESS send out the ATA command and device send required data successfully. @retval EFI_SUCCESS send out the ATA command and device send required data successfully.
@retval EFI_DEVICE_ERROR command sent failed. @retval EFI_DEVICE_ERROR command sent failed.
@ -752,7 +752,7 @@ AtaPioDataOut (
some debug information and if there is ERR bit set in the Status some debug information and if there is ERR bit set in the Status
Register, the Error Register's value is also be parsed and print out. Register, the Error Register's value is also be parsed and print out.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to
record all the information of the IDE device. record all the information of the IDE device.
@retval EFI_SUCCESS No err information in the Status Register. @retval EFI_SUCCESS No err information in the Status Register.
@ -850,15 +850,15 @@ CheckErrorStatus (
} }
/** /**
This function is called by the AtaBlkIoReadBlocks() to perform reading from This function is called by the AtaBlkIoReadBlocks() to perform reading from
media in block unit. media in block unit.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param DataBuffer A pointer to the destination buffer for the data. @param DataBuffer A pointer to the destination buffer for the data.
@param Lba The starting logical block address to read from on the device media. @param Lba The starting logical block address to read from on the device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@return status is fully dependent on the return status of AtaPioDataIn() function. @return status is fully dependent on the return status of AtaPioDataIn() function.
**/ **/
@ -959,7 +959,7 @@ AtaReadSectors (
} }
/** /**
This function is called by the AtaBlkIoWriteBlocks() to perform writing onto This function is called by the AtaBlkIoWriteBlocks() to perform writing onto
media in block unit. media in block unit.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record
@ -967,7 +967,7 @@ AtaReadSectors (
@param BufferData A pointer to the source buffer for the data. @param BufferData A pointer to the source buffer for the data.
@param Lba The starting logical block address to write onto the device media. @param Lba The starting logical block address to write onto the device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@return status is fully dependent on the return status of AtaPioDataIn() function. @return status is fully dependent on the return status of AtaPioDataIn() function.
**/ **/
@ -1055,7 +1055,7 @@ AtaWriteSectors (
} }
/** /**
This function is used to implement the Soft Reset on the specified device. But, This function is used to implement the Soft Reset on the specified device. But,
the ATA Soft Reset mechanism is so strong a reset method that it will force the ATA Soft Reset mechanism is so strong a reset method that it will force
resetting on both devices connected to the same cable. resetting on both devices connected to the same cable.
It is called by IdeBlkIoReset(), a interface function of Block It is called by IdeBlkIoReset(), a interface function of Block
@ -1120,7 +1120,7 @@ AtaSoftReset (
return EFI_SUCCESS; return EFI_SUCCESS;
} }
/** /**
This function is used to send out ATA commands conforms to the PIO Data In This function is used to send out ATA commands conforms to the PIO Data In
Protocol, supporting ATA/ATAPI-6 standard Protocol, supporting ATA/ATAPI-6 standard
Comparing with ATA-3 data in protocol, we have two differents here: Comparing with ATA-3 data in protocol, we have two differents here:
@ -1595,27 +1595,27 @@ DoAtaUdma (
// Read BMIS register and clear ERROR and INTR bit // Read BMIS register and clear ERROR and INTR bit
// //
IdeDev->PciIo->Io.Read ( IdeDev->PciIo->Io.Read (
IdeDev->PciIo, IdeDev->PciIo,
EfiPciIoWidthUint8, EfiPciIoWidthUint8,
EFI_PCI_IO_PASS_THROUGH_BAR, EFI_PCI_IO_PASS_THROUGH_BAR,
IoPortForBmis, IoPortForBmis,
1, 1,
&RegisterValue &RegisterValue
); );
RegisterValue |= (BMIS_INTERRUPT | BMIS_ERROR); RegisterValue |= (BMIS_INTERRUPT | BMIS_ERROR);
IdeDev->PciIo->Io.Write ( IdeDev->PciIo->Io.Write (
IdeDev->PciIo, IdeDev->PciIo,
EfiPciIoWidthUint8, EfiPciIoWidthUint8,
EFI_PCI_IO_PASS_THROUGH_BAR, EFI_PCI_IO_PASS_THROUGH_BAR,
IoPortForBmis, IoPortForBmis,
1, 1,
&RegisterValue &RegisterValue
); );
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
RemainBlockNum = NumberOfBlocks; RemainBlockNum = NumberOfBlocks;
while (RemainBlockNum > 0) { while (RemainBlockNum > 0) {
@ -1813,8 +1813,8 @@ DoAtaUdma (
); );
if (((RegisterValue & (BMIS_INTERRUPT | BMIS_ERROR)) != 0) || (Count == 0)) { if (((RegisterValue & (BMIS_INTERRUPT | BMIS_ERROR)) != 0) || (Count == 0)) {
if (((RegisterValue & BMIS_ERROR) != 0) || (Count == 0)) { if (((RegisterValue & BMIS_ERROR) != 0) || (Count == 0)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
break; break;
} }
break; break;
} }
@ -1847,7 +1847,7 @@ DoAtaUdma (
1, 1,
&RegisterValue &RegisterValue
); );
// //
// Read Status Register of IDE device to clear interrupt // Read Status Register of IDE device to clear interrupt
// //
RegisterValue = IDEReadPortB(IdeDev->PciIo,IdeDev->IoPort->Reg.Status); RegisterValue = IDEReadPortB(IdeDev->PciIo,IdeDev->IoPort->Reg.Status);
@ -1878,9 +1878,9 @@ DoAtaUdma (
return EFI_DEVICE_ERROR; return EFI_DEVICE_ERROR;
} }
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
break; break;
} }
DataBuffer = (UINT8 *) DataBuffer + NumberOfBlocks * IdeDev->BlkIo.Media->BlockSize; DataBuffer = (UINT8 *) DataBuffer + NumberOfBlocks * IdeDev->BlkIo.Media->BlockSize;
StartLba += NumberOfBlocks; StartLba += NumberOfBlocks;
} }
@ -1898,10 +1898,10 @@ DoAtaUdma (
/** /**
This function is called by the AtaBlkIoReadBlocks() to perform reading from This function is called by the AtaBlkIoReadBlocks() to perform reading from
media in block unit. The function has been enhanced to support >120GB access media in block unit. The function has been enhanced to support >120GB access
and transfer at most 65536 blocks per command and transfer at most 65536 blocks per command
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param DataBuffer A pointer to the destination buffer for the data. @param DataBuffer A pointer to the destination buffer for the data.
@param StartLba The starting logical block address to read from on the device media. @param StartLba The starting logical block address to read from on the device media.
@ -1930,7 +1930,7 @@ AtaUdmaReadExt (
@param StartLba The starting logical block address to read from @param StartLba The starting logical block address to read from
on the device media. on the device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@return status depends on the function DoAtaUdma() returns. @return status depends on the function DoAtaUdma() returns.
**/ **/
EFI_STATUS EFI_STATUS
@ -2313,7 +2313,7 @@ AtaUdmaWriteExt (
/** /**
This function is called by the AtaBlkIoWriteBlocks() to perform This function is called by the AtaBlkIoWriteBlocks() to perform
writing to media in block unit. writing to media in block unit.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@ -2321,7 +2321,7 @@ AtaUdmaWriteExt (
@param StartLba The starting logical block address to write to @param StartLba The starting logical block address to write to
on the device media. on the device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@return status depends on the function DoAtaUdma() returns. @return status depends on the function DoAtaUdma() returns.
**/ **/
EFI_STATUS EFI_STATUS
@ -2342,7 +2342,7 @@ AtaUdmaWrite (
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used
to record all the information of the IDE device. to record all the information of the IDE device.
@param DataBuffer A pointer to the source buffer for the data. @param DataBuffer A pointer to the source buffer for the data.
@param StartLba The starting logical block address to write onto the device @param StartLba The starting logical block address to write onto the device
media. media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@ -2423,7 +2423,7 @@ AtaWriteSectorsExt (
@param BufferSize The size of the Buffer in bytes. This must be a multiple @param BufferSize The size of the Buffer in bytes. This must be a multiple
of the intrinsic block size of the device. of the intrinsic block size of the device.
@param Buffer A pointer to the source buffer for the data.The caller @param Buffer A pointer to the source buffer for the data.The caller
is responsible for either having implicit or explicit is responsible for either having implicit or explicit
ownership of the memory that data is written from. ownership of the memory that data is written from.
@retval EFI_SUCCESS Write Blocks successfully. @retval EFI_SUCCESS Write Blocks successfully.

View File

@ -1,14 +1,14 @@
/** @file /** @file
This file contains all helper functions on the ATAPI command This file contains all helper functions on the ATAPI command
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
@ -16,7 +16,7 @@
/** /**
This function is used to get the current status of the media residing This function is used to get the current status of the media residing
in the LS-120 drive or ZIP drive. The media status is returned in the in the LS-120 drive or ZIP drive. The media status is returned in the
Error Status. Error Status.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -28,8 +28,8 @@
@retval EFI_NO_MEDIA There is no media in the drive. @retval EFI_NO_MEDIA There is no media in the drive.
@retval EFI_WRITE_PROTECTED The media is writing protected. @retval EFI_WRITE_PROTECTED The media is writing protected.
@note This function must be called after the LS120EnableMediaStatus() @note This function must be called after the LS120EnableMediaStatus()
with second parameter set to TRUE with second parameter set to TRUE
(means enable media status notification) is called. (means enable media status notification) is called.
**/ **/
EFI_STATUS EFI_STATUS
@ -189,8 +189,8 @@ AtapiReadPendingData (
while ((TempWordBuffer & (ATA_STSREG_BSY | ATA_STSREG_DRQ)) == ATA_STSREG_DRQ) { while ((TempWordBuffer & (ATA_STSREG_BSY | ATA_STSREG_DRQ)) == ATA_STSREG_DRQ) {
IDEReadPortWMultiple ( IDEReadPortWMultiple (
IdeDev->PciIo, IdeDev->PciIo,
IdeDev->IoPort->Data, IdeDev->IoPort->Data,
1, 1,
&TempWordBuffer &TempWordBuffer
); );
TempWordBuffer = IDEReadPortB (IdeDev->PciIo,IdeDev->IoPort->Alt.AltStatus); TempWordBuffer = IDEReadPortB (IdeDev->PciIo,IdeDev->IoPort->Alt.AltStatus);
@ -200,7 +200,7 @@ AtapiReadPendingData (
} }
/** /**
This function is called by either AtapiPacketCommandIn() or AtapiPacketCommandOut(). This function is called by either AtapiPacketCommandIn() or AtapiPacketCommandOut().
It is used to transfer data between host and device. The data direction is specified It is used to transfer data between host and device. The data direction is specified
by the fourth parameter. by the fourth parameter.
@ -246,9 +246,9 @@ PioReadWriteData (
} }
// //
// for performance, we assert the ByteCount is an even number // for performance, we assert the ByteCount is an even number
// which is actually a resonable assumption // which is actually a resonable assumption
ASSERT((ByteCount%2) == 0); ASSERT((ByteCount%2) == 0);
PtrBuffer = Buffer; PtrBuffer = Buffer;
RequiredWordCount = ByteCount / 2; RequiredWordCount = ByteCount / 2;
// //
@ -257,7 +257,7 @@ PioReadWriteData (
ActualWordCount = 0; ActualWordCount = 0;
while (ActualWordCount < RequiredWordCount) { while (ActualWordCount < RequiredWordCount) {
// //
// before each data transfer stream, the host should poll DRQ bit ready, // before each data transfer stream, the host should poll DRQ bit ready,
// to see whether indicates device is ready to transfer data. // to see whether indicates device is ready to transfer data.
@ -266,7 +266,7 @@ PioReadWriteData (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return CheckErrorStatus (IdeDev); return CheckErrorStatus (IdeDev);
} }
// //
// read Status Register will clear interrupt // read Status Register will clear interrupt
// //
@ -301,7 +301,7 @@ PioReadWriteData (
PtrBuffer += WordCount; PtrBuffer += WordCount;
ActualWordCount += WordCount; ActualWordCount += WordCount;
} }
if (Read) { if (Read) {
// //
// In the case where the drive wants to send more data than we need to read, // In the case where the drive wants to send more data than we need to read,
@ -326,17 +326,17 @@ PioReadWriteData (
} }
/** /**
This function is used to send out ATAPI commands conforms to the Packet Command This function is used to send out ATAPI commands conforms to the Packet Command
with PIO Data In Protocol. with PIO Data In Protocol.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param Packet pointer pointing to ATAPI_PACKET_COMMAND data structure @param Packet pointer pointing to ATAPI_PACKET_COMMAND data structure
which contains the contents of the command. which contains the contents of the command.
@param Buffer buffer contained data transferred from device to host. @param Buffer buffer contained data transferred from device to host.
@param ByteCount data size in byte unit of the buffer. @param ByteCount data size in byte unit of the buffer.
@param TimeOut this parameter is used to specify the timeout value for the @param TimeOut this parameter is used to specify the timeout value for the
PioReadWriteData() function. PioReadWriteData() function.
@retval EFI_SUCCESS send out the ATAPI packet command successfully @retval EFI_SUCCESS send out the ATAPI packet command successfully
and device sends data successfully. and device sends data successfully.
@ -437,10 +437,10 @@ AtapiPacketCommandIn (
which contains the contents of the command. which contains the contents of the command.
@param Buffer buffer contained data transferred from host to device. @param Buffer buffer contained data transferred from host to device.
@param ByteCount data size in byte unit of the buffer. @param ByteCount data size in byte unit of the buffer.
@param TimeOut this parameter is used to specify the timeout value @param TimeOut this parameter is used to specify the timeout value
for the PioReadWriteData() function. for the PioReadWriteData() function.
@retval EFI_SUCCESS send out the ATAPI packet command successfully @retval EFI_SUCCESS send out the ATAPI packet command successfully
and device received data successfully. and device received data successfully.
@retval EFI_DEVICE_ERROR the device failed to send data. @retval EFI_DEVICE_ERROR the device failed to send data.
**/ **/
@ -465,7 +465,7 @@ AtapiPacketCommandOut (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
// //
// Select device via Device/Head Register. // Select device via Device/Head Register.
// //
@ -587,26 +587,26 @@ AtapiInquiry (
to fill in the Media data structure of the Block I/O Protocol interface. to fill in the Media data structure of the Block I/O Protocol interface.
There are 5 steps to reach such objective: There are 5 steps to reach such objective:
1. Sends out the ATAPI Identify Command to the specified device. 1. Sends out the ATAPI Identify Command to the specified device.
Only ATAPI device responses to this command. If the command succeeds, Only ATAPI device responses to this command. If the command succeeds,
it returns the Identify data structure which filled with information it returns the Identify data structure which filled with information
about the device. Since the ATAPI device contains removable media, about the device. Since the ATAPI device contains removable media,
the only meaningful information is the device module name. the only meaningful information is the device module name.
2. Sends out ATAPI Inquiry Packet Command to the specified device. 2. Sends out ATAPI Inquiry Packet Command to the specified device.
This command will return inquiry data of the device, which contains This command will return inquiry data of the device, which contains
the device type information. the device type information.
3. Allocate sense data space for future use. We don't detect the media 3. Allocate sense data space for future use. We don't detect the media
presence here to improvement boot performance, especially when CD presence here to improvement boot performance, especially when CD
media is present. The media detection will be performed just before media is present. The media detection will be performed just before
each BLK_IO read/write each BLK_IO read/write
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@retval EFI_SUCCESS Identify ATAPI device successfully. @retval EFI_SUCCESS Identify ATAPI device successfully.
@retval EFI_DEVICE_ERROR ATAPI Identify Device Command failed or device type @retval EFI_DEVICE_ERROR ATAPI Identify Device Command failed or device type
is not supported by this IDE driver. is not supported by this IDE driver.
@retval EFI_OUT_OF_RESOURCES Allocate memory for sense data failed @retval EFI_OUT_OF_RESOURCES Allocate memory for sense data failed
@note Parameter "IdeDev" will be updated in this function. @note Parameter "IdeDev" will be updated in this function.
**/ **/
@ -719,7 +719,7 @@ ATAPIIdentify (
// WORM // WORM
// //
case 0x04: case 0x04:
// //
// Optical // Optical
// //
@ -758,13 +758,13 @@ ATAPIIdentify (
} }
/** /**
Sends out ATAPI Request Sense Packet Command to the specified device. This command Sends out ATAPI Request Sense Packet Command to the specified device. This command
will return all the current Sense data in the device. This function will pack will return all the current Sense data in the device. This function will pack
all the Sense data in one single buffer. all the Sense data in one single buffer.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param SenseCounts allocated in this function, and freed by the calling function. @param SenseCounts allocated in this function, and freed by the calling function.
This buffer is used to accommodate all the sense data returned This buffer is used to accommodate all the sense data returned
by the device. by the device.
@retval EFI_SUCCESS Request Sense command completes successfully. @retval EFI_SUCCESS Request Sense command completes successfully.
@ -850,7 +850,7 @@ AtapiRequestSense (
} }
/** /**
This function is used to parse sense data. Only the first sense data is honoured This function is used to parse sense data. Only the first sense data is honoured
@param IdeDev Indicates the calling context. @param IdeDev Indicates the calling context.
@param SenseCount Count of sense data. @param SenseCount Count of sense data.
@param Result The parsed result. @param Result The parsed result.
@ -936,12 +936,12 @@ ParseSenseData (
EFI_STATUS EFI_STATUS
AtapiTestUnitReady ( AtapiTestUnitReady (
IN IDE_BLK_IO_DEV *IdeDev, IN IDE_BLK_IO_DEV *IdeDev,
OUT SENSE_RESULT *SResult OUT SENSE_RESULT *SResult
) )
{ {
ATAPI_PACKET_COMMAND Packet; ATAPI_PACKET_COMMAND Packet;
EFI_STATUS Status; EFI_STATUS Status;
UINTN SenseCount; UINTN SenseCount;
// //
// fill command packet // fill command packet
@ -974,7 +974,7 @@ AtapiTestUnitReady (
Current device status will impact device's response to the Read Capacity Current device status will impact device's response to the Read Capacity
Command. For example, if the device once reset, the Read Capacity Command. For example, if the device once reset, the Read Capacity
Command will fail. The Sense data record the current device status, so Command will fail. The Sense data record the current device status, so
if the Read Capacity Command failed, the Sense data must be requested if the Read Capacity Command failed, the Sense data must be requested
and be analyzed to determine if the Read Capacity Command should retry. and be analyzed to determine if the Read Capacity Command should retry.
@ -988,12 +988,12 @@ AtapiTestUnitReady (
@note Parameter "IdeDev" will be updated in this function. @note Parameter "IdeDev" will be updated in this function.
**/ **/
EFI_STATUS EFI_STATUS
AtapiReadCapacity ( AtapiReadCapacity (
IN IDE_BLK_IO_DEV *IdeDev, IN IDE_BLK_IO_DEV *IdeDev,
OUT SENSE_RESULT *SResult OUT SENSE_RESULT *SResult
) )
{ {
// //
@ -1002,7 +1002,7 @@ AtapiReadCapacity (
EFI_STATUS Status; EFI_STATUS Status;
EFI_STATUS SenseStatus; EFI_STATUS SenseStatus;
ATAPI_PACKET_COMMAND Packet; ATAPI_PACKET_COMMAND Packet;
UINTN SenseCount; UINTN SenseCount;
// //
// used for capacity data returned from ATAPI device // used for capacity data returned from ATAPI device
@ -1048,9 +1048,9 @@ AtapiReadCapacity (
SenseStatus = AtapiRequestSense (IdeDev, &SenseCount); SenseStatus = AtapiRequestSense (IdeDev, &SenseCount);
if (!EFI_ERROR (SenseStatus)) { if (!EFI_ERROR (SenseStatus)) {
ParseSenseData (IdeDev, SenseCount, SResult); ParseSenseData (IdeDev, SenseCount, SResult);
if (!EFI_ERROR (Status) && *SResult == SenseNoSenseKey) { if (!EFI_ERROR (Status) && *SResult == SenseNoSenseKey) {
if (IdeDev->Type == IdeCdRom) { if (IdeDev->Type == IdeCdRom) {
IdeDev->BlkIo.Media->LastBlock = ((UINT32) Data.LastLba3 << 24) | IdeDev->BlkIo.Media->LastBlock = ((UINT32) Data.LastLba3 << 24) |
@ -1058,7 +1058,7 @@ AtapiReadCapacity (
(Data.LastLba1 << 8) | (Data.LastLba1 << 8) |
Data.LastLba0; Data.LastLba0;
IdeDev->BlkIo.Media->MediaPresent = TRUE; IdeDev->BlkIo.Media->MediaPresent = TRUE;
IdeDev->BlkIo.Media->ReadOnly = TRUE; IdeDev->BlkIo.Media->ReadOnly = TRUE;
@ -1077,7 +1077,7 @@ AtapiReadCapacity (
} else { } else {
IdeDev->BlkIo.Media->LastBlock = ((UINT32) FormatData.LastLba3 << 24) | IdeDev->BlkIo.Media->LastBlock = ((UINT32) FormatData.LastLba3 << 24) |
(FormatData.LastLba2 << 16) | (FormatData.LastLba2 << 16) |
(FormatData.LastLba1 << 8) | (FormatData.LastLba1 << 8) |
FormatData.LastLba0; FormatData.LastLba0;
if (IdeDev->BlkIo.Media->LastBlock != 0) { if (IdeDev->BlkIo.Media->LastBlock != 0) {
@ -1110,7 +1110,7 @@ AtapiReadCapacity (
} }
/** /**
This function is used to test the current media write-protected or not residing This function is used to test the current media write-protected or not residing
in the LS-120 drive or ZIP drive. in the LS-120 drive or ZIP drive.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param WriteProtected if True, current media is write protected. @param WriteProtected if True, current media is write protected.
@ -1159,8 +1159,8 @@ IsLS120orZipWriteProtected (
} }
/** /**
Used before read/write blocks from/to ATAPI device media. Since ATAPI device Used before read/write blocks from/to ATAPI device media. Since ATAPI device
media is removable, it is necessary to detect whether media is present and media is removable, it is necessary to detect whether media is present and
get current present media's information, and if media has been changed, Block get current present media's information, and if media has been changed, Block
I/O Protocol need to be reinstalled. I/O Protocol need to be reinstalled.
@ -1409,17 +1409,17 @@ AtapiDetectMedia (
This function is called by the AtapiBlkIoReadBlocks() to perform This function is called by the AtapiBlkIoReadBlocks() to perform
read from media in block unit. read from media in block unit.
The main command used to access media here is READ(10) Command. The main command used to access media here is READ(10) Command.
READ(10) Command requests that the ATAPI device media transfer READ(10) Command requests that the ATAPI device media transfer
specified data to the host. Data is transferred in block(sector) specified data to the host. Data is transferred in block(sector)
unit. The maximum number of blocks that can be transferred once is unit. The maximum number of blocks that can be transferred once is
65536. This is the main difference between READ(10) and READ(12) 65536. This is the main difference between READ(10) and READ(12)
Command. The maximum number of blocks in READ(12) is 2 power 32. Command. The maximum number of blocks in READ(12) is 2 power 32.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param Buffer A pointer to the destination buffer for the data. @param Buffer A pointer to the destination buffer for the data.
@param Lba The starting logical block address to read from on the @param Lba The starting logical block address to read from on the
device media. device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@ -1527,19 +1527,19 @@ AtapiReadSectors (
/** /**
This function is called by the AtapiBlkIoWriteBlocks() to perform This function is called by the AtapiBlkIoWriteBlocks() to perform
write onto media in block unit. write onto media in block unit.
The main command used to access media here is Write(10) Command. The main command used to access media here is Write(10) Command.
Write(10) Command requests that the ATAPI device media transfer Write(10) Command requests that the ATAPI device media transfer
specified data to the host. Data is transferred in block (sector) specified data to the host. Data is transferred in block (sector)
unit. The maximum number of blocks that can be transferred once is unit. The maximum number of blocks that can be transferred once is
65536. 65536.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param Buffer A pointer to the source buffer for the data. @param Buffer A pointer to the source buffer for the data.
@param Lba The starting logical block address to write onto @param Lba The starting logical block address to write onto
the device media. the device media.
@param NumberOfBlocks The number of transfer data blocks. @param NumberOfBlocks The number of transfer data blocks.
@return status is fully dependent on the return status of AtapiPacketCommandOut() function. @return status is fully dependent on the return status of AtapiPacketCommandOut() function.
**/ **/
@ -1594,7 +1594,7 @@ AtapiWriteSectors (
} else { } else {
SectorCount = (UINT16) BlocksRemaining; SectorCount = (UINT16) BlocksRemaining;
} }
// //
// Command code is WRITE_10. // Command code is WRITE_10.
// //
@ -1645,7 +1645,7 @@ AtapiWriteSectors (
condition (such as BSY bit is always set ), I think the Soft Reset condition (such as BSY bit is always set ), I think the Soft Reset
command should be sent without waiting for the BSY clear and DRDY command should be sent without waiting for the BSY clear and DRDY
set. set.
This function is called by IdeBlkIoReset(), This function is called by IdeBlkIoReset(),
a interface function of Block I/O protocol. a interface function of Block I/O protocol.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -1683,7 +1683,7 @@ AtapiSoftReset (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return EFI_DEVICE_ERROR; return EFI_DEVICE_ERROR;
} }
// //
// stall 5 seconds to make the device status stable // stall 5 seconds to make the device status stable
// //
@ -1702,9 +1702,9 @@ AtapiSoftReset (
@param BufferSize The size of the Buffer in bytes. This must be a multiple @param BufferSize The size of the Buffer in bytes. This must be a multiple
of the intrinsic block size of the device. of the intrinsic block size of the device.
@param Buffer A pointer to the destination buffer for the data. The caller @param Buffer A pointer to the destination buffer for the data. The caller
is responsible for either having implicit or explicit is responsible for either having implicit or explicit
ownership of the memory that data is read into. ownership of the memory that data is read into.
@retval EFI_SUCCESS Read Blocks successfully. @retval EFI_SUCCESS Read Blocks successfully.
@retval EFI_DEVICE_ERROR Read Blocks failed. @retval EFI_DEVICE_ERROR Read Blocks failed.
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@ -1804,11 +1804,11 @@ AtapiBlkIoReadBlocks (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return EFI_DEVICE_ERROR; return EFI_DEVICE_ERROR;
} }
// //
// Read blocks succeeded // Read blocks succeeded
// //
// //
// save the first block to the cache for performance // save the first block to the cache for performance
// //
@ -1840,8 +1840,8 @@ AtapiBlkIoReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGE The MediaId is not for the current media. @retval EFI_MEDIA_CHANGE The MediaId is not for the current media.
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of the @retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of the
intrinsic block size of the device. intrinsic block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the data buffer is not valid. or the data buffer is not valid.
@retval EFI_WRITE_PROTECTED The write protected is enabled or the media does not support write @retval EFI_WRITE_PROTECTED The write protected is enabled or the media does not support write
@ -1889,7 +1889,7 @@ AtapiBlkIoWriteBlocks (
} }
return Status; return Status;
} }
// //
// Get the intrinsic block size // Get the intrinsic block size
// //

View File

@ -1,14 +1,14 @@
/** @file /** @file
UEFI Component Name(2) protocol implementation for ConPlatform driver. UEFI Component Name(2) protocol implementation for ConPlatform driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -1,8 +1,8 @@
/** @file /** @file
UEFI Component Name(2) protocol implementation header file for IDE Bus driver. UEFI Component Name(2) protocol implementation header file for IDE Bus driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at

View File

@ -1,15 +1,15 @@
/** @file /** @file
Implementation of UEFI Driver Configuration Protocol for IDE bus driver which Implementation of UEFI Driver Configuration Protocol for IDE bus driver which
provides ability to set IDE bus controller specific options. provides ability to set IDE bus controller specific options.
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
@ -80,7 +80,7 @@ GetResponse (
} }
/** /**
Allows the user to set controller specific options for a controller that a Allows the user to set controller specific options for a controller that a
driver is currently managing. driver is currently managing.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@ -91,26 +91,26 @@ GetResponse (
that wish to set options for the bus controller. that wish to set options for the bus controller.
It will not be NULL for a bus driver that wishes to set It will not be NULL for a bus driver that wishes to set
options for one of its child controllers. options for one of its child controllers.
@param Language A pointer to a three character ISO 639-2 language identifier. @param Language A pointer to a three character ISO 639-2 language identifier.
This is the language of the user interface that should be presented This is the language of the user interface that should be presented
to the user, and it must match one of the languages specified in to the user, and it must match one of the languages specified in
SupportedLanguages. The number of languages supported by a driver is up to SupportedLanguages. The number of languages supported by a driver is up to
the driver writer. the driver writer.
@param ActionRequired A pointer to the action that the calling agent is required @param ActionRequired A pointer to the action that the calling agent is required
to perform when this function returns. to perform when this function returns.
@retval EFI_SUCCESS The driver specified by This successfully set the configuration
@retval EFI_SUCCESS The driver specified by This successfully set the configuration
options for the controller specified by ControllerHandle.. options for the controller specified by ControllerHandle..
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ActionRequired is NULL. @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for @retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for
the controller specified by ControllerHandle and ChildHandle. the controller specified by ControllerHandle and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language. @retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language.
@retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the @retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the
controller specified by ControllerHandle and ChildHandle. controller specified by ControllerHandle and ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the @retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the
controller specified by ControllerHandle and ChildHandle controller specified by ControllerHandle and ChildHandle
**/ **/
EFI_STATUS EFI_STATUS
@ -182,20 +182,20 @@ IDEBusDriverConfigurationSetOptions (
Tests to see if a controller's current configuration options are valid. Tests to see if a controller's current configuration options are valid.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
@param ControllerHandle The handle of the controller to test if it's current configuration options @param ControllerHandle The handle of the controller to test if it's current configuration options
are valid. are valid.
@param ChildHandle The handle of the child controller to test if it's current configuration @param ChildHandle The handle of the child controller to test if it's current configuration
options are valid. This is an optional parameter that may be NULL. It will options are valid. This is an optional parameter that may be NULL. It will
be NULL for device drivers. It will also be NULL for a bus drivers that be NULL for device drivers. It will also be NULL for a bus drivers that
wish to test the configuration options for the bus controller. It will wish to test the configuration options for the bus controller. It will
not be NULL for a bus driver that wishes to test configuration options for not be NULL for a bus driver that wishes to test configuration options for
one of its child controllers. one of its child controllers.
@retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being
managed by the driver specified by This has a valid set of configuration managed by the driver specified by This has a valid set of configuration
options. options.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller @retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being
managed by the driver specified by This has an invalid set of configuration managed by the driver specified by This has an invalid set of configuration
@ -236,31 +236,31 @@ IDEBusDriverConfigurationOptionsValid (
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@param ControllerHandle The handle of the controller to force default configuration options on. @param ControllerHandle The handle of the controller to force default configuration options on.
@param ChildHandle The handle of the child controller to force default configuration @param ChildHandle The handle of the child controller to force default configuration
options on This is an optional parameter that may be NULL. It options on This is an optional parameter that may be NULL. It
will be NULL for device drivers. It will also be NULL for a bus will be NULL for device drivers. It will also be NULL for a bus
drivers that wish to force default configuration options for the bus drivers that wish to force default configuration options for the bus
controller. It will not be NULL for a bus driver that wishes to force controller. It will not be NULL for a bus driver that wishes to force
default configuration options for one of its child controllers. default configuration options for one of its child controllers.
@param DefaultType The type of default configuration options to force on the controller @param DefaultType The type of default configuration options to force on the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@param ActionRequired A pointer to the action that the calling agent is required to perform @param ActionRequired A pointer to the action that the calling agent is required to perform
when this function returns. when this function returns.
@retval EFI_SUCCESS The driver specified by This successfully forced the @retval EFI_SUCCESS The driver specified by This successfully forced the
default configuration options on the controller specified by default configuration options on the controller specified by
ControllerHandle and ChildHandle. ControllerHandle and ChildHandle.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ActionRequired is NULL. @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default @retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default
configuration options on the controller specified by ControllerHandle configuration options on the controller specified by ControllerHandle
and ChildHandle. and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type @retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type
specified by DefaultType. specified by DefaultType.
@retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration @retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration
options on the controller specified by ControllerHandle and ChildHandle. options on the controller specified by ControllerHandle and ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration @retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration
options on the controller specified by ControllerHandle and ChildHandle. options on the controller specified by ControllerHandle and ChildHandle.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -1,15 +1,15 @@
/** @file /** @file
Implementation of UEFI driver Dialnostics protocol which to perform diagnostic on the IDE Implementation of UEFI driver Dialnostics protocol which to perform diagnostic on the IDE
Bus controller. Bus controller.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
@ -42,24 +42,24 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_DRIVER_DIAGNOSTICS2_PROTOCOL gIDEBusDriverDiag
@param ChildHandle The handle of the child controller to run diagnostics on @param ChildHandle The handle of the child controller to run diagnostics on
This is an optional parameter that may be NULL. It will This is an optional parameter that may be NULL. It will
be NULL for device drivers. It will also be NULL for a be NULL for device drivers. It will also be NULL for a
bus drivers that wish to run diagnostics on the bus controller. bus drivers that wish to run diagnostics on the bus controller.
It will not be NULL for a bus driver that wishes to run It will not be NULL for a bus driver that wishes to run
diagnostics on one of its child controllers. diagnostics on one of its child controllers.
@param DiagnosticType Indicates type of diagnostics to perform on the controller @param DiagnosticType Indicates type of diagnostics to perform on the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@param Language A pointer to a three character ISO 639-2 language identifier. @param Language A pointer to a three character ISO 639-2 language identifier.
This is the language in which the optional error message should This is the language in which the optional error message should
be returned in Buffer, and it must match one of the languages be returned in Buffer, and it must match one of the languages
specified in SupportedLanguages. The number of languages supported by specified in SupportedLanguages. The number of languages supported by
a driver is up to the driver writer. a driver is up to the driver writer.
@param ErrorType A GUID that defines the format of the data returned in Buffer. @param ErrorType A GUID that defines the format of the data returned in Buffer.
@param BufferSize The size, in bytes, of the data returned in Buffer. @param BufferSize The size, in bytes, of the data returned in Buffer.
@param Buffer A buffer that contains a Null-terminated Unicode string @param Buffer A buffer that contains a Null-terminated Unicode string
plus some additional data whose format is defined by ErrorType. plus some additional data whose format is defined by ErrorType.
Buffer is allocated by this function with AllocatePool(), and Buffer is allocated by this function with AllocatePool(), and
it is the caller's responsibility to free it with a call to FreePool(). it is the caller's responsibility to free it with a call to FreePool().
@retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle passed @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle passed
the diagnostic. the diagnostic.
@retval EFI_INVALID_PARAMETER ControllerHandle is NULL. @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@ -67,18 +67,18 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_DRIVER_DIAGNOSTICS2_PROTOCOL gIDEBusDriverDiag
@retval EFI_INVALID_PARAMETER ErrorType is NULL. @retval EFI_INVALID_PARAMETER ErrorType is NULL.
@retval EFI_INVALID_PARAMETER BufferType is NULL. @retval EFI_INVALID_PARAMETER BufferType is NULL.
@retval EFI_INVALID_PARAMETER Buffer is NULL. @retval EFI_INVALID_PARAMETER Buffer is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support running @retval EFI_UNSUPPORTED The driver specified by This does not support running
diagnostics for the controller specified by ControllerHandle diagnostics for the controller specified by ControllerHandle
and ChildHandle. and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the @retval EFI_UNSUPPORTED The driver specified by This does not support the
type of diagnostic specified by DiagnosticType. type of diagnostic specified by DiagnosticType.
@retval EFI_UNSUPPORTED The driver specified by This does not support the language @retval EFI_UNSUPPORTED The driver specified by This does not support the language
specified by Language. specified by Language.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete the @retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete the
diagnostics. diagnostics.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to return the @retval EFI_OUT_OF_RESOURCES There are not enough resources available to return the
status information in ErrorType, BufferSize,and Buffer. status information in ErrorType, BufferSize,and Buffer.
@retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle
did not pass the diagnostic. did not pass the diagnostic.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -1,7 +1,7 @@
/** @file /** @file
The file ontaining the helper functions implement of the Ide Bus driver The file ontaining the helper functions implement of the Ide Bus driver
Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -24,7 +24,7 @@ UINT8 MasterDeviceType = INVALID_DEVICE_TYPE;
read a one-byte data from a IDE port. read a one-byte data from a IDE port.
@param PciIo The PCI IO protocol instance @param PciIo The PCI IO protocol instance
@param Port the IDE Port number @param Port the IDE Port number
@return the one-byte data read from IDE port @return the one-byte data read from IDE port
**/ **/
@ -270,7 +270,7 @@ IDEWritePortWMultiple (
@param PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance @param PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance
@param IdeRegsBaseAddr Pointer to IDE_REGISTERS_BASE_ADDR to @param IdeRegsBaseAddr Pointer to IDE_REGISTERS_BASE_ADDR to
receive IDE IO port registers' base addresses receive IDE IO port registers' base addresses
@retval EFI_UNSUPPORTED return this value when the BARs is not IO type @retval EFI_UNSUPPORTED return this value when the BARs is not IO type
@retval EFI_SUCCESS Get the Base address successfully @retval EFI_SUCCESS Get the Base address successfully
@retval other read the pci configureation data error @retval other read the pci configureation data error
@ -351,7 +351,7 @@ GetIdeRegistersBaseAddr (
succeess. succeess.
@param IdeDev The BLK_IO private data which specifies the IDE device @param IdeDev The BLK_IO private data which specifies the IDE device
@retval EFI_INVALID_PARAMETER return this value when the channel is invalid @retval EFI_INVALID_PARAMETER return this value when the channel is invalid
@retval EFI_SUCCESS reassign the IDE IO resource successfully @retval EFI_SUCCESS reassign the IDE IO resource successfully
@retval other get the IDE current base address effor @retval other get the IDE current base address effor
@ -370,7 +370,7 @@ ReassignIdeResources (
if (IdeDev->Channel >= IdeMaxChannel) { if (IdeDev->Channel >= IdeMaxChannel) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
// //
// Requery IDE IO port registers' base addresses in case of the switch of // Requery IDE IO port registers' base addresses in case of the switch of
// native and legacy modes // native and legacy modes
@ -593,7 +593,7 @@ DetectIDEController (
Detect if there is disk attached to this port Detect if there is disk attached to this port
@param IdeDev The BLK_IO private data which specifies the IDE device. @param IdeDev The BLK_IO private data which specifies the IDE device.
@retval EFI_NOT_FOUND The device or channel is not found @retval EFI_NOT_FOUND The device or channel is not found
@retval EFI_SUCCESS The device is found @retval EFI_SUCCESS The device is found
@ -715,7 +715,7 @@ InitializeIDEChannelData (
Register. DRQ is cleared when the device is finished transferring data. Register. DRQ is cleared when the device is finished transferring data.
So this function is called after data transfer is finished. So this function is called after data transfer is finished.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear.
@ -778,7 +778,7 @@ DRQClear (
transferring data. So this function is called after data transfer transferring data. So this function is called after data transfer
is finished. is finished.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear.
@ -901,10 +901,10 @@ DRQReady (
} }
/** /**
This function is used to poll for the DRQ bit set in the Alternate Status Register. This function is used to poll for the DRQ bit set in the Alternate Status Register.
DRQ is set when the device is ready to transfer data. So this function is called after DRQ is set when the device is ready to transfer data. So this function is called after
the command is sent to the device and before required data is transferred. the command is sent to the device and before required data is transferred.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to
record all the information of the IDE device. record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -966,7 +966,7 @@ DRQReady2 (
This function is used to poll for the BSY bit clear in the Status Register. BSY This function is used to poll for the BSY bit clear in the Status Register. BSY
is clear when the device is not busy. Every command must be sent after device is not busy. is clear when the device is not busy. Every command must be sent after device is not busy.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -1008,11 +1008,11 @@ WaitForBSYClear (
return EFI_SUCCESS; return EFI_SUCCESS;
} }
/** /**
This function is used to poll for the BSY bit clear in the Alternate Status Register. This function is used to poll for the BSY bit clear in the Alternate Status Register.
BSY is clear when the device is not busy. Every command must be sent after device is BSY is clear when the device is not busy. Every command must be sent after device is
not busy. not busy.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -1051,7 +1051,7 @@ WaitForBSYClear2 (
} }
/** /**
This function is used to poll for the DRDY bit set in the Status Register. DRDY This function is used to poll for the DRDY bit set in the Status Register. DRDY
bit is set when the device is ready to accept command. Most ATA commands must be bit is set when the device is ready to accept command. Most ATA commands must be
sent after DRDY set except the ATAPI Packet Command. sent after DRDY set except the ATAPI Packet Command.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -1103,8 +1103,8 @@ DRDYReady (
return EFI_SUCCESS; return EFI_SUCCESS;
} }
/** /**
This function is used to poll for the DRDY bit set in the Alternate Status Register. This function is used to poll for the DRDY bit set in the Alternate Status Register.
DRDY bit is set when the device is ready to accept command. Most ATA commands must DRDY bit is set when the device is ready to accept command. Most ATA commands must
be sent after DRDY set except the ATAPI Packet Command. be sent after DRDY set except the ATAPI Packet Command.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used

View File

@ -2,7 +2,7 @@
Header file for IDE Bus Driver, containing the helper functions' Header file for IDE Bus Driver, containing the helper functions'
prototype. prototype.
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -28,7 +28,7 @@
read a one-byte data from a IDE port. read a one-byte data from a IDE port.
@param PciIo The PCI IO protocol instance @param PciIo The PCI IO protocol instance
@param Port the IDE Port number @param Port the IDE Port number
return the one-byte data read from IDE port return the one-byte data read from IDE port
**/ **/
@ -153,7 +153,7 @@ IDEWritePortWMultiple (
@param PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance @param PciIo Pointer to the EFI_PCI_IO_PROTOCOL instance
@param IdeRegsBaseAddr Pointer to IDE_REGISTERS_BASE_ADDR to @param IdeRegsBaseAddr Pointer to IDE_REGISTERS_BASE_ADDR to
receive IDE IO port registers' base addresses receive IDE IO port registers' base addresses
@retval EFI_UNSUPPORTED return this value when the BARs is not IO type @retval EFI_UNSUPPORTED return this value when the BARs is not IO type
@retval EFI_SUCCESS Get the Base address successfully @retval EFI_SUCCESS Get the Base address successfully
@retval other read the pci configureation data error @retval other read the pci configureation data error
@ -187,7 +187,7 @@ ReassignIdeResources (
Detect if there is disk attached to this port. Detect if there is disk attached to this port.
@param IdeDev The BLK_IO private data which specifies the IDE device. @param IdeDev The BLK_IO private data which specifies the IDE device.
@retval EFI_NOT_FOUND The device or channel is not found @retval EFI_NOT_FOUND The device or channel is not found
@retval EFI_SUCCESS The device is found @retval EFI_SUCCESS The device is found
@ -212,7 +212,7 @@ InitializeIDEChannelData (
Register. DRQ is cleared when the device is finished transferring data. Register. DRQ is cleared when the device is finished transferring data.
So this function is called after data transfer is finished. So this function is called after data transfer is finished.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear.
@ -236,7 +236,7 @@ DRQClear (
transferring data. So this function is called after data transfer transferring data. So this function is called after data transfer
is finished. is finished.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ clear.
@ -280,10 +280,10 @@ DRQReady (
/** /**
This function is used to poll for the DRQ bit set in the Alternate Status Register. This function is used to poll for the DRQ bit set in the Alternate Status Register.
DRQ is set when the device is ready to transfer data. So this function is called after DRQ is set when the device is ready to transfer data. So this function is called after
the command is sent to the device and before required data is transferred. the command is sent to the device and before required data is transferred.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to
record all the information of the IDE device. record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -304,7 +304,7 @@ DRQReady2 (
This function is used to poll for the BSY bit clear in the Status Register. BSY This function is used to poll for the BSY bit clear in the Status Register. BSY
is clear when the device is not busy. Every command must be sent after device is not busy. is clear when the device is not busy. Every command must be sent after device is not busy.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -320,11 +320,11 @@ WaitForBSYClear (
); );
/** /**
This function is used to poll for the BSY bit clear in the Alternate Status Register. This function is used to poll for the BSY bit clear in the Alternate Status Register.
BSY is clear when the device is not busy. Every command must be sent after device is BSY is clear when the device is not busy. Every command must be sent after device is
not busy. not busy.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready. @param TimeoutInMilliSeconds used to designate the timeout for the DRQ ready.
@ -341,7 +341,7 @@ WaitForBSYClear2 (
/** /**
This function is used to poll for the DRDY bit set in the Status Register. DRDY This function is used to poll for the DRDY bit set in the Status Register. DRDY
bit is set when the device is ready to accept command. Most ATA commands must be bit is set when the device is ready to accept command. Most ATA commands must be
sent after DRDY set except the ATAPI Packet Command. sent after DRDY set except the ATAPI Packet Command.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -360,8 +360,8 @@ DRDYReady (
); );
/** /**
This function is used to poll for the DRDY bit set in the Alternate Status Register. This function is used to poll for the DRDY bit set in the Alternate Status Register.
DRDY bit is set when the device is ready to accept command. Most ATA commands must DRDY bit is set when the device is ready to accept command. Most ATA commands must
be sent after DRDY set except the ATAPI Packet Command. be sent after DRDY set except the ATAPI Packet Command.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -394,7 +394,7 @@ DRDYReady2 (
information it needs to fill the IDE_BLK_IO_DEV data structure, information it needs to fill the IDE_BLK_IO_DEV data structure,
including device type, media block size, media capacity, and etc. including device type, media block size, media capacity, and etc.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure,used to record
all the information of the IDE device. all the information of the IDE device.
@retval EFI_SUCCESS Identify ATA device successfully. @retval EFI_SUCCESS Identify ATA device successfully.
@ -420,7 +420,7 @@ PrintAtaModuleName (
/** /**
This function is used to send out ATA commands conforms to the PIO Data In Protocol. This function is used to send out ATA commands conforms to the PIO Data In Protocol.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to record
all the information of the IDE device. all the information of the IDE device.
@param Buffer buffer contained data transferred from device to host. @param Buffer buffer contained data transferred from device to host.
@param ByteCount data size in byte unit of the buffer. @param ByteCount data size in byte unit of the buffer.
@ -430,7 +430,7 @@ PrintAtaModuleName (
@param SectorNumber value of the Sector Number Register @param SectorNumber value of the Sector Number Register
@param CylinderLsb value of the low byte of the Cylinder Register @param CylinderLsb value of the low byte of the Cylinder Register
@param CylinderMsb value of the high byte of the Cylinder Register @param CylinderMsb value of the high byte of the Cylinder Register
@retval EFI_SUCCESS send out the ATA command and device send required data successfully. @retval EFI_SUCCESS send out the ATA command and device send required data successfully.
@retval EFI_DEVICE_ERROR command sent failed. @retval EFI_DEVICE_ERROR command sent failed.
@ -486,7 +486,7 @@ AtaPioDataOut (
some debug information and if there is ERR bit set in the Status some debug information and if there is ERR bit set in the Status
Register, the Error Register's value is also be parsed and print out. Register, the Error Register's value is also be parsed and print out.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used to
record all the information of the IDE device. record all the information of the IDE device.
@retval EFI_SUCCESS No err information in the Status Register. @retval EFI_SUCCESS No err information in the Status Register.
@ -500,7 +500,7 @@ CheckErrorStatus (
/** /**
This function is used to implement the Soft Reset on the specified device. But, This function is used to implement the Soft Reset on the specified device. But,
the ATA Soft Reset mechanism is so strong a reset method that it will force the ATA Soft Reset mechanism is so strong a reset method that it will force
resetting on both devices connected to the same cable. resetting on both devices connected to the same cable.
It is called by IdeBlkIoReset(), a interface function of Block It is called by IdeBlkIoReset(), a interface function of Block
@ -568,7 +568,7 @@ AtaBlkIoReadBlocks (
@param BufferSize The size of the Buffer in bytes. This must be a multiple @param BufferSize The size of the Buffer in bytes. This must be a multiple
of the intrinsic block size of the device. of the intrinsic block size of the device.
@param Buffer A pointer to the source buffer for the data.The caller @param Buffer A pointer to the source buffer for the data.The caller
is responsible for either having implicit or explicit is responsible for either having implicit or explicit
ownership of the memory that data is written from. ownership of the memory that data is written from.
@retval EFI_SUCCESS Write Blocks successfully. @retval EFI_SUCCESS Write Blocks successfully.
@ -600,26 +600,26 @@ AtaBlkIoWriteBlocks (
to fill in the Media data structure of the Block I/O Protocol interface. to fill in the Media data structure of the Block I/O Protocol interface.
There are 5 steps to reach such objective: There are 5 steps to reach such objective:
1. Sends out the ATAPI Identify Command to the specified device. 1. Sends out the ATAPI Identify Command to the specified device.
Only ATAPI device responses to this command. If the command succeeds, Only ATAPI device responses to this command. If the command succeeds,
it returns the Identify data structure which filled with information it returns the Identify data structure which filled with information
about the device. Since the ATAPI device contains removable media, about the device. Since the ATAPI device contains removable media,
the only meaningful information is the device module name. the only meaningful information is the device module name.
2. Sends out ATAPI Inquiry Packet Command to the specified device. 2. Sends out ATAPI Inquiry Packet Command to the specified device.
This command will return inquiry data of the device, which contains This command will return inquiry data of the device, which contains
the device type information. the device type information.
3. Allocate sense data space for future use. We don't detect the media 3. Allocate sense data space for future use. We don't detect the media
presence here to improvement boot performance, especially when CD presence here to improvement boot performance, especially when CD
media is present. The media detection will be performed just before media is present. The media detection will be performed just before
each BLK_IO read/write each BLK_IO read/write
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
to record all the information of the IDE device. to record all the information of the IDE device.
@retval EFI_SUCCESS Identify ATAPI device successfully. @retval EFI_SUCCESS Identify ATAPI device successfully.
@retval EFI_DEVICE_ERROR ATAPI Identify Device Command failed or device type @retval EFI_DEVICE_ERROR ATAPI Identify Device Command failed or device type
is not supported by this IDE driver. is not supported by this IDE driver.
@retval EFI_OUT_OF_RESOURCES Allocate memory for sense data failed @retval EFI_OUT_OF_RESOURCES Allocate memory for sense data failed
@note Parameter "IdeDev" will be updated in this function. @note Parameter "IdeDev" will be updated in this function.
**/ **/
@ -637,7 +637,7 @@ ATAPIIdentify (
condition (such as BSY bit is always set ), I think the Soft Reset condition (such as BSY bit is always set ), I think the Soft Reset
command should be sent without waiting for the BSY clear and DRDY command should be sent without waiting for the BSY clear and DRDY
set. set.
This function is called by IdeBlkIoReset(), This function is called by IdeBlkIoReset(),
a interface function of Block I/O protocol. a interface function of Block I/O protocol.
@param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used @param IdeDev pointer pointing to IDE_BLK_IO_DEV data structure, used
@ -662,9 +662,9 @@ AtapiSoftReset (
@param BufferSize The size of the Buffer in bytes. This must be a multiple @param BufferSize The size of the Buffer in bytes. This must be a multiple
of the intrinsic block size of the device. of the intrinsic block size of the device.
@param Buffer A pointer to the destination buffer for the data. The caller @param Buffer A pointer to the destination buffer for the data. The caller
is responsible for either having implicit or explicit is responsible for either having implicit or explicit
ownership of the memory that data is read into. ownership of the memory that data is read into.
@retval EFI_SUCCESS Read Blocks successfully. @retval EFI_SUCCESS Read Blocks successfully.
@retval EFI_DEVICE_ERROR Read Blocks failed. @retval EFI_DEVICE_ERROR Read Blocks failed.
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@ -701,8 +701,8 @@ AtapiBlkIoReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGE The MediaId is not for the current media. @retval EFI_MEDIA_CHANGE The MediaId is not for the current media.
@retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of the @retval EFI_BAD_BUFFER_SIZE The BufferSize parameter is not a multiple of the
intrinsic block size of the device. intrinsic block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the data buffer is not valid. or the data buffer is not valid.
@retval EFI_WRITE_PROTECTED The write protected is enabled or the media does not support write @retval EFI_WRITE_PROTECTED The write protected is enabled or the media does not support write

View File

@ -1,9 +1,9 @@
/** @file /** @file
This file implement UEFI driver for IDE Bus which includes device identification, This file implement UEFI driver for IDE Bus which includes device identification,
Child device(Disk, CDROM, etc) enumeration and child handler installation, and Child device(Disk, CDROM, etc) enumeration and child handler installation, and
driver stop. driver stop.
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -154,7 +154,7 @@ IDEBusDriverBindingSupported (
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
Node = (EFI_DEV_PATH *) RemainingDevicePath; Node = (EFI_DEV_PATH *) RemainingDevicePath;
// //
// Check if RemainingDevicePath is the End of Device Path Node, // Check if RemainingDevicePath is the End of Device Path Node,
// if yes, go on checking other conditions // if yes, go on checking other conditions
// //
if (!IsDevicePathEnd (Node)) { if (!IsDevicePathEnd (Node)) {
@ -190,7 +190,7 @@ IDEBusDriverBindingSupported (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
// //
// Close the I/O Abstraction(s) used to perform the supported test // Close the I/O Abstraction(s) used to perform the supported test
// //
@ -237,11 +237,11 @@ IDEBusDriverBindingSupported (
Controller, Controller,
EFI_OPEN_PROTOCOL_GET_PROTOCOL EFI_OPEN_PROTOCOL_GET_PROTOCOL
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
// //
// Now further check the PCI header: Base class (offset 0x0B) and // Now further check the PCI header: Base class (offset 0x0B) and
// Sub Class (offset 0x0A). This controller should be an IDE controller // Sub Class (offset 0x0A). This controller should be an IDE controller
@ -258,11 +258,11 @@ IDEBusDriverBindingSupported (
// //
// Examine if it is IDE mode by class code // Examine if it is IDE mode by class code
// //
if ((PciData.Hdr.ClassCode[2] != PCI_CLASS_MASS_STORAGE) || (PciData.Hdr.ClassCode[1] != PCI_SUB_CLASS_IDE)) { if ((PciData.Hdr.ClassCode[2] != PCI_CLASS_MASS_STORAGE) || (PciData.Hdr.ClassCode[1] != PCI_SUB_CLASS_IDE)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
} else { } else {
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
} }
} }
return Status; return Status;
@ -464,7 +464,7 @@ IDEBusDriverBindingStart (
if (EnumAll || RemainingDevicePath == NULL) { if (EnumAll || RemainingDevicePath == NULL) {
// //
// If IdeInit->EnumAll is TRUE or RemainingDevicePath is NULL, // If IdeInit->EnumAll is TRUE or RemainingDevicePath is NULL,
// must enumerate all IDE devices anyway // must enumerate all IDE devices anyway
// //
BeginningIdeChannel = IdePrimary; BeginningIdeChannel = IdePrimary;
@ -474,7 +474,7 @@ IDEBusDriverBindingStart (
} else if (!IsDevicePathEnd (RemainingDevicePath)) { } else if (!IsDevicePathEnd (RemainingDevicePath)) {
// //
// If RemainingDevicePath isn't the End of Device Path Node, // If RemainingDevicePath isn't the End of Device Path Node,
// only scan the specified device by RemainingDevicePath // only scan the specified device by RemainingDevicePath
// //
Node = (EFI_DEV_PATH *) RemainingDevicePath; Node = (EFI_DEV_PATH *) RemainingDevicePath;
@ -495,7 +495,7 @@ IDEBusDriverBindingStart (
// //
// If RemainingDevicePath is the End of Device Path Node, // If RemainingDevicePath is the End of Device Path Node,
// skip enumerate any device and return EFI_SUCESSS // skip enumerate any device and return EFI_SUCESSS
// //
BeginningIdeChannel = IdeMaxChannel; BeginningIdeChannel = IdeMaxChannel;
EndIdeChannel = IdeMaxChannel - 1; EndIdeChannel = IdeMaxChannel - 1;
BeginningIdeDevice = IdeMaxDevice; BeginningIdeDevice = IdeMaxDevice;
@ -1298,7 +1298,7 @@ IDEBlkIoFlushBlocks (
} }
/** /**
This function is used by the IDE bus driver to get inquiry data. This function is used by the IDE bus driver to get inquiry data.
Data format of Identify data is defined by the Interface GUID. Data format of Identify data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@ -1306,9 +1306,9 @@ IDEBlkIoFlushBlocks (
@param InquiryDataSize Pointer to the value for the inquiry data size. @param InquiryDataSize Pointer to the value for the inquiry data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading InquiryData from device @retval EFI_DEVICE_ERROR Error reading InquiryData from device
@retval EFI_BUFFER_TOO_SMALL IntquiryDataSize not big enough @retval EFI_BUFFER_TOO_SMALL IntquiryDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -1339,7 +1339,7 @@ IDEDiskInfoInquiry (
} }
/** /**
This function is used by the IDE bus driver to get identify data. This function is used by the IDE bus driver to get identify data.
Data format of Identify data is defined by the Interface GUID. Data format of Identify data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@ -1347,9 +1347,9 @@ IDEDiskInfoInquiry (
@param IdentifyDataSize Pointer to the value for the identify data size. @param IdentifyDataSize Pointer to the value for the identify data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading IdentifyData from device @retval EFI_DEVICE_ERROR Error reading IdentifyData from device
@retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough @retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -1380,18 +1380,18 @@ IDEDiskInfoIdentify (
} }
/** /**
This function is used by the IDE bus driver to get sense data. This function is used by the IDE bus driver to get sense data.
Data format of Sense data is defined by the Interface GUID. Data format of Sense data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@param SenseData Pointer to the SenseData. @param SenseData Pointer to the SenseData.
@param SenseDataSize Size of SenseData in bytes. @param SenseDataSize Size of SenseData in bytes.
@param SenseDataNumber Pointer to the value for the identify data size. @param SenseDataNumber Pointer to the value for the identify data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading InquiryData from device @retval EFI_DEVICE_ERROR Error reading InquiryData from device
@retval EFI_BUFFER_TOO_SMALL SenseDataSize not big enough @retval EFI_BUFFER_TOO_SMALL SenseDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -1409,12 +1409,12 @@ IDEDiskInfoSenseData (
/** /**
This function is used by the IDE bus driver to get controller information. This function is used by the IDE bus driver to get controller information.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@param IdeChannel Pointer to the Ide Channel number. Primary or secondary. @param IdeChannel Pointer to the Ide Channel number. Primary or secondary.
@param IdeDevice Pointer to the Ide Device number. Master or slave. @param IdeDevice Pointer to the Ide Device number. Master or slave.
@retval EFI_SUCCESS IdeChannel and IdeDevice are valid @retval EFI_SUCCESS IdeChannel and IdeDevice are valid
@retval EFI_UNSUPPORTED This is not an IDE device @retval EFI_UNSUPPORTED This is not an IDE device
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -1,7 +1,7 @@
/** @file /** @file
Header file for IDE Bus Driver. Header file for IDE Bus Driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -181,7 +181,7 @@ IDEBusDriverBindingStop (
// EFI Driver Configuration Functions // EFI Driver Configuration Functions
// //
/** /**
Allows the user to set controller specific options for a controller that a Allows the user to set controller specific options for a controller that a
driver is currently managing. driver is currently managing.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@ -192,26 +192,26 @@ IDEBusDriverBindingStop (
that wish to set options for the bus controller. that wish to set options for the bus controller.
It will not be NULL for a bus driver that wishes to set It will not be NULL for a bus driver that wishes to set
options for one of its child controllers. options for one of its child controllers.
@param Language A pointer to a three character ISO 639-2 language identifier. @param Language A pointer to a three character ISO 639-2 language identifier.
This is the language of the user interface that should be presented This is the language of the user interface that should be presented
to the user, and it must match one of the languages specified in to the user, and it must match one of the languages specified in
SupportedLanguages. The number of languages supported by a driver is up to SupportedLanguages. The number of languages supported by a driver is up to
the driver writer. the driver writer.
@param ActionRequired A pointer to the action that the calling agent is required @param ActionRequired A pointer to the action that the calling agent is required
to perform when this function returns. to perform when this function returns.
@retval EFI_SUCCESS The driver specified by This successfully set the configuration
@retval EFI_SUCCESS The driver specified by This successfully set the configuration
options for the controller specified by ControllerHandle.. options for the controller specified by ControllerHandle..
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ActionRequired is NULL. @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for @retval EFI_UNSUPPORTED The driver specified by This does not support setting configuration options for
the controller specified by ControllerHandle and ChildHandle. the controller specified by ControllerHandle and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language. @retval EFI_UNSUPPORTED The driver specified by This does not support the language specified by Language.
@retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the @retval EFI_DEVICE_ERROR A device error occurred while attempt to set the configuration options for the
controller specified by ControllerHandle and ChildHandle. controller specified by ControllerHandle and ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the @retval EFI_OUT_RESOURCES There are not enough resources available to set the configuration options for the
controller specified by ControllerHandle and ChildHandle controller specified by ControllerHandle and ChildHandle
**/ **/
EFI_STATUS EFI_STATUS
@ -228,20 +228,20 @@ IDEBusDriverConfigurationSetOptions (
Tests to see if a controller's current configuration options are valid. Tests to see if a controller's current configuration options are valid.
@param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_PROTOCOL instance.
@param ControllerHandle The handle of the controller to test if it's current configuration options @param ControllerHandle The handle of the controller to test if it's current configuration options
are valid. are valid.
@param ChildHandle The handle of the child controller to test if it's current configuration @param ChildHandle The handle of the child controller to test if it's current configuration
options are valid. This is an optional parameter that may be NULL. It will options are valid. This is an optional parameter that may be NULL. It will
be NULL for device drivers. It will also be NULL for a bus drivers that be NULL for device drivers. It will also be NULL for a bus drivers that
wish to test the configuration options for the bus controller. It will wish to test the configuration options for the bus controller. It will
not be NULL for a bus driver that wishes to test configuration options for not be NULL for a bus driver that wishes to test configuration options for
one of its child controllers. one of its child controllers.
@retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle that is being
managed by the driver specified by This has a valid set of configuration managed by the driver specified by This has a valid set of configuration
options. options.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller @retval EFI_UNSUPPORTED The driver specified by This is not currently managing the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle that is being
managed by the driver specified by This has an invalid set of configuration managed by the driver specified by This has an invalid set of configuration
@ -260,31 +260,31 @@ IDEBusDriverConfigurationOptionsValid (
@param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance. @param This A pointer to the EFI_DRIVER_CONFIGURATION_ PROTOCOL instance.
@param ControllerHandle The handle of the controller to force default configuration options on. @param ControllerHandle The handle of the controller to force default configuration options on.
@param ChildHandle The handle of the child controller to force default configuration @param ChildHandle The handle of the child controller to force default configuration
options on This is an optional parameter that may be NULL. It options on This is an optional parameter that may be NULL. It
will be NULL for device drivers. It will also be NULL for a bus will be NULL for device drivers. It will also be NULL for a bus
drivers that wish to force default configuration options for the bus drivers that wish to force default configuration options for the bus
controller. It will not be NULL for a bus driver that wishes to force controller. It will not be NULL for a bus driver that wishes to force
default configuration options for one of its child controllers. default configuration options for one of its child controllers.
@param DefaultType The type of default configuration options to force on the controller @param DefaultType The type of default configuration options to force on the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@param ActionRequired A pointer to the action that the calling agent is required to perform @param ActionRequired A pointer to the action that the calling agent is required to perform
when this function returns. when this function returns.
@retval EFI_SUCCESS The driver specified by This successfully forced the @retval EFI_SUCCESS The driver specified by This successfully forced the
default configuration options on the controller specified by default configuration options on the controller specified by
ControllerHandle and ChildHandle. ControllerHandle and ChildHandle.
@retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ControllerHandle is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@retval EFI_INVALID_PARAMETER ActionRequired is NULL. @retval EFI_INVALID_PARAMETER ActionRequired is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default @retval EFI_UNSUPPORTED The driver specified by This does not support forcing the default
configuration options on the controller specified by ControllerHandle configuration options on the controller specified by ControllerHandle
and ChildHandle. and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type @retval EFI_UNSUPPORTED The driver specified by This does not support the configuration type
specified by DefaultType. specified by DefaultType.
@retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration @retval EFI_DEVICE_ERROR A device error occurred while attempt to force the default configuration
options on the controller specified by ControllerHandle and ChildHandle. options on the controller specified by ControllerHandle and ChildHandle.
@retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration @retval EFI_OUT_RESOURCES There are not enough resources available to force the default configuration
options on the controller specified by ControllerHandle and ChildHandle. options on the controller specified by ControllerHandle and ChildHandle.
**/ **/
EFI_STATUS EFI_STATUS
@ -308,24 +308,24 @@ IDEBusDriverConfigurationForceDefaults (
@param ChildHandle The handle of the child controller to run diagnostics on @param ChildHandle The handle of the child controller to run diagnostics on
This is an optional parameter that may be NULL. It will This is an optional parameter that may be NULL. It will
be NULL for device drivers. It will also be NULL for a be NULL for device drivers. It will also be NULL for a
bus drivers that wish to run diagnostics on the bus controller. bus drivers that wish to run diagnostics on the bus controller.
It will not be NULL for a bus driver that wishes to run It will not be NULL for a bus driver that wishes to run
diagnostics on one of its child controllers. diagnostics on one of its child controllers.
@param DiagnosticType Indicates type of diagnostics to perform on the controller @param DiagnosticType Indicates type of diagnostics to perform on the controller
specified by ControllerHandle and ChildHandle. specified by ControllerHandle and ChildHandle.
@param Language A pointer to a three character ISO 639-2 language identifier. @param Language A pointer to a three character ISO 639-2 language identifier.
This is the language in which the optional error message should This is the language in which the optional error message should
be returned in Buffer, and it must match one of the languages be returned in Buffer, and it must match one of the languages
specified in SupportedLanguages. The number of languages supported by specified in SupportedLanguages. The number of languages supported by
a driver is up to the driver writer. a driver is up to the driver writer.
@param ErrorType A GUID that defines the format of the data returned in Buffer. @param ErrorType A GUID that defines the format of the data returned in Buffer.
@param BufferSize The size, in bytes, of the data returned in Buffer. @param BufferSize The size, in bytes, of the data returned in Buffer.
@param Buffer A buffer that contains a Null-terminated Unicode string @param Buffer A buffer that contains a Null-terminated Unicode string
plus some additional data whose format is defined by ErrorType. plus some additional data whose format is defined by ErrorType.
Buffer is allocated by this function with AllocatePool(), and Buffer is allocated by this function with AllocatePool(), and
it is the caller's responsibility to free it with a call to FreePool(). it is the caller's responsibility to free it with a call to FreePool().
@retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle passed @retval EFI_SUCCESS The controller specified by ControllerHandle and ChildHandle passed
the diagnostic. the diagnostic.
@retval EFI_INVALID_PARAMETER ControllerHandle is NULL. @retval EFI_INVALID_PARAMETER ControllerHandle is NULL.
@retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE. @retval EFI_INVALID_PARAMETER ChildHandle is not NULL and it is not a valid EFI_HANDLE.
@ -333,18 +333,18 @@ IDEBusDriverConfigurationForceDefaults (
@retval EFI_INVALID_PARAMETER ErrorType is NULL. @retval EFI_INVALID_PARAMETER ErrorType is NULL.
@retval EFI_INVALID_PARAMETER BufferType is NULL. @retval EFI_INVALID_PARAMETER BufferType is NULL.
@retval EFI_INVALID_PARAMETER Buffer is NULL. @retval EFI_INVALID_PARAMETER Buffer is NULL.
@retval EFI_UNSUPPORTED The driver specified by This does not support running @retval EFI_UNSUPPORTED The driver specified by This does not support running
diagnostics for the controller specified by ControllerHandle diagnostics for the controller specified by ControllerHandle
and ChildHandle. and ChildHandle.
@retval EFI_UNSUPPORTED The driver specified by This does not support the @retval EFI_UNSUPPORTED The driver specified by This does not support the
type of diagnostic specified by DiagnosticType. type of diagnostic specified by DiagnosticType.
@retval EFI_UNSUPPORTED The driver specified by This does not support the language @retval EFI_UNSUPPORTED The driver specified by This does not support the language
specified by Language. specified by Language.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete the @retval EFI_OUT_OF_RESOURCES There are not enough resources available to complete the
diagnostics. diagnostics.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to return the @retval EFI_OUT_OF_RESOURCES There are not enough resources available to return the
status information in ErrorType, BufferSize,and Buffer. status information in ErrorType, BufferSize,and Buffer.
@retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle @retval EFI_DEVICE_ERROR The controller specified by ControllerHandle and ChildHandle
did not pass the diagnostic. did not pass the diagnostic.
**/ **/
EFI_STATUS EFI_STATUS
@ -427,7 +427,7 @@ IDEBlkIoWriteBlocks (
/** /**
Flushes all modified data to a physical block devices Flushes all modified data to a physical block devices
@param This Indicates a pointer to the calling context which to sepcify a @param This Indicates a pointer to the calling context which to sepcify a
sepcific block device sepcific block device
@retval EFI_SUCCESS Always return success. @retval EFI_SUCCESS Always return success.
@ -438,7 +438,7 @@ IDEBlkIoFlushBlocks (
IN EFI_BLOCK_IO_PROTOCOL *This IN EFI_BLOCK_IO_PROTOCOL *This
); );
/** /**
This function is used by the IDE bus driver to get inquiry data. This function is used by the IDE bus driver to get inquiry data.
Data format of Identify data is defined by the Interface GUID. Data format of Identify data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@ -446,9 +446,9 @@ IDEBlkIoFlushBlocks (
@param InquiryDataSize Pointer to the value for the inquiry data size. @param InquiryDataSize Pointer to the value for the inquiry data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading InquiryData from device @retval EFI_DEVICE_ERROR Error reading InquiryData from device
@retval EFI_BUFFER_TOO_SMALL IntquiryDataSize not big enough @retval EFI_BUFFER_TOO_SMALL IntquiryDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -460,7 +460,7 @@ IDEDiskInfoInquiry (
); );
/** /**
This function is used by the IDE bus driver to get identify data. This function is used by the IDE bus driver to get identify data.
Data format of Identify data is defined by the Interface GUID. Data format of Identify data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@ -468,9 +468,9 @@ IDEDiskInfoInquiry (
@param IdentifyDataSize Pointer to the value for the identify data size. @param IdentifyDataSize Pointer to the value for the identify data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading IdentifyData from device @retval EFI_DEVICE_ERROR Error reading IdentifyData from device
@retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough @retval EFI_BUFFER_TOO_SMALL IdentifyDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -482,18 +482,18 @@ IDEDiskInfoIdentify (
); );
/** /**
This function is used by the IDE bus driver to get sense data. This function is used by the IDE bus driver to get sense data.
Data format of Sense data is defined by the Interface GUID. Data format of Sense data is defined by the Interface GUID.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@param SenseData Pointer to the SenseData. @param SenseData Pointer to the SenseData.
@param SenseDataSize Size of SenseData in bytes. @param SenseDataSize Size of SenseData in bytes.
@param SenseDataNumber Pointer to the value for the identify data size. @param SenseDataNumber Pointer to the value for the identify data size.
@retval EFI_SUCCESS The command was accepted without any errors. @retval EFI_SUCCESS The command was accepted without any errors.
@retval EFI_NOT_FOUND Device does not support this data class @retval EFI_NOT_FOUND Device does not support this data class
@retval EFI_DEVICE_ERROR Error reading InquiryData from device @retval EFI_DEVICE_ERROR Error reading InquiryData from device
@retval EFI_BUFFER_TOO_SMALL SenseDataSize not big enough @retval EFI_BUFFER_TOO_SMALL SenseDataSize not big enough
**/ **/
EFI_STATUS EFI_STATUS
@ -508,12 +508,12 @@ IDEDiskInfoSenseData (
/** /**
This function is used by the IDE bus driver to get controller information. This function is used by the IDE bus driver to get controller information.
@param This Pointer to the EFI_DISK_INFO_PROTOCOL instance. @param This Pointer to the EFI_DISK_INFO_PROTOCOL instance.
@param IdeChannel Pointer to the Ide Channel number. Primary or secondary. @param IdeChannel Pointer to the Ide Channel number. Primary or secondary.
@param IdeDevice Pointer to the Ide Device number. Master or slave. @param IdeDevice Pointer to the Ide Device number. Master or slave.
@retval EFI_SUCCESS IdeChannel and IdeDevice are valid @retval EFI_SUCCESS IdeChannel and IdeDevice are valid
@retval EFI_UNSUPPORTED This is not an IDE device @retval EFI_UNSUPPORTED This is not an IDE device
**/ **/
EFI_STATUS EFI_STATUS
@ -524,7 +524,7 @@ IDEDiskInfoWhichIde (
OUT UINT32 *IdeDevice OUT UINT32 *IdeDevice
); );
/** /**
The is an event(generally the event is exitBootService event) call back function. The is an event(generally the event is exitBootService event) call back function.
Clear pending IDE interrupt before OS loader/kernel take control of the IDE device. Clear pending IDE interrupt before OS loader/kernel take control of the IDE device.
@param Event Pointer to this event @param Event Pointer to this event

View File

@ -3,7 +3,7 @@
# #
# This driver will enumerate IDE device and export the blockIo protocol for every device. # This driver will enumerate IDE device and export the blockIo protocol for every device.
# #
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -29,9 +29,9 @@
# #
# VALID_ARCHITECTURES = IA32 X64 IPF EBC # VALID_ARCHITECTURES = IA32 X64 IPF EBC
# #
# DRIVER_BINDING = gIDEBusDriverBinding # DRIVER_BINDING = gIDEBusDriverBinding
# COMPONENT_NAME = gIDEBusComponentName # COMPONENT_NAME = gIDEBusComponentName
# COMPONENT_NAME2 = gIDEBusComponentName2 # COMPONENT_NAME2 = gIDEBusComponentName2
# Variable Guid C Name: gConfigurationGuid Variable Name: L"Configuration" # Variable Guid C Name: gConfigurationGuid Variable Name: L"Configuration"
# #
# #
@ -53,7 +53,7 @@
[Packages] [Packages]
MdePkg/MdePkg.dec MdePkg/MdePkg.dec
IntelFrameworkPkg/IntelFrameworkPkg.dec IntelFrameworkPkg/IntelFrameworkPkg.dec
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
[LibraryClasses] [LibraryClasses]

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// IdeBusDxe Localized Strings and Content // IdeBusDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -12,8 +12,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"IDE Bus DXE Driver" "IDE Bus DXE Driver"

View File

@ -1,14 +1,14 @@
/** @file /** @file
Header file for IDE Bus Driver's Data Structures Header file for IDE Bus Driver's Data Structures
Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/
@ -142,7 +142,7 @@ typedef struct {
// //
// 1 second // 1 second
// //
#define ATATIMEOUT 1000 #define ATATIMEOUT 1000
// //
// ATAPITIMEOUT is used for waiting operation // ATAPITIMEOUT is used for waiting operation
@ -152,7 +152,7 @@ typedef struct {
// //
// 1 second // 1 second
// //
#define ATAPITIMEOUT 1000 #define ATAPITIMEOUT 1000
// //
// ATAPILONGTIMEOUT is used for waiting read and // ATAPILONGTIMEOUT is used for waiting read and
@ -162,12 +162,12 @@ typedef struct {
// //
// 2 seconds // 2 seconds
// //
#define CDROMLONGTIMEOUT 2000 #define CDROMLONGTIMEOUT 2000
// //
// 5 seconds // 5 seconds
// //
#define ATAPILONGTIMEOUT 5000 #define ATAPILONGTIMEOUT 5000
// //
// 10 seconds // 10 seconds

View File

@ -1,7 +1,7 @@
/** @file /** @file
Implements EFI Component Name Protocol for VGA Mini Port Driver. Implements EFI Component Name Protocol for VGA Mini Port Driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at

View File

@ -1,7 +1,7 @@
/** @file /** @file
Implements EFI Driver Binding Protocol and VGA Mini Port Protocol for VGA Mini Port Driver. Implements EFI Driver Binding Protocol and VGA Mini Port Protocol for VGA Mini Port Driver.
Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -306,14 +306,14 @@ PciVgaMiniPortDriverBindingStop (
This function implements EFI_VGA_MINI_PORT_PROTOCOL.SetMode(). This function implements EFI_VGA_MINI_PORT_PROTOCOL.SetMode().
If ModeNumber exceeds the valid range, then EFI_UNSUPPORTED is returned. If ModeNumber exceeds the valid range, then EFI_UNSUPPORTED is returned.
Otherwise, EFI_SUCCESS is directly returned without real operation. Otherwise, EFI_SUCCESS is directly returned without real operation.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param ModeNumber Mode number. 0 - 80x25 1-80x50 @param ModeNumber Mode number. 0 - 80x25 1-80x50
@retval EFI_SUCCESS The mode was set @retval EFI_SUCCESS The mode was set
@retval EFI_UNSUPPORTED ModeNumber is not supported. @retval EFI_UNSUPPORTED ModeNumber is not supported.
@retval EFI_DEVICE_ERROR The device is not functioning properly. @retval EFI_DEVICE_ERROR The device is not functioning properly.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -328,4 +328,4 @@ PciVgaMiniPortSetMode (
return EFI_SUCCESS; return EFI_SUCCESS;
} }

View File

@ -1,7 +1,7 @@
/** @file /** @file
Internal include file for VGA Mini Port Driver. Internal include file for VGA Mini Port Driver.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at which accompanies this distribution. The full text of the license may be found at
@ -252,14 +252,14 @@ PciVgaMiniPortComponentNameGetControllerName (
This function implements EFI_VGA_MINI_PORT_PROTOCOL.SetMode(). This function implements EFI_VGA_MINI_PORT_PROTOCOL.SetMode().
If ModeNumber exceeds the valid range, then EFI_UNSUPPORTED is returned. If ModeNumber exceeds the valid range, then EFI_UNSUPPORTED is returned.
Otherwise, EFI_SUCCESS is directly returned without real operation. Otherwise, EFI_SUCCESS is directly returned without real operation.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param ModeNumber Mode number. 0 - 80x25 1-80x50 @param ModeNumber Mode number. 0 - 80x25 1-80x50
@retval EFI_SUCCESS The mode was set @retval EFI_SUCCESS The mode was set
@retval EFI_UNSUPPORTED ModeNumber is not supported. @retval EFI_UNSUPPORTED ModeNumber is not supported.
@retval EFI_DEVICE_ERROR The device is not functioning properly. @retval EFI_DEVICE_ERROR The device is not functioning properly.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI

View File

@ -3,13 +3,13 @@
// //
// VGA Mini Port Driver that manages VGA device and produces the VGA Mini Port Protocol. // VGA Mini Port Driver that manages VGA device and produces the VGA Mini Port Protocol.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
// which accompanies this distribution. The full text of the license may be found at // which accompanies this distribution. The full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
## @file ## @file
# VGA Mini Port Driver that manages VGA device and produces VGA Mini Port Protocol. # VGA Mini Port Driver that manages VGA device and produces VGA Mini Port Protocol.
# #
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License # are licensed and made available under the terms and conditions of the BSD License
@ -29,7 +29,7 @@
# VALID_ARCHITECTURES = IA32 X64 IPF EBC # VALID_ARCHITECTURES = IA32 X64 IPF EBC
# DRIVER_BINDING = gPciVgaMiniPortDriverBinding; # DRIVER_BINDING = gPciVgaMiniPortDriverBinding;
# COMPONENT_NAME = gPciVgaMiniPortComponentName; # COMPONENT_NAME = gPciVgaMiniPortComponentName;
# COMPONENT_NAME2 = gPciVgaMiniPortComponentName2; # COMPONENT_NAME2 = gPciVgaMiniPortComponentName2;
# #
[Sources] [Sources]

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// VgaMiniPort Localized Strings and Content // VgaMiniPort Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions of the BSD License // are licensed and made available under the terms and conditions of the BSD License
@ -13,8 +13,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"VGA Mini Port DXE Driver" "VGA Mini Port DXE Driver"

View File

@ -5,7 +5,7 @@
Availible on http://www.t13.org/#Project drafts Availible on http://www.t13.org/#Project drafts
Currently at ftp://fission.dt.wdc.com/pub/standards/x3t13/project/d1386r4.pdf Currently at ftp://fission.dt.wdc.com/pub/standards/x3t13/project/d1386r4.pdf
Copyright (c) 1999 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -156,14 +156,14 @@ BiosBlockIoDriverBindingSupported (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
gBS->CloseProtocol ( gBS->CloseProtocol (
Controller, Controller,
&gEfiDevicePathProtocolGuid, &gEfiDevicePathProtocolGuid,
This->DriverBindingHandle, This->DriverBindingHandle,
Controller Controller
); );
// //
// Open the IO Abstraction(s) needed to perform the supported test // Open the IO Abstraction(s) needed to perform the supported test
// //
@ -243,8 +243,8 @@ BiosBlockIoDriverBindingStart (
// //
PciIo = NULL; PciIo = NULL;
PciDevPath = NULL; PciDevPath = NULL;
DeviceEnable = FALSE; DeviceEnable = FALSE;
// //
// See if the Legacy BIOS Protocol is available // See if the Legacy BIOS Protocol is available
@ -292,9 +292,9 @@ BiosBlockIoDriverBindingStart (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
goto Error; goto Error;
} }
DeviceEnable = TRUE; DeviceEnable = TRUE;
// //
// Check to see if there is a legacy option ROM image associated with this PCI device // Check to see if there is a legacy option ROM image associated with this PCI device
// //
@ -635,9 +635,9 @@ SetBiosInitBlockIoDevicePath (
{ {
EFI_STATUS Status; EFI_STATUS Status;
BLOCKIO_VENDOR_DEVICE_PATH VendorNode; BLOCKIO_VENDOR_DEVICE_PATH VendorNode;
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
// //
// BugBug: Check for memory leaks! // BugBug: Check for memory leaks!
// //
@ -647,7 +647,7 @@ SetBiosInitBlockIoDevicePath (
// //
Status = BuildEdd30DevicePath (BaseDevicePath, Drive, DevicePath); Status = BuildEdd30DevicePath (BaseDevicePath, Drive, DevicePath);
} }
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
// //
// EDD 1.1 device case or it is unrecognized EDD 3.0 device // EDD 1.1 device case or it is unrecognized EDD 3.0 device
@ -767,14 +767,14 @@ BuildEdd30DevicePath (
Drive->Number, Drive->Number,
Drive->Parameters.InterfaceType Drive->Parameters.InterfaceType
) )
); );
} }
} }
if (Node.DevPath.Type == 0) { if (Node.DevPath.Type == 0) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
*DevicePath = AppendDevicePathNode (BaseDevicePath, &Node.DevPath); *DevicePath = AppendDevicePathNode (BaseDevicePath, &Node.DevPath);
return EFI_SUCCESS; return EFI_SUCCESS;
} }

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 1999 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -173,7 +173,7 @@ BiosInitBlockIo (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -203,7 +203,7 @@ Edd30BiosReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -266,7 +266,7 @@ BiosBlockIoReset (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -296,7 +296,7 @@ Edd11BiosReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -325,7 +325,7 @@ Edd11BiosWriteBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -355,7 +355,7 @@ BiosReadLegacyDrive (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -376,7 +376,7 @@ BiosWriteLegacyDrive (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of device parameter retrieval. @return Result of device parameter retrieval.
**/ **/
UINTN UINTN
Int13GetDeviceParameters ( Int13GetDeviceParameters (
@ -391,7 +391,7 @@ Int13GetDeviceParameters (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of this extension. @return Result of this extension.
**/ **/
UINTN UINTN
Int13Extensions ( Int13Extensions (
@ -406,7 +406,7 @@ Int13Extensions (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of drive parameter retrieval. @return Result of drive parameter retrieval.
**/ **/
UINTN UINTN
GetDriveParameters ( GetDriveParameters (

View File

@ -1,7 +1,7 @@
/** @file /** @file
Routines that use BIOS to support INT 13 devices. Routines that use BIOS to support INT 13 devices.
Copyright (c) 1999 - 2015, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -130,7 +130,7 @@ BiosInitBlockIo (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of device parameter retrieval. @return Result of device parameter retrieval.
**/ **/
UINTN UINTN
Int13GetDeviceParameters ( Int13GetDeviceParameters (
@ -185,7 +185,7 @@ Int13GetDeviceParameters (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of this extension. @return Result of this extension.
**/ **/
UINTN UINTN
Int13Extensions ( Int13Extensions (
@ -227,7 +227,7 @@ Int13Extensions (
@param Drive Legacy drive. @param Drive Legacy drive.
@return Result of drive parameter retrieval. @return Result of drive parameter retrieval.
**/ **/
UINTN UINTN
GetDriveParameters ( GetDriveParameters (
@ -406,7 +406,7 @@ GetDriveParameters (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -554,7 +554,7 @@ Edd30BiosReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -789,7 +789,7 @@ BiosBlockIoReset (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -942,7 +942,7 @@ Edd11BiosReadBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -1103,7 +1103,7 @@ Edd11BiosWriteBlocks (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHANGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHANGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The read request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/
@ -1305,7 +1305,7 @@ BiosReadLegacyDrive (
@retval EFI_NO_MEDIA There is no media in the device. @retval EFI_NO_MEDIA There is no media in the device.
@retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device. @retval EFI_MEDIA_CHNAGED The MediaId does not matched the current device.
@retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device. @retval EFI_BAD_BUFFER_SIZE The Buffer was not a multiple of the block size of the device.
@retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid, @retval EFI_INVALID_PARAMETER The write request contains LBAs that are not valid,
or the buffer is not on proper alignment. or the buffer is not on proper alignment.
**/ **/

View File

@ -4,14 +4,14 @@
// This is the UEFI driver to thunk legacy BIOS int13 interface into UEFI block IO interface. // This is the UEFI driver to thunk legacy BIOS int13 interface into UEFI block IO interface.
// Once connected it installs EfiBlockIoProtocol on top of legacy BIOS int13. // Once connected it installs EfiBlockIoProtocol on top of legacy BIOS int13.
// //
// Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// BlockIoDxe Localized Strings and Content // BlockIoDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"Legacy Block I/O DXE Driver" "Legacy Block I/O DXE Driver"

View File

@ -58,7 +58,7 @@ Enqueue (
/** /**
Dequeue the key. Dequeue the key.
@param Queue The queue to be dequeued. @param Queue The queue to be dequeued.
@param KeyData The key data to be dequeued. @param KeyData The key data to be dequeued.
@ -85,7 +85,7 @@ Dequeue (
/** /**
Check whether the queue is empty. Check whether the queue is empty.
@param Queue The queue to be checked. @param Queue The queue to be checked.
@retval EFI_NOT_READY The queue is empty. @retval EFI_NOT_READY The queue is empty.
@ -279,8 +279,8 @@ BiosKeyboardDriverBindingStart (
BiosKeyboardPrivate->SimpleTextInputEx.Reset = BiosKeyboardResetEx; BiosKeyboardPrivate->SimpleTextInputEx.Reset = BiosKeyboardResetEx;
BiosKeyboardPrivate->SimpleTextInputEx.ReadKeyStrokeEx = BiosKeyboardReadKeyStrokeEx; BiosKeyboardPrivate->SimpleTextInputEx.ReadKeyStrokeEx = BiosKeyboardReadKeyStrokeEx;
BiosKeyboardPrivate->SimpleTextInputEx.SetState = BiosKeyboardSetState; BiosKeyboardPrivate->SimpleTextInputEx.SetState = BiosKeyboardSetState;
BiosKeyboardPrivate->SimpleTextInputEx.RegisterKeyNotify = BiosKeyboardRegisterKeyNotify; BiosKeyboardPrivate->SimpleTextInputEx.RegisterKeyNotify = BiosKeyboardRegisterKeyNotify;
BiosKeyboardPrivate->SimpleTextInputEx.UnregisterKeyNotify = BiosKeyboardUnregisterKeyNotify; BiosKeyboardPrivate->SimpleTextInputEx.UnregisterKeyNotify = BiosKeyboardUnregisterKeyNotify;
InitializeListHead (&BiosKeyboardPrivate->NotifyList); InitializeListHead (&BiosKeyboardPrivate->NotifyList);
// //
@ -315,7 +315,7 @@ BiosKeyboardDriverBindingStart (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
BiosKeyboardPrivate->SimpleTextInputEx.WaitForKeyEx = NULL; BiosKeyboardPrivate->SimpleTextInputEx.WaitForKeyEx = NULL;
goto Done; goto Done;
} }
// //
// Setup a periodic timer, used for reading keystrokes at a fixed interval // Setup a periodic timer, used for reading keystrokes at a fixed interval
@ -373,7 +373,7 @@ BiosKeyboardDriverBindingStart (
FeaturePcdGet (PcdPs2KbdExtendedVerification) FeaturePcdGet (PcdPs2KbdExtendedVerification)
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_ERROR, "[KBD]Reset Failed. Status - %r\n", Status)); DEBUG ((EFI_D_ERROR, "[KBD]Reset Failed. Status - %r\n", Status));
StatusCode = EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NOT_DETECTED; StatusCode = EFI_PERIPHERAL_KEYBOARD | EFI_P_EC_NOT_DETECTED;
goto Done; goto Done;
} }
@ -471,13 +471,13 @@ Done:
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
if (BiosKeyboardPrivate != NULL) { if (BiosKeyboardPrivate != NULL) {
if ((BiosKeyboardPrivate->SimpleTextIn).WaitForKey != NULL) { if ((BiosKeyboardPrivate->SimpleTextIn).WaitForKey != NULL) {
gBS->CloseEvent ((BiosKeyboardPrivate->SimpleTextIn).WaitForKey); gBS->CloseEvent ((BiosKeyboardPrivate->SimpleTextIn).WaitForKey);
} }
if ((BiosKeyboardPrivate->SimpleTextInputEx).WaitForKeyEx != NULL) { if ((BiosKeyboardPrivate->SimpleTextInputEx).WaitForKeyEx != NULL) {
gBS->CloseEvent ((BiosKeyboardPrivate->SimpleTextInputEx).WaitForKeyEx); gBS->CloseEvent ((BiosKeyboardPrivate->SimpleTextInputEx).WaitForKeyEx);
} }
if (BiosKeyboardPrivate->KeyNotifyProcessEvent != NULL) { if (BiosKeyboardPrivate->KeyNotifyProcessEvent != NULL) {
@ -487,7 +487,7 @@ Done:
BiosKeyboardFreeNotifyList (&BiosKeyboardPrivate->NotifyList); BiosKeyboardFreeNotifyList (&BiosKeyboardPrivate->NotifyList);
if (BiosKeyboardPrivate->TimerEvent != NULL) { if (BiosKeyboardPrivate->TimerEvent != NULL) {
gBS->CloseEvent (BiosKeyboardPrivate->TimerEvent); gBS->CloseEvent (BiosKeyboardPrivate->TimerEvent);
} }
FreePool (BiosKeyboardPrivate); FreePool (BiosKeyboardPrivate);
@ -558,7 +558,7 @@ BiosKeyboardDriverBindingStop (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
BiosKeyboardPrivate = BIOS_KEYBOARD_DEV_FROM_THIS (SimpleTextIn); BiosKeyboardPrivate = BIOS_KEYBOARD_DEV_FROM_THIS (SimpleTextIn);
Status = gBS->UninstallMultipleProtocolInterfaces ( Status = gBS->UninstallMultipleProtocolInterfaces (
@ -930,19 +930,19 @@ KeyboardWaitForValue (
} }
/** /**
Reads the next keystroke from the input device. The WaitForKey Event can Reads the next keystroke from the input device. The WaitForKey Event can
be used to test for existance of a keystroke via WaitForEvent () call. be used to test for existance of a keystroke via WaitForEvent () call.
@param BiosKeyboardPrivate Bioskeyboard driver private structure. @param BiosKeyboardPrivate Bioskeyboard driver private structure.
@param KeyData A pointer to a buffer that is filled in with the keystroke @param KeyData A pointer to a buffer that is filled in with the keystroke
state data for the key that was pressed. state data for the key that was pressed.
@retval EFI_SUCCESS The keystroke information was returned. @retval EFI_SUCCESS The keystroke information was returned.
@retval EFI_NOT_READY There was no keystroke data availiable. @retval EFI_NOT_READY There was no keystroke data availiable.
@retval EFI_DEVICE_ERROR The keystroke information was not returned due to @retval EFI_DEVICE_ERROR The keystroke information was not returned due to
hardware errors. hardware errors.
@retval EFI_INVALID_PARAMETER KeyData is NULL. @retval EFI_INVALID_PARAMETER KeyData is NULL.
**/ **/
EFI_STATUS EFI_STATUS
KeyboardReadKeyStrokeWorker ( KeyboardReadKeyStrokeWorker (
@ -959,14 +959,14 @@ KeyboardReadKeyStrokeWorker (
// //
// Use TimerEvent callback function to check whether there's any key pressed // Use TimerEvent callback function to check whether there's any key pressed
// //
// //
// Stall 1ms to give a chance to let other driver interrupt this routine for their timer event. // Stall 1ms to give a chance to let other driver interrupt this routine for their timer event.
// Csm will be used to check whether there is a key pending, but the csm will disable all // Csm will be used to check whether there is a key pending, but the csm will disable all
// interrupt before switch to compatibility16, which mean all the efiCompatibility timer // interrupt before switch to compatibility16, which mean all the efiCompatibility timer
// event will stop work during the compatibility16. And If a caller recursivly invoke this function, // event will stop work during the compatibility16. And If a caller recursivly invoke this function,
// e.g. OS loader, other drivers which are driven by timer event will have a bad performance during this period, // e.g. OS loader, other drivers which are driven by timer event will have a bad performance during this period,
// e.g. usb keyboard driver. // e.g. usb keyboard driver.
// Add a stall period can greatly increate other driver performance during the WaitForKey is recursivly invoked. // Add a stall period can greatly increate other driver performance during the WaitForKey is recursivly invoked.
// 1ms delay will make little impact to the thunk keyboard driver, and user can not feel the delay at all when input. // 1ms delay will make little impact to the thunk keyboard driver, and user can not feel the delay at all when input.
// //
@ -1075,17 +1075,17 @@ BiosKeyboardReset (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDREG_VIA64_CMDBYTE_R KBC_CMDREG_VIA64_CMDBYTE_R
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
} }
Status = KeyboardRead ( Status = KeyboardRead (
BiosKeyboardPrivate, BiosKeyboardPrivate,
&CommandByte &CommandByte
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
@ -1106,17 +1106,17 @@ BiosKeyboardReset (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDREG_VIA64_AUX_DISABLE KBC_CMDREG_VIA64_AUX_DISABLE
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
} }
Status = KeyboardCommand ( Status = KeyboardCommand (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDREG_VIA64_KB_DISABLE KBC_CMDREG_VIA64_KB_DISABLE
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
@ -1128,12 +1128,12 @@ BiosKeyboardReset (
// //
// //
// Report a Progress Code for performing a self test on the keyboard controller // Report a Progress Code for performing a self test on the keyboard controller
// //
REPORT_STATUS_CODE ( REPORT_STATUS_CODE (
EFI_PROGRESS_CODE, EFI_PROGRESS_CODE,
EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_SELF_TEST EFI_PERIPHERAL_KEYBOARD | EFI_P_KEYBOARD_PC_SELF_TEST
); );
Status = KeyboardCommand ( Status = KeyboardCommand (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDREG_VIA64_KBC_SLFTEST KBC_CMDREG_VIA64_KBC_SLFTEST
@ -1142,7 +1142,7 @@ BiosKeyboardReset (
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
} }
Status = KeyboardWaitForValue ( Status = KeyboardWaitForValue (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDECHO_KBCSLFTEST_OK, KBC_CMDECHO_KBCSLFTEST_OK,
@ -1352,7 +1352,7 @@ BiosKeyboardReset (
BiosKeyboardPrivate, BiosKeyboardPrivate,
KBC_CMDREG_VIA64_KB_ENABLE KBC_CMDREG_VIA64_KB_ENABLE
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
@ -1425,7 +1425,7 @@ BiosKeyboardReadKeyStroke (
} }
} }
CopyMem (Key, &KeyData.Key, sizeof (EFI_INPUT_KEY)); CopyMem (Key, &KeyData.Key, sizeof (EFI_INPUT_KEY));
return EFI_SUCCESS; return EFI_SUCCESS;
} }
@ -1469,7 +1469,7 @@ BiosKeyboardWaitForKey (
Check key buffer to get the key stroke status. Check key buffer to get the key stroke status.
@param This Pointer of the protocol EFI_SIMPLE_TEXT_IN_PROTOCOL. @param This Pointer of the protocol EFI_SIMPLE_TEXT_IN_PROTOCOL.
@retval EFI_SUCCESS A key is being pressed now. @retval EFI_SUCCESS A key is being pressed now.
@retval Other No key is now pressed. @retval Other No key is now pressed.
@ -1644,7 +1644,7 @@ CONVERT_TABLE_ENTRY mConvertTable[] = {
@param KeyChar Unicode of key. @param KeyChar Unicode of key.
@param ScanCode Scan code of key. @param ScanCode Scan code of key.
@return The value of EFI Scancode for the key. @return The value of EFI Scancode for the key.
@retval SCAN_NULL No corresponding value in the EFI convert table is found for the key. @retval SCAN_NULL No corresponding value in the EFI convert table is found for the key.
**/ **/
@ -1682,7 +1682,7 @@ ConvertToEFIScanCode (
/** /**
Check whether there is Ps/2 Keyboard device in system by 0xF4 Keyboard Command Check whether there is Ps/2 Keyboard device in system by 0xF4 Keyboard Command
If Keyboard receives 0xF4, it will respond with 'ACK'. If it doesn't respond, the device If Keyboard receives 0xF4, it will respond with 'ACK'. If it doesn't respond, the device
should not be in system. should not be in system.
@param BiosKeyboardPrivate Keyboard Private Data Struture @param BiosKeyboardPrivate Keyboard Private Data Struture
@ -1738,9 +1738,9 @@ CheckKeyboardConnect (
/** /**
Timer event handler: read a series of key stroke from 8042 Timer event handler: read a series of key stroke from 8042
and put them into memory key buffer. and put them into memory key buffer.
It is registered as running under TPL_NOTIFY It is registered as running under TPL_NOTIFY
@param Event The timer event @param Event The timer event
@param Context A BIOS_KEYBOARD_DEV pointer @param Context A BIOS_KEYBOARD_DEV pointer
@ -1785,7 +1785,7 @@ BiosKeyboardTimerHandler (
if (Regs.X.Flags.ZF != 0) { if (Regs.X.Flags.ZF != 0) {
gBS->RestoreTPL (OldTpl); gBS->RestoreTPL (OldTpl);
return; return;
} }
// //
// Read the key // Read the key
@ -1810,27 +1810,27 @@ BiosKeyboardTimerHandler (
KeyData.Key.ScanCode, KeyData.Key.ScanCode,
KeyData.Key.UnicodeChar KeyData.Key.UnicodeChar
)); ));
KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID; KeyData.KeyState.KeyShiftState = EFI_SHIFT_STATE_VALID;
KeyData.KeyState.KeyToggleState = EFI_TOGGLE_STATE_VALID; KeyData.KeyState.KeyToggleState = EFI_TOGGLE_STATE_VALID;
// //
// Leagcy Bios use Int 9 which is IRQ1 interrupt handler to get keystroke scancode to KB buffer in BDA (BIOS DATE AREA), then // Leagcy Bios use Int 9 which is IRQ1 interrupt handler to get keystroke scancode to KB buffer in BDA (BIOS DATE AREA), then
// Int 16 depend KB buffer and some key bits in BDA to translate the scancode to ASCII code, and return both the scancode and ASCII // Int 16 depend KB buffer and some key bits in BDA to translate the scancode to ASCII code, and return both the scancode and ASCII
// code to Int 16 caller. This translation process works well if the Int 9 could response user input in time. But in Tiano enviorment, the Int 9 // code to Int 16 caller. This translation process works well if the Int 9 could response user input in time. But in Tiano enviorment, the Int 9
// will be disabled after the thunk call finish, which means if user crazy input during int 9 being disabled, some keystrokes will be lost when // will be disabled after the thunk call finish, which means if user crazy input during int 9 being disabled, some keystrokes will be lost when
// KB device own hardware buffer overflows. And if the lost keystroke code is CTRL or ALT or SHIFT release code, these function key flags bit // KB device own hardware buffer overflows. And if the lost keystroke code is CTRL or ALT or SHIFT release code, these function key flags bit
// in BDA will not be updated. So the Int 16 will believe the CTRL or ALT or SHIFT is still pressed, and Int 16 will translate later scancode // in BDA will not be updated. So the Int 16 will believe the CTRL or ALT or SHIFT is still pressed, and Int 16 will translate later scancode
// to wrong ASCII code. We can increase the Thunk frequence to let Int 9 response in time, but this way will much hurt other drivers // to wrong ASCII code. We can increase the Thunk frequence to let Int 9 response in time, but this way will much hurt other drivers
// performance, like USB. // performance, like USB.
// //
// 1. If CTRL or ALT release code is missed, all later input keys will be translated to wrong ASCII codes which the Tiano cannot support. In // 1. If CTRL or ALT release code is missed, all later input keys will be translated to wrong ASCII codes which the Tiano cannot support. In
// this case, the KB input seems fail to work, and user input is blocked. To solve the problem, we can help to clear the CTRL or ALT flag in BDA // this case, the KB input seems fail to work, and user input is blocked. To solve the problem, we can help to clear the CTRL or ALT flag in BDA
// after every Int 16 finish. Thus persist to press CTRL or ALT has same effection as only press one time. It is Ok, since user not often use the // after every Int 16 finish. Thus persist to press CTRL or ALT has same effection as only press one time. It is Ok, since user not often use the
// CTRL and ALT. // CTRL and ALT.
// //
// 2. If SHIFT release code is missed, all later lowercase input will become capital. This is ugly, but not block user input. If user press the lost // 2. If SHIFT release code is missed, all later lowercase input will become capital. This is ugly, but not block user input. If user press the lost
// SHIFT again, the lowercase will come back to normal. Since user often use the SHIFT, it is not reasonable to help to clear the SHIFT flag in BDA, // SHIFT again, the lowercase will come back to normal. Since user often use the SHIFT, it is not reasonable to help to clear the SHIFT flag in BDA,
// which will let persist to press SHIFT has same effection as only press one time. // which will let persist to press SHIFT has same effection as only press one time.
// //
//0040h:0017h - KEYBOARD - STATUS FLAGS 1 //0040h:0017h - KEYBOARD - STATUS FLAGS 1
// 7 INSert active // 7 INSert active
@ -1861,21 +1861,21 @@ BiosKeyboardTimerHandler (
} }
if ((KbFlag1 & KB_SCROLL_LOCK_BIT) == KB_SCROLL_LOCK_BIT) { if ((KbFlag1 & KB_SCROLL_LOCK_BIT) == KB_SCROLL_LOCK_BIT) {
DEBUG ((EFI_D_INFO, "[KBD]Scroll Lock Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Scroll Lock Key is pressed.\n"));
} }
if ((KbFlag1 & KB_ALT_PRESSED) == KB_ALT_PRESSED) { if ((KbFlag1 & KB_ALT_PRESSED) == KB_ALT_PRESSED) {
if ((KbFlag2 & KB_LEFT_ALT_PRESSED) == KB_LEFT_ALT_PRESSED) { if ((KbFlag2 & KB_LEFT_ALT_PRESSED) == KB_LEFT_ALT_PRESSED) {
DEBUG ((EFI_D_INFO, "[KBD]Left Alt Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Left Alt Key is pressed.\n"));
} else { } else {
DEBUG ((EFI_D_INFO, "[KBD]Right Alt Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Right Alt Key is pressed.\n"));
} }
} }
if ((KbFlag1 & KB_CTRL_PRESSED) == KB_CTRL_PRESSED) { if ((KbFlag1 & KB_CTRL_PRESSED) == KB_CTRL_PRESSED) {
if ((KbFlag2 & KB_LEFT_CTRL_PRESSED) == KB_LEFT_CTRL_PRESSED) { if ((KbFlag2 & KB_LEFT_CTRL_PRESSED) == KB_LEFT_CTRL_PRESSED) {
DEBUG ((EFI_D_INFO, "[KBD]Left Ctrl Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Left Ctrl Key is pressed.\n"));
} else { } else {
DEBUG ((EFI_D_INFO, "[KBD]Right Ctrl Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Right Ctrl Key is pressed.\n"));
} }
} }
if ((KbFlag1 & KB_LEFT_SHIFT_PRESSED) == KB_LEFT_SHIFT_PRESSED) { if ((KbFlag1 & KB_LEFT_SHIFT_PRESSED) == KB_LEFT_SHIFT_PRESSED) {
DEBUG ((EFI_D_INFO, "[KBD]Left Shift Key is pressed.\n")); DEBUG ((EFI_D_INFO, "[KBD]Left Shift Key is pressed.\n"));
} }
@ -1900,13 +1900,13 @@ BiosKeyboardTimerHandler (
// //
// Record shift state // Record shift state
// BUGBUG: Need add Menu key and Left/Right Logo key state in the future // BUGBUG: Need add Menu key and Left/Right Logo key state in the future
// //
if ((KbFlag1 & KB_ALT_PRESSED) == KB_ALT_PRESSED) { if ((KbFlag1 & KB_ALT_PRESSED) == KB_ALT_PRESSED) {
KeyData.KeyState.KeyShiftState |= ((KbFlag2 & KB_LEFT_ALT_PRESSED) == KB_LEFT_ALT_PRESSED) ? EFI_LEFT_ALT_PRESSED : EFI_RIGHT_ALT_PRESSED; KeyData.KeyState.KeyShiftState |= ((KbFlag2 & KB_LEFT_ALT_PRESSED) == KB_LEFT_ALT_PRESSED) ? EFI_LEFT_ALT_PRESSED : EFI_RIGHT_ALT_PRESSED;
} }
if ((KbFlag1 & KB_CTRL_PRESSED) == KB_CTRL_PRESSED) { if ((KbFlag1 & KB_CTRL_PRESSED) == KB_CTRL_PRESSED) {
KeyData.KeyState.KeyShiftState |= ((KbFlag2 & KB_LEFT_CTRL_PRESSED) == KB_LEFT_CTRL_PRESSED) ? EFI_LEFT_CONTROL_PRESSED : EFI_RIGHT_CONTROL_PRESSED; KeyData.KeyState.KeyShiftState |= ((KbFlag2 & KB_LEFT_CTRL_PRESSED) == KB_LEFT_CTRL_PRESSED) ? EFI_LEFT_CONTROL_PRESSED : EFI_RIGHT_CONTROL_PRESSED;
} }
if ((KbFlag1 & KB_LEFT_SHIFT_PRESSED) == KB_LEFT_SHIFT_PRESSED) { if ((KbFlag1 & KB_LEFT_SHIFT_PRESSED) == KB_LEFT_SHIFT_PRESSED) {
KeyData.KeyState.KeyShiftState |= EFI_LEFT_SHIFT_PRESSED; KeyData.KeyState.KeyShiftState |= EFI_LEFT_SHIFT_PRESSED;
} }
@ -1923,7 +1923,7 @@ BiosKeyboardTimerHandler (
KbFlag1 &= ~0x0C; KbFlag1 &= ~0x0C;
*((UINT8 *) (UINTN) 0x417) = KbFlag1; *((UINT8 *) (UINTN) 0x417) = KbFlag1;
); );
// //
// Output EFI input key and shift/toggle state // Output EFI input key and shift/toggle state
// //
@ -1973,9 +1973,9 @@ BiosKeyboardTimerHandler (
// //
for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) { for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) {
CurrentNotify = CR ( CurrentNotify = CR (
Link, Link,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY, BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY,
NotifyEntry, NotifyEntry,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE
); );
if (IsKeyRegistered (&CurrentNotify->KeyData, &KeyData)) { if (IsKeyRegistered (&CurrentNotify->KeyData, &KeyData)) {
@ -2001,7 +2001,7 @@ BiosKeyboardTimerHandler (
// //
gBS->RestoreTPL (OldTpl); gBS->RestoreTPL (OldTpl);
return ; return ;
} }
/** /**
@ -2034,7 +2034,7 @@ KeyNotifyProcessHandler (
while (TRUE) { while (TRUE) {
// //
// Enter critical section // Enter critical section
// //
OldTpl = gBS->RaiseTPL (TPL_NOTIFY); OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
Status = Dequeue (&BiosKeyboardPrivate->QueueForNotify, &KeyData); Status = Dequeue (&BiosKeyboardPrivate->QueueForNotify, &KeyData);
// //
@ -2074,9 +2074,9 @@ BiosKeyboardFreeNotifyList (
} }
while (!IsListEmpty (ListHead)) { while (!IsListEmpty (ListHead)) {
NotifyNode = CR ( NotifyNode = CR (
ListHead->ForwardLink, ListHead->ForwardLink,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY, BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY,
NotifyEntry, NotifyEntry,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE
); );
RemoveEntryList (ListHead->ForwardLink); RemoveEntryList (ListHead->ForwardLink);
@ -2089,14 +2089,14 @@ BiosKeyboardFreeNotifyList (
/** /**
Check if key is registered. Check if key is registered.
@param RegsiteredData A pointer to a buffer that is filled in with the keystroke @param RegsiteredData A pointer to a buffer that is filled in with the keystroke
state data for the key that was registered. state data for the key that was registered.
@param InputData A pointer to a buffer that is filled in with the keystroke @param InputData A pointer to a buffer that is filled in with the keystroke
state data for the key that was pressed. state data for the key that was pressed.
@retval TRUE Key be pressed matches a registered key. @retval TRUE Key be pressed matches a registered key.
@retval FLASE Match failed. @retval FLASE Match failed.
**/ **/
BOOLEAN BOOLEAN
IsKeyRegistered ( IsKeyRegistered (
@ -2105,24 +2105,24 @@ IsKeyRegistered (
) )
{ {
ASSERT (RegsiteredData != NULL && InputData != NULL); ASSERT (RegsiteredData != NULL && InputData != NULL);
if ((RegsiteredData->Key.ScanCode != InputData->Key.ScanCode) || if ((RegsiteredData->Key.ScanCode != InputData->Key.ScanCode) ||
(RegsiteredData->Key.UnicodeChar != InputData->Key.UnicodeChar)) { (RegsiteredData->Key.UnicodeChar != InputData->Key.UnicodeChar)) {
return FALSE; return FALSE;
} }
// //
// Assume KeyShiftState/KeyToggleState = 0 in Registered key data means these state could be ignored. // Assume KeyShiftState/KeyToggleState = 0 in Registered key data means these state could be ignored.
// //
if (RegsiteredData->KeyState.KeyShiftState != 0 && if (RegsiteredData->KeyState.KeyShiftState != 0 &&
RegsiteredData->KeyState.KeyShiftState != InputData->KeyState.KeyShiftState) { RegsiteredData->KeyState.KeyShiftState != InputData->KeyState.KeyShiftState) {
return FALSE; return FALSE;
} }
if (RegsiteredData->KeyState.KeyToggleState != 0 && if (RegsiteredData->KeyState.KeyToggleState != 0 &&
RegsiteredData->KeyState.KeyToggleState != InputData->KeyState.KeyToggleState) { RegsiteredData->KeyState.KeyToggleState != InputData->KeyState.KeyToggleState) {
return FALSE; return FALSE;
} }
return TRUE; return TRUE;
} }
@ -2132,7 +2132,7 @@ IsKeyRegistered (
@param Event The event that be siganlled when any key has been stroked. @param Event The event that be siganlled when any key has been stroked.
@param Context Pointer of the protocol EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL. @param Context Pointer of the protocol EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.
**/ **/
VOID VOID
EFIAPI EFIAPI
@ -2140,22 +2140,22 @@ BiosKeyboardWaitForKeyEx (
IN EFI_EVENT Event, IN EFI_EVENT Event,
IN VOID *Context IN VOID *Context
) )
{ {
BIOS_KEYBOARD_DEV *BiosKeyboardPrivate; BIOS_KEYBOARD_DEV *BiosKeyboardPrivate;
BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (Context); BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (Context);
BiosKeyboardWaitForKey (Event, &BiosKeyboardPrivate->SimpleTextIn); BiosKeyboardWaitForKey (Event, &BiosKeyboardPrivate->SimpleTextIn);
} }
/** /**
Reset the input device and optionaly run diagnostics Reset the input device and optionaly run diagnostics
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param ExtendedVerification Driver may perform diagnostics on reset. @param ExtendedVerification Driver may perform diagnostics on reset.
@retval EFI_SUCCESS The device was reset. @retval EFI_SUCCESS The device was reset.
@retval EFI_DEVICE_ERROR The device is not functioning properly and could @retval EFI_DEVICE_ERROR The device is not functioning properly and could
not be reset. not be reset.
**/ **/
@ -2169,11 +2169,11 @@ BiosKeyboardResetEx (
BIOS_KEYBOARD_DEV *BiosKeyboardPrivate; BIOS_KEYBOARD_DEV *BiosKeyboardPrivate;
EFI_STATUS Status; EFI_STATUS Status;
EFI_TPL OldTpl; EFI_TPL OldTpl;
BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This); BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This);
Status = BiosKeyboardPrivate->SimpleTextIn.Reset ( Status = BiosKeyboardPrivate->SimpleTextIn.Reset (
&BiosKeyboardPrivate->SimpleTextIn, &BiosKeyboardPrivate->SimpleTextIn,
ExtendedVerification ExtendedVerification
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
@ -2183,25 +2183,25 @@ BiosKeyboardResetEx (
OldTpl = gBS->RaiseTPL (TPL_NOTIFY); OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
gBS->RestoreTPL (OldTpl); gBS->RestoreTPL (OldTpl);
return EFI_SUCCESS; return EFI_SUCCESS;
} }
/** /**
Reads the next keystroke from the input device. The WaitForKey Event can Reads the next keystroke from the input device. The WaitForKey Event can
be used to test for existance of a keystroke via WaitForEvent () call. be used to test for existance of a keystroke via WaitForEvent () call.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyData A pointer to a buffer that is filled in with the keystroke @param KeyData A pointer to a buffer that is filled in with the keystroke
state data for the key that was pressed. state data for the key that was pressed.
@retval EFI_SUCCESS The keystroke information was returned. @retval EFI_SUCCESS The keystroke information was returned.
@retval EFI_NOT_READY There was no keystroke data availiable. @retval EFI_NOT_READY There was no keystroke data availiable.
@retval EFI_DEVICE_ERROR The keystroke information was not returned due to @retval EFI_DEVICE_ERROR The keystroke information was not returned due to
hardware errors. hardware errors.
@retval EFI_INVALID_PARAMETER KeyData is NULL. @retval EFI_INVALID_PARAMETER KeyData is NULL.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -2215,27 +2215,27 @@ BiosKeyboardReadKeyStrokeEx (
if (KeyData == NULL) { if (KeyData == NULL) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This); BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This);
return KeyboardReadKeyStrokeWorker (BiosKeyboardPrivate, KeyData); return KeyboardReadKeyStrokeWorker (BiosKeyboardPrivate, KeyData);
} }
/** /**
Set certain state for the input device. Set certain state for the input device.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyToggleState A pointer to the EFI_KEY_TOGGLE_STATE to set the @param KeyToggleState A pointer to the EFI_KEY_TOGGLE_STATE to set the
state for the input device. state for the input device.
@retval EFI_SUCCESS The device state was set successfully. @retval EFI_SUCCESS The device state was set successfully.
@retval EFI_DEVICE_ERROR The device is not functioning correctly and could @retval EFI_DEVICE_ERROR The device is not functioning correctly and could
not have the setting adjusted. not have the setting adjusted.
@retval EFI_UNSUPPORTED The device does not have the ability to set its state. @retval EFI_UNSUPPORTED The device does not have the ability to set its state.
@retval EFI_INVALID_PARAMETER KeyToggleState is NULL. @retval EFI_INVALID_PARAMETER KeyToggleState is NULL.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
BiosKeyboardSetState ( BiosKeyboardSetState (
@ -2293,7 +2293,7 @@ BiosKeyboardSetState (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
} }
Status = KeyboardWaitForValue (BiosKeyboardPrivate, 0xfa, KEYBOARD_WAITFORVALUE_TIMEOUT); Status = KeyboardWaitForValue (BiosKeyboardPrivate, 0xfa, KEYBOARD_WAITFORVALUE_TIMEOUT);
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
@ -2303,7 +2303,7 @@ BiosKeyboardSetState (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
goto Exit; goto Exit;
} }
// //
// Call Legacy BIOS Protocol to set whatever is necessary // Call Legacy BIOS Protocol to set whatever is necessary
// //
@ -2325,12 +2325,12 @@ Exit:
Register a notification function for a particular keystroke for the input device. Register a notification function for a particular keystroke for the input device.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyData A pointer to a buffer that is filled in with the keystroke @param KeyData A pointer to a buffer that is filled in with the keystroke
information data for the key that was pressed. If KeyData.Key, information data for the key that was pressed. If KeyData.Key,
KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState
are 0, then any incomplete keystroke will trigger a notification of are 0, then any incomplete keystroke will trigger a notification of
the KeyNotificationFunction. the KeyNotificationFunction.
@param KeyNotificationFunction Points to the function to be called when the key @param KeyNotificationFunction Points to the function to be called when the key
sequence is typed specified by KeyData. This notification function sequence is typed specified by KeyData. This notification function
should be called at <=TPL_CALLBACK. should be called at <=TPL_CALLBACK.
@param NotifyHandle Points to the unique handle assigned to the registered notification. @param NotifyHandle Points to the unique handle assigned to the registered notification.
@ -2354,7 +2354,7 @@ BiosKeyboardRegisterKeyNotify (
EFI_TPL OldTpl; EFI_TPL OldTpl;
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *NewNotify; BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *NewNotify;
LIST_ENTRY *Link; LIST_ENTRY *Link;
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *CurrentNotify; BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *CurrentNotify;
if (KeyData == NULL || NotifyHandle == NULL || KeyNotificationFunction == NULL) { if (KeyData == NULL || NotifyHandle == NULL || KeyNotificationFunction == NULL) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
@ -2372,24 +2372,24 @@ BiosKeyboardRegisterKeyNotify (
// //
for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) { for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) {
CurrentNotify = CR ( CurrentNotify = CR (
Link, Link,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY, BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY,
NotifyEntry, NotifyEntry,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE
); );
if (IsKeyRegistered (&CurrentNotify->KeyData, KeyData)) { if (IsKeyRegistered (&CurrentNotify->KeyData, KeyData)) {
if (CurrentNotify->KeyNotificationFn == KeyNotificationFunction) { if (CurrentNotify->KeyNotificationFn == KeyNotificationFunction) {
*NotifyHandle = CurrentNotify; *NotifyHandle = CurrentNotify;
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
goto Exit; goto Exit;
} }
} }
} }
// //
// Allocate resource to save the notification function // Allocate resource to save the notification function
// //
NewNotify = (BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *) AllocateZeroPool (sizeof (BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY)); NewNotify = (BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *) AllocateZeroPool (sizeof (BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY));
if (NewNotify == NULL) { if (NewNotify == NULL) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
@ -2403,25 +2403,25 @@ BiosKeyboardRegisterKeyNotify (
*NotifyHandle = NewNotify; *NotifyHandle = NewNotify;
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
Exit: Exit:
// //
// Leave critical section and return // Leave critical section and return
// //
gBS->RestoreTPL (OldTpl); gBS->RestoreTPL (OldTpl);
return Status; return Status;
} }
/** /**
Remove a registered notification function from a particular keystroke. Remove a registered notification function from a particular keystroke.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param NotificationHandle The handle of the notification function being unregistered. @param NotificationHandle The handle of the notification function being unregistered.
@retval EFI_SUCCESS The notification function was unregistered successfully. @retval EFI_SUCCESS The notification function was unregistered successfully.
@retval EFI_INVALID_PARAMETER The NotificationHandle is invalid. @retval EFI_INVALID_PARAMETER The NotificationHandle is invalid.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
BiosKeyboardUnregisterKeyNotify ( BiosKeyboardUnregisterKeyNotify (
@ -2444,10 +2444,10 @@ BiosKeyboardUnregisterKeyNotify (
if (((BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *) NotificationHandle)->Signature != BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE) { if (((BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY *) NotificationHandle)->Signature != BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE) {
return EFI_INVALID_PARAMETER; return EFI_INVALID_PARAMETER;
} }
BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This); BiosKeyboardPrivate = TEXT_INPUT_EX_BIOS_KEYBOARD_DEV_FROM_THIS (This);
// //
// Enter critical section // Enter critical section
// //
@ -2455,22 +2455,22 @@ BiosKeyboardUnregisterKeyNotify (
for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) { for (Link = BiosKeyboardPrivate->NotifyList.ForwardLink; Link != &BiosKeyboardPrivate->NotifyList; Link = Link->ForwardLink) {
CurrentNotify = CR ( CurrentNotify = CR (
Link, Link,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY, BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY,
NotifyEntry, NotifyEntry,
BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE BIOS_KEYBOARD_CONSOLE_IN_EX_NOTIFY_SIGNATURE
); );
if (CurrentNotify == NotificationHandle) { if (CurrentNotify == NotificationHandle) {
// //
// Remove the notification function from NotifyList and free resources // Remove the notification function from NotifyList and free resources
// //
RemoveEntryList (&CurrentNotify->NotifyEntry); RemoveEntryList (&CurrentNotify->NotifyEntry);
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
goto Exit; goto Exit;
} }
} }
// //
// Can not find the specified Notification Handle // Can not find the specified Notification Handle
// //

View File

@ -234,7 +234,7 @@ typedef struct {
LIST_ENTRY NotifyList; LIST_ENTRY NotifyList;
EFI_EVENT KeyNotifyProcessEvent; EFI_EVENT KeyNotifyProcessEvent;
EFI_EVENT TimerEvent; EFI_EVENT TimerEvent;
} BIOS_KEYBOARD_DEV; } BIOS_KEYBOARD_DEV;
#define BIOS_KEYBOARD_DEV_FROM_THIS(a) CR (a, BIOS_KEYBOARD_DEV, SimpleTextIn, BIOS_KEYBOARD_DEV_SIGNATURE) #define BIOS_KEYBOARD_DEV_FROM_THIS(a) CR (a, BIOS_KEYBOARD_DEV, SimpleTextIn, BIOS_KEYBOARD_DEV_SIGNATURE)
@ -500,7 +500,7 @@ BiosKeyboardWaitForKey (
Check key buffer to get the key stroke status. Check key buffer to get the key stroke status.
@param This Pointer of the protocol EFI_SIMPLE_TEXT_IN_PROTOCOL. @param This Pointer of the protocol EFI_SIMPLE_TEXT_IN_PROTOCOL.
@retval EFI_SUCCESS A key is being pressed now. @retval EFI_SUCCESS A key is being pressed now.
@retval Other No key is now pressed. @retval Other No key is now pressed.
@ -517,7 +517,7 @@ BiosKeyboardCheckForKey (
@param KeyChar Unicode of key. @param KeyChar Unicode of key.
@param ScanCode Scan code of key. @param ScanCode Scan code of key.
@return The value of EFI Scancode for the key. @return The value of EFI Scancode for the key.
@retval SCAN_NULL No corresponding value in the EFI convert table is found for the key. @retval SCAN_NULL No corresponding value in the EFI convert table is found for the key.
**/ **/
@ -530,7 +530,7 @@ ConvertToEFIScanCode (
/** /**
Check whether there is Ps/2 Keyboard device in system by 0xF4 Keyboard Command Check whether there is Ps/2 Keyboard device in system by 0xF4 Keyboard Command
If Keyboard receives 0xF4, it will respond with 'ACK'. If it doesn't respond, the device If Keyboard receives 0xF4, it will respond with 'ACK'. If it doesn't respond, the device
should not be in system. should not be in system.
@param BiosKeyboardPrivate Keyboard Private Data Struture @param BiosKeyboardPrivate Keyboard Private Data Struture
@ -545,9 +545,9 @@ CheckKeyboardConnect (
/** /**
Timer event handler: read a series of key stroke from 8042 Timer event handler: read a series of key stroke from 8042
and put them into memory key buffer. and put them into memory key buffer.
It is registered as running under TPL_NOTIFY It is registered as running under TPL_NOTIFY
@param Event The timer event @param Event The timer event
@param Context A BIOS_KEYBOARD_DEV pointer @param Context A BIOS_KEYBOARD_DEV pointer
@ -574,12 +574,12 @@ KeyNotifyProcessHandler (
/** /**
Reset the input device and optionaly run diagnostics Reset the input device and optionaly run diagnostics
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param ExtendedVerification Driver may perform diagnostics on reset. @param ExtendedVerification Driver may perform diagnostics on reset.
@retval EFI_SUCCESS The device was reset. @retval EFI_SUCCESS The device was reset.
@retval EFI_DEVICE_ERROR The device is not functioning properly and could @retval EFI_DEVICE_ERROR The device is not functioning properly and could
not be reset. not be reset.
**/ **/
@ -591,19 +591,19 @@ BiosKeyboardResetEx (
); );
/** /**
Reads the next keystroke from the input device. The WaitForKey Event can Reads the next keystroke from the input device. The WaitForKey Event can
be used to test for existance of a keystroke via WaitForEvent () call. be used to test for existance of a keystroke via WaitForEvent () call.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyData A pointer to a buffer that is filled in with the keystroke @param KeyData A pointer to a buffer that is filled in with the keystroke
state data for the key that was pressed. state data for the key that was pressed.
@retval EFI_SUCCESS The keystroke information was returned. @retval EFI_SUCCESS The keystroke information was returned.
@retval EFI_NOT_READY There was no keystroke data availiable. @retval EFI_NOT_READY There was no keystroke data availiable.
@retval EFI_DEVICE_ERROR The keystroke information was not returned due to @retval EFI_DEVICE_ERROR The keystroke information was not returned due to
hardware errors. hardware errors.
@retval EFI_INVALID_PARAMETER KeyData is NULL. @retval EFI_INVALID_PARAMETER KeyData is NULL.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -616,16 +616,16 @@ BiosKeyboardReadKeyStrokeEx (
Set certain state for the input device. Set certain state for the input device.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyToggleState A pointer to the EFI_KEY_TOGGLE_STATE to set the @param KeyToggleState A pointer to the EFI_KEY_TOGGLE_STATE to set the
state for the input device. state for the input device.
@retval EFI_SUCCESS The device state was set successfully. @retval EFI_SUCCESS The device state was set successfully.
@retval EFI_DEVICE_ERROR The device is not functioning correctly and could @retval EFI_DEVICE_ERROR The device is not functioning correctly and could
not have the setting adjusted. not have the setting adjusted.
@retval EFI_UNSUPPORTED The device does not have the ability to set its state. @retval EFI_UNSUPPORTED The device does not have the ability to set its state.
@retval EFI_INVALID_PARAMETER KeyToggleState is NULL. @retval EFI_INVALID_PARAMETER KeyToggleState is NULL.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
BiosKeyboardSetState ( BiosKeyboardSetState (
@ -637,17 +637,17 @@ BiosKeyboardSetState (
Register a notification function for a particular keystroke for the input device. Register a notification function for a particular keystroke for the input device.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param KeyData A pointer to a buffer that is filled in with the keystroke @param KeyData A pointer to a buffer that is filled in with the keystroke
information data for the key that was pressed. If KeyData.Key, information data for the key that was pressed. If KeyData.Key,
KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState KeyData.KeyState.KeyToggleState and KeyData.KeyState.KeyShiftState
are 0, then any incomplete keystroke will trigger a notification of are 0, then any incomplete keystroke will trigger a notification of
the KeyNotificationFunction. the KeyNotificationFunction.
@param KeyNotificationFunction Points to the function to be called when the key @param KeyNotificationFunction Points to the function to be called when the key
sequence is typed specified by KeyData. This notification function sequence is typed specified by KeyData. This notification function
should be called at <=TPL_CALLBACK. should be called at <=TPL_CALLBACK.
@param NotifyHandle Points to the unique handle assigned to the registered notification. @param NotifyHandle Points to the unique handle assigned to the registered notification.
@retval EFI_SUCCESS The notification function was registered successfully. @retval EFI_SUCCESS The notification function was registered successfully.
@retval EFI_OUT_OF_RESOURCES Unable to allocate resources for necesssary data structures. @retval EFI_OUT_OF_RESOURCES Unable to allocate resources for necesssary data structures.
@retval EFI_INVALID_PARAMETER KeyData or NotifyHandle is NULL. @retval EFI_INVALID_PARAMETER KeyData or NotifyHandle is NULL.
@ -665,13 +665,13 @@ BiosKeyboardRegisterKeyNotify (
/** /**
Remove a registered notification function from a particular keystroke. Remove a registered notification function from a particular keystroke.
@param This Protocol instance pointer. @param This Protocol instance pointer.
@param NotificationHandle The handle of the notification function being unregistered. @param NotificationHandle The handle of the notification function being unregistered.
@retval EFI_SUCCESS The notification function was unregistered successfully. @retval EFI_SUCCESS The notification function was unregistered successfully.
@retval EFI_INVALID_PARAMETER The NotificationHandle is invalid. @retval EFI_INVALID_PARAMETER The NotificationHandle is invalid.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
BiosKeyboardUnregisterKeyNotify ( BiosKeyboardUnregisterKeyNotify (
@ -727,19 +727,19 @@ KeyboardWrite (
EFI_STATUS EFI_STATUS
BiosKeyboardFreeNotifyList ( BiosKeyboardFreeNotifyList (
IN OUT LIST_ENTRY *ListHead IN OUT LIST_ENTRY *ListHead
); );
/** /**
Check if key is registered. Check if key is registered.
@param RegsiteredData A pointer to a buffer that is filled in with the keystroke @param RegsiteredData A pointer to a buffer that is filled in with the keystroke
state data for the key that was registered. state data for the key that was registered.
@param InputData A pointer to a buffer that is filled in with the keystroke @param InputData A pointer to a buffer that is filled in with the keystroke
state data for the key that was pressed. state data for the key that was pressed.
@retval TRUE Key be pressed matches a registered key. @retval TRUE Key be pressed matches a registered key.
@retval FLASE Match failed. @retval FLASE Match failed.
**/ **/
BOOLEAN BOOLEAN
IsKeyRegistered ( IsKeyRegistered (
@ -752,7 +752,7 @@ IsKeyRegistered (
@param Event The event that be siganlled when any key has been stroked. @param Event The event that be siganlled when any key has been stroked.
@param Context Pointer of the protocol EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL. @param Context Pointer of the protocol EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.
**/ **/
VOID VOID
EFIAPI EFIAPI

View File

@ -1,10 +1,10 @@
## @file ## @file
# Ps2 Keyboard driver. # Ps2 Keyboard driver.
# #
# Ps2 Keyboard driver by using Legacy Bios protocol service and IsaIo protocol # Ps2 Keyboard driver by using Legacy Bios protocol service and IsaIo protocol
# service. This dirver uses legacy INT16 to get the key stroke status. # service. This dirver uses legacy INT16 to get the key stroke status.
# #
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR> # Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions # are licensed and made available under the terms and conditions

View File

@ -4,14 +4,14 @@
// Ps2 Keyboard driver by using Legacy Bios protocol service and IsaIo protocol // Ps2 Keyboard driver by using Legacy Bios protocol service and IsaIo protocol
// service. This dirver uses legacy INT16 to get the key stroke status. // service. This dirver uses legacy INT16 to get the key stroke status.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// KeyboardDxe Localized Strings and Content // KeyboardDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"Legacy Keyboard DXE Driver" "Legacy Keyboard DXE Driver"

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -42,9 +42,9 @@ BOOLEAN mCachedInt1A = FALSE;
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@param Ax PCI address of Undi device. @param Ax PCI address of Undi device.
@retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM.
@retval Others Status of start 16 bit UNDI ROM. @retval Others Status of start 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkStartUndi ( Undi16SimpleNetworkStartUndi (
@ -56,9 +56,9 @@ Undi16SimpleNetworkStartUndi (
Start the UNDI interface Start the UNDI interface
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM.
@retval Others Status of start 16 bit UNDI ROM. @retval Others Status of start 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkStopUndi ( Undi16SimpleNetworkStopUndi (
@ -69,9 +69,9 @@ Undi16SimpleNetworkStopUndi (
Stop the UNDI interface Stop the UNDI interface
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_DEVICE_ERROR Fail to stop 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to stop 16 bit UNDI ROM.
@retval Others Status of stop 16 bit UNDI ROM. @retval Others Status of stop 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkCleanupUndi ( Undi16SimpleNetworkCleanupUndi (
@ -82,9 +82,9 @@ Undi16SimpleNetworkCleanupUndi (
Get runtime information for Undi network interface Get runtime information for Undi network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get runtime information for Undi network interface. @retval Others Fail to get runtime information for Undi network interface.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkGetInformation ( Undi16SimpleNetworkGetInformation (
@ -95,8 +95,8 @@ Undi16SimpleNetworkGetInformation (
Get NIC type Get NIC type
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get NIC type. @retval Others Fail to get NIC type.
**/ **/
EFI_STATUS EFI_STATUS
@ -108,8 +108,8 @@ Undi16SimpleNetworkGetNicType (
Get NDIS information Get NDIS information
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get NDIS information. @retval Others Fail to get NDIS information.
**/ **/
EFI_STATUS EFI_STATUS
@ -119,11 +119,11 @@ Undi16SimpleNetworkGetNdisInfo (
/** /**
Signal handlers for ExitBootServices event. Signal handlers for ExitBootServices event.
Clean up any Real-mode UNDI residue from the system Clean up any Real-mode UNDI residue from the system
@param Event ExitBootServices event @param Event ExitBootServices event
@param Context @param Context
**/ **/
VOID VOID
EFIAPI EFIAPI
@ -136,7 +136,7 @@ Undi16SimpleNetworkEvent (
Loads the undi driver. Loads the undi driver.
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_SUCCESS - Successfully loads undi driver. @retval EFI_SUCCESS - Successfully loads undi driver.
@retval EFI_NOT_FOUND - Doesn't find undi driver or undi driver load failure. @retval EFI_NOT_FOUND - Doesn't find undi driver or undi driver load failure.
**/ **/
@ -149,8 +149,8 @@ Undi16SimpleNetworkLoadUndi (
Unload 16 bit UNDI Option ROM from memory Unload 16 bit UNDI Option ROM from memory
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@return EFI_STATUS @return EFI_STATUS
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkUnloadUndi ( Undi16SimpleNetworkUnloadUndi (
@ -162,8 +162,8 @@ Undi16SimpleNetworkUnloadUndi (
@param ImageHandle Handle that identifies the loaded image. @param ImageHandle Handle that identifies the loaded image.
@param SystemTable System Table for this image. @param SystemTable System Table for this image.
@return EFI_STATUS Return status from EfiLibInstallAllDriverProtocols. @return EFI_STATUS Return status from EfiLibInstallAllDriverProtocols.
**/ **/
EFI_STATUS EFI_STATUS
EFIAPI EFIAPI
@ -191,7 +191,7 @@ BiosSnp16DriverEntryPoint (
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller The handle of the controller to test. @param Controller The handle of the controller to test.
@param RemainingDevicePath A pointer to the remaining portion of a device path. @param RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The driver supports given controller. @retval EFI_SUCCESS The driver supports given controller.
@retval EFI_UNSUPPORT The driver doesn't support given controller. @retval EFI_UNSUPPORT The driver doesn't support given controller.
@retval Other Other errors prevent driver finishing to test @retval Other Other errors prevent driver finishing to test
@ -286,8 +286,8 @@ Done:
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller The handle of the controller to test. @param Controller The handle of the controller to test.
@param RemainingDevicePath A pointer to the remaining portion of a device path. @param RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS - The device was started. @retval EFI_SUCCESS - The device was started.
@retval EFI_DEVICE_ERROR - The device could not be started due to a device error. @retval EFI_DEVICE_ERROR - The device could not be started due to a device error.
@retval EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources. @retval EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources.
**/ **/
@ -506,12 +506,12 @@ BiosSnp16DriverBindingStart (
// Create an event to be signalled when Legacy Boot occurs to clean up the IVT // Create an event to be signalled when Legacy Boot occurs to clean up the IVT
// //
Status = EfiCreateEventLegacyBootEx( Status = EfiCreateEventLegacyBootEx(
TPL_NOTIFY, TPL_NOTIFY,
Undi16SimpleNetworkEvent, Undi16SimpleNetworkEvent,
NULL, NULL,
&SimpleNetworkDevice->LegacyBootEvent &SimpleNetworkDevice->LegacyBootEvent
); );
if (EFI_ERROR(Status)) { if (EFI_ERROR(Status)) {
DEBUG ((DEBUG_ERROR,"ERROR : Could not create event. Status = %r\n",Status)); DEBUG ((DEBUG_ERROR,"ERROR : Could not create event. Status = %r\n",Status));
goto Done; goto Done;
@ -750,7 +750,7 @@ Done:
if (SimpleNetworkDevice->LegacyBootEvent != NULL) { if (SimpleNetworkDevice->LegacyBootEvent != NULL) {
gBS->CloseEvent (SimpleNetworkDevice->LegacyBootEvent); gBS->CloseEvent (SimpleNetworkDevice->LegacyBootEvent);
} }
if (SimpleNetworkDevice->EfiBootEvent != NULL) { if (SimpleNetworkDevice->EfiBootEvent != NULL) {
gBS->CloseEvent (SimpleNetworkDevice->EfiBootEvent); gBS->CloseEvent (SimpleNetworkDevice->EfiBootEvent);
} }
@ -775,7 +775,7 @@ Done:
} }
gBS->FreePool (SimpleNetworkDevice); gBS->FreePool (SimpleNetworkDevice);
// //
// Only restore the vector if it was cached. // Only restore the vector if it was cached.
// //
@ -819,7 +819,7 @@ Done:
if (Status != EFI_OUT_OF_RESOURCES) { if (Status != EFI_OUT_OF_RESOURCES) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
} }
} }
return Status; return Status;
} }
@ -831,7 +831,7 @@ Done:
@param NumberOfChildren The number of child device handles in ChildHandleBuffer. @param NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param ChildHandleBuffer An array of child handles to be freed. May be NULL if @param ChildHandleBuffer An array of child handles to be freed. May be NULL if
NumberOfChildren is 0. NumberOfChildren is 0.
@retval EFI_SUCCESS - The device was stopped. @retval EFI_SUCCESS - The device was stopped.
@retval EFI_DEVICE_ERROR - The device could not be stopped due to a device error. @retval EFI_DEVICE_ERROR - The device could not be stopped due to a device error.
**/ **/
@ -899,7 +899,7 @@ BiosSnp16DriverBindingStop (
This->DriverBindingHandle, This->DriverBindingHandle,
Controller Controller
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
Status = EFI_DEVICE_ERROR; Status = EFI_DEVICE_ERROR;
} }
@ -973,7 +973,7 @@ BiosSnp16DriverBindingStop (
if (SimpleNetworkDevice->LegacyBootEvent != NULL) { if (SimpleNetworkDevice->LegacyBootEvent != NULL) {
gBS->CloseEvent (SimpleNetworkDevice->LegacyBootEvent); gBS->CloseEvent (SimpleNetworkDevice->LegacyBootEvent);
} }
if (SimpleNetworkDevice->EfiBootEvent != NULL) { if (SimpleNetworkDevice->EfiBootEvent != NULL) {
gBS->CloseEvent (SimpleNetworkDevice->EfiBootEvent); gBS->CloseEvent (SimpleNetworkDevice->EfiBootEvent);
} }
@ -1021,7 +1021,7 @@ BiosSnp16DriverBindingStop (
Judge whether transmit FIFO is full. Judge whether transmit FIFO is full.
@param Fifo Point to trasmit FIFO structure. @param Fifo Point to trasmit FIFO structure.
@return BOOLEAN whether transmit FIFO is full. @return BOOLEAN whether transmit FIFO is full.
**/ **/
BOOLEAN BOOLEAN
@ -1040,7 +1040,7 @@ SimpleNetworkTransmitFifoFull (
Judge whether transmit FIFO is empty. Judge whether transmit FIFO is empty.
@param Fifo Point to trasmit FIFO structure. @param Fifo Point to trasmit FIFO structure.
@return BOOLEAN whether transmit FIFO is empty. @return BOOLEAN whether transmit FIFO is empty.
**/ **/
BOOLEAN BOOLEAN
@ -1061,9 +1061,9 @@ SimpleNetworkTransmitFifoEmpty (
@param Fifo Point to trasmit FIFO structure. @param Fifo Point to trasmit FIFO structure.
@param Data The data point want to be added. @param Data The data point want to be added.
@retval EFI_OUT_OF_RESOURCES FIFO is full @retval EFI_OUT_OF_RESOURCES FIFO is full
@retval EFI_SUCCESS Success operation. @retval EFI_SUCCESS Success operation.
**/ **/
EFI_STATUS EFI_STATUS
SimpleNetworkTransmitFifoAdd ( SimpleNetworkTransmitFifoAdd (
@ -1085,9 +1085,9 @@ SimpleNetworkTransmitFifoAdd (
@param Fifo Point to trasmit FIFO structure. @param Fifo Point to trasmit FIFO structure.
@param Data On return, point to the data point want to be got and removed. @param Data On return, point to the data point want to be got and removed.
@retval EFI_OUT_OF_RESOURCES network transmit buffer is empty. @retval EFI_OUT_OF_RESOURCES network transmit buffer is empty.
@retval EFI_SUCCESS Success operation. @retval EFI_SUCCESS Success operation.
**/ **/
EFI_STATUS EFI_STATUS
SimpleNetworkTransmitFifoRemove ( SimpleNetworkTransmitFifoRemove (
@ -1108,7 +1108,7 @@ SimpleNetworkTransmitFifoRemove (
Get recive filter setting according to EFI mask value. Get recive filter setting according to EFI mask value.
@param ReceiveFilterSetting filter setting EFI mask value. @param ReceiveFilterSetting filter setting EFI mask value.
@return UINT16 Undi filter setting value. @return UINT16 Undi filter setting value.
**/ **/
UINT16 UINT16
@ -1149,11 +1149,11 @@ Undi16GetPacketFilterSetting (
/** /**
Get filter setting from multi cast buffer . Get filter setting from multi cast buffer .
@param Mode Point to mode structure. @param Mode Point to mode structure.
@param McastBuffer The multi cast buffer @param McastBuffer The multi cast buffer
@param HwAddressSize Size of filter value. @param HwAddressSize Size of filter value.
**/ **/
VOID VOID
Undi16GetMCastFilters ( Undi16GetMCastFilters (
@ -1183,7 +1183,7 @@ Undi16GetMCastFilters (
Loads the undi driver. Loads the undi driver.
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_SUCCESS - Successfully loads undi driver. @retval EFI_SUCCESS - Successfully loads undi driver.
@retval EFI_NOT_FOUND - Doesn't find undi driver or undi driver load failure. @retval EFI_NOT_FOUND - Doesn't find undi driver or undi driver load failure.
**/ **/
@ -1198,11 +1198,11 @@ Undi16SimpleNetworkLoadUndi (
PCI_EXPANSION_ROM_HEADER *PciExpansionRomHeader; PCI_EXPANSION_ROM_HEADER *PciExpansionRomHeader;
PCI_DATA_STRUCTURE *PciDataStructure; PCI_DATA_STRUCTURE *PciDataStructure;
PCI_TYPE00 Pci; PCI_TYPE00 Pci;
if (!mCachedInt1A) { if (!mCachedInt1A) {
Status = CacheVectorAddress (0x1A); Status = CacheVectorAddress (0x1A);
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
mCachedInt1A = TRUE; mCachedInt1A = TRUE;
} }
} }
@ -1227,8 +1227,8 @@ Undi16SimpleNetworkLoadUndi (
DEBUG ((DEBUG_INIT, "Option ROM found at %X\n", RomAddress)); DEBUG ((DEBUG_INIT, "Option ROM found at %X\n", RomAddress));
// //
// If the pointer to the PCI Data Structure is invalid, no further images can be located. // If the pointer to the PCI Data Structure is invalid, no further images can be located.
// The PCI Data Structure must be DWORD aligned. // The PCI Data Structure must be DWORD aligned.
// //
if (PciExpansionRomHeader->PcirOffset == 0 || if (PciExpansionRomHeader->PcirOffset == 0 ||
(PciExpansionRomHeader->PcirOffset & 3) != 0 || (PciExpansionRomHeader->PcirOffset & 3) != 0 ||
@ -1249,7 +1249,7 @@ Undi16SimpleNetworkLoadUndi (
} }
DEBUG ( DEBUG (
(DEBUG_INIT, (DEBUG_INIT,
"PCI device with matchinng VendorId and DeviceId (%d,%d)\n", "PCI device with matchinng VendorId and DeviceId (%d,%d)\n",
(UINTN) PciDataStructure->VendorId, (UINTN) PciDataStructure->VendorId,
(UINTN) PciDataStructure->DeviceId) (UINTN) PciDataStructure->DeviceId)
@ -1260,7 +1260,7 @@ Undi16SimpleNetworkLoadUndi (
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
return EFI_SUCCESS; return EFI_SUCCESS;
} }
// //
// Free resources allocated in LaunchBaseCode // Free resources allocated in LaunchBaseCode
// //
@ -1274,8 +1274,8 @@ Undi16SimpleNetworkLoadUndi (
Unload 16 bit UNDI Option ROM from memory Unload 16 bit UNDI Option ROM from memory
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@return EFI_STATUS @return EFI_STATUS
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkUnloadUndi ( Undi16SimpleNetworkUnloadUndi (
@ -1331,9 +1331,9 @@ Undi16SimpleNetworkUnloadUndi (
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@param Ax PCI address of Undi device. @param Ax PCI address of Undi device.
@retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to start 16 bit UNDI ROM.
@retval Others Status of start 16 bit UNDI ROM. @retval Others Status of start 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkStartUndi ( Undi16SimpleNetworkStartUndi (
@ -1376,9 +1376,9 @@ Undi16SimpleNetworkStartUndi (
Stop the UNDI interface Stop the UNDI interface
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_DEVICE_ERROR Fail to stop 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to stop 16 bit UNDI ROM.
@retval Others Status of stop 16 bit UNDI ROM. @retval Others Status of stop 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkStopUndi ( Undi16SimpleNetworkStopUndi (
@ -1411,9 +1411,9 @@ Undi16SimpleNetworkStopUndi (
Cleanup Unid network interface Cleanup Unid network interface
@param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure. @param SimpleNetworkDevice A pointer to EFI_SIMPLE_NETWORK_DEV data structure.
@retval EFI_DEVICE_ERROR Fail to cleanup 16 bit UNDI ROM. @retval EFI_DEVICE_ERROR Fail to cleanup 16 bit UNDI ROM.
@retval Others Status of cleanup 16 bit UNDI ROM. @retval Others Status of cleanup 16 bit UNDI ROM.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkCleanupUndi ( Undi16SimpleNetworkCleanupUndi (
@ -1446,9 +1446,9 @@ Undi16SimpleNetworkCleanupUndi (
Get runtime information for Undi network interface Get runtime information for Undi network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get runtime information for Undi network interface. @retval Others Fail to get runtime information for Undi network interface.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkGetInformation ( Undi16SimpleNetworkGetInformation (
@ -1577,8 +1577,8 @@ Undi16SimpleNetworkGetInformation (
Get NIC type Get NIC type
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get NIC type. @retval Others Fail to get NIC type.
**/ **/
EFI_STATUS EFI_STATUS
@ -1628,8 +1628,8 @@ Undi16SimpleNetworkGetNicType (
Get NDIS information Get NDIS information
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_SUCCESS Sucess operation. @retval EFI_SUCCESS Sucess operation.
@retval Others Fail to get NDIS information. @retval Others Fail to get NDIS information.
**/ **/
EFI_STATUS EFI_STATUS
@ -1687,9 +1687,9 @@ Undi16SimpleNetworkGetNdisInfo (
@param Frame The frame buffer to process network interrupt. @param Frame The frame buffer to process network interrupt.
@param ProtType The type network transmit protocol @param ProtType The type network transmit protocol
@param PktType The type of package. @param PktType The type of package.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM's ISR, or status is invalid. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM's ISR, or status is invalid.
@retval EFI_SUCCESS Success operation. @retval EFI_SUCCESS Success operation.
**/ **/
EFI_STATUS EFI_STATUS
Undi16SimpleNetworkIsr ( Undi16SimpleNetworkIsr (
@ -1902,7 +1902,7 @@ Undi16SimpleNetworkIsr (
Call 16 bit UNDI ROM to start the network interface Call 16 bit UNDI ROM to start the network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_DEVICE_ERROR Network interface has not be initialized. @retval EFI_DEVICE_ERROR Network interface has not be initialized.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
@ -1976,7 +1976,7 @@ Undi16SimpleNetworkStart (
Call 16 bit UNDI ROM to stop the network interface Call 16 bit UNDI ROM to stop the network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_DEVICE_ERROR Network interface has not be initialized. @retval EFI_DEVICE_ERROR Network interface has not be initialized.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
@ -2024,12 +2024,12 @@ Undi16SimpleNetworkStop (
// Initialize() // Initialize()
// //
/** /**
Initialize network interface Initialize network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param ExtraRxBufferSize The size of extra request receive buffer. @param ExtraRxBufferSize The size of extra request receive buffer.
@param ExtraTxBufferSize The size of extra request transmit buffer. @param ExtraTxBufferSize The size of extra request transmit buffer.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
**/ **/
@ -2147,7 +2147,7 @@ Undi16SimpleNetworkInitialize (
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param ExtendedVerification Need extended verfication. @param ExtendedVerification Need extended verfication.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -2228,7 +2228,7 @@ Undi16SimpleNetworkReset (
Shutdown network interface. Shutdown network interface.
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -2341,7 +2341,7 @@ Undi16SimpleNetworkShutdown (
@param ResetMCastFilter Whether reset multi cast filter or not @param ResetMCastFilter Whether reset multi cast filter or not
@param MCastFilterCnt Count of mutli cast filter for different MAC address @param MCastFilterCnt Count of mutli cast filter for different MAC address
@param MCastFilter Buffer for mustli cast filter for different MAC address. @param MCastFilter Buffer for mustli cast filter for different MAC address.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -2481,7 +2481,7 @@ Undi16SimpleNetworkReceiveFilters (
&SimpleNetworkDevice->SimpleNetworkMode.MCastFilter[Index], &SimpleNetworkDevice->SimpleNetworkMode.MCastFilter[Index],
&MCastFilter[Index], &MCastFilter[Index],
sizeof (EFI_MAC_ADDRESS) sizeof (EFI_MAC_ADDRESS)
); );
} }
} }
// //
@ -2498,7 +2498,7 @@ Undi16SimpleNetworkReceiveFilters (
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param Reset Whether reset station MAC address to permanent address @param Reset Whether reset station MAC address to permanent address
@param New A pointer to New address @param New A pointer to New address
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -2852,11 +2852,11 @@ Undi16SimpleNetworkStatistics (
@param IPv6 IPv6 or IPv4 @param IPv6 IPv6 or IPv4
@param IP A pointer to given Ip address. @param IP A pointer to given Ip address.
@param MAC On return, translated MAC address. @param MAC On return, translated MAC address.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_INVALID_PARAMETER Invalid IP address. @retval EFI_INVALID_PARAMETER Invalid IP address.
@retval EFI_INVALID_PARAMETER Invalid return buffer for holding MAC address. @retval EFI_INVALID_PARAMETER Invalid return buffer for holding MAC address.
@retval EFI_UNSUPPORTED Do not support IPv6 @retval EFI_UNSUPPORTED Do not support IPv6
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@retval EFI_DEVICE_ERROR Invalid status for network device @retval EFI_DEVICE_ERROR Invalid status for network device
@ -2937,7 +2937,7 @@ Undi16SimpleNetworkMCastIpToMac (
// NvData() // NvData()
// //
/** /**
Performs read and write operations on the NVRAM device attached to a Performs read and write operations on the NVRAM device attached to a
network interface. network interface.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@ -2972,7 +2972,7 @@ Undi16SimpleNetworkNvData (
// GetStatus() // GetStatus()
// //
/** /**
Reads the current interrupt status and recycled transmit buffer status from Reads the current interrupt status and recycled transmit buffer status from
a network interface. a network interface.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@ -3089,7 +3089,7 @@ Undi16SimpleNetworkGetStatus (
@retval EFI_SUCCESS The packet was placed on the transmit queue. @retval EFI_SUCCESS The packet was placed on the transmit queue.
@retval EFI_NOT_STARTED The network interface has not been started. @retval EFI_NOT_STARTED The network interface has not been started.
@retval EFI_NOT_READY The network interface is too busy to accept this transmit request. @retval EFI_NOT_READY The network interface is too busy to accept this transmit request.
@retval EFI_BUFFER_TOO_SMALL The BufferSize parameter is too small. @retval EFI_BUFFER_TOO_SMALL The BufferSize parameter is too small.
@retval EFI_INVALID_PARAMETER One or more of the parameters has an unsupported value. @retval EFI_INVALID_PARAMETER One or more of the parameters has an unsupported value.
@retval EFI_DEVICE_ERROR The command could not be sent to the network interface. @retval EFI_DEVICE_ERROR The command could not be sent to the network interface.
@ -3257,7 +3257,7 @@ Undi16SimpleNetworkTransmit (
/** /**
Receives a packet from a network interface. Receives a packet from a network interface.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@param HeaderSize The size, in bytes, of the media header received on the network @param HeaderSize The size, in bytes, of the media header received on the network
interface. If this parameter is NULL, then the media header size interface. If this parameter is NULL, then the media header size
@ -3377,7 +3377,7 @@ Undi16SimpleNetworkReceive (
@param Event Event used with WaitForEvent() to wait for a packet to be received. @param Event Event used with WaitForEvent() to wait for a packet to be received.
@param Context Event Context @param Context Event Context
**/ **/
VOID VOID
EFIAPI EFIAPI
@ -3401,7 +3401,7 @@ Undi16SimpleNetworkWaitForPacket (
Check whether packet is ready for receive. Check whether packet is ready for receive.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@retval EFI_SUCCESS Receive data is ready. @retval EFI_SUCCESS Receive data is ready.
@retval EFI_NOT_STARTED The network interface has not been started. @retval EFI_NOT_STARTED The network interface has not been started.
@retval EFI_NOT_READY The network interface is too busy to accept this transmit @retval EFI_NOT_READY The network interface is too busy to accept this transmit
@ -3466,11 +3466,11 @@ Undi16SimpleNetworkCheckForPacket (
/** /**
Signal handlers for ExitBootServices event. Signal handlers for ExitBootServices event.
Clean up any Real-mode UNDI residue from the system Clean up any Real-mode UNDI residue from the system
@param Event ExitBootServices event @param Event ExitBootServices event
@param Context @param Context
**/ **/
VOID VOID
EFIAPI EFIAPI
@ -3494,7 +3494,7 @@ Undi16SimpleNetworkEvent (
@param NumPages The number pages want to be allocated. @param NumPages The number pages want to be allocated.
@param Buffer On return, allocated buffer. @param Buffer On return, allocated buffer.
@return Status of allocating pages. @return Status of allocating pages.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -119,7 +119,7 @@ extern EFI_COMPONENT_NAME2_PROTOCOL gBiosSnp16ComponentName2;
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller The handle of the controller to test. @param Controller The handle of the controller to test.
@param RemainingDevicePath A pointer to the remaining portion of a device path. @param RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS The driver supports given controller. @retval EFI_SUCCESS The driver supports given controller.
@retval EFI_UNSUPPORT The driver doesn't support given controller. @retval EFI_UNSUPPORT The driver doesn't support given controller.
@retval Other Other errors prevent driver finishing to test @retval Other Other errors prevent driver finishing to test
@ -140,8 +140,8 @@ BiosSnp16DriverBindingSupported (
@param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance. @param This A pointer to the EFI_DRIVER_BINDING_PROTOCOL instance.
@param Controller The handle of the controller to test. @param Controller The handle of the controller to test.
@param RemainingDevicePath A pointer to the remaining portion of a device path. @param RemainingDevicePath A pointer to the remaining portion of a device path.
@retval EFI_SUCCESS - The device was started. @retval EFI_SUCCESS - The device was started.
@retval EFI_DEVICE_ERROR - The device could not be started due to a device error. @retval EFI_DEVICE_ERROR - The device could not be started due to a device error.
@retval EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources. @retval EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources.
**/ **/
@ -162,7 +162,7 @@ BiosSnp16DriverBindingStart (
@param NumberOfChildren The number of child device handles in ChildHandleBuffer. @param NumberOfChildren The number of child device handles in ChildHandleBuffer.
@param ChildHandleBuffer An array of child handles to be freed. May be NULL if @param ChildHandleBuffer An array of child handles to be freed. May be NULL if
NumberOfChildren is 0. NumberOfChildren is 0.
@retval EFI_SUCCESS - The device was stopped. @retval EFI_SUCCESS - The device was stopped.
@retval EFI_DEVICE_ERROR - The device could not be stopped due to a device error. @retval EFI_DEVICE_ERROR - The device could not be stopped due to a device error.
**/ **/
@ -183,7 +183,7 @@ BiosSnp16DriverBindingStop (
Call 16 bit UNDI ROM to start the network interface Call 16 bit UNDI ROM to start the network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_DEVICE_ERROR Network interface has not be initialized. @retval EFI_DEVICE_ERROR Network interface has not be initialized.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
@ -199,7 +199,7 @@ Undi16SimpleNetworkStart (
Call 16 bit UNDI ROM to stop the network interface Call 16 bit UNDI ROM to stop the network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_DEVICE_ERROR Network interface has not be initialized. @retval EFI_DEVICE_ERROR Network interface has not be initialized.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
@ -212,12 +212,12 @@ Undi16SimpleNetworkStop (
; ;
/** /**
Initialize network interface Initialize network interface
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param ExtraRxBufferSize The size of extra request receive buffer. @param ExtraRxBufferSize The size of extra request receive buffer.
@param ExtraTxBufferSize The size of extra request transmit buffer. @param ExtraTxBufferSize The size of extra request transmit buffer.
@retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call. @retval EFI_DEVICE_ERROR Fail to execute 16 bit ROM call.
@retval EFI_SUCESS Success operation. @retval EFI_SUCESS Success operation.
**/ **/
@ -235,7 +235,7 @@ Undi16SimpleNetworkInitialize (
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param ExtendedVerification Need extended verfication. @param ExtendedVerification Need extended verfication.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -254,7 +254,7 @@ Undi16SimpleNetworkReset (
Shutdown network interface. Shutdown network interface.
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -277,7 +277,7 @@ Undi16SimpleNetworkShutdown (
@param ResetMCastFilter Whether reset multi cast filter or not @param ResetMCastFilter Whether reset multi cast filter or not
@param MCastFilterCnt Count of mutli cast filter for different MAC address @param MCastFilterCnt Count of mutli cast filter for different MAC address
@param MCastFilter Buffer for mustli cast filter for different MAC address. @param MCastFilter Buffer for mustli cast filter for different MAC address.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -302,7 +302,7 @@ Undi16SimpleNetworkReceiveFilters (
@param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure. @param This A pointer to EFI_SIMPLE_NETWORK_PROTOCOL structure.
@param Reset Whether reset station MAC address to permanent address @param Reset Whether reset station MAC address to permanent address
@param New A pointer to New address @param New A pointer to New address
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -325,7 +325,7 @@ Undi16SimpleNetworkStationAddress (
@param Reset Whether cleanup old statistics data. @param Reset Whether cleanup old statistics data.
@param StatisticsSize The buffer of statistics table. @param StatisticsSize The buffer of statistics table.
@param StatisticsTable A pointer to statistics buffer. @param StatisticsTable A pointer to statistics buffer.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@ -349,11 +349,11 @@ Undi16SimpleNetworkStatistics (
@param IPv6 IPv6 or IPv4 @param IPv6 IPv6 or IPv4
@param IP A pointer to given Ip address. @param IP A pointer to given Ip address.
@param MAC On return, translated MAC address. @param MAC On return, translated MAC address.
@retval EFI_INVALID_PARAMETER Invalid This parameter. @retval EFI_INVALID_PARAMETER Invalid This parameter.
@retval EFI_INVALID_PARAMETER Invalid IP address. @retval EFI_INVALID_PARAMETER Invalid IP address.
@retval EFI_INVALID_PARAMETER Invalid return buffer for holding MAC address. @retval EFI_INVALID_PARAMETER Invalid return buffer for holding MAC address.
@retval EFI_UNSUPPORTED Do not support IPv6 @retval EFI_UNSUPPORTED Do not support IPv6
@retval EFI_DEVICE_ERROR Network device has not been initialized. @retval EFI_DEVICE_ERROR Network device has not been initialized.
@retval EFI_NOT_STARTED Network device has been stopped. @retval EFI_NOT_STARTED Network device has been stopped.
@retval EFI_DEVICE_ERROR Invalid status for network device @retval EFI_DEVICE_ERROR Invalid status for network device
@ -370,7 +370,7 @@ Undi16SimpleNetworkMCastIpToMac (
; ;
/** /**
Performs read and write operations on the NVRAM device attached to a Performs read and write operations on the NVRAM device attached to a
network interface. network interface.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@ -401,7 +401,7 @@ Undi16SimpleNetworkNvData (
; ;
/** /**
Reads the current interrupt status and recycled transmit buffer status from Reads the current interrupt status and recycled transmit buffer status from
a network interface. a network interface.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@ -460,7 +460,7 @@ Undi16SimpleNetworkGetStatus (
@retval EFI_SUCCESS The packet was placed on the transmit queue. @retval EFI_SUCCESS The packet was placed on the transmit queue.
@retval EFI_NOT_STARTED The network interface has not been started. @retval EFI_NOT_STARTED The network interface has not been started.
@retval EFI_NOT_READY The network interface is too busy to accept this transmit request. @retval EFI_NOT_READY The network interface is too busy to accept this transmit request.
@retval EFI_BUFFER_TOO_SMALL The BufferSize parameter is too small. @retval EFI_BUFFER_TOO_SMALL The BufferSize parameter is too small.
@retval EFI_INVALID_PARAMETER One or more of the parameters has an unsupported value. @retval EFI_INVALID_PARAMETER One or more of the parameters has an unsupported value.
@retval EFI_DEVICE_ERROR The command could not be sent to the network interface. @retval EFI_DEVICE_ERROR The command could not be sent to the network interface.
@ -530,7 +530,7 @@ Undi16SimpleNetworkReceive (
@param Event Event used with WaitForEvent() to wait for a packet to be received. @param Event Event used with WaitForEvent() to wait for a packet to be received.
@param Context Event Context @param Context Event Context
**/ **/
VOID VOID
EFIAPI EFIAPI
@ -544,7 +544,7 @@ Undi16SimpleNetworkWaitForPacket (
Check whether packet is ready for receive. Check whether packet is ready for receive.
@param This The protocol instance pointer. @param This The protocol instance pointer.
@retval EFI_SUCCESS Receive data is ready. @retval EFI_SUCCESS Receive data is ready.
@retval EFI_NOT_STARTED The network interface has not been started. @retval EFI_NOT_STARTED The network interface has not been started.
@retval EFI_NOT_READY The network interface is too busy to accept this transmit @retval EFI_NOT_READY The network interface is too busy to accept this transmit
@ -564,7 +564,7 @@ Undi16SimpleNetworkCheckForPacket (
Cache Interrupt verctor address converted from IVT number. Cache Interrupt verctor address converted from IVT number.
@param VectorNumber IVT number @param VectorNumber IVT number
@retval EFI_SUCCESS Success to operation. @retval EFI_SUCCESS Success to operation.
**/ **/
EFI_STATUS EFI_STATUS
@ -574,10 +574,10 @@ CacheVectorAddress (
; ;
/** /**
Get interrupt vector address according to IVT number. Get interrupt vector address according to IVT number.
@param VectorNumber Given IVT number @param VectorNumber Given IVT number
@return cached interrupt vector address. @return cached interrupt vector address.
**/ **/
EFI_STATUS EFI_STATUS
@ -590,14 +590,14 @@ RestoreCachedVectorAddress (
If available, launch the BaseCode from a NIC option ROM. If available, launch the BaseCode from a NIC option ROM.
This should install the !PXE and PXENV+ structures in memory for This should install the !PXE and PXENV+ structures in memory for
subsequent use. subsequent use.
@param SimpleNetworkDevice Simple network device instance @param SimpleNetworkDevice Simple network device instance
@param RomAddress The ROM base address for NIC rom. @param RomAddress The ROM base address for NIC rom.
@retval EFI_NOT_FOUND The check sum does not match @retval EFI_NOT_FOUND The check sum does not match
@retval EFI_NOT_FOUND Rom ID offset is wrong @retval EFI_NOT_FOUND Rom ID offset is wrong
@retval EFI_NOT_FOUND No Rom ID structure is found @retval EFI_NOT_FOUND No Rom ID structure is found
**/ **/
EFI_STATUS EFI_STATUS
LaunchBaseCode ( LaunchBaseCode (
@ -607,7 +607,7 @@ LaunchBaseCode (
; ;
/** /**
PXE PXE
START UNDI START UNDI
Op-Code: PXENV_START_UNDI (0000h) Op-Code: PXENV_START_UNDI (0000h)
Input: Far pointer to a PXENV_START_UNDI_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_START_UNDI_T parameter structure that has been initialized by the caller.
@ -636,13 +636,13 @@ LaunchBaseCode (
contents of these registers can be found in the [PnP], [PCI] and contents of these registers can be found in the [PnP], [PCI] and
[BBS] specifications. [BBS] specifications.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeStartUndi ( PxeStartUndi (
@ -652,8 +652,8 @@ PxeStartUndi (
; ;
/** /**
PXE PXE
UNDI STARTUP UNDI STARTUP
Op-Code: PXENV_UNDI_STARTUP (0001h) Op-Code: PXENV_UNDI_STARTUP (0001h)
Input: Far pointer to a PXENV_UNDI_STARTUP_T parameter structure that has been initialized by the Input: Far pointer to a PXENV_UNDI_STARTUP_T parameter structure that has been initialized by the
caller. caller.
@ -670,7 +670,7 @@ PxeStartUndi (
chaining interrupt 1Ah. This must be done by the PXENV_START_UNDI and chaining interrupt 1Ah. This must be done by the PXENV_START_UNDI and
PXENV_STOP_UNDI API calls. PXENV_STOP_UNDI API calls.
This service cannot be used in protected mode. This service cannot be used in protected mode.
typedef struct typedef struct
{ {
PXENV_STATUS Status; PXENV_STATUS Status;
} PXENV_UNDI_STARTUP_T; } PXENV_UNDI_STARTUP_T;
@ -680,10 +680,10 @@ PxeStartUndi (
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiStartup ( PxeUndiStartup (
@ -693,7 +693,7 @@ PxeUndiStartup (
; ;
/** /**
PXE PXE
UNDI CLEANUP UNDI CLEANUP
Op-Code: PXENV_UNDI_CLEANUP (0002h) Op-Code: PXENV_UNDI_CLEANUP (0002h)
Input: Far pointer to a PXENV_UNDI_CLEANUP_T parameter structure. Input: Far pointer to a PXENV_UNDI_CLEANUP_T parameter structure.
@ -713,10 +713,10 @@ PxeUndiStartup (
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiCleanup ( PxeUndiCleanup (
@ -726,7 +726,7 @@ PxeUndiCleanup (
; ;
/** /**
PXE PXE
UNDI INITIALIZE UNDI INITIALIZE
Op-Code: PXENV_UNDI_INITIALIZE (0003h) Op-Code: PXENV_UNDI_INITIALIZE (0003h)
Input: Far pointer to a PXENV_UNDI_INITIALIZE_T parameter structure that has been initialized by the Input: Far pointer to a PXENV_UNDI_INITIALIZE_T parameter structure that has been initialized by the
@ -756,13 +756,13 @@ PxeUndiCleanup (
protocol.ini file was done by NDIS.) This value can be NULL for any protocol.ini file was done by NDIS.) This value can be NULL for any
other application interfacing to the universal NIC driver other application interfacing to the universal NIC driver
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance. @param SimpleNetworkDevice Device instance.
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiInitialize ( PxeUndiInitialize (
@ -773,8 +773,8 @@ PxeUndiInitialize (
/** /**
Wrapper routine for reset adapter. Wrapper routine for reset adapter.
PXE PXE
UNDI RESET ADAPTER UNDI RESET ADAPTER
Op-Code: PXENV_UNDI_RESET_ADAPTER (0004h) Op-Code: PXENV_UNDI_RESET_ADAPTER (0004h)
Input: Far pointer to a PXENV_UNDI_RESET_ADAPTER_t parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_RESET_ADAPTER_t parameter structure that has been initialized
@ -806,13 +806,13 @@ PxeUndiInitialize (
addresses. addresses.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance. @param SimpleNetworkDevice Device instance.
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@param RxFilter Filter setting mask value for PXE recive . @param RxFilter Filter setting mask value for PXE recive .
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiResetNic ( PxeUndiResetNic (
@ -823,7 +823,7 @@ PxeUndiResetNic (
; ;
/** /**
PXE PXE
UNDI SHUTDOWN UNDI SHUTDOWN
Op-Code: PXENV_UNDI_SHUTDOWN (0005h) Op-Code: PXENV_UNDI_SHUTDOWN (0005h)
Input: Far pointer to a PXENV_UNDI_SHUTDOWN_T parameter. Input: Far pointer to a PXENV_UNDI_SHUTDOWN_T parameter.
@ -833,7 +833,7 @@ PxeUndiResetNic (
Description: This call resets the network adapter and leaves it in a safe state for another driver to program it. Description: This call resets the network adapter and leaves it in a safe state for another driver to program it.
Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the
Universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again. Universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again.
typedef struct typedef struct
{ {
PXENV_STATUS Status; PXENV_STATUS Status;
} PXENV_UNDI_SHUTDOWN_T; } PXENV_UNDI_SHUTDOWN_T;
@ -841,12 +841,12 @@ PxeUndiResetNic (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiShutdown ( PxeUndiShutdown (
@ -856,7 +856,7 @@ PxeUndiShutdown (
; ;
/** /**
PXE PXE
UNDI OPEN UNDI OPEN
Op-Code: PXENV_UNDI_OPEN (0006h) Op-Code: PXENV_UNDI_OPEN (0006h)
Input: Far pointer to a PXENV_UNDI_OPEN_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_UNDI_OPEN_T parameter structure that has been initialized by the caller.
@ -888,12 +888,12 @@ PxeUndiShutdown (
R_Mcast_Buf: See definition in UNDI RESET ADAPTER (0004h). R_Mcast_Buf: See definition in UNDI RESET ADAPTER (0004h).
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiOpen ( PxeUndiOpen (
@ -903,7 +903,7 @@ PxeUndiOpen (
; ;
/** /**
PXE PXE
UNDI CLOSE UNDI CLOSE
Op-Code: PXENV_UNDI_CLOSE (0007h) Op-Code: PXENV_UNDI_CLOSE (0007h)
Input: Far pointer to a PXENV_UNDI_CLOSE_T parameter. Input: Far pointer to a PXENV_UNDI_CLOSE_T parameter.
@ -919,12 +919,12 @@ PxeUndiOpen (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiClose ( PxeUndiClose (
@ -934,7 +934,7 @@ PxeUndiClose (
; ;
/** /**
PXE PXE
UNDI TRANSMIT PACKET UNDI TRANSMIT PACKET
Op-Code: PXENV_UNDI_TRANSMIT (0008h) Op-Code: PXENV_UNDI_TRANSMIT (0008h)
Input: Far pointer to a PXENV_UNDI_TRANSMIT_T parameter structure that Input: Far pointer to a PXENV_UNDI_TRANSMIT_T parameter structure that
@ -1004,13 +1004,13 @@ PxeUndiClose (
TDDataPtr: Segment:Offset of the transmit block. TDDataPtr: Segment:Offset of the transmit block.
DataBlock: Array of transmit data blocks. DataBlock: Array of transmit data blocks.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants Status: See the PXENV_STATUS_xxx constants
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiTransmit ( PxeUndiTransmit (
@ -1020,7 +1020,7 @@ PxeUndiTransmit (
; ;
/** /**
PXE PXE
UNDI SET MULTICAST ADDRESS UNDI SET MULTICAST ADDRESS
Op-Code: PXENV_UNDI_SET_MCAST_ADDRESS (0009h) Op-Code: PXENV_UNDI_SET_MCAST_ADDRESS (0009h)
Input: Far pointer to a PXENV_TFTP_SET_MCAST_ADDRESS_t parameter structure that has been Input: Far pointer to a PXENV_TFTP_SET_MCAST_ADDRESS_t parameter structure that has been
@ -1038,13 +1038,13 @@ PxeUndiTransmit (
R_Mcast_Buf: See description in the UNDI RESET ADAPTER R_Mcast_Buf: See description in the UNDI RESET ADAPTER
(0004h) API. (0004h) API.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants Status: See the PXENV_STATUS_xxx constants
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetMcastAddr ( PxeUndiSetMcastAddr (
@ -1054,7 +1054,7 @@ PxeUndiSetMcastAddr (
; ;
/** /**
PXE PXE
UNDI SET STATION ADDRESS UNDI SET STATION ADDRESS
Op-Code: PXENV_UNDI_SET_STATION_ADDRESS (000Ah) Op-Code: PXENV_UNDI_SET_STATION_ADDRESS (000Ah)
Input: Far pointer to a PXENV_UNDI_SET_STATION_ADDRESS_t parameter structure that has been Input: Far pointer to a PXENV_UNDI_SET_STATION_ADDRESS_t parameter structure that has been
@ -1073,13 +1073,13 @@ PxeUndiSetMcastAddr (
StationAddress: Temporary MAC address to be used for StationAddress: Temporary MAC address to be used for
transmit and receive. transmit and receive.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetStationAddr ( PxeUndiSetStationAddr (
@ -1089,7 +1089,7 @@ PxeUndiSetStationAddr (
; ;
/** /**
PXE PXE
UNDI SET PACKET FILTER UNDI SET PACKET FILTER
Op-Code: PXENV_UNDI_SET_PACKET_FILTER (000Bh) Op-Code: PXENV_UNDI_SET_PACKET_FILTER (000Bh)
Input: Far pointer to a PXENV_UNDI_SET_PACKET_FILTER_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_SET_PACKET_FILTER_T parameter structure that has been
@ -1107,13 +1107,13 @@ PxeUndiSetStationAddr (
Filter: See the receive filter values in the UNDI OPEN Filter: See the receive filter values in the UNDI OPEN
(0006h) API description. (0006h) API description.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetPacketFilter ( PxeUndiSetPacketFilter (
@ -1123,7 +1123,7 @@ PxeUndiSetPacketFilter (
; ;
/** /**
PXE PXE
UNDI GET INFORMATION UNDI GET INFORMATION
Op-Code: PXENV_UNDI_GET_INFORMATION (000Ch) Op-Code: PXENV_UNDI_GET_INFORMATION (000Ch)
Input: Far pointer to a PXENV_UNDI_GET_INFORMATION_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_GET_INFORMATION_T parameter structure that has been
@ -1166,13 +1166,13 @@ PxeUndiSetPacketFilter (
PermNodeAddress: Permanent hardware address. PermNodeAddress: Permanent hardware address.
ROMAddress: Real mode ROM segment address. ROMAddress: Real mode ROM segment address.
RxBufCnt: Receive queue length. RxBufCnt: Receive queue length.
TxBufCnt: Transmit queue length. TxBufCnt: Transmit queue length.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetInformation ( PxeUndiGetInformation (
@ -1182,7 +1182,7 @@ PxeUndiGetInformation (
; ;
/** /**
PXE PXE
UNDI GET STATISTICS UNDI GET STATISTICS
Op-Code: PXENV_UNDI_GET_STATISTICS (000Dh) Op-Code: PXENV_UNDI_GET_STATISTICS (000Dh)
Input: Far pointer to a PXENV_UNDI_GET_STATISTICS_T parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_GET_STATISTICS_T parameter structure that has been initialized
@ -1208,12 +1208,12 @@ PxeUndiGetInformation (
error. error.
RcvResourceErrors: Number of frames discarded RcvResourceErrors: Number of frames discarded
because receive queue was full. because receive queue was full.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetStatistics ( PxeUndiGetStatistics (
@ -1223,7 +1223,7 @@ PxeUndiGetStatistics (
; ;
/** /**
PXE PXE
UNDI CLEAR STATISTICS UNDI CLEAR STATISTICS
Op-Code: PXENV_UNDI_CLEAR_STATISTICS (000Eh) Op-Code: PXENV_UNDI_CLEAR_STATISTICS (000Eh)
Input: Far pointer to a PXENV_UNDI_CLEAR_STATISTICS_T parameter. Input: Far pointer to a PXENV_UNDI_CLEAR_STATISTICS_T parameter.
@ -1238,12 +1238,12 @@ PxeUndiGetStatistics (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiClearStatistics ( PxeUndiClearStatistics (
@ -1253,7 +1253,7 @@ PxeUndiClearStatistics (
; ;
/** /**
PXE PXE
UNDI INITIATE DIAGS UNDI INITIATE DIAGS
Op-Code: PXENV_UNDI_INITIATE_DIAGS (000Fh) Op-Code: PXENV_UNDI_INITIATE_DIAGS (000Fh)
Input: Far pointer to a PXENV_UNDI_INITIATE_DIAGS_T parameter. Input: Far pointer to a PXENV_UNDI_INITIATE_DIAGS_T parameter.
@ -1268,13 +1268,13 @@ PxeUndiClearStatistics (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiInitiateDiags ( PxeUndiInitiateDiags (
@ -1284,7 +1284,7 @@ PxeUndiInitiateDiags (
; ;
/** /**
PXE PXE
UNDI FORCE INTERRUPT UNDI FORCE INTERRUPT
Op-Code: PXENV_UNDI_FORCE_INTERRUPT (0010h) Op-Code: PXENV_UNDI_FORCE_INTERRUPT (0010h)
Input: Far pointer to a PXENV_UNDI_FORCE_INTERRUPT_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_FORCE_INTERRUPT_T parameter structure that has been
@ -1305,13 +1305,13 @@ PxeUndiInitiateDiags (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiForceInterrupt ( PxeUndiForceInterrupt (
@ -1321,7 +1321,7 @@ PxeUndiForceInterrupt (
; ;
/** /**
PXE PXE
UNDI GET MULTICAST ADDRESS UNDI GET MULTICAST ADDRESS
Op-Code: PXENV_UNDI_GET_MCAST_ADDRESS (0011h) Op-Code: PXENV_UNDI_GET_MCAST_ADDRESS (0011h)
Input: Far pointer to a PXENV_GET_MCAST_ADDRESS_t parameter structure that has been initialized Input: Far pointer to a PXENV_GET_MCAST_ADDRESS_t parameter structure that has been initialized
@ -1340,12 +1340,12 @@ PxeUndiForceInterrupt (
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
MediaAddr: MAC multicast address. MediaAddr: MAC multicast address.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetMcastAddr ( PxeUndiGetMcastAddr (
@ -1355,7 +1355,7 @@ PxeUndiGetMcastAddr (
; ;
/** /**
PXE PXE
UNDI GET NIC TYPE UNDI GET NIC TYPE
Op-Code: PXENV_UNDI_GET_NIC_TYPE (0012h) Op-Code: PXENV_UNDI_GET_NIC_TYPE (0012h)
Input: Far pointer to a PXENV_UNDI_GET_NIC_TYPE_T parameter structure that has been initialized by Input: Far pointer to a PXENV_UNDI_GET_NIC_TYPE_T parameter structure that has been initialized by
@ -1405,13 +1405,13 @@ PxeUndiGetMcastAddr (
NICType: Type of NIC information stored in the parameter NICType: Type of NIC information stored in the parameter
structure. structure.
Info: Information about the fields in this union can be found Info: Information about the fields in this union can be found
in the [PnP] and [PCI] specifications in the [PnP] and [PCI] specifications
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetNicType ( PxeUndiGetNicType (
@ -1421,7 +1421,7 @@ PxeUndiGetNicType (
; ;
/** /**
PXE PXE
UNDI GET IFACE INFO UNDI GET IFACE INFO
Op-Code: PXENV_UNDI_GET_IFACE_INFO (0013h) Op-Code: PXENV_UNDI_GET_IFACE_INFO (0013h)
Input: Far pointer to a PXENV_UNDI_GET_IFACE_INFO_t parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_GET_IFACE_INFO_t parameter structure that has been initialized
@ -1454,13 +1454,13 @@ PxeUndiGetNicType (
to the protocol driver. to the protocol driver.
LinkSpeed: Defined in the NDIS 2.0 specification. LinkSpeed: Defined in the NDIS 2.0 specification.
ServiceFlags: Defined in the NDIS 2.0 specification. ServiceFlags: Defined in the NDIS 2.0 specification.
Reserved: Must be zero. Reserved: Must be zero.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetNdisInfo ( PxeUndiGetNdisInfo (
@ -1470,7 +1470,7 @@ PxeUndiGetNdisInfo (
; ;
/** /**
PXE PXE
UNDI ISR UNDI ISR
Op-Code: PXENV_UNDI_ISR (0014h) Op-Code: PXENV_UNDI_ISR (0014h)
Input: Far pointer to a PXENV_UNDI_ISR_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_UNDI_ISR_T parameter structure that has been initialized by the caller.
@ -1512,13 +1512,13 @@ PxeUndiGetNdisInfo (
if there is no other interrupt status to be processed, UNDI re-enables the interrupt at the if there is no other interrupt status to be processed, UNDI re-enables the interrupt at the
NETWORK INTERFACE level and returns PXENV_UNDI_ISR_OUT_DONE in the FuncFlag. NETWORK INTERFACE level and returns PXENV_UNDI_ISR_OUT_DONE in the FuncFlag.
IMPORTANT: It is possible for the protocol driver to be interrupted again while in the IMPORTANT: It is possible for the protocol driver to be interrupted again while in the
strategy routine when the UNDI re-enables interrupts. strategy routine when the UNDI re-enables interrupts.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiIsr ( PxeUndiIsr (
@ -1528,7 +1528,7 @@ PxeUndiIsr (
; ;
/** /**
PXE PXE
STOP UNDI STOP UNDI
Op-Code: PXENV_STOP_UNDI (0015h) Op-Code: PXENV_STOP_UNDI (0015h)
Input: Far pointer to a PXENV_STOP_UNDI_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_STOP_UNDI_T parameter structure that has been initialized by the caller.
@ -1547,13 +1547,13 @@ PxeUndiIsr (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiStop ( PxeUndiStop (
@ -1563,7 +1563,7 @@ PxeUndiStop (
; ;
/** /**
PXE PXE
UNDI GET STATE UNDI GET STATE
Op-Code: PXENV_UNDI_GET_STATE (0015h) Op-Code: PXENV_UNDI_GET_STATE (0015h)
Input: Far pointer to a PXENV_UNDI_GET_STATE_T parameter. Input: Far pointer to a PXENV_UNDI_GET_STATE_T parameter.
@ -1595,13 +1595,13 @@ PxeUndiStop (
constants. constants.
Description: This API function will be called at different levels of processing the interrupt. The FuncFlag field in Description: This API function will be called at different levels of processing the interrupt. The FuncFlag field in
the parameter block indicates the operation to be performed for the call. This field is filled with the the parameter block indicates the operation to be performed for the call. This field is filled with the
status of that operation on return. status of that operation on return.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetState ( PxeUndiGetState (
@ -1619,14 +1619,14 @@ PxeUndiGetState (
push offset pxe_data_call_struct ;is pushed onto stack. push offset pxe_data_call_struct ;is pushed onto stack.
push Index ;UINT16 is pushed onto stack. push Index ;UINT16 is pushed onto stack.
call dword ptr (s_PXE ptr es:[di]).EntryPointSP call dword ptr (s_PXE ptr es:[di]).EntryPointSP
add sp, 6 ;Caller cleans up stack. add sp, 6 ;Caller cleans up stack.
@param SimpleNetworkDevice Device instance for simple network @param SimpleNetworkDevice Device instance for simple network
@param Table Point to parameter/retun value table for legacy far call @param Table Point to parameter/retun value table for legacy far call
@param TableSize The size of parameter/return value table @param TableSize The size of parameter/return value table
@param CallIndex The index of legacy call. @param CallIndex The index of legacy call.
@return EFI_STATUS @return EFI_STATUS
**/ **/
EFI_STATUS EFI_STATUS
MakePxeCall ( MakePxeCall (
@ -1642,7 +1642,7 @@ MakePxeCall (
@param NumPages The number pages want to be allocated. @param NumPages The number pages want to be allocated.
@param Buffer On return, allocated buffer. @param Buffer On return, allocated buffer.
@return Status of allocating pages. @return Status of allocating pages.
**/ **/
EFI_STATUS EFI_STATUS

View File

@ -3,14 +3,14 @@
// //
// Thunk wrapper UEFI driver to produce EFI SNP protocol based on legacy 16 NIC ROM. // Thunk wrapper UEFI driver to produce EFI SNP protocol based on legacy 16 NIC ROM.
// //
// Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// BiosSnp16 Localized Strings and Content // BiosSnp16 Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"Legacy Simple Network Protocol DXE Driver" "Legacy Simple Network Protocol DXE Driver"

View File

@ -1,7 +1,7 @@
/** @file /** @file
Helper Routines that use a PXE-enabled NIC option ROM. Helper Routines that use a PXE-enabled NIC option ROM.
Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -39,7 +39,7 @@ UINT32 CachedVectorAddress[0x100];
Cache Interrupt verctor address converted from IVT number. Cache Interrupt verctor address converted from IVT number.
@param VectorNumber IVT number @param VectorNumber IVT number
@retval EFI_SUCCESS Success to operation. @retval EFI_SUCCESS Success to operation.
**/ **/
EFI_STATUS EFI_STATUS
@ -55,10 +55,10 @@ CacheVectorAddress (
} }
/** /**
Get interrupt vector address according to IVT number. Get interrupt vector address according to IVT number.
@param VectorNumber Given IVT number @param VectorNumber Given IVT number
@return cached interrupt vector address. @return cached interrupt vector address.
**/ **/
EFI_STATUS EFI_STATUS
@ -74,10 +74,10 @@ RestoreCachedVectorAddress (
} }
/** /**
Print Undi loader table. Print Undi loader table.
@param UndiLoaderStructure Point to Undi Loader table structure.
@param UndiLoaderStructure Point to Undi Loader table structure.
**/ **/
VOID VOID
Print_Undi_Loader_Table ( Print_Undi_Loader_Table (
@ -108,12 +108,12 @@ Print_Undi_Loader_Table (
/** /**
Simple table dumper. The ROMID table is necessary in order to effect Simple table dumper. The ROMID table is necessary in order to effect
the "Early UNDI" trick. Herein, the UNDI layer can be loaded in the the "Early UNDI" trick. Herein, the UNDI layer can be loaded in the
pre-boot phase without having to download a Network Boot Program pre-boot phase without having to download a Network Boot Program
across the wire. It is required in the implementation in that we across the wire. It is required in the implementation in that we
are not using PXE. are not using PXE.
@param RomIDStructure Point to RomID structure. @param RomIDStructure Point to RomID structure.
**/ **/
VOID VOID
Print_ROMID_Table ( Print_ROMID_Table (
@ -199,7 +199,7 @@ Print_ROMID_Table (
Print PXE table. Print PXE table.
@param PxeTable Point to PXE table structure @param PxeTable Point to PXE table structure
**/ **/
VOID VOID
Print_PXE_Table ( Print_PXE_Table (
@ -351,7 +351,7 @@ Print_PXE_Table (
Print PXENV table. Print PXENV table.
@param PxenvTable Point to PXENV @param PxenvTable Point to PXENV
**/ **/
VOID VOID
Print_PXENV_Table ( Print_PXENV_Table (
@ -425,14 +425,14 @@ Print_PXENV_Table (
If available, launch the BaseCode from a NIC option ROM. If available, launch the BaseCode from a NIC option ROM.
This should install the !PXE and PXENV+ structures in memory for This should install the !PXE and PXENV+ structures in memory for
subsequent use. subsequent use.
@param SimpleNetworkDevice Simple network device instance @param SimpleNetworkDevice Simple network device instance
@param RomAddress The ROM base address for NIC rom. @param RomAddress The ROM base address for NIC rom.
@retval EFI_NOT_FOUND The check sum does not match @retval EFI_NOT_FOUND The check sum does not match
@retval EFI_NOT_FOUND Rom ID offset is wrong @retval EFI_NOT_FOUND Rom ID offset is wrong
@retval EFI_NOT_FOUND No Rom ID structure is found @retval EFI_NOT_FOUND No Rom ID structure is found
**/ **/
EFI_STATUS EFI_STATUS
LaunchBaseCode ( LaunchBaseCode (
@ -819,14 +819,14 @@ LaunchBaseCode (
push offset pxe_data_call_struct ;is pushed onto stack. push offset pxe_data_call_struct ;is pushed onto stack.
push Index ;UINT16 is pushed onto stack. push Index ;UINT16 is pushed onto stack.
call dword ptr (s_PXE ptr es:[di]).EntryPointSP call dword ptr (s_PXE ptr es:[di]).EntryPointSP
add sp, 6 ;Caller cleans up stack. add sp, 6 ;Caller cleans up stack.
@param SimpleNetworkDevice Device instance for simple network @param SimpleNetworkDevice Device instance for simple network
@param Table Point to parameter/retun value table for legacy far call @param Table Point to parameter/retun value table for legacy far call
@param TableSize The size of parameter/return value table @param TableSize The size of parameter/return value table
@param CallIndex The index of legacy call. @param CallIndex The index of legacy call.
@return EFI_STATUS @return EFI_STATUS
**/ **/
EFI_STATUS EFI_STATUS
MakePxeCall ( MakePxeCall (

View File

@ -2,12 +2,12 @@
These are PXE Specification 2.1-compliant data structures and defines. These are PXE Specification 2.1-compliant data structures and defines.
This file relies upon the existence of a PXE-compliant ROM This file relies upon the existence of a PXE-compliant ROM
in memory, as defined by the Preboot Execution Environment in memory, as defined by the Preboot Execution Environment
Specification (PXE), Version 2.1, located at Specification (PXE), Version 2.1, located at
http://developer.intel.com/ial/wfm/wfmspecs.htm http://developer.intel.com/ial/wfm/wfmspecs.htm
Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -69,7 +69,7 @@ typedef UINT32 ADDR32;
// //
// Status codes returned in the status word of PXENV API parameter structures. // Status codes returned in the status word of PXENV API parameter structures.
// //
// Generic API errors - these do not match up with the M0x or E0x messages // Generic API errors - these do not match up with the M0x or E0x messages
// that are reported by the loader. // that are reported by the loader.
// //
@ -92,7 +92,7 @@ typedef enum {
/* Driver errors (0x60 to 0x6F) */ /* Driver errors (0x60 to 0x6F) */
// These errors are for UNDI compatible NIC drivers. // These errors are for UNDI compatible NIC drivers.
#define PXENV_STATUS_UNDI_INVALID_FUNCTION 0x60 #define PXENV_STATUS_UNDI_INVALID_FUNCTION 0x60
#define PXENV_STATUS_UNDI_MEDIATEST_FAILED 0x61 #define PXENV_STATUS_UNDI_MEDIATEST_FAILED 0x61
#define PXENV_STATUS_UNDI_CANNOT_INIT_NIC_FOR_MCAST 0x62 #define PXENV_STATUS_UNDI_CANNOT_INIT_NIC_FOR_MCAST 0x62
@ -260,7 +260,7 @@ typedef struct {
#define ADDR_LEN 16 #define ADDR_LEN 16
#define MAXNUM_MCADDR 8 #define MAXNUM_MCADDR 8
#define IPLEN 4 ///< length of an IP address #define IPLEN 4 ///< length of an IP address
#define XMT_DESTADDR 0x0000 ///< destination address given #define XMT_DESTADDR 0x0000 ///< destination address given
#define XMT_BROADCAST 0x0001 ///< use broadcast address #define XMT_BROADCAST 0x0001 ///< use broadcast address
@ -288,7 +288,7 @@ typedef struct {
IN UINT16 Ax; ///< In: These register fields must be IN UINT16 Ax; ///< In: These register fields must be
IN UINT16 Bx; ///< filled in with the same data IN UINT16 Bx; ///< filled in with the same data
IN UINT16 Dx; ///< that was passed to the MLID IN UINT16 Dx; ///< that was passed to the MLID
IN UINT16 Di; ///< option ROM boot code by the IN UINT16 Di; ///< option ROM boot code by the
IN UINT16 Es; ///< system BIOS. IN UINT16 Es; ///< system BIOS.
} PXENV_START_UNDI_T; } PXENV_START_UNDI_T;
@ -302,7 +302,7 @@ typedef struct {
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
/// ///
/// This is an input parameter and is a 32-bit physical address of /// This is an input parameter and is a 32-bit physical address of
/// a memory copy of the driver module in the protocol.ini file /// a memory copy of the driver module in the protocol.ini file
@ -315,7 +315,7 @@ typedef struct {
/// itself.) This value can be NULL for for any other application /// itself.) This value can be NULL for for any other application
/// interfacing to the Universal NIC Driver. /// interfacing to the Universal NIC Driver.
/// ///
IN UINT32 ProtocolIni; IN UINT32 ProtocolIni;
UINT8 Reserved[8]; UINT8 Reserved[8];
} PXENV_UNDI_INITIALIZE_T; } PXENV_UNDI_INITIALIZE_T;
@ -329,23 +329,23 @@ typedef struct {
Note: The NIC driver does not remember the multicast Note: The NIC driver does not remember the multicast
addresses provided in any call. So the application must addresses provided in any call. So the application must
provide the multicast address list with all the calls that provide the multicast address list with all the calls that
reset the receive unit of the adapter. reset the receive unit of the adapter.
--*/ --*/
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
} PXENV_UNDI_SHUTDOWN_T; } PXENV_UNDI_SHUTDOWN_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
/// ///
/// This is an input parameter and is adapter specific. This is /// This is an input parameter and is adapter specific. This is
/// supported for Universal NDIS 2.0 driver to pass down the Open /// supported for Universal NDIS 2.0 driver to pass down the Open
/// flags provided by the protocol driver (See NDIS 2.0 /// flags provided by the protocol driver (See NDIS 2.0
/// specifications). This can be zero. /// specifications). This can be zero.
/// ///
IN UINT16 OpenFlag; ///< In: See description below IN UINT16 OpenFlag; ///< In: See description below
IN UINT16 PktFilter; ///< In: Filter for receiving IN UINT16 PktFilter; ///< In: Filter for receiving
/* packet. It takes the following */ /* packet. It takes the following */
@ -355,7 +355,7 @@ typedef struct {
#define FLTR_DIRECTED 0x0001 ///< directed/multicast #define FLTR_DIRECTED 0x0001 ///< directed/multicast
#define FLTR_BRDCST 0x0002 ///< broadcast packets #define FLTR_BRDCST 0x0002 ///< broadcast packets
#define FLTR_PRMSCS 0x0004 ///< any packet on LAN #define FLTR_PRMSCS 0x0004 ///< any packet on LAN
#define FLTR_SRC_RTG 0x0008 ///< source routing packet #define FLTR_SRC_RTG 0x0008 ///< source routing packet
IN PXENV_UNDI_MCAST_ADDR_T McastBuffer; /* In: */ IN PXENV_UNDI_MCAST_ADDR_T McastBuffer; /* In: */
/* See t_PXENV_UNDI_MCAST_ADDR. */ /* See t_PXENV_UNDI_MCAST_ADDR. */
} PXENV_UNDI_OPEN_T; } PXENV_UNDI_OPEN_T;
@ -370,22 +370,22 @@ typedef struct {
IN UINT16 ImmedLength; ///< In: Data buffer length in IN UINT16 ImmedLength; ///< In: Data buffer length in
/* bytes. */ /* bytes. */
UINT16 XmitOffset; ///< 16-bit segment & offset of the UINT16 XmitOffset; ///< 16-bit segment & offset of the
UINT16 XmitSegment; ///< immediate data buffer. UINT16 XmitSegment; ///< immediate data buffer.
UINT16 DataBlkCount; ///< In: Number of data blocks. UINT16 DataBlkCount; ///< In: Number of data blocks.
struct DataBlk { struct DataBlk {
UINT8 TDPtrType; ///< 0 => 32 bit Phys pointer in TDDataPtr, not supported in this version of LSA UINT8 TDPtrType; ///< 0 => 32 bit Phys pointer in TDDataPtr, not supported in this version of LSA
///< 1 => seg:offser in TDDataPtr which can be a real mode or 16-bit protected mode pointer ///< 1 => seg:offser in TDDataPtr which can be a real mode or 16-bit protected mode pointer
UINT8 TDRsvdByte; ///< Reserved, must be zero. UINT8 TDRsvdByte; ///< Reserved, must be zero.
UINT16 TDDataLen; ///< Data block length in bytes. UINT16 TDDataLen; ///< Data block length in bytes.
UINT16 TDDataPtrOffset; ///< Far pointer to data buffer. UINT16 TDDataPtrOffset; ///< Far pointer to data buffer.
UINT16 TDDataPtrSegment; ///< Far pointer to data buffer. UINT16 TDDataPtrSegment; ///< Far pointer to data buffer.
} DataBlock[MAX_DATA_BLKS]; } DataBlock[MAX_DATA_BLKS];
} }
PXENV_UNDI_TBD_T; PXENV_UNDI_TBD_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
/// ///
/// This is the protocol of the upper layer that is calling /// This is the protocol of the upper layer that is calling
@ -403,9 +403,9 @@ typedef struct {
/// destination media address in the field DestMediaAddr. If 1, /// destination media address in the field DestMediaAddr. If 1,
/// the NIC driver fills the broadcast address for the /// the NIC driver fills the broadcast address for the
/// destination. /// destination.
/// ///
IN UINT8 XmitFlag; IN UINT8 XmitFlag;
#define XMT_DESTADDR 0x0000 ///< destination address given #define XMT_DESTADDR 0x0000 ///< destination address given
#define XMT_BROADCAST 0x0001 ///< use broadcast address #define XMT_BROADCAST 0x0001 ///< use broadcast address
/// ///
@ -415,70 +415,70 @@ typedef struct {
/// media address must be obtained by the upper level protocol /// media address must be obtained by the upper level protocol
/// (with Address Resolution Protocol) and NIC driver does not do /// (with Address Resolution Protocol) and NIC driver does not do
/// any address resolution. /// any address resolution.
/// ///
IN UINT16 DestAddrOffset; ///< 16-bit segment & offset of the IN UINT16 DestAddrOffset; ///< 16-bit segment & offset of the
IN UINT16 DestAddrSegment; ///< destination media address IN UINT16 DestAddrSegment; ///< destination media address
IN UINT16 TBDOffset; ///< 16-bit segment & offset of the
IN UINT16 TBDSegment; ///< transmit buffer descriptor of type
/// XmitBufferDesc IN UINT16 TBDOffset; ///< 16-bit segment & offset of the
IN UINT16 TBDSegment; ///< transmit buffer descriptor of type
/// XmitBufferDesc
IN UINT32 Reserved[2]; IN UINT32 Reserved[2];
} PXENV_UNDI_TRANSMIT_T; } PXENV_UNDI_TRANSMIT_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
IN PXENV_UNDI_MCAST_ADDR_T McastBuffer; ///< In: IN PXENV_UNDI_MCAST_ADDR_T McastBuffer; ///< In:
} PXENV_UNDI_SET_MCAST_ADDR_T; } PXENV_UNDI_SET_MCAST_ADDR_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
IN UINT8 StationAddress[ADDR_LEN]; ///< new address to be set IN UINT8 StationAddress[ADDR_LEN]; ///< new address to be set
} PXENV_UNDI_SET_STATION_ADDR_T; } PXENV_UNDI_SET_STATION_ADDR_T;
typedef struct s_PXENV_UNDI_SET_PACKET_FILTER { typedef struct s_PXENV_UNDI_SET_PACKET_FILTER {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
IN UINT8 Filter; ///< In: Receive filter value. IN UINT8 Filter; ///< In: Receive filter value.
} PXENV_UNDI_SET_PACKET_FILTER_T; } PXENV_UNDI_SET_PACKET_FILTER_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
OUT UINT16 BaseIo; ///< Out: Adapter's Base IO OUT UINT16 BaseIo; ///< Out: Adapter's Base IO
OUT UINT16 IntNumber; ///< Out: IRQ number OUT UINT16 IntNumber; ///< Out: IRQ number
OUT UINT16 MaxTranUnit; ///< Out: MTU OUT UINT16 MaxTranUnit; ///< Out: MTU
OUT UINT16 HwType; ///< Out: type of protocol at hardware level OUT UINT16 HwType; ///< Out: type of protocol at hardware level
#define ETHER_TYPE 1 #define ETHER_TYPE 1
#define EXP_ETHER_TYPE 2 #define EXP_ETHER_TYPE 2
#define IEEE_TYPE 6 #define IEEE_TYPE 6
#define ARCNET_TYPE 7 #define ARCNET_TYPE 7
/*++ /*++
other numbers can be obtained from rfc1010 for "Assigned other numbers can be obtained from rfc1010 for "Assigned
Numbers". This number may not be validated by the application Numbers". This number may not be validated by the application
and hence adding new numbers to the list should be fine at any and hence adding new numbers to the list should be fine at any
time. time.
--*/ --*/
OUT UINT16 HwAddrLen; ///< Out: actual length of hardware address OUT UINT16 HwAddrLen; ///< Out: actual length of hardware address
OUT UINT8 CurrentNodeAddress[ADDR_LEN]; ///< Out: Current hardware address OUT UINT8 CurrentNodeAddress[ADDR_LEN]; ///< Out: Current hardware address
OUT UINT8 PermNodeAddress[ADDR_LEN]; ///< Out: Permanent hardware address OUT UINT8 PermNodeAddress[ADDR_LEN]; ///< Out: Permanent hardware address
OUT UINT16 ROMAddress; ///< Out: ROM address OUT UINT16 ROMAddress; ///< Out: ROM address
OUT UINT16 RxBufCt; ///< Out: receive Queue length OUT UINT16 RxBufCt; ///< Out: receive Queue length
OUT UINT16 TxBufCt; ///< Out: Transmit Queue length OUT UINT16 TxBufCt; ///< Out: Transmit Queue length
} PXENV_UNDI_GET_INFORMATION_T; } PXENV_UNDI_GET_INFORMATION_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
OUT UINT32 XmtGoodFrames; ///< Out: No. of good transmissions OUT UINT32 XmtGoodFrames; ///< Out: No. of good transmissions
OUT UINT32 RcvGoodFrames; ///< Out: No. of good frames received OUT UINT32 RcvGoodFrames; ///< Out: No. of good frames received
OUT UINT32 RcvCRCErrors; ///< Out: No. of frames with CRC error OUT UINT32 RcvCRCErrors; ///< Out: No. of frames with CRC error
OUT UINT32 RcvResourceErrors; ///< Out: no. of frames discarded OUT UINT32 RcvResourceErrors; ///< Out: no. of frames discarded
/* Out: receive Queue full */ /* Out: receive Queue full */
} PXENV_UNDI_GET_STATISTICS_T; } PXENV_UNDI_GET_STATISTICS_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
} PXENV_UNDI_CLEAR_STATISTICS_T; } PXENV_UNDI_CLEAR_STATISTICS_T;
typedef struct { typedef struct {
@ -490,31 +490,31 @@ typedef struct {
} PXENV_UNDI_FORCE_INTERRUPT_T; } PXENV_UNDI_FORCE_INTERRUPT_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
IN UINT32 InetAddr; ///< In: IP Multicast Address IN UINT32 InetAddr; ///< In: IP Multicast Address
OUT UINT8 MediaAddr[ADDR_LEN]; ///< Out: corresponding hardware OUT UINT8 MediaAddr[ADDR_LEN]; ///< Out: corresponding hardware
/* multicast address */ /* multicast address */
} PXENV_UNDI_GET_MCAST_ADDR_T; } PXENV_UNDI_GET_MCAST_ADDR_T;
typedef struct { typedef struct {
OUT UINT16 Vendor_ID; ///< OUT: OUT UINT16 Vendor_ID; ///< OUT:
OUT UINT16 Dev_ID; ///< OUT: OUT UINT16 Dev_ID; ///< OUT:
OUT UINT8 Base_Class; ///< OUT: OUT UINT8 Base_Class; ///< OUT:
OUT UINT8 Sub_Class; ///< OUT: OUT UINT8 Sub_Class; ///< OUT:
OUT UINT8 Prog_Intf; ///< OUT: program interface OUT UINT8 Prog_Intf; ///< OUT: program interface
OUT UINT8 Rev; ///< OUT: Revision number OUT UINT8 Rev; ///< OUT: Revision number
OUT UINT16 BusDevFunc; ///< OUT: Bus, Device & Function numbers OUT UINT16 BusDevFunc; ///< OUT: Bus, Device & Function numbers
OUT UINT16 SubVendor_ID; ///< OUT: OUT UINT16 SubVendor_ID; ///< OUT:
OUT UINT16 SubDevice_ID; ///< OUT: OUT UINT16 SubDevice_ID; ///< OUT:
} PCI_INFO_T; } PCI_INFO_T;
typedef struct { typedef struct {
OUT UINT32 EISA_Dev_ID; ///< Out: OUT UINT32 EISA_Dev_ID; ///< Out:
OUT UINT8 Base_Class; ///< OUT: OUT UINT8 Base_Class; ///< OUT:
OUT UINT8 Sub_Class; ///< OUT: OUT UINT8 Sub_Class; ///< OUT:
OUT UINT8 Prog_Intf; ///< OUT: program interface OUT UINT8 Prog_Intf; ///< OUT: program interface
OUT UINT16 CardSelNum; ///< OUT: Card Selector Number OUT UINT16 CardSelNum; ///< OUT: Card Selector Number
OUT UINT8 Reserved; ///< to make it 10 bytes OUT UINT8 Reserved; ///< to make it 10 bytes
} PNP_INFO_T; } PNP_INFO_T;
@ -524,14 +524,14 @@ typedef union {
} PCI_PNP_INFO_T; } PCI_PNP_INFO_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx
OUT UINT8 NicType; ///< OUT: 2=PCI, 3=PnP OUT UINT8 NicType; ///< OUT: 2=PCI, 3=PnP
PCI_PNP_INFO_T PciPnpInfo; PCI_PNP_INFO_T PciPnpInfo;
} PXENV_UNDI_GET_NIC_TYPE_T; } PXENV_UNDI_GET_NIC_TYPE_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx
OUT UINT8 IfaceType[16]; ///< OUT: Type name of MAC, AsciiZ OUT UINT8 IfaceType[16]; ///< OUT: Type name of MAC, AsciiZ
/* format. This is used by the */ /* format. This is used by the */
@ -542,14 +542,14 @@ typedef struct {
/* Service specific */ /* Service specific */
/* characteristic table */ /* characteristic table */
OUT UINT32 LinkSpeed; ///< OUT: OUT UINT32 LinkSpeed; ///< OUT:
OUT UINT32 ServiceFlags; ///< OUT: as defined in NDIS Spec 2.0X OUT UINT32 ServiceFlags; ///< OUT: as defined in NDIS Spec 2.0X
OUT UINT32 Reserved[4]; ///< OUT: will be filled with 0s till defined OUT UINT32 Reserved[4]; ///< OUT: will be filled with 0s till defined
} PXENV_UNDI_GET_NDIS_INFO_T; } PXENV_UNDI_GET_NDIS_INFO_T;
typedef struct { typedef struct {
OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx OUT UINT16 Status; ///< OUT: PXENV_STATUS_xxx
IN OUT UINT16 FuncFlag; ///< In: PXENV_UNDI_ISR_IN_xxx IN OUT UINT16 FuncFlag; ///< In: PXENV_UNDI_ISR_IN_xxx
/* Out: PXENV_UNDI_ISR_OUT_xxx */ /* Out: PXENV_UNDI_ISR_OUT_xxx */
OUT UINT16 BufferLength; OUT UINT16 BufferLength;
@ -580,7 +580,7 @@ typedef struct {
Possible responses from PXENV_UNDI_ISR_IN_START Possible responses from PXENV_UNDI_ISR_IN_START
--*/ --*/
#define PXENV_UNDI_ISR_OUT_OURS 0 ///< This is our interrupt. Deal with it. #define PXENV_UNDI_ISR_OUT_OURS 0 ///< This is our interrupt. Deal with it.
#define PXENV_UNDI_ISR_OUT_NOT_OURS 1 ///< This is not our interrupt. #define PXENV_UNDI_ISR_OUT_NOT_OURS 1 ///< This is not our interrupt.
/*++ /*++
@ -589,22 +589,22 @@ typedef struct {
PXENV_UNDI_ISR_IN_PROCESS PXENV_UNDI_ISR_IN_PROCESS
--*/ --*/
#define PXENV_UNDI_ISR_OUT_DONE 0 ///< We are done processing this interrupt. #define PXENV_UNDI_ISR_OUT_DONE 0 ///< We are done processing this interrupt.
#define PXENV_UNDI_ISR_OUT_TRANSMIT 2 ///< We completed a transmit interrupt. #define PXENV_UNDI_ISR_OUT_TRANSMIT 2 ///< We completed a transmit interrupt.
#define PXENV_UNDI_ISR_OUT_RECEIVE 3 ///< Get data from receive buffer. #define PXENV_UNDI_ISR_OUT_RECEIVE 3 ///< Get data from receive buffer.
#define PXENV_UNDI_ISR_OUT_BUSY 4 /* ? */ #define PXENV_UNDI_ISR_OUT_BUSY 4 /* ? */
typedef struct { typedef struct {
UINT16 Status; ///< Out: PXENV_STATUS_xxx UINT16 Status; ///< Out: PXENV_STATUS_xxx
} PXENV_STOP_UNDI_T; } PXENV_STOP_UNDI_T;
#define PXENV_UNDI_STARTED 1 ///< not even initialized #define PXENV_UNDI_STARTED 1 ///< not even initialized
#define PXENV_UNDI_INITIALIZED 2 ///< initialized and closed (not opened) #define PXENV_UNDI_INITIALIZED 2 ///< initialized and closed (not opened)
#define PXENV_UNDI_OPENED 3 ///< initialized & opened #define PXENV_UNDI_OPENED 3 ///< initialized & opened
typedef struct { typedef struct {
OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx OUT UINT16 Status; ///< Out: PXENV_STATUS_xxx
UINT16 UNDI_State; UINT16 UNDI_State;
} PXENV_UNDI_GET_STATE_T; } PXENV_UNDI_GET_STATE_T;

View File

@ -1,15 +1,15 @@
/** @file /** @file
Wrapper routines that use a PXE-enabled NIC option ROM to Wrapper routines that use a PXE-enabled NIC option ROM to
supply internal routines for an EFI SNI (Simple Network supply internal routines for an EFI SNI (Simple Network
Interface) Protocol. Interface) Protocol.
This file relies upon the existence of a PXE-compliant ROM This file relies upon the existence of a PXE-compliant ROM
in memory, as defined by the Preboot Execution Environment in memory, as defined by the Preboot Execution Environment
Specification (PXE), Version 2.1, located at Specification (PXE), Version 2.1, located at
http://developer.intel.com/ial/wfm/wfmspecs.htm http://developer.intel.com/ial/wfm/wfmspecs.htm
Copyright (c) 1999 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -25,7 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include "BiosSnp16.h" #include "BiosSnp16.h"
/** /**
PXE PXE
START UNDI START UNDI
Op-Code: PXENV_START_UNDI (0000h) Op-Code: PXENV_START_UNDI (0000h)
Input: Far pointer to a PXENV_START_UNDI_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_START_UNDI_T parameter structure that has been initialized by the caller.
@ -54,13 +54,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
contents of these registers can be found in the [PnP], [PCI] and contents of these registers can be found in the [PnP], [PCI] and
[BBS] specifications. [BBS] specifications.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeStartUndi ( PxeStartUndi (
@ -77,8 +77,8 @@ PxeStartUndi (
} }
/** /**
PXE PXE
UNDI STARTUP UNDI STARTUP
Op-Code: PXENV_UNDI_STARTUP (0001h) Op-Code: PXENV_UNDI_STARTUP (0001h)
Input: Far pointer to a PXENV_UNDI_STARTUP_T parameter structure that has been initialized by the Input: Far pointer to a PXENV_UNDI_STARTUP_T parameter structure that has been initialized by the
caller. caller.
@ -95,7 +95,7 @@ PxeStartUndi (
chaining interrupt 1Ah. This must be done by the PXENV_START_UNDI and chaining interrupt 1Ah. This must be done by the PXENV_START_UNDI and
PXENV_STOP_UNDI API calls. PXENV_STOP_UNDI API calls.
This service cannot be used in protected mode. This service cannot be used in protected mode.
typedef struct typedef struct
{ {
PXENV_STATUS Status; PXENV_STATUS Status;
} PXENV_UNDI_STARTUP_T; } PXENV_UNDI_STARTUP_T;
@ -105,10 +105,10 @@ PxeStartUndi (
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiStartup ( PxeUndiStartup (
@ -125,7 +125,7 @@ PxeUndiStartup (
} }
/** /**
PXE PXE
UNDI CLEANUP UNDI CLEANUP
Op-Code: PXENV_UNDI_CLEANUP (0002h) Op-Code: PXENV_UNDI_CLEANUP (0002h)
Input: Far pointer to a PXENV_UNDI_CLEANUP_T parameter structure. Input: Far pointer to a PXENV_UNDI_CLEANUP_T parameter structure.
@ -145,10 +145,10 @@ PxeUndiStartup (
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiCleanup ( PxeUndiCleanup (
@ -165,7 +165,7 @@ PxeUndiCleanup (
} }
/** /**
PXE PXE
UNDI INITIALIZE UNDI INITIALIZE
Op-Code: PXENV_UNDI_INITIALIZE (0003h) Op-Code: PXENV_UNDI_INITIALIZE (0003h)
Input: Far pointer to a PXENV_UNDI_INITIALIZE_T parameter structure that has been initialized by the Input: Far pointer to a PXENV_UNDI_INITIALIZE_T parameter structure that has been initialized by the
@ -195,13 +195,13 @@ PxeUndiCleanup (
protocol.ini file was done by NDIS.) This value can be NULL for any protocol.ini file was done by NDIS.) This value can be NULL for any
other application interfacing to the universal NIC driver other application interfacing to the universal NIC driver
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiInitialize ( PxeUndiInitialize (
@ -219,8 +219,8 @@ PxeUndiInitialize (
/** /**
Wrapper routine for reset adapter. Wrapper routine for reset adapter.
PXE PXE
UNDI RESET ADAPTER UNDI RESET ADAPTER
Op-Code: PXENV_UNDI_RESET_ADAPTER (0004h) Op-Code: PXENV_UNDI_RESET_ADAPTER (0004h)
Input: Far pointer to a PXENV_UNDI_RESET_ADAPTER_t parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_RESET_ADAPTER_t parameter structure that has been initialized
@ -252,13 +252,13 @@ PxeUndiInitialize (
addresses. addresses.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance. @param SimpleNetworkDevice Device instance.
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@param RxFilter Filter setting mask value for PXE recive . @param RxFilter Filter setting mask value for PXE recive .
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiResetNic ( PxeUndiResetNic (
@ -310,8 +310,8 @@ PxeUndiResetNic (
&Open.McastBuffer, &Open.McastBuffer,
&PxeUndiTable->R_Mcast_Buf, &PxeUndiTable->R_Mcast_Buf,
sizeof (PXENV_UNDI_MCAST_ADDR_T) sizeof (PXENV_UNDI_MCAST_ADDR_T)
); );
Status = MakePxeCall ( Status = MakePxeCall (
SimpleNetworkDevice, SimpleNetworkDevice,
@ -327,7 +327,7 @@ PxeUndiResetNic (
} }
/** /**
PXE PXE
UNDI SHUTDOWN UNDI SHUTDOWN
Op-Code: PXENV_UNDI_SHUTDOWN (0005h) Op-Code: PXENV_UNDI_SHUTDOWN (0005h)
Input: Far pointer to a PXENV_UNDI_SHUTDOWN_T parameter. Input: Far pointer to a PXENV_UNDI_SHUTDOWN_T parameter.
@ -337,7 +337,7 @@ PxeUndiResetNic (
Description: This call resets the network adapter and leaves it in a safe state for another driver to program it. Description: This call resets the network adapter and leaves it in a safe state for another driver to program it.
Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the Note: The contents of the PXENV_UNDI_STARTUP parameter structure need to be saved by the
Universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again. Universal NIC Driver in case PXENV_UNDI_INITIALIZE is called again.
typedef struct typedef struct
{ {
PXENV_STATUS Status; PXENV_STATUS Status;
} PXENV_UNDI_SHUTDOWN_T; } PXENV_UNDI_SHUTDOWN_T;
@ -345,12 +345,12 @@ PxeUndiResetNic (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiShutdown ( PxeUndiShutdown (
@ -367,7 +367,7 @@ PxeUndiShutdown (
} }
/** /**
PXE PXE
UNDI OPEN UNDI OPEN
Op-Code: PXENV_UNDI_OPEN (0006h) Op-Code: PXENV_UNDI_OPEN (0006h)
Input: Far pointer to a PXENV_UNDI_OPEN_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_UNDI_OPEN_T parameter structure that has been initialized by the caller.
@ -399,12 +399,12 @@ PxeUndiShutdown (
R_Mcast_Buf: See definition in UNDI RESET ADAPTER (0004h). R_Mcast_Buf: See definition in UNDI RESET ADAPTER (0004h).
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiOpen ( PxeUndiOpen (
@ -421,7 +421,7 @@ PxeUndiOpen (
} }
/** /**
PXE PXE
UNDI CLOSE UNDI CLOSE
Op-Code: PXENV_UNDI_CLOSE (0007h) Op-Code: PXENV_UNDI_CLOSE (0007h)
Input: Far pointer to a PXENV_UNDI_CLOSE_T parameter. Input: Far pointer to a PXENV_UNDI_CLOSE_T parameter.
@ -437,12 +437,12 @@ PxeUndiOpen (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiClose ( PxeUndiClose (
@ -459,7 +459,7 @@ PxeUndiClose (
} }
/** /**
PXE PXE
UNDI TRANSMIT PACKET UNDI TRANSMIT PACKET
Op-Code: PXENV_UNDI_TRANSMIT (0008h) Op-Code: PXENV_UNDI_TRANSMIT (0008h)
Input: Far pointer to a PXENV_UNDI_TRANSMIT_T parameter structure that Input: Far pointer to a PXENV_UNDI_TRANSMIT_T parameter structure that
@ -529,13 +529,13 @@ PxeUndiClose (
TDDataPtr: Segment:Offset of the transmit block. TDDataPtr: Segment:Offset of the transmit block.
DataBlock: Array of transmit data blocks. DataBlock: Array of transmit data blocks.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants Status: See the PXENV_STATUS_xxx constants
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiTransmit ( PxeUndiTransmit (
@ -565,7 +565,7 @@ PxeUndiTransmit (
} }
/** /**
PXE PXE
UNDI SET MULTICAST ADDRESS UNDI SET MULTICAST ADDRESS
Op-Code: PXENV_UNDI_SET_MCAST_ADDRESS (0009h) Op-Code: PXENV_UNDI_SET_MCAST_ADDRESS (0009h)
Input: Far pointer to a PXENV_TFTP_SET_MCAST_ADDRESS_t parameter structure that has been Input: Far pointer to a PXENV_TFTP_SET_MCAST_ADDRESS_t parameter structure that has been
@ -583,13 +583,13 @@ PxeUndiTransmit (
R_Mcast_Buf: See description in the UNDI RESET ADAPTER R_Mcast_Buf: See description in the UNDI RESET ADAPTER
(0004h) API. (0004h) API.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants Status: See the PXENV_STATUS_xxx constants
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetMcastAddr ( PxeUndiSetMcastAddr (
@ -606,7 +606,7 @@ PxeUndiSetMcastAddr (
} }
/** /**
PXE PXE
UNDI SET STATION ADDRESS UNDI SET STATION ADDRESS
Op-Code: PXENV_UNDI_SET_STATION_ADDRESS (000Ah) Op-Code: PXENV_UNDI_SET_STATION_ADDRESS (000Ah)
Input: Far pointer to a PXENV_UNDI_SET_STATION_ADDRESS_t parameter structure that has been Input: Far pointer to a PXENV_UNDI_SET_STATION_ADDRESS_t parameter structure that has been
@ -625,13 +625,13 @@ PxeUndiSetMcastAddr (
StationAddress: Temporary MAC address to be used for StationAddress: Temporary MAC address to be used for
transmit and receive. transmit and receive.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetStationAddr ( PxeUndiSetStationAddr (
@ -648,7 +648,7 @@ PxeUndiSetStationAddr (
} }
/** /**
PXE PXE
UNDI SET PACKET FILTER UNDI SET PACKET FILTER
Op-Code: PXENV_UNDI_SET_PACKET_FILTER (000Bh) Op-Code: PXENV_UNDI_SET_PACKET_FILTER (000Bh)
Input: Far pointer to a PXENV_UNDI_SET_PACKET_FILTER_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_SET_PACKET_FILTER_T parameter structure that has been
@ -666,13 +666,13 @@ PxeUndiSetStationAddr (
Filter: See the receive filter values in the UNDI OPEN Filter: See the receive filter values in the UNDI OPEN
(0006h) API description. (0006h) API description.
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiSetPacketFilter ( PxeUndiSetPacketFilter (
@ -689,7 +689,7 @@ PxeUndiSetPacketFilter (
} }
/** /**
PXE PXE
UNDI GET INFORMATION UNDI GET INFORMATION
Op-Code: PXENV_UNDI_GET_INFORMATION (000Ch) Op-Code: PXENV_UNDI_GET_INFORMATION (000Ch)
Input: Far pointer to a PXENV_UNDI_GET_INFORMATION_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_GET_INFORMATION_T parameter structure that has been
@ -732,13 +732,13 @@ PxeUndiSetPacketFilter (
PermNodeAddress: Permanent hardware address. PermNodeAddress: Permanent hardware address.
ROMAddress: Real mode ROM segment address. ROMAddress: Real mode ROM segment address.
RxBufCnt: Receive queue length. RxBufCnt: Receive queue length.
TxBufCnt: Transmit queue length. TxBufCnt: Transmit queue length.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetInformation ( PxeUndiGetInformation (
@ -755,7 +755,7 @@ PxeUndiGetInformation (
} }
/** /**
PXE PXE
UNDI GET STATISTICS UNDI GET STATISTICS
Op-Code: PXENV_UNDI_GET_STATISTICS (000Dh) Op-Code: PXENV_UNDI_GET_STATISTICS (000Dh)
Input: Far pointer to a PXENV_UNDI_GET_STATISTICS_T parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_GET_STATISTICS_T parameter structure that has been initialized
@ -781,12 +781,12 @@ PxeUndiGetInformation (
error. error.
RcvResourceErrors: Number of frames discarded RcvResourceErrors: Number of frames discarded
because receive queue was full. because receive queue was full.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetStatistics ( PxeUndiGetStatistics (
@ -803,7 +803,7 @@ PxeUndiGetStatistics (
} }
/** /**
PXE PXE
UNDI CLEAR STATISTICS UNDI CLEAR STATISTICS
Op-Code: PXENV_UNDI_CLEAR_STATISTICS (000Eh) Op-Code: PXENV_UNDI_CLEAR_STATISTICS (000Eh)
Input: Far pointer to a PXENV_UNDI_CLEAR_STATISTICS_T parameter. Input: Far pointer to a PXENV_UNDI_CLEAR_STATISTICS_T parameter.
@ -818,12 +818,12 @@ PxeUndiGetStatistics (
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiClearStatistics ( PxeUndiClearStatistics (
@ -840,7 +840,7 @@ PxeUndiClearStatistics (
} }
/** /**
PXE PXE
UNDI INITIATE DIAGS UNDI INITIATE DIAGS
Op-Code: PXENV_UNDI_INITIATE_DIAGS (000Fh) Op-Code: PXENV_UNDI_INITIATE_DIAGS (000Fh)
Input: Far pointer to a PXENV_UNDI_INITIATE_DIAGS_T parameter. Input: Far pointer to a PXENV_UNDI_INITIATE_DIAGS_T parameter.
@ -855,13 +855,13 @@ PxeUndiClearStatistics (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiInitiateDiags ( PxeUndiInitiateDiags (
@ -878,7 +878,7 @@ PxeUndiInitiateDiags (
} }
/** /**
PXE PXE
UNDI FORCE INTERRUPT UNDI FORCE INTERRUPT
Op-Code: PXENV_UNDI_FORCE_INTERRUPT (0010h) Op-Code: PXENV_UNDI_FORCE_INTERRUPT (0010h)
Input: Far pointer to a PXENV_UNDI_FORCE_INTERRUPT_T parameter structure that has been Input: Far pointer to a PXENV_UNDI_FORCE_INTERRUPT_T parameter structure that has been
@ -899,13 +899,13 @@ PxeUndiInitiateDiags (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiForceInterrupt ( PxeUndiForceInterrupt (
@ -922,7 +922,7 @@ PxeUndiForceInterrupt (
} }
/** /**
PXE PXE
UNDI GET MULTICAST ADDRESS UNDI GET MULTICAST ADDRESS
Op-Code: PXENV_UNDI_GET_MCAST_ADDRESS (0011h) Op-Code: PXENV_UNDI_GET_MCAST_ADDRESS (0011h)
Input: Far pointer to a PXENV_GET_MCAST_ADDRESS_t parameter structure that has been initialized Input: Far pointer to a PXENV_GET_MCAST_ADDRESS_t parameter structure that has been initialized
@ -941,12 +941,12 @@ PxeUndiForceInterrupt (
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
MediaAddr: MAC multicast address. MediaAddr: MAC multicast address.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetMcastAddr ( PxeUndiGetMcastAddr (
@ -963,7 +963,7 @@ PxeUndiGetMcastAddr (
} }
/** /**
PXE PXE
UNDI GET NIC TYPE UNDI GET NIC TYPE
Op-Code: PXENV_UNDI_GET_NIC_TYPE (0012h) Op-Code: PXENV_UNDI_GET_NIC_TYPE (0012h)
Input: Far pointer to a PXENV_UNDI_GET_NIC_TYPE parameter structure that has been initialized by Input: Far pointer to a PXENV_UNDI_GET_NIC_TYPE parameter structure that has been initialized by
@ -1013,13 +1013,13 @@ PxeUndiGetMcastAddr (
NICType: Type of NIC information stored in the parameter NICType: Type of NIC information stored in the parameter
structure. structure.
Info: Information about the fields in this union can be found Info: Information about the fields in this union can be found
in the [PnP] and [PCI] specifications in the [PnP] and [PCI] specifications
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetNicType ( PxeUndiGetNicType (
@ -1036,7 +1036,7 @@ PxeUndiGetNicType (
} }
/** /**
PXE PXE
UNDI GET IFACE INFO UNDI GET IFACE INFO
Op-Code: PXENV_UNDI_GET_IFACE_INFO (0013h) Op-Code: PXENV_UNDI_GET_IFACE_INFO (0013h)
Input: Far pointer to a PXENV_UNDI_GET_IFACE_INFO_t parameter structure that has been initialized Input: Far pointer to a PXENV_UNDI_GET_IFACE_INFO_t parameter structure that has been initialized
@ -1069,13 +1069,13 @@ PxeUndiGetNicType (
to the protocol driver. to the protocol driver.
LinkSpeed: Defined in the NDIS 2.0 specification. LinkSpeed: Defined in the NDIS 2.0 specification.
ServiceFlags: Defined in the NDIS 2.0 specification. ServiceFlags: Defined in the NDIS 2.0 specification.
Reserved: Must be zero. Reserved: Must be zero.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetNdisInfo ( PxeUndiGetNdisInfo (
@ -1092,7 +1092,7 @@ PxeUndiGetNdisInfo (
} }
/** /**
PXE PXE
UNDI ISR UNDI ISR
Op-Code: PXENV_UNDI_ISR (0014h) Op-Code: PXENV_UNDI_ISR (0014h)
Input: Far pointer to a PXENV_UNDI_ISR_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_UNDI_ISR_T parameter structure that has been initialized by the caller.
@ -1134,13 +1134,13 @@ PxeUndiGetNdisInfo (
if there is no other interrupt status to be processed, UNDI re-enables the interrupt at the if there is no other interrupt status to be processed, UNDI re-enables the interrupt at the
NETWORK INTERFACE level and returns PXENV_UNDI_ISR_OUT_DONE in the FuncFlag. NETWORK INTERFACE level and returns PXENV_UNDI_ISR_OUT_DONE in the FuncFlag.
IMPORTANT: It is possible for the protocol driver to be interrupted again while in the IMPORTANT: It is possible for the protocol driver to be interrupted again while in the
strategy routine when the UNDI re-enables interrupts. strategy routine when the UNDI re-enables interrupts.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiIsr ( PxeUndiIsr (
@ -1157,7 +1157,7 @@ PxeUndiIsr (
} }
/** /**
PXE PXE
STOP UNDI STOP UNDI
Op-Code: PXENV_STOP_UNDI (0015h) Op-Code: PXENV_STOP_UNDI (0015h)
Input: Far pointer to a PXENV_STOP_UNDI_T parameter structure that has been initialized by the caller. Input: Far pointer to a PXENV_STOP_UNDI_T parameter structure that has been initialized by the caller.
@ -1176,13 +1176,13 @@ PxeUndiIsr (
Set before calling API service Set before calling API service
N/A N/A
Returned from API service Returned from API service
Status: See the PXENV_STATUS_xxx constants. Status: See the PXENV_STATUS_xxx constants.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiStop ( PxeUndiStop (
@ -1199,7 +1199,7 @@ PxeUndiStop (
} }
/** /**
PXE PXE
UNDI GET STATE UNDI GET STATE
Op-Code: PXENV_UNDI_GET_STATE (0015h) Op-Code: PXENV_UNDI_GET_STATE (0015h)
Input: Far pointer to a PXENV_UNDI_GET_STATE_T parameter. Input: Far pointer to a PXENV_UNDI_GET_STATE_T parameter.
@ -1231,13 +1231,13 @@ PxeUndiStop (
constants. constants.
Description: This API function will be called at different levels of processing the interrupt. The FuncFlag field in Description: This API function will be called at different levels of processing the interrupt. The FuncFlag field in
the parameter block indicates the operation to be performed for the call. This field is filled with the the parameter block indicates the operation to be performed for the call. This field is filled with the
status of that operation on return. status of that operation on return.
@param SimpleNetworkDevice Device instance @param SimpleNetworkDevice Device instance
@param PxeUndiTable Point to structure which hold parameter and return value @param PxeUndiTable Point to structure which hold parameter and return value
for option ROM call. for option ROM call.
@return Return value of PXE option ROM far call. @return Return value of PXE option ROM far call.
**/ **/
EFI_STATUS EFI_STATUS
PxeUndiGetState ( PxeUndiGetState (

View File

@ -3,7 +3,7 @@
# #
# Thunk wrapper UEFI driver to produce EFI SNP protocol based on legacy 16 NIC ROM. # Thunk wrapper UEFI driver to produce EFI SNP protocol based on legacy 16 NIC ROM.
# #
# Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved.<BR> # Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
# #
# This program and the accompanying materials # This program and the accompanying materials
# are licensed and made available under the terms and conditions # are licensed and made available under the terms and conditions
@ -23,7 +23,7 @@
MODULE_TYPE = UEFI_DRIVER MODULE_TYPE = UEFI_DRIVER
INF_VERSION = 0x00010005 INF_VERSION = 0x00010005
VERSION_STRING = 1.0 VERSION_STRING = 1.0
ENTRY_POINT = BiosSnp16DriverEntryPoint ENTRY_POINT = BiosSnp16DriverEntryPoint
# #

View File

@ -1,7 +1,7 @@
/** @file /** @file
ConsoleOut Routines that speak VGA. ConsoleOut Routines that speak VGA.
Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -188,7 +188,7 @@ BiosVideoDriverBindingSupported (
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
Node = (EFI_DEV_PATH *) RemainingDevicePath; Node = (EFI_DEV_PATH *) RemainingDevicePath;
// //
// Check if RemainingDevicePath is the End of Device Path Node, // Check if RemainingDevicePath is the End of Device Path Node,
// if yes, return EFI_SUCCESS // if yes, return EFI_SUCCESS
// //
if (!IsDevicePathEnd (Node)) { if (!IsDevicePathEnd (Node)) {
@ -295,7 +295,7 @@ BiosVideoDriverBindingStart (
0, 0,
&mOriginalPciAttributes &mOriginalPciAttributes
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
goto Done; goto Done;
} }
@ -319,7 +319,7 @@ BiosVideoDriverBindingStart (
if (Supports == 0 || Supports == (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) { if (Supports == 0 || Supports == (EFI_PCI_IO_ATTRIBUTE_VGA_IO | EFI_PCI_IO_ATTRIBUTE_VGA_IO_16)) {
Status = EFI_UNSUPPORTED; Status = EFI_UNSUPPORTED;
goto Done; goto Done;
} }
REPORT_STATUS_CODE_WITH_DEVICE_PATH ( REPORT_STATUS_CODE_WITH_DEVICE_PATH (
EFI_PROGRESS_CODE, EFI_PROGRESS_CODE,
@ -384,7 +384,7 @@ BiosVideoDriverBindingStart (
} }
if (RemainingDevicePath != NULL) { if (RemainingDevicePath != NULL) {
if (IsDevicePathEnd (RemainingDevicePath) && if (IsDevicePathEnd (RemainingDevicePath) &&
(FeaturePcdGet (PcdBiosVideoCheckVbeEnable) || FeaturePcdGet (PcdBiosVideoCheckVgaEnable))) { (FeaturePcdGet (PcdBiosVideoCheckVbeEnable) || FeaturePcdGet (PcdBiosVideoCheckVgaEnable))) {
// //
// If RemainingDevicePath is the End of Device Path Node, // If RemainingDevicePath is the End of Device Path Node,
@ -509,7 +509,7 @@ BiosVideoDriverBindingStop (
(VOID **) &PciIo (VOID **) &PciIo
); );
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
// //
// Restore original PCI attributes // Restore original PCI attributes
// //
@ -562,10 +562,10 @@ BiosVideoChildHandleInstall (
// Allocate the private device structure for video device // Allocate the private device structure for video device
// //
BiosVideoPrivate = (BIOS_VIDEO_DEV *) AllocateZeroPool ( BiosVideoPrivate = (BIOS_VIDEO_DEV *) AllocateZeroPool (
sizeof (BIOS_VIDEO_DEV) sizeof (BIOS_VIDEO_DEV)
); );
if (NULL == BiosVideoPrivate) { if (NULL == BiosVideoPrivate) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
@ -668,7 +668,7 @@ BiosVideoChildHandleInstall (
AcpiDeviceNode.Header.SubType = ACPI_ADR_DP; AcpiDeviceNode.Header.SubType = ACPI_ADR_DP;
AcpiDeviceNode.ADR = ACPI_DISPLAY_ADR (1, 0, 0, 1, 0, ACPI_ADR_DISPLAY_TYPE_VGA, 0, 0); AcpiDeviceNode.ADR = ACPI_DISPLAY_ADR (1, 0, 0, 1, 0, ACPI_ADR_DISPLAY_TYPE_VGA, 0, 0);
SetDevicePathNodeLength (&AcpiDeviceNode.Header, sizeof (ACPI_ADR_DEVICE_PATH)); SetDevicePathNodeLength (&AcpiDeviceNode.Header, sizeof (ACPI_ADR_DEVICE_PATH));
BiosVideoPrivate->GopDevicePath = AppendDevicePathNode ( BiosVideoPrivate->GopDevicePath = AppendDevicePathNode (
ParentDevicePath, ParentDevicePath,
(EFI_DEVICE_PATH_PROTOCOL *) &AcpiDeviceNode (EFI_DEVICE_PATH_PROTOCOL *) &AcpiDeviceNode
@ -676,7 +676,7 @@ BiosVideoChildHandleInstall (
} else { } else {
BiosVideoPrivate->GopDevicePath = AppendDevicePathNode (ParentDevicePath, RemainingDevicePath); BiosVideoPrivate->GopDevicePath = AppendDevicePathNode (ParentDevicePath, RemainingDevicePath);
} }
// //
// Creat child handle and device path protocol firstly // Creat child handle and device path protocol firstly
// //
@ -816,7 +816,7 @@ Done:
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
if ((BiosVideoPrivate != NULL) && (BiosVideoPrivate->ExitBootServicesEvent != NULL)) { if ((BiosVideoPrivate != NULL) && (BiosVideoPrivate->ExitBootServicesEvent != NULL)) {
gBS->CloseEvent (BiosVideoPrivate->ExitBootServicesEvent); gBS->CloseEvent (BiosVideoPrivate->ExitBootServicesEvent);
} }
// //
// Free private data structure // Free private data structure
// //
@ -1271,7 +1271,7 @@ HasChildHandle (
HasChild = TRUE; HasChild = TRUE;
} }
} }
return HasChild; return HasChild;
} }
@ -1343,7 +1343,7 @@ BiosVideoCheckForVbe (
} }
ZeroMem (&ValidEdidTiming, sizeof (VESA_BIOS_EXTENSIONS_VALID_EDID_TIMING)); ZeroMem (&ValidEdidTiming, sizeof (VESA_BIOS_EXTENSIONS_VALID_EDID_TIMING));
// //
// Fill in the VBE related data structures // Fill in the VBE related data structures
// //
@ -1405,7 +1405,7 @@ BiosVideoCheckForVbe (
// //
EdidOverrideDataBlock = AllocatePool (VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE * 2); EdidOverrideDataBlock = AllocatePool (VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE * 2);
if (NULL == EdidOverrideDataBlock) { if (NULL == EdidOverrideDataBlock) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
@ -1449,13 +1449,13 @@ BiosVideoCheckForVbe (
// Set EDID Discovered Data // Set EDID Discovered Data
// //
BiosVideoPrivate->EdidDiscovered.SizeOfEdid = VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE; BiosVideoPrivate->EdidDiscovered.SizeOfEdid = VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE;
BiosVideoPrivate->EdidDiscovered.Edid = (UINT8 *) AllocateCopyPool ( BiosVideoPrivate->EdidDiscovered.Edid = (UINT8 *) AllocateCopyPool (
VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE, VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE,
BiosVideoPrivate->VbeEdidDataBlock BiosVideoPrivate->VbeEdidDataBlock
); );
if (NULL == BiosVideoPrivate->EdidDiscovered.Edid) { if (NULL == BiosVideoPrivate->EdidDiscovered.Edid) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
@ -1470,9 +1470,9 @@ BiosVideoCheckForVbe (
EdidActiveDataSize = EdidOverrideDataSize; EdidActiveDataSize = EdidOverrideDataSize;
EdidActiveDataBlock = EdidOverrideDataBlock; EdidActiveDataBlock = EdidOverrideDataBlock;
EdidFound = TRUE; EdidFound = TRUE;
} }
if (EdidFound) { if (EdidFound) {
// //
// Parse EDID data structure to retrieve modes supported by monitor // Parse EDID data structure to retrieve modes supported by monitor
// //
@ -1486,7 +1486,7 @@ BiosVideoCheckForVbe (
EdidActiveDataBlock EdidActiveDataBlock
); );
if (NULL == BiosVideoPrivate->EdidActive.Edid) { if (NULL == BiosVideoPrivate->EdidActive.Edid) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
} }
@ -1507,7 +1507,7 @@ BiosVideoCheckForVbe (
PreferMode = 0; PreferMode = 0;
ModeNumber = 0; ModeNumber = 0;
// //
// ModeNumberPtr may be not 16-byte aligned, so ReadUnaligned16 is used to access the buffer pointed by ModeNumberPtr. // ModeNumberPtr may be not 16-byte aligned, so ReadUnaligned16 is used to access the buffer pointed by ModeNumberPtr.
// //
@ -1635,7 +1635,7 @@ BiosVideoCheckForVbe (
// Record the highest resolution mode to set later // Record the highest resolution mode to set later
// //
if ((BiosVideoPrivate->VbeModeInformationBlock->XResolution > HighestHorizontalResolution) || if ((BiosVideoPrivate->VbeModeInformationBlock->XResolution > HighestHorizontalResolution) ||
((BiosVideoPrivate->VbeModeInformationBlock->XResolution == HighestHorizontalResolution) && ((BiosVideoPrivate->VbeModeInformationBlock->XResolution == HighestHorizontalResolution) &&
(BiosVideoPrivate->VbeModeInformationBlock->YResolution > HighestVerticalResolution))) { (BiosVideoPrivate->VbeModeInformationBlock->YResolution > HighestVerticalResolution))) {
HighestHorizontalResolution = BiosVideoPrivate->VbeModeInformationBlock->XResolution; HighestHorizontalResolution = BiosVideoPrivate->VbeModeInformationBlock->XResolution;
HighestVerticalResolution = BiosVideoPrivate->VbeModeInformationBlock->YResolution; HighestVerticalResolution = BiosVideoPrivate->VbeModeInformationBlock->YResolution;
@ -1647,10 +1647,10 @@ BiosVideoCheckForVbe (
// //
ModeNumber ++; ModeNumber ++;
ModeBuffer = (BIOS_VIDEO_MODE_DATA *) AllocatePool ( ModeBuffer = (BIOS_VIDEO_MODE_DATA *) AllocatePool (
ModeNumber * sizeof (BIOS_VIDEO_MODE_DATA) ModeNumber * sizeof (BIOS_VIDEO_MODE_DATA)
); );
if (NULL == ModeBuffer) { if (NULL == ModeBuffer) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
@ -1715,7 +1715,7 @@ BiosVideoCheckForVbe (
// Make sure the FrameBufferSize does not exceed the max available frame buffer size reported by VEB. // Make sure the FrameBufferSize does not exceed the max available frame buffer size reported by VEB.
// //
ASSERT (CurrentModeData->FrameBufferSize <= ((UINT32)BiosVideoPrivate->VbeInformationBlock->TotalMemory * 64 * 1024)); ASSERT (CurrentModeData->FrameBufferSize <= ((UINT32)BiosVideoPrivate->VbeInformationBlock->TotalMemory * 64 * 1024));
BiosVideoPrivate->ModeData = ModeBuffer; BiosVideoPrivate->ModeData = ModeBuffer;
} }
// //
@ -1821,7 +1821,7 @@ BiosVideoCheckForVga (
sizeof (BIOS_VIDEO_MODE_DATA) sizeof (BIOS_VIDEO_MODE_DATA)
); );
if (NULL == ModeBuffer) { if (NULL == ModeBuffer) {
Status = EFI_OUT_OF_RESOURCES; Status = EFI_OUT_OF_RESOURCES;
goto Done; goto Done;
} }
@ -1913,8 +1913,8 @@ BiosVideoGraphicsOutputQueryMode (
} }
*Info = (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) AllocatePool ( *Info = (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *) AllocatePool (
sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION) sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION)
); );
if (NULL == *Info) { if (NULL == *Info) {
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }
@ -1969,8 +1969,8 @@ BiosVideoSetModeWorker (
} }
BiosVideoPrivate->LineBuffer = (UINT8 *) AllocatePool ( BiosVideoPrivate->LineBuffer = (UINT8 *) AllocatePool (
ModeData->BytesPerScanLine ModeData->BytesPerScanLine
); );
if (NULL == BiosVideoPrivate->LineBuffer) { if (NULL == BiosVideoPrivate->LineBuffer) {
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }
@ -1998,9 +1998,9 @@ BiosVideoSetModeWorker (
// Allocate a working buffer for BLT operations to the VBE frame buffer // Allocate a working buffer for BLT operations to the VBE frame buffer
// //
BiosVideoPrivate->VbeFrameBuffer = BiosVideoPrivate->VbeFrameBuffer =
(EFI_GRAPHICS_OUTPUT_BLT_PIXEL *) AllocatePool ( (EFI_GRAPHICS_OUTPUT_BLT_PIXEL *) AllocatePool (
ModeData->BytesPerScanLine * ModeData->VerticalResolution ModeData->BytesPerScanLine * ModeData->VerticalResolution
); );
if (NULL == BiosVideoPrivate->VbeFrameBuffer) { if (NULL == BiosVideoPrivate->VbeFrameBuffer) {
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }
@ -2079,11 +2079,11 @@ BiosVideoGraphicsOutputSetMode (
if (ModeNumber >= This->Mode->MaxMode) { if (ModeNumber >= This->Mode->MaxMode) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
if (ModeNumber == This->Mode->Mode) { if (ModeNumber == This->Mode->Mode) {
// //
// Clear screen to black // Clear screen to black
// //
ZeroMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)); ZeroMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL));
BiosVideoGraphicsOutputVbeBlt ( BiosVideoGraphicsOutputVbeBlt (
This, This,

View File

@ -4,14 +4,14 @@
// This driver by using Legacy Bios protocol service to support csm Video // This driver by using Legacy Bios protocol service to support csm Video
// and produce Graphics Output Protocol. // and produce Graphics Output Protocol.
// //
// Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// BiosVideoDxe Localized Strings and Content // BiosVideoDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"Legacy Video DXE Driver" "Legacy Video DXE Driver"

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -248,7 +248,7 @@ RelocateImageUnder4GIfNeeded (
// //
// Create a new handle with gEfiCallerIdGuid to be used as the ImageHandle fore the reloaded image // Create a new handle with gEfiCallerIdGuid to be used as the ImageHandle fore the reloaded image
// //
NewImageHandle = NULL; NewImageHandle = NULL;
Status = gBS->InstallProtocolInterface ( Status = gBS->InstallProtocolInterface (
&NewImageHandle, &NewImageHandle,

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -31,7 +31,7 @@ BOOLEAN IsHaveMediaInFloppy = TRUE;
/** /**
Checks the state of the floppy and if media is inserted. Checks the state of the floppy and if media is inserted.
This routine checks the state of the floppy and if media is inserted. This routine checks the state of the floppy and if media is inserted.
There are 3 cases: There are 3 cases:
No floppy present - Set BBS entry to ignore No floppy present - Set BBS entry to ignore

View File

@ -271,7 +271,7 @@ ShadowAndStartLegacy16 (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
// //
// Bugbug: need to figure out whether C/D/E/F segment should be marked as reserved memory. // Bugbug: need to figure out whether C/D/E/F segment should be marked as reserved memory.
// //
DEBUG ((DEBUG_ERROR, "Failed to allocate the C/D/E/F segment Status = %r", Status)); DEBUG ((DEBUG_ERROR, "Failed to allocate the C/D/E/F segment Status = %r", Status));
} }
} }
@ -415,7 +415,7 @@ ShadowAndStartLegacy16 (
Private->Legacy8259->GetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL); Private->Legacy8259->GetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);
NewMask = 0xFFFF; NewMask = 0xFFFF;
Private->Legacy8259->SetMask(Private->Legacy8259, &NewMask, NULL, NULL, NULL); Private->Legacy8259->SetMask(Private->Legacy8259, &NewMask, NULL, NULL, NULL);
// //
// Call into Legacy16 code to do an INIT // Call into Legacy16 code to do an INIT
// //
@ -437,7 +437,7 @@ ShadowAndStartLegacy16 (
// Restore original legacy interrupt mask value // Restore original legacy interrupt mask value
// //
Private->Legacy8259->SetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL); Private->Legacy8259->SetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);
if (Regs.X.AX != 0) { if (Regs.X.AX != 0) {
return EFI_DEVICE_ERROR; return EFI_DEVICE_ERROR;
} }
@ -653,7 +653,7 @@ GetPciInterfaceVersion (
UINT16 PciInterfaceVersion; UINT16 PciInterfaceVersion;
PciInterfaceVersion = 0; PciInterfaceVersion = 0;
Reg.X.AX = 0xB101; Reg.X.AX = 0xB101;
Reg.E.EDI = 0; Reg.E.EDI = 0;
@ -693,7 +693,7 @@ InstallSmbiosEventCallback (
{ {
EFI_STATUS Status; EFI_STATUS Status;
SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure; SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure;
// //
// Get SMBIOS table from EFI configuration table // Get SMBIOS table from EFI configuration table
// //
@ -704,7 +704,7 @@ InstallSmbiosEventCallback (
if ((EFI_ERROR (Status)) || (mRuntimeSmbiosEntryPoint == NULL)) { if ((EFI_ERROR (Status)) || (mRuntimeSmbiosEntryPoint == NULL)) {
return; return;
} }
EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint; EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint;
// //
@ -728,8 +728,8 @@ InstallSmbiosEventCallback (
} }
DEBUG ((EFI_D_INFO, "Allocate memory for Smbios Entry Point Structure\n")); DEBUG ((EFI_D_INFO, "Allocate memory for Smbios Entry Point Structure\n"));
} }
if ((mStructureTableAddress != 0) && if ((mStructureTableAddress != 0) &&
(mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength))) { (mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength))) {
// //
// If original buffer is not enough for the new SMBIOS table, free original buffer and re-allocate // If original buffer is not enough for the new SMBIOS table, free original buffer and re-allocate
@ -739,7 +739,7 @@ InstallSmbiosEventCallback (
mStructureTablePages = 0; mStructureTablePages = 0;
DEBUG ((EFI_D_INFO, "Original size is not enough. Re-allocate the memory.\n")); DEBUG ((EFI_D_INFO, "Original size is not enough. Re-allocate the memory.\n"));
} }
if (mStructureTableAddress == 0) { if (mStructureTableAddress == 0) {
// //
// Allocate reserved memory below 4GB. // Allocate reserved memory below 4GB.
@ -755,7 +755,7 @@ InstallSmbiosEventCallback (
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
gBS->FreePages ( gBS->FreePages (
mReserveSmbiosEntryPoint, mReserveSmbiosEntryPoint,
EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength)) EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength))
); );
mReserveSmbiosEntryPoint = 0; mReserveSmbiosEntryPoint = 0;
@ -843,7 +843,7 @@ LegacyBiosInstall (
FreePool (SecureBoot); FreePool (SecureBoot);
return EFI_SECURITY_VIOLATION; return EFI_SECURITY_VIOLATION;
} }
if (SecureBoot != NULL) { if (SecureBoot != NULL) {
FreePool (SecureBoot); FreePool (SecureBoot);
} }
@ -1047,7 +1047,7 @@ LegacyBiosInstall (
// Allocate low PMM memory and zero it out // Allocate low PMM memory and zero it out
// //
MemorySize = PcdGet32 (PcdLowPmmMemorySize); MemorySize = PcdGet32 (PcdLowPmmMemorySize);
ASSERT ((MemorySize & 0xFFF) == 0); ASSERT ((MemorySize & 0xFFF) == 0);
Status = AllocateLegacyMemory ( Status = AllocateLegacyMemory (
AllocateMaxAddress, AllocateMaxAddress,
EfiBootServicesCode, EfiBootServicesCode,
@ -1089,7 +1089,7 @@ LegacyBiosInstall (
ASSERT ((MemorySize & 0xFFF) == 0); ASSERT ((MemorySize & 0xFFF) == 0);
// //
// Allocate high PMM Memory under 16 MB // Allocate high PMM Memory under 16 MB
// //
Status = AllocateLegacyMemory ( Status = AllocateLegacyMemory (
AllocateMaxAddress, AllocateMaxAddress,
EfiBootServicesCode, EfiBootServicesCode,
@ -1100,19 +1100,19 @@ LegacyBiosInstall (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
// //
// If it fails, allocate high PMM Memory under 4GB // If it fails, allocate high PMM Memory under 4GB
// //
Status = AllocateLegacyMemory ( Status = AllocateLegacyMemory (
AllocateMaxAddress, AllocateMaxAddress,
EfiBootServicesCode, EfiBootServicesCode,
0xFFFFFFFF, 0xFFFFFFFF,
EFI_SIZE_TO_PAGES (MemorySize), EFI_SIZE_TO_PAGES (MemorySize),
&MemoryAddress &MemoryAddress
); );
} }
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
EfiToLegacy16InitTable->HiPmmMemory = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress; EfiToLegacy16InitTable->HiPmmMemory = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress;
EfiToLegacy16InitTable->HiPmmMemorySizeInBytes = MemorySize; EfiToLegacy16InitTable->HiPmmMemorySizeInBytes = MemorySize;
} }
// //
// ShutdownAPs(); // ShutdownAPs();
@ -1149,7 +1149,7 @@ LegacyBiosInstall (
// Save EFI value // Save EFI value
// //
Private->ThunkSeg = (UINT16) (EFI_SEGMENT (IntRedirCode)); Private->ThunkSeg = (UINT16) (EFI_SEGMENT (IntRedirCode));
// //
// Allocate reserved memory for SMBIOS table used in legacy boot if SMBIOS table exists // Allocate reserved memory for SMBIOS table used in legacy boot if SMBIOS table exists
// //
@ -1166,7 +1166,7 @@ LegacyBiosInstall (
&gEfiSmbiosTableGuid, &gEfiSmbiosTableGuid,
&InstallSmbiosEvent &InstallSmbiosEvent
); );
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
// //
// Create callback to update status of EndOfDxe, which is needed by NULL // Create callback to update status of EndOfDxe, which is needed by NULL
@ -1193,9 +1193,9 @@ LegacyBiosInstall (
&Private->LegacyBios &Private->LegacyBios
); );
Private->Csm16PciInterfaceVersion = GetPciInterfaceVersion (Private); Private->Csm16PciInterfaceVersion = GetPciInterfaceVersion (Private);
DEBUG ((EFI_D_INFO, "CSM16 PCI BIOS Interface Version: %02x.%02x\n", DEBUG ((EFI_D_INFO, "CSM16 PCI BIOS Interface Version: %02x.%02x\n",
(UINT8) (Private->Csm16PciInterfaceVersion >> 8), (UINT8) (Private->Csm16PciInterfaceVersion >> 8),
(UINT8) Private->Csm16PciInterfaceVersion (UINT8) Private->Csm16PciInterfaceVersion
)); ));
ASSERT (Private->Csm16PciInterfaceVersion != 0); ASSERT (Private->Csm16PciInterfaceVersion != 0);

View File

@ -3,14 +3,14 @@
// //
// This driver installs Legacy Bios Protocol to support CSM module work in EFI system. // This driver installs Legacy Bios Protocol to support CSM module work in EFI system.
// //
// Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
// of the BSD License which accompanies this distribution. The // of the BSD License which accompanies this distribution. The
// full text of the license may be found at // full text of the license may be found at
// http://opensource.org/licenses/bsd-license.php // http://opensource.org/licenses/bsd-license.php
// //
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// //

View File

@ -1,7 +1,7 @@
// /** @file // /** @file
// LegacyBiosDxe Localized Strings and Content // LegacyBiosDxe Localized Strings and Content
// //
// Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR> // Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
// //
// This program and the accompanying materials // This program and the accompanying materials
// are licensed and made available under the terms and conditions // are licensed and made available under the terms and conditions
@ -14,8 +14,8 @@
// //
// **/ // **/
#string STR_PROPERTIES_MODULE_NAME #string STR_PROPERTIES_MODULE_NAME
#language en-US #language en-US
"Legacy BIOS Support DXE Driver" "Legacy BIOS Support DXE Driver"

View File

@ -101,9 +101,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#define PROTECTED_MODE_BASE_VECTOR_SLAVE 0x70 #define PROTECTED_MODE_BASE_VECTOR_SLAVE 0x70
// //
// When we call CSM16 functions, some CSM16 use es:[offset + 0xabcd] to get data passed from CSM32, // When we call CSM16 functions, some CSM16 use es:[offset + 0xabcd] to get data passed from CSM32,
// offset + 0xabcd could overflow which exceeds 0xFFFF which is invalid in real mode. // offset + 0xabcd could overflow which exceeds 0xFFFF which is invalid in real mode.
// So this will keep offset as small as possible to avoid offset overflow in real mode. // So this will keep offset as small as possible to avoid offset overflow in real mode.
// //
#define NORMALIZE_EFI_SEGMENT(_Adr) (UINT16) (((UINTN) (_Adr)) >> 4) #define NORMALIZE_EFI_SEGMENT(_Adr) (UINT16) (((UINTN) (_Adr)) >> 4)
#define NORMALIZE_EFI_OFFSET(_Adr) (UINT16) (((UINT16) ((UINTN) (_Adr))) & 0xf) #define NORMALIZE_EFI_OFFSET(_Adr) (UINT16) (((UINT16) ((UINTN) (_Adr))) & 0xf)
@ -544,7 +544,7 @@ extern BOOLEAN mEndOfDxe;
// //
// Timer 0, Read/Write LSB then MSB, Square wave output, binary count use. // Timer 0, Read/Write LSB then MSB, Square wave output, binary count use.
// //
#define TIMER0_CONTROL_WORD 0x36 #define TIMER0_CONTROL_WORD 0x36
#define LEGACY_BIOS_INSTANCE_SIGNATURE SIGNATURE_32 ('L', 'B', 'I', 'T') #define LEGACY_BIOS_INSTANCE_SIGNATURE SIGNATURE_32 ('L', 'B', 'I', 'T')
typedef struct { typedef struct {
@ -556,16 +556,16 @@ typedef struct {
EFI_HANDLE ImageHandle; EFI_HANDLE ImageHandle;
// //
// CPU Architectural Protocol // CPU Architectural Protocol
// //
EFI_CPU_ARCH_PROTOCOL *Cpu; EFI_CPU_ARCH_PROTOCOL *Cpu;
// //
// Timer Architectural Protocol // Timer Architectural Protocol
// //
EFI_TIMER_ARCH_PROTOCOL *Timer; EFI_TIMER_ARCH_PROTOCOL *Timer;
BOOLEAN TimerUses8254; BOOLEAN TimerUses8254;
// //
// Protocol to Lock and Unlock 0xc0000 - 0xfffff // Protocol to Lock and Unlock 0xc0000 - 0xfffff
// //
@ -577,7 +577,7 @@ typedef struct {
// Interrupt control for thunk and PCI IRQ // Interrupt control for thunk and PCI IRQ
// //
EFI_LEGACY_8259_PROTOCOL *Legacy8259; EFI_LEGACY_8259_PROTOCOL *Legacy8259;
// //
// PCI Interrupt PIRQ control // PCI Interrupt PIRQ control
// //
@ -673,7 +673,7 @@ typedef struct {
// //
// Indicate that whether GenericLegacyBoot is entered or not // Indicate that whether GenericLegacyBoot is entered or not
// //
BOOLEAN LegacyBootEntered; BOOLEAN LegacyBootEntered;
// //
// CSM16 PCI Interface Version // CSM16 PCI Interface Version
@ -1350,7 +1350,7 @@ ShadowAndStartLegacy16 (
/** /**
Checks the state of the floppy and if media is inserted. Checks the state of the floppy and if media is inserted.
This routine checks the state of the floppy and if media is inserted. This routine checks the state of the floppy and if media is inserted.
There are 3 cases: There are 3 cases:
No floppy present - Set BBS entry to ignore No floppy present - Set BBS entry to ignore

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -791,15 +791,15 @@ CreateSmbiosTableInReservedMemory (
) )
{ {
SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure; SMBIOS_TABLE_ENTRY_POINT *EntryPointStructure;
if ((mRuntimeSmbiosEntryPoint == NULL) || if ((mRuntimeSmbiosEntryPoint == NULL) ||
(mReserveSmbiosEntryPoint == 0) || (mReserveSmbiosEntryPoint == 0) ||
(mStructureTableAddress == 0)) { (mStructureTableAddress == 0)) {
return; return;
} }
EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint; EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint;
// //
// Copy SMBIOS Entry Point Structure // Copy SMBIOS Entry Point Structure
// //
@ -808,7 +808,7 @@ CreateSmbiosTableInReservedMemory (
EntryPointStructure, EntryPointStructure,
EntryPointStructure->EntryPointLength EntryPointStructure->EntryPointLength
); );
// //
// Copy SMBIOS Structure Table into EfiReservedMemoryType memory // Copy SMBIOS Structure Table into EfiReservedMemoryType memory
// //
@ -817,22 +817,22 @@ CreateSmbiosTableInReservedMemory (
(VOID *)(UINTN) EntryPointStructure->TableAddress, (VOID *)(UINTN) EntryPointStructure->TableAddress,
EntryPointStructure->TableLength EntryPointStructure->TableLength
); );
// //
// Update TableAddress in Entry Point Structure // Update TableAddress in Entry Point Structure
// //
EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)(UINTN) mReserveSmbiosEntryPoint; EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)(UINTN) mReserveSmbiosEntryPoint;
EntryPointStructure->TableAddress = (UINT32)(UINTN) mStructureTableAddress; EntryPointStructure->TableAddress = (UINT32)(UINTN) mStructureTableAddress;
// //
// Fixup checksums in the Entry Point Structure // Fixup checksums in the Entry Point Structure
// //
EntryPointStructure->IntermediateChecksum = 0; EntryPointStructure->IntermediateChecksum = 0;
EntryPointStructure->EntryPointStructureChecksum = 0; EntryPointStructure->EntryPointStructureChecksum = 0;
EntryPointStructure->IntermediateChecksum = EntryPointStructure->IntermediateChecksum =
CalculateCheckSum8 ( CalculateCheckSum8 (
(UINT8 *) EntryPointStructure + OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString), (UINT8 *) EntryPointStructure + OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString),
EntryPointStructure->EntryPointLength - OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString) EntryPointStructure->EntryPointLength - OFFSET_OF (SMBIOS_TABLE_ENTRY_POINT, IntermediateAnchorString)
); );
EntryPointStructure->EntryPointStructureChecksum = EntryPointStructure->EntryPointStructureChecksum =
@ -898,7 +898,7 @@ GenericLegacyBoot (
EfiToLegacy16BootTable->MajorVersion = EFI_TO_LEGACY_MAJOR_VERSION; EfiToLegacy16BootTable->MajorVersion = EFI_TO_LEGACY_MAJOR_VERSION;
EfiToLegacy16BootTable->MinorVersion = EFI_TO_LEGACY_MINOR_VERSION; EfiToLegacy16BootTable->MinorVersion = EFI_TO_LEGACY_MINOR_VERSION;
// //
// If booting to a legacy OS then force HDD drives to the appropriate // If booting to a legacy OS then force HDD drives to the appropriate
// boot mode by calling GetIdeHandle. // boot mode by calling GetIdeHandle.
@ -916,7 +916,7 @@ GenericLegacyBoot (
); );
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
IdeController = HandleBuffer[0]; IdeController = HandleBuffer[0];
} }
} }
// //
// Unlock the Legacy BIOS region // Unlock the Legacy BIOS region
@ -1295,7 +1295,7 @@ GenericLegacyBoot (
// Disable DXE Timer while executing in real mode // Disable DXE Timer while executing in real mode
// //
Private->Timer->SetTimerPeriod (Private->Timer, 0); Private->Timer->SetTimerPeriod (Private->Timer, 0);
// //
// Save and disable interrupt of debug timer // Save and disable interrupt of debug timer
// //
@ -1464,8 +1464,8 @@ LegacyBiosBootUnconventionalDevice (
} }
UcdTable = (UD_TABLE *) AllocatePool ( UcdTable = (UD_TABLE *) AllocatePool (
sizeof (UD_TABLE) sizeof (UD_TABLE)
); );
if (NULL == UcdTable) { if (NULL == UcdTable) {
return EFI_OUT_OF_RESOURCES; return EFI_OUT_OF_RESOURCES;
} }

View File

@ -1,7 +1,7 @@
/** @file /** @file
Collect IDE information from Native EFI Driver Collect IDE information from Native EFI Driver
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -76,7 +76,7 @@ LegacyBiosBuildIdeData (
(VOID *) &LocalHddInfo (VOID *) &LocalHddInfo
); );
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
IdeController = HandleBuffer[0]; IdeController = HandleBuffer[0];
// //
// Force IDE drive spin up! // Force IDE drive spin up!
// //
@ -279,8 +279,8 @@ InitLegacyIdeController (
// and has PCI I/O resources allocated // and has PCI I/O resources allocated
// //
Status = gBS->HandleProtocol ( Status = gBS->HandleProtocol (
IdeController, IdeController,
&gEfiPciIoProtocolGuid, &gEfiPciIoProtocolGuid,
(VOID **)&PciIo (VOID **)&PciIo
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -150,7 +150,7 @@ EFI_STATUS
RomShadow ( RomShadow (
IN EFI_HANDLE PciHandle, IN EFI_HANDLE PciHandle,
IN UINT32 ShadowAddress, IN UINT32 ShadowAddress,
IN UINT32 ShadowedSize, IN UINT32 ShadowedSize,
IN UINT8 DiskStart, IN UINT8 DiskStart,
IN UINT8 DiskEnd IN UINT8 DiskEnd
) )
@ -258,7 +258,7 @@ IsLegacyRom (
} }
/** /**
Find the PC-AT ROM Image in the raw PCI Option ROM. Also return the Find the PC-AT ROM Image in the raw PCI Option ROM. Also return the
related information from the header. related information from the header.
@param Csm16Revision The PCI interface version of underlying CSM16 @param Csm16Revision The PCI interface version of underlying CSM16
@ -321,7 +321,7 @@ GetPciLegacyRom (
if (((UINTN)RomHeader.Raw - (UINTN)*Rom) + Pcir->ImageLength * 512 > *ImageSize) { if (((UINTN)RomHeader.Raw - (UINTN)*Rom) + Pcir->ImageLength * 512 > *ImageSize) {
break; break;
} }
if (Pcir->CodeType == PCI_CODE_TYPE_PCAT_IMAGE) { if (Pcir->CodeType == PCI_CODE_TYPE_PCAT_IMAGE) {
Match = FALSE; Match = FALSE;
if (Pcir->VendorId == VendorId) { if (Pcir->VendorId == VendorId) {
@ -384,7 +384,7 @@ GetPciLegacyRom (
DEBUG ((EFI_D_ERROR, "GetPciLegacyRom - OpRom not match (%04x-%04x)\n", (UINTN)VendorId, (UINTN)DeviceId)); DEBUG ((EFI_D_ERROR, "GetPciLegacyRom - OpRom not match (%04x-%04x)\n", (UINTN)VendorId, (UINTN)DeviceId));
} }
} }
if ((Pcir->Indicator & 0x80) == 0x80) { if ((Pcir->Indicator & 0x80) == 0x80) {
break; break;
} else { } else {
@ -415,7 +415,7 @@ GetPciLegacyRom (
} }
if (OpRomRevision != NULL) { if (OpRomRevision != NULL) {
// //
// Optional return PCI Data Structure revision // Optional return PCI Data Structure revision
// //
if (Pcir->Length >= 0x1C) { if (Pcir->Length >= 0x1C) {
@ -815,7 +815,7 @@ CopyPirqTable (
// //
Regs.X.BX = (UINT16) 0x1; Regs.X.BX = (UINT16) 0x1;
// //
// 16-byte boundary alignment requirement according to // 16-byte boundary alignment requirement according to
// PCI IRQ Routing Table Specification // PCI IRQ Routing Table Specification
// //
Regs.X.DX = 0x10; Regs.X.DX = 0x10;
@ -832,7 +832,7 @@ CopyPirqTable (
if (Regs.X.AX != 0) { if (Regs.X.AX != 0) {
DEBUG ((EFI_D_ERROR, "PIRQ table length insufficient - %x\n", PirqTableSize)); DEBUG ((EFI_D_ERROR, "PIRQ table length insufficient - %x\n", PirqTableSize));
} else { } else {
DEBUG ((EFI_D_INFO, "PIRQ table in legacy region - %x\n", Private->Legacy16Table->IrqRoutingTablePointer)); DEBUG ((EFI_D_INFO, "PIRQ table in legacy region - %x\n", Private->Legacy16Table->IrqRoutingTablePointer));
Private->Legacy16Table->IrqRoutingTableLength = (UINT32)PirqTableSize; Private->Legacy16Table->IrqRoutingTableLength = (UINT32)PirqTableSize;
CopyMem ( CopyMem (
(VOID *) (UINTN)Private->Legacy16Table->IrqRoutingTablePointer, (VOID *) (UINTN)Private->Legacy16Table->IrqRoutingTablePointer,
@ -1595,11 +1595,11 @@ PciShadowRoms (
&HandleBuffer, &HandleBuffer,
&HandleCount, &HandleCount,
NULL NULL
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
VgaHandle = HandleBuffer[0]; VgaHandle = HandleBuffer[0];
Status = gBS->LocateHandleBuffer ( Status = gBS->LocateHandleBuffer (
@ -1699,13 +1699,13 @@ PciShadowRoms (
sizeof (Pci) / sizeof (UINT32), sizeof (Pci) / sizeof (UINT32),
&Pci &Pci
); );
// //
// Only one Video OPROM can be given control in BIOS phase. If there are multiple Video devices, // Only one Video OPROM can be given control in BIOS phase. If there are multiple Video devices,
// one will work in legacy mode (OPROM will be given control) and // one will work in legacy mode (OPROM will be given control) and
// other Video devices will work in native mode (OS driver will handle these devices). // other Video devices will work in native mode (OS driver will handle these devices).
// //
if (IS_PCI_DISPLAY (&Pci) && Index != 0) { if (IS_PCI_DISPLAY (&Pci) && Index != 0) {
continue; continue;
} }
// //
@ -1715,11 +1715,11 @@ PciShadowRoms (
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
continue; continue;
} }
// //
// If legacy VBIOS Oprom has not been dispatched before, install legacy VBIOS here. // If legacy VBIOS Oprom has not been dispatched before, install legacy VBIOS here.
// //
if (IS_PCI_DISPLAY (&Pci) && Index == 0) { if (IS_PCI_DISPLAY (&Pci) && Index == 0) {
Status = LegacyBiosInstallVgaRom (Private); Status = LegacyBiosInstallVgaRom (Private);
// //
// A return status of EFI_NOT_FOUND is considered valid (No EFI // A return status of EFI_NOT_FOUND is considered valid (No EFI
@ -2104,7 +2104,7 @@ LegacyBiosInstallVgaRom (
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
return Status; return Status;
} }
for (Index = 0; Index < EntryCount; Index++) { for (Index = 0; Index < EntryCount; Index++) {
if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) != 0) { if ((OpenInfoBuffer[Index].Attributes & EFI_OPEN_PROTOCOL_BY_DRIVER) != 0) {
Status = gBS->HandleProtocol ( Status = gBS->HandleProtocol (
@ -2123,7 +2123,7 @@ LegacyBiosInstallVgaRom (
} }
} }
} }
// //
// Kick off the native EFI driver // Kick off the native EFI driver
// //
@ -2305,7 +2305,7 @@ LegacyBiosInstallRom (
MaxRomAddr = PcdGet32 (PcdEndOpromShadowAddress); MaxRomAddr = PcdGet32 (PcdEndOpromShadowAddress);
if ((Private->Legacy16Table->TableLength >= OFFSET_OF(EFI_COMPATIBILITY16_TABLE, HiPermanentMemoryAddress)) && if ((Private->Legacy16Table->TableLength >= OFFSET_OF(EFI_COMPATIBILITY16_TABLE, HiPermanentMemoryAddress)) &&
(Private->Legacy16Table->UmaAddress != 0) && (Private->Legacy16Table->UmaAddress != 0) &&
(Private->Legacy16Table->UmaSize != 0) && (Private->Legacy16Table->UmaSize != 0) &&
(MaxRomAddr > (Private->Legacy16Table->UmaAddress))) { (MaxRomAddr > (Private->Legacy16Table->UmaAddress))) {
MaxRomAddr = Private->Legacy16Table->UmaAddress; MaxRomAddr = Private->Legacy16Table->UmaAddress;
@ -2326,7 +2326,7 @@ LegacyBiosInstallRom (
EFI_SIZE_TO_PAGES (ImageSize), EFI_SIZE_TO_PAGES (ImageSize),
&PhysicalAddress &PhysicalAddress
); );
if (EFI_ERROR (Status)) { if (EFI_ERROR (Status)) {
DEBUG ((EFI_D_ERROR, "return LegacyBiosInstallRom(%d): EFI_OUT_OF_RESOURCES (no more space for OpROM)\n", __LINE__)); DEBUG ((EFI_D_ERROR, "return LegacyBiosInstallRom(%d): EFI_OUT_OF_RESOURCES (no more space for OpROM)\n", __LINE__));
// //
@ -2389,7 +2389,7 @@ LegacyBiosInstallRom (
(UINT32) ImageSize, (UINT32) ImageSize,
&Granularity &Granularity
); );
DEBUG ((EFI_D_INFO, " Shadowing OpROM init/runtime/isize = %x/%x/%x\n", InitAddress, RuntimeAddress, ImageSize)); DEBUG ((EFI_D_INFO, " Shadowing OpROM init/runtime/isize = %x/%x/%x\n", InitAddress, RuntimeAddress, ImageSize));
CopyMem ((VOID *) InitAddress, RomImage, ImageSize); CopyMem ((VOID *) InitAddress, RomImage, ImageSize);
@ -2466,7 +2466,7 @@ LegacyBiosInstallRom (
// //
gRT->GetTime (&BootTime, NULL); gRT->GetTime (&BootTime, NULL);
LocalTime = BootTime.Hour * 3600 + BootTime.Minute * 60 + BootTime.Second; LocalTime = BootTime.Hour * 3600 + BootTime.Minute * 60 + BootTime.Second;
// //
// Multiply result by 18.2 for number of ticks since midnight. // Multiply result by 18.2 for number of ticks since midnight.
// Use 182/10 to avoid floating point math. // Use 182/10 to avoid floating point math.
@ -2476,21 +2476,21 @@ LegacyBiosInstallRom (
BdaPtr = (UINT32 *) ((UINTN) 0x46C); BdaPtr = (UINT32 *) ((UINTN) 0x46C);
*BdaPtr = LocalTime; *BdaPtr = LocalTime;
); );
// //
// Pass in handoff data // Pass in handoff data
// //
PciEnableStatus = EFI_UNSUPPORTED; PciEnableStatus = EFI_UNSUPPORTED;
ZeroMem (&Regs, sizeof (Regs)); ZeroMem (&Regs, sizeof (Regs));
if (PciHandle != NULL) { if (PciHandle != NULL) {
Status = gBS->HandleProtocol ( Status = gBS->HandleProtocol (
PciHandle, PciHandle,
&gEfiPciIoProtocolGuid, &gEfiPciIoProtocolGuid,
(VOID **) &PciIo (VOID **) &PciIo
); );
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
// //
// Enable command register. // Enable command register.
// //
@ -2500,7 +2500,7 @@ LegacyBiosInstallRom (
EFI_PCI_DEVICE_ENABLE, EFI_PCI_DEVICE_ENABLE,
NULL NULL
); );
PciIo->GetLocation ( PciIo->GetLocation (
PciIo, PciIo,
&Segment, &Segment,
@ -2510,10 +2510,10 @@ LegacyBiosInstallRom (
); );
DEBUG ((EFI_D_INFO, "Shadowing OpROM on the PCI device %x/%x/%x\n", Bus, Device, Function)); DEBUG ((EFI_D_INFO, "Shadowing OpROM on the PCI device %x/%x/%x\n", Bus, Device, Function));
} }
mIgnoreBbsUpdateFlag = FALSE; mIgnoreBbsUpdateFlag = FALSE;
Regs.X.AX = Legacy16DispatchOprom; Regs.X.AX = Legacy16DispatchOprom;
// //
// Generate DispatchOpRomTable data // Generate DispatchOpRomTable data
// //
@ -2545,7 +2545,7 @@ LegacyBiosInstallRom (
} else { } else {
Regs.X.BX = 0; Regs.X.BX = 0;
} }
if (Private->IntThunk->DispatchOpromTable.NumberBbsEntries != (UINT8) Private->IntThunk->EfiToLegacy16BootTable.NumberBbsEntries) { if (Private->IntThunk->DispatchOpromTable.NumberBbsEntries != (UINT8) Private->IntThunk->EfiToLegacy16BootTable.NumberBbsEntries) {
Private->IntThunk->EfiToLegacy16BootTable.NumberBbsEntries = (UINT8) Private->IntThunk->DispatchOpromTable.NumberBbsEntries; Private->IntThunk->EfiToLegacy16BootTable.NumberBbsEntries = (UINT8) Private->IntThunk->DispatchOpromTable.NumberBbsEntries;
mIgnoreBbsUpdateFlag = TRUE; mIgnoreBbsUpdateFlag = TRUE;
@ -2618,7 +2618,7 @@ LegacyBiosInstallRom (
ACCESS_PAGE0_CODE ( ACCESS_PAGE0_CODE (
LocalDiskEnd = (UINT8) ((*(UINT8 *) ((UINTN) 0x475)) + 0x80); LocalDiskEnd = (UINT8) ((*(UINT8 *) ((UINTN) 0x475)) + 0x80);
); );
// //
// Allow platform to perform any required actions after the // Allow platform to perform any required actions after the
// OPROM has been initialized. // OPROM has been initialized.
@ -2687,7 +2687,7 @@ LegacyBiosInstallRom (
Private->OptionRom = (UINT32) (RuntimeAddress + *RuntimeImageLength); Private->OptionRom = (UINT32) (RuntimeAddress + *RuntimeImageLength);
Status = EFI_SUCCESS; Status = EFI_SUCCESS;
Done: Done:
if (PhysicalAddress != 0) { if (PhysicalAddress != 0) {
// //
@ -2879,7 +2879,7 @@ LegacyBiosInstallPciRom (
*Flags = 0; *Flags = 0;
if ((PciHandle != NULL) && (RomImage == NULL)) { if ((PciHandle != NULL) && (RomImage == NULL)) {
// //
// If PciHandle has OpRom to Execute // If PciHandle has OpRom to Execute
// and OpRom are all associated with Hardware // and OpRom are all associated with Hardware
// //
Status = gBS->HandleProtocol ( Status = gBS->HandleProtocol (
@ -3025,7 +3025,7 @@ LegacyBiosInstallPciRom (
mVgaInstallationInProgress = FALSE; mVgaInstallationInProgress = FALSE;
return EFI_UNSUPPORTED; return EFI_UNSUPPORTED;
} }
Pcir = (PCI_3_0_DATA_STRUCTURE *) Pcir = (PCI_3_0_DATA_STRUCTURE *)
((UINT8 *) LocalRomImage + ((PCI_EXPANSION_ROM_HEADER *) LocalRomImage)->PcirOffset); ((UINT8 *) LocalRomImage + ((PCI_EXPANSION_ROM_HEADER *) LocalRomImage)->PcirOffset);

View File

@ -1,7 +1,7 @@
/** @file /** @file
Call into 16-bit BIOS code, Use AsmThunk16 function of BaseLib. Call into 16-bit BIOS code, Use AsmThunk16 function of BaseLib.
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -77,7 +77,7 @@ LegacyBiosInt86 (
Segment = (UINT16)(((UINT32 *)0)[BiosInt] >> 16); Segment = (UINT16)(((UINT32 *)0)[BiosInt] >> 16);
Offset = (UINT16)((UINT32 *)0)[BiosInt]; Offset = (UINT16)((UINT32 *)0)[BiosInt];
); );
return InternalLegacyBiosFarCall ( return InternalLegacyBiosFarCall (
This, This,
Segment, Segment,
@ -131,7 +131,7 @@ LegacyBiosFarCall86 (
} }
/** /**
Provide NULL interrupt handler which is used to check Provide NULL interrupt handler which is used to check
if there is more than one HW interrupt registers with the CPU AP. if there is more than one HW interrupt registers with the CPU AP.
@param InterruptType - The type of interrupt that occured @param InterruptType - The type of interrupt that occured
@ -218,7 +218,7 @@ InternalLegacyBiosFarCall (
// Disable DXE Timer while executing in real mode // Disable DXE Timer while executing in real mode
// //
Private->Timer->SetTimerPeriod (Private->Timer, 0); Private->Timer->SetTimerPeriod (Private->Timer, 0);
// //
// Save and disable interrupt of debug timer // Save and disable interrupt of debug timer
// //
@ -231,14 +231,14 @@ InternalLegacyBiosFarCall (
// //
// Check to see if there is more than one HW interrupt registers with the CPU AP. // Check to see if there is more than one HW interrupt registers with the CPU AP.
// If there is, then ASSERT() since that is not compatible with the CSM because // If there is, then ASSERT() since that is not compatible with the CSM because
// interupts other than the Timer interrupt that was disabled above can not be // interupts other than the Timer interrupt that was disabled above can not be
// handled properly from real mode. // handled properly from real mode.
// //
DEBUG_CODE ( DEBUG_CODE (
UINTN Vector; UINTN Vector;
UINTN Count; UINTN Count;
for (Vector = 0x20, Count = 0; Vector < 0x100; Vector++) { for (Vector = 0x20, Count = 0; Vector < 0x100; Vector++) {
Status = Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, LegacyBiosNullInterruptHandler); Status = Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, LegacyBiosNullInterruptHandler);
if (Status == EFI_ALREADY_STARTED) { if (Status == EFI_ALREADY_STARTED) {
@ -255,14 +255,14 @@ InternalLegacyBiosFarCall (
); );
// //
// If the Timer AP has enabled the 8254 timer IRQ and the current 8254 timer // If the Timer AP has enabled the 8254 timer IRQ and the current 8254 timer
// period is less than the CSM required rate of 54.9254, then force the 8254 // period is less than the CSM required rate of 54.9254, then force the 8254
// PIT counter to 0, which is the CSM required rate of 54.9254 ms // PIT counter to 0, which is the CSM required rate of 54.9254 ms
// //
if (Private->TimerUses8254 && TimerPeriod < 549254) { if (Private->TimerUses8254 && TimerPeriod < 549254) {
SetPitCount (0); SetPitCount (0);
} }
if (Stack != NULL && StackSize != 0) { if (Stack != NULL && StackSize != 0) {
// //
// Copy Stack to low memory stack // Copy Stack to low memory stack
@ -310,7 +310,7 @@ InternalLegacyBiosFarCall (
// End critical section // End critical section
// //
gBS->RestoreTPL (OriginalTpl); gBS->RestoreTPL (OriginalTpl);
// //
// OPROM may allocate EBDA range by itself and change EBDA base and EBDA size. // OPROM may allocate EBDA range by itself and change EBDA base and EBDA size.
// Get the current EBDA base address, and compared with pre-allocate minimum // Get the current EBDA base address, and compared with pre-allocate minimum
@ -385,27 +385,27 @@ LegacyBiosInitializeThunk (
TimerVector = 0; TimerVector = 0;
Status = Private->Legacy8259->GetVector (Private->Legacy8259, Efi8259Irq0, &TimerVector); Status = Private->Legacy8259->GetVector (Private->Legacy8259, Efi8259Irq0, &TimerVector);
ASSERT_EFI_ERROR (Status); ASSERT_EFI_ERROR (Status);
// //
// Check to see if the Timer AP has hooked the IRQ0 from the 8254 PIT // Check to see if the Timer AP has hooked the IRQ0 from the 8254 PIT
// //
Status = Private->Cpu->RegisterInterruptHandler ( Status = Private->Cpu->RegisterInterruptHandler (
Private->Cpu, Private->Cpu,
TimerVector, TimerVector,
LegacyBiosNullInterruptHandler LegacyBiosNullInterruptHandler
); );
if (Status == EFI_SUCCESS) { if (Status == EFI_SUCCESS) {
// //
// If the Timer AP has not enabled the 8254 timer IRQ, then force the 8254 PIT // If the Timer AP has not enabled the 8254 timer IRQ, then force the 8254 PIT
// counter to 0, which is the CSM required rate of 54.9254 ms // counter to 0, which is the CSM required rate of 54.9254 ms
// //
Private->Cpu->RegisterInterruptHandler ( Private->Cpu->RegisterInterruptHandler (
Private->Cpu, Private->Cpu,
TimerVector, TimerVector,
NULL NULL
); );
SetPitCount (0); SetPitCount (0);
// //
// Save status that the Timer AP is not using the 8254 PIT // Save status that the Timer AP is not using the 8254 PIT
// //
@ -421,6 +421,6 @@ LegacyBiosInitializeThunk (
// //
ASSERT (FALSE); ASSERT (FALSE);
} }
return EFI_SUCCESS; return EFI_SUCCESS;
} }

View File

@ -1,7 +1,7 @@
/** @file /** @file
Definitions for data structures used in S3 resume. Definitions for data structures used in S3 resume.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials This program and the accompanying materials
are licensed and made available under the terms and conditions are licensed and made available under the terms and conditions
@ -62,8 +62,8 @@ typedef struct {
// //
// S3 Debug extension // S3 Debug extension
// //
EFI_PHYSICAL_ADDRESS S3DebugBufferAddress; EFI_PHYSICAL_ADDRESS S3DebugBufferAddress;
EFI_PHYSICAL_ADDRESS S3ResumeNvsEntryPoint; EFI_PHYSICAL_ADDRESS S3ResumeNvsEntryPoint;
} ACPI_VARIABLE_SET_COMPATIBILITY; } ACPI_VARIABLE_SET_COMPATIBILITY;
#endif #endif

View File

@ -1,13 +1,13 @@
/** @file /** @file
GUIDs used as HII FormSet and HII Package list GUID in BdsDxe driver. GUIDs used as HII FormSet and HII Package list GUID in BdsDxe driver.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

View File

@ -1,13 +1,13 @@
/** @file /** @file
GUID used as HII Package list GUID in GenericBdsLib module. GUID used as HII Package list GUID in GenericBdsLib module.
Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials are licensed and made available under
the terms and conditions of the BSD License that accompanies this distribution.
The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/ **/

Some files were not shown because too many files have changed in this diff Show More