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:
@ -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 (
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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.
|
||||||
|
@ -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 (
|
||||||
|
@ -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 (
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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) {
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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 (
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
#
|
#
|
||||||
|
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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]);
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
//
|
//
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
|
|
||||||
|
@ -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.
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
//
|
//
|
||||||
|
@ -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.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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]
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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]
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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 (
|
||||||
|
@ -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.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
//
|
//
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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 (
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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 (
|
||||||
|
@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -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,
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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,
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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.
|
||||||
//
|
//
|
||||||
|
@ -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"
|
||||||
|
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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)) {
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
|
@ -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
Reference in New Issue
Block a user