CpuIo.h File Reference

This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific PEIM that abstracts the processor-visible I/O operations. More...

#include <gpxe/efi/PiDxe.h>

Go to the source code of this file.

Data Structures

struct  EFI_CPU_IO_PROTOCOL_ACCESS
struct  _EFI_CPU_IO_PROTOCOL

Defines

#define EFI_CPU_IO_PROTOCOL_GUID

Typedefs

typedef struct _EFI_CPU_IO_PROTOCOL EFI_CPU_IO_PROTOCOL
typedef EFI_STATUS(EFIAPI * EFI_CPU_IO_PROTOCOL_IO_MEM )(IN EFI_CPU_IO_PROTOCOL *This, IN EFI_CPU_IO_PROTOCOL_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)
 Enables a driver to access memory-mapped registers in the EFI system memory space.

Enumerations

enum  EFI_CPU_IO_PROTOCOL_WIDTH {
  EfiCpuIoWidthUint8, EfiCpuIoWidthUint16, EfiCpuIoWidthUint32, EfiCpuIoWidthUint64,
  EfiCpuIoWidthFifoUint8, EfiCpuIoWidthFifoUint16, EfiCpuIoWidthFifoUint32, EfiCpuIoWidthFifoUint64,
  EfiCpuIoWidthFillUint8, EfiCpuIoWidthFillUint16, EfiCpuIoWidthFillUint32, EfiCpuIoWidthFillUint64,
  EfiCpuIoWidthMaximum
}

Variables

EFI_GUID gEfiCpuIoProtocolGuid


Detailed Description

This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific PEIM that abstracts the processor-visible I/O operations.

Copyright (c) 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.h

Revision Reference:
CPU IO Protocol is defined in Framework of EFI CPU IO Protocol Spec Version 0.9

Definition in file CpuIo.h.


Define Documentation

#define EFI_CPU_IO_PROTOCOL_GUID

Value:

{ \
    0xB0732526, 0x38C8, 0x4b40, {0x88, 0x77, 0x61, 0xC7, 0xB0, 0x6A, 0xAC, 0x45 } \
  }

Definition at line 27 of file CpuIo.h.


Typedef Documentation

Definition at line 32 of file CpuIo.h.

typedef EFI_STATUS(EFIAPI * EFI_CPU_IO_PROTOCOL_IO_MEM)(IN EFI_CPU_IO_PROTOCOL *This, IN EFI_CPU_IO_PROTOCOL_WIDTH Width, IN UINT64 Address, IN UINTN Count, IN OUT VOID *Buffer)

Enables a driver to access memory-mapped registers in the EFI system memory space.

Or, Enables a driver to access registers in the EFI CPU I/O space.

Parameters:
This A pointer to the EFI_CPU_IO_PROTOCOL instance.
Width Signifies the width of the I/O or Memory operation.
Address The base address of the I/O or Memoryoperation.
Count The number of I/O or Memory operations to perform. The number of bytes moved is Width size * Count, starting at Address.
Buffer For read operations, the destination buffer to store the results. For write operations, the source buffer from which to write data.
Return values:
EFI_SUCCESS The data was read from or written to the EFI system.
EFI_INVALID_PARAMETER Width is invalid for this EFI system.Or Buffer is NULL.
EFI_UNSUPPORTED The Buffer is not aligned for the given Width. Or,The address range specified by Address, Width, and Count is not valid for this EFI system.

Definition at line 80 of file CpuIo.h.


Enumeration Type Documentation

Enumerator:
EfiCpuIoWidthUint8 
EfiCpuIoWidthUint16 
EfiCpuIoWidthUint32 
EfiCpuIoWidthUint64 
EfiCpuIoWidthFifoUint8 
EfiCpuIoWidthFifoUint16 
EfiCpuIoWidthFifoUint32 
EfiCpuIoWidthFifoUint64 
EfiCpuIoWidthFillUint8 
EfiCpuIoWidthFillUint16 
EfiCpuIoWidthFillUint32 
EfiCpuIoWidthFillUint64 
EfiCpuIoWidthMaximum 

Definition at line 39 of file CpuIo.h.


Variable Documentation


Generated on Tue Apr 6 20:01:49 2010 for gPXE by  doxygen 1.5.7.1