summaryrefslogtreecommitdiffstats
path: root/DuetPkg/CpuIoDxe
diff options
context:
space:
mode:
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-23 19:56:13 +0000
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-02-23 19:56:13 +0000
commit8b2ba4d8825ebc6ac7c909506d629a1e0fe3f8e1 (patch)
tree9974af7738a87644642733f1fe8024ac9f4b5d7c /DuetPkg/CpuIoDxe
parent23406763ec83af48d19957b02395cdd090f8d559 (diff)
downloadedk2-8b2ba4d8825ebc6ac7c909506d629a1e0fe3f8e1.tar.gz
edk2-8b2ba4d8825ebc6ac7c909506d629a1e0fe3f8e1.tar.bz2
edk2-8b2ba4d8825ebc6ac7c909506d629a1e0fe3f8e1.zip
Moving DuetPkg/CpuIoDxe to UefiCpuPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7608 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'DuetPkg/CpuIoDxe')
-rw-r--r--DuetPkg/CpuIoDxe/CpuIo.c531
-rw-r--r--DuetPkg/CpuIoDxe/CpuIo.h244
-rw-r--r--DuetPkg/CpuIoDxe/CpuIo.inf52
3 files changed, 0 insertions, 827 deletions
diff --git a/DuetPkg/CpuIoDxe/CpuIo.c b/DuetPkg/CpuIoDxe/CpuIo.c
deleted file mode 100644
index 729f556e46..0000000000
--- a/DuetPkg/CpuIoDxe/CpuIo.c
+++ /dev/null
@@ -1,531 +0,0 @@
-/*++
-
-Copyright (c) 2004 - 2007, Intel Corporation
-All rights reserved. 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.
-
-Module Name:
- CpuIo.c
-
-Abstract:
-
- This is the code that publishes the CPU I/O Protocol.
- The intent herein is to have a single I/O service that can load
- as early as possible, extend into runtime, and be layered upon by
- the implementations of architectural protocols and the PCI Root
- Bridge I/O Protocol.
-
---*/
-
-#include "CpuIo.h"
-
-#define IA32_MAX_IO_ADDRESS 0xFFFF
-
-EFI_CPU_IO_PROTOCOL mCpuIo = {
- {
- CpuMemoryServiceRead,
- CpuMemoryServiceWrite
- },
- {
- CpuIoServiceRead,
- CpuIoServiceWrite
- }
-};
-
-EFI_STATUS
-CpuIoMemRW (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINTN Count,
- IN BOOLEAN DestinationStrideFlag,
- OUT PTR Destination,
- IN BOOLEAN SourceStrideFlag,
- IN PTR Source
- )
-/*++
-
-Routine Description:
-
- Private service to perform memory mapped I/O read/write
-
-Arguments:
-
- Width - Width of the memory mapped I/O operation
- Count - Count of the number of accesses to perform
- DestinationStrideFlag - Boolean flag indicates if the destination is to be incremented
- Destination - Destination of the memory mapped I/O operation
- SourceStrideFlag - Boolean flag indicates if the source is to be incremented
- Source - Source of the memory mapped I/O operation
-
-Returns:
-
- EFI_SUCCESS - Successful operation
- EFI_INVALID_PARAMETER - Width is invalid
-
---*/
-{
- UINTN Stride;
- UINTN DestinationStride;
- UINTN SourceStride;
-
- Width = (EFI_CPU_IO_PROTOCOL_WIDTH) (Width & 0x03);
- Stride = (UINTN)1 << Width;
- DestinationStride = DestinationStrideFlag ? Stride : 0;
- SourceStride = SourceStrideFlag ? Stride : 0;
-
- //
- // Loop for each iteration and move the data
- //
- switch (Width) {
- case EfiCpuIoWidthUint8:
- for (; Count > 0; Count--, Destination.buf += DestinationStride, Source.buf += SourceStride) {
- MemoryFence();
- *Destination.ui8 = *Source.ui8;
- MemoryFence();
- }
- break;
-
- case EfiCpuIoWidthUint16:
- for (; Count > 0; Count--, Destination.buf += DestinationStride, Source.buf += SourceStride) {
- MemoryFence ();
- *Destination.ui16 = *Source.ui16;
- MemoryFence ();
- }
- break;
-
- case EfiCpuIoWidthUint32:
- for (; Count > 0; Count--, Destination.buf += DestinationStride, Source.buf += SourceStride) {
- MemoryFence ();
- *Destination.ui32 = *Source.ui32;
- MemoryFence ();
- }
- break;
-
- case EfiCpuIoWidthUint64:
- for (; Count > 0; Count--, Destination.buf += DestinationStride, Source.buf += SourceStride) {
- MemoryFence ();
- *Destination.ui64 = *Source.ui64;
- MemoryFence ();
- }
- break;
-
- default:
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-CpuMemoryServiceRead (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- OUT VOID *Buffer
- )
-/*++
-
-Routine Description:
-
- Perform the memory mapped I/O read service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the memory mapped I/O operation
- Address - Base address of the memory mapped I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the destination buffer to store the results
-
-Returns:
-
- EFI_SUCCESS - The data was read.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-{
- PTR Source;
- PTR Destination;
- EFI_STATUS Status;
-
- Status = CpuIoCheckParameter (Width, Address, Count, Buffer, MAX_ADDRESS);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Destination.buf = Buffer;
- Source.buf = (VOID *) (UINTN) Address;
-
- if (Width >= EfiCpuIoWidthUint8 && Width <= EfiCpuIoWidthUint64) {
- return CpuIoMemRW (Width, Count, TRUE, Destination, TRUE, Source);
- }
-
- if (Width >= EfiCpuIoWidthFifoUint8 && Width <= EfiCpuIoWidthFifoUint64) {
- return CpuIoMemRW (Width, Count, TRUE, Destination, FALSE, Source);
- }
-
- if (Width >= EfiCpuIoWidthFillUint8 && Width <= EfiCpuIoWidthFillUint64) {
- return CpuIoMemRW (Width, Count, FALSE, Destination, TRUE, Source);
- }
-
- return EFI_INVALID_PARAMETER;
-}
-
-EFI_STATUS
-EFIAPI
-CpuMemoryServiceWrite (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN VOID *Buffer
- )
-/*++
-
-Routine Description:
-
- Perform the memory mapped I/O write service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the memory mapped I/O operation
- Address - Base address of the memory mapped I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the source buffer from which to write data
-
-Returns:
-
- EFI_SUCCESS - The data was written.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-{
- PTR Source;
- PTR Destination;
- EFI_STATUS Status;
-
- Status = CpuIoCheckParameter (Width, Address, Count, Buffer, MAX_ADDRESS);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Destination.buf = (VOID *) (UINTN) Address;
- Source.buf = Buffer;
-
- if (Width >= EfiCpuIoWidthUint8 && Width <= EfiCpuIoWidthUint64) {
- return CpuIoMemRW (Width, Count, TRUE, Destination, TRUE, Source);
- }
-
- if (Width >= EfiCpuIoWidthFifoUint8 && Width <= EfiCpuIoWidthFifoUint64) {
- return CpuIoMemRW (Width, Count, FALSE, Destination, TRUE, Source);
- }
-
- if (Width >= EfiCpuIoWidthFillUint8 && Width <= EfiCpuIoWidthFillUint64) {
- return CpuIoMemRW (Width, Count, TRUE, Destination, FALSE, Source);
- }
-
- return EFI_INVALID_PARAMETER;
-}
-
-EFI_STATUS
-EFIAPI
-CpuIoServiceRead (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 UserAddress,
- IN UINTN Count,
- OUT VOID *UserBuffer
- )
-/*++
-
-Routine Description:
-
- Perform the port I/O read service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the port I/O operation
- Address - Base address of the port I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the destination buffer to store the results
-
-Returns:
-
- EFI_SUCCESS - The data was read.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-{
- UINTN InStride;
- UINTN OutStride;
- UINTN Address;
- PTR Buffer;
- EFI_STATUS Status;
-
- Buffer.buf = (UINT8 *) UserBuffer;
-
- if (Width >= EfiCpuIoWidthMaximum) {
- return EFI_INVALID_PARAMETER;
- }
-
- Status = CpuIoCheckParameter (Width, UserAddress, Count, UserBuffer, IA32_MAX_IO_ADDRESS);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Address = (UINTN) UserAddress;
- InStride = (UINTN)1 << (Width & 0x03);
- OutStride = InStride;
- if (Width >= EfiCpuIoWidthFifoUint8 && Width <= EfiCpuIoWidthFifoUint64) {
- InStride = 0;
- }
-
- if (Width >= EfiCpuIoWidthFillUint8 && Width <= EfiCpuIoWidthFillUint64) {
- OutStride = 0;
- }
-
- Width = (EFI_CPU_IO_PROTOCOL_WIDTH) (Width & 0x03);
-
- //
- // Loop for each iteration and move the data
- //
- switch (Width) {
- case EfiCpuIoWidthUint8:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- *Buffer.ui8 = IoRead8 ((UINTN) Address);
- }
- break;
-
- case EfiCpuIoWidthUint16:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- *Buffer.ui16 = IoRead16 ((UINTN) Address);
- }
- break;
-
- case EfiCpuIoWidthUint32:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- *Buffer.ui32 = IoRead32 ((UINTN) Address);
- }
- break;
-
- default:
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-CpuIoServiceWrite (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 UserAddress,
- IN UINTN Count,
- IN VOID *UserBuffer
- )
-/*++
-
-Routine Description:
-
- Perform the port I/O write service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the port I/O operation
- Address - Base address of the port I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the source buffer from which to write data
-
-Returns:
-
- EFI_SUCCESS - The data was written.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-{
- UINTN InStride;
- UINTN OutStride;
- UINTN Address;
- PTR Buffer;
- EFI_STATUS Status;
-
- Buffer.buf = (UINT8 *) UserBuffer;
-
- if (Width >= EfiCpuIoWidthMaximum) {
- return EFI_INVALID_PARAMETER;
- }
-
- Status = CpuIoCheckParameter (Width, UserAddress, Count, UserBuffer, IA32_MAX_IO_ADDRESS);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- Address = (UINTN) UserAddress;
- InStride = (UINTN)1 << (Width & 0x03);
- OutStride = InStride;
- if (Width >= EfiCpuIoWidthFifoUint8 && Width <= EfiCpuIoWidthFifoUint64) {
- InStride = 0;
- }
-
- if (Width >= EfiCpuIoWidthFillUint8 && Width <= EfiCpuIoWidthFillUint64) {
- OutStride = 0;
- }
-
- Width = (EFI_CPU_IO_PROTOCOL_WIDTH) (Width & 0x03);
-
- //
- // Loop for each iteration and move the data
- //
- switch (Width) {
- case EfiCpuIoWidthUint8:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- IoWrite8 ((UINTN) Address, *Buffer.ui8);
- }
- break;
-
- case EfiCpuIoWidthUint16:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- IoWrite16 ((UINTN) Address, *Buffer.ui16);
- }
- break;
-
- case EfiCpuIoWidthUint32:
- for (; Count > 0; Count--, Buffer.buf += OutStride, Address += InStride) {
- IoWrite32 ((UINTN) Address, *Buffer.ui32);
- }
- break;
-
- default:
- return EFI_INVALID_PARAMETER;
- }
-
- return EFI_SUCCESS;
-}
-
-EFI_STATUS
-EFIAPI
-CpuIoInitialize (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-/*++
-
-Routine Description:
-
- CpuIo driver entry point.
-
-Arguments:
-
- ImageHandle - The firmware allocated handle for the EFI image.
- SystemTable - A pointer to the EFI System Table.
-
-Returns:
-
- EFI_SUCCESS - The driver was initialized.
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources.
-
---*/
-{
- EFI_STATUS Status;
- EFI_HANDLE Handle;
-
- Handle = NULL;
- Status = SystemTable->BootServices->InstallProtocolInterface (
- &Handle,
- &gEfiCpuIoProtocolGuid,
- EFI_NATIVE_INTERFACE,
- &mCpuIo
- );
- ASSERT_EFI_ERROR (Status);
-
- return Status;
-}
-
-EFI_STATUS
-CpuIoCheckParameter (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN VOID *Buffer,
- IN UINT64 Limit
- )
-/*++
-
-Routine Description:
-
- Check the validation of parameters for CPU I/O interface functions.
-
-Arguments:
-
- Width - Width of the Memory Access
- Address - Address of the Memory access
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the buffer to read from memory
- Buffer - Memory buffer for the I/O operation
- Limit - Maximum address supported
-
-Returns:
-
- EFI_INVALID_PARAMETER - Buffer is NULL
- EFI_UNSUPPORTED - The address range specified by Width, Address and Count is invalid
- EFI_UNSUPPORTED - The memory buffer is not aligned
- EFI_SUCCESS - Parameters are OK
-
---*/
-{
- UINTN AlignMask;
-
- if (Buffer == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- if (Address > Limit) {
- return EFI_UNSUPPORTED;
- }
-
- //
- // For FiFo type, the target address won't increase during the access,
- // so treat count as 1
- //
- if (Width >= EfiCpuIoWidthFifoUint8 && Width <= EfiCpuIoWidthFifoUint64) {
- Count = 1;
- }
-
- Width = (EFI_CPU_IO_PROTOCOL_WIDTH) (Width & 0x03);
- if (Address - 1 + ((UINTN)1 << Width) * Count > Limit) {
- return EFI_UNSUPPORTED;
- }
-
- AlignMask = ((UINTN)1 << Width) - 1;
- if ((UINTN) Buffer & AlignMask) {
- return EFI_UNSUPPORTED;
- }
-
- return EFI_SUCCESS;
-}
diff --git a/DuetPkg/CpuIoDxe/CpuIo.h b/DuetPkg/CpuIoDxe/CpuIo.h
deleted file mode 100644
index 350d80cf44..0000000000
--- a/DuetPkg/CpuIoDxe/CpuIo.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*++
-
-Copyright (c) 2004, Intel Corporation
-All rights reserved. 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.
-
-Module Name:
- CpuIo.h
-
-Abstract:
- *.h file for the driver
-
- Note: the EFIAPI on the CpuIo functions is used to glue MASM (assembler) code
- into C code. By making the MASM functions EFIAPI it ensures that a standard
- C calling convention is assumed by the compiler, reguardless of the compiler
- flags.
-
-
---*/
-
-#ifndef _CPU_IO_H
-#define _CPU_IO_H
-
-#include <PiDxe.h>
-
-#include <Protocol/CpuIo.h>
-
-#include <Library/BaseLib.h>
-#include <Library/DebugLib.h>
-#include <Library/IoLib.h>
-
-typedef union {
- UINT8 volatile *buf;
- UINT8 volatile *ui8;
- UINT16 volatile *ui16;
- UINT32 volatile *ui32;
- UINT64 volatile *ui64;
- UINTN volatile ui;
-} PTR;
-
-EFI_STATUS
-EFIAPI
-CpuIoInitialize (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-/*++
-
-Routine Description:
-
- CpuIo driver entry point.
-
-Arguments:
-
- ImageHandle - The firmware allocated handle for the EFI image.
- SystemTable - A pointer to the EFI System Table.
-
-Returns:
-
- EFI_SUCCESS - The driver was initialized.
- EFI_OUT_OF_RESOURCES - The request could not be completed due to a lack of resources.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-CpuMemoryServiceRead (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- OUT VOID *Buffer
- )
-/*++
-
-Routine Description:
-
- Perform the memory mapped I/O read service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the memory mapped I/O operation
- Address - Base address of the memory mapped I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the destination buffer to store the results
-
-Returns:
-
- EFI_SUCCESS - The data was read.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-CpuMemoryServiceWrite (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN VOID *Buffer
- )
-/*++
-
-Routine Description:
-
- Perform the memory mapped I/O write service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the memory mapped I/O operation
- Address - Base address of the memory mapped I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the source buffer from which to write data
-
-Returns:
-
- EFI_SUCCESS - The data was written.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-CpuIoServiceRead (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 UserAddress,
- IN UINTN Count,
- OUT VOID *UserBuffer
- )
-/*++
-
-Routine Description:
-
- Perform the port I/O read service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the port I/O operation
- Address - Base address of the port I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the destination buffer to store the results
-
-Returns:
-
- EFI_SUCCESS - The data was read.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-CpuIoServiceWrite (
- IN EFI_CPU_IO_PROTOCOL *This,
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 UserAddress,
- IN UINTN Count,
- IN VOID *UserBuffer
- )
-/*++
-
-Routine Description:
-
- Perform the port I/O write service
-
-Arguments:
-
- This - Pointer to an instance of the CPU I/O Protocol
- Width - Width of the port I/O operation
- Address - Base address of the port I/O operation
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the source buffer from which to write data
-
-Returns:
-
- EFI_SUCCESS - The data was written.
- EFI_INVALID_PARAMETER - Width is invalid.
- EFI_INVALID_PARAMETER - Buffer is NULL.
- EFI_UNSUPPORTED - The Buffer is not aligned for the given Width.
- EFI_UNSUPPORTED - The address range specified by Address, Width,
- and Count is not valid.
-
---*/
-;
-
-EFI_STATUS
-CpuIoCheckParameter (
- IN EFI_CPU_IO_PROTOCOL_WIDTH Width,
- IN UINT64 Address,
- IN UINTN Count,
- IN VOID *Buffer,
- IN UINT64 Limit
- )
-/*++
-
-Routine Description:
-
- Check the validation of parameters for CPU I/O interface functions.
-
-Arguments:
-
- Width - Width of the Memory Access
- Address - Address of the Memory access
- Count - Count of the number of accesses to perform
- Buffer - Pointer to the buffer to read from memory
- Buffer - Memory buffer for the I/O operation
- Limit - Maximum address supported
-
-Returns:
-
- EFI_INVALID_PARAMETER - Buffer is NULL
- EFI_UNSUPPORTED - The address range specified by Width, Address and Count is invalid
- EFI_UNSUPPORTED - The memory buffer is not aligned
- EFI_SUCCESS - Parameters are OK
-
---*/
-;
-
-#endif
diff --git a/DuetPkg/CpuIoDxe/CpuIo.inf b/DuetPkg/CpuIoDxe/CpuIo.inf
deleted file mode 100644
index f9d50f618d..0000000000
--- a/DuetPkg/CpuIoDxe/CpuIo.inf
+++ /dev/null
@@ -1,52 +0,0 @@
-#/*++
-#
-# Copyright (c) 2004, Intel Corporation
-# All rights reserved. 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.
-#
-# Module Name:
-#
-# CpuIo.inf
-#
-# Abstract:
-#
-# Component description file for CpuIo module
-#
-#--*/
-
-[Defines]
- INF_VERSION = 0x00010005
- BASE_NAME = CpuIo
- FILE_GUID = BAE7599F-3C6B-43b7-BDF0-9CE07AA91AA6
- MODULE_TYPE = DXE_DRIVER
- VERSION_STRING = 1.0
- EDK_RELEASE_VERSION = 0x00020000
- EFI_SPECIFICATION_VERSION = 0x00020000
-
- ENTRY_POINT = CpuIoInitialize
-
-[Packages]
- DuetPkg/DuetPkg.dec
- MdePkg/MdePkg.dec
- IntelFrameworkPkg/IntelFrameworkPkg.dec
-
-[LibraryClasses]
- BaseLib
- DebugLib
- UefiDriverEntryPoint
- IoLib
-
-[Sources.common]
- CpuIo.c
- CpuIo.h
-
-[Protocols]
- gEfiCpuIoProtocolGuid
-
-[Depex]
- TRUE \ No newline at end of file