| /** @file | |
| This code abstracts the CPU IO Protocol which installed by some platform or chipset-specific | |
| PEIM that abstracts the processor-visible I/O operations. | |
| Note: This is a runtime protocol and can be used by runtime drivers after ExitBootServices(). | |
| It is different from the PI 1.2 CPU I/O 2 Protocol, which is a boot services only protocol | |
| and may not be used by runtime drivers after ExitBootServices(). | |
| Copyright (c) 2007 - 2010, 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. | |
| @par Revision Reference: | |
| CPU IO Protocol is defined in Framework of EFI CPU IO Protocol Spec | |
| Version 0.9. | |
| **/ | |
| #ifndef _CPUIO_H_ | |
| #define _CPUIO_H_ | |
| #include <Protocol/CpuIo2.h> | |
| #define EFI_CPU_IO_PROTOCOL_GUID \ | |
| { \ | |
| 0xB0732526, 0x38C8, 0x4b40, {0x88, 0x77, 0x61, 0xC7, 0xB0, 0x6A, 0xAC, 0x45 } \ | |
| } | |
| // | |
| // Framework CPU IO protocol structure is the same as CPU IO 2 protocol defined in PI 1.2 spec. | |
| // However, there is a significant different between the Framework CPU I/O | |
| // Protocol and the PI 1.2 CPU I/O 2 Protocol. The Framework one is a runtime | |
| // protocol, which means it can be used by runtime drivers after ExitBootServices(). | |
| // The PI one is not runtime safe, so it is a boot services only protocol and may | |
| // not be used by runtime drivers after ExitBootServices(). | |
| // | |
| typedef EFI_CPU_IO2_PROTOCOL EFI_CPU_IO_PROTOCOL; | |
| extern EFI_GUID gEfiCpuIoProtocolGuid; | |
| #endif |