summaryrefslogtreecommitdiff
path: root/Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h')
-rw-r--r--Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h162
1 files changed, 0 insertions, 162 deletions
diff --git a/Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h b/Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h
deleted file mode 100644
index bbd4c1a699..0000000000
--- a/Tools/Source/TianoTools/Include/Dxe/ArchProtocol/Runtime.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/** @file
- Runtime Architectural Protocol as defined in DXE CIS
-
- This code is used to produce the EFI 1.0 runtime virtual switch over
-
- This driver must add SetVirtualAddressMap () and ConvertPointer () to
- the EFI system table. This driver is not responcible for CRCing the
- EFI system table.
-
- This driver will add EFI_RUNTIME_ARCH_PROTOCOL_GUID protocol with a
- pointer to the Runtime Arch Protocol instance structure. The protocol
- member functions are used by the DXE core to export information need
- by this driver to produce the runtime transition to virtual mode
- calling.
-
- Copyright (c) 2006, 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: Runtime.h
-
- @par Revision Reference:
- Version 0.90.
-
-**/
-
-#ifndef __ARCH_PROTOCOL_RUNTIME_H__
-#define __ARCH_PROTOCOL_RUNTIME_H__
-
-//
-// Global ID for the Runtime Architectural Protocol
-//
-#define EFI_RUNTIME_ARCH_PROTOCOL_GUID \
- { 0x96d08253, 0x8483, 0x11d4, {0xbc, 0xf1, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } }
-
-typedef struct _EFI_RUNTIME_ARCH_PROTOCOL EFI_RUNTIME_ARCH_PROTOCOL;
-
-/**
- When a SetVirtualAddressMap() is performed all the runtime images loaded by
- DXE must be fixed up with the new virtual address map. To facilitate this the
- Runtime Architectural Protocol needs to be informed of every runtime driver
- that is registered. All the runtime images loaded by DXE should be registered
- with this service by the DXE Core when ExitBootServices() is called. The
- images that are registered with this service must have successfully been
- loaded into memory with the Boot Service LoadImage(). As a result, no
- parameter checking needs to be performed.
-
- @param This The EFI_RUNTIME_ARCH_PROTOCOL instance.
-
- @param ImageBase Start of image that has been loaded in memory. It is either
- a pointer to the DOS or PE header of the image.
-
- @param ImageSize Size of the image in bytes.
-
- @param RelocationData Information about the fixups that were performed on ImageBase
- when it was loaded into memory. This information is needed
- when the virtual mode fix-ups are reapplied so that data that
- has been programmatically updated will not be fixed up. If
- code updates a global variable the code is responsible for
- fixing up the variable for virtual mode.
-
- @retval EFI_SUCCESS The ImageBase has been registered.
-
- @retval EFI_OUT_OF_RESOURCES There are not enough resources to register ImageBase.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_RUNTIME_REGISTER_IMAGE) (
- IN EFI_RUNTIME_ARCH_PROTOCOL *This,
- IN EFI_PHYSICAL_ADDRESS ImageBase,
- IN UINTN ImageSize,
- IN VOID *RelocationData
- );
-
-
-/**
- This function is used to support the required runtime events. Currently only
- runtime events of type EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE needs to be
- registered with this service. All the runtime events that exist in the DXE
- Core should be registered with this service when ExitBootServices() is called.
- All the events that are registered with this service must have been created
- with the Boot Service CreateEvent(). As a result, no parameter checking needs
- to be performed.
-
- @param This The EFI_RUNTIME_ARCH_PROTOCOL instance.
-
- @param Type The same as Type passed into CreateEvent().
-
- @param NotifyTpl The same as NotifyTpl passed into CreateEvent().
-
- @param NotifyFunction The same as NotifyFunction passed into CreateEvent().
-
- @param NotifyContext The same as NotifyContext passed into CreateEvent().
-
- @param Event The EFI_EVENT returned by CreateEvent(). Event must be in
- runtime memory.
-
- @retval EFI_SUCCESS The Event has been registered.
-
- @retval EFI_OUT_OF_RESOURCES There are not enough resources to register Event.
-
-**/
-typedef
-EFI_STATUS
-(EFIAPI *EFI_RUNTIME_REGISTER_EVENT) (
- IN EFI_RUNTIME_ARCH_PROTOCOL *This,
- IN UINT32 Type,
- IN EFI_TPL NotifyTpl,
- IN EFI_EVENT_NOTIFY NotifyFunction,
- IN VOID *NotifyContext,
- IN EFI_EVENT *Event
- );
-
-//
-// Interface stucture for the Runtime Architectural Protocol
-//
-/**
- @par Protocol Description:
- The DXE driver that produces this protocol must be a runtime driver. This
- driver is responsible for initializing the SetVirtualAddressMap() and
- ConvertPointer() fields of the EFI Runtime Services Table and the
- CalculateCrc32() field of the EFI Boot Services Table. See the Runtime
- Services chapter and the Boot Services chapter for details on these services.
- After the two fields of the EFI Runtime Services Table and the one field of
- the EFI Boot Services Table have been initialized, the driver must install
- the EFI_RUNTIME_ARCH_PROTOCOL_GUID on a new handle with an EFI_RUNTIME_ARCH_
- PROTOCOL interface pointer. The installation of this protocol informs the
- DXE core that the virtual memory services and the 32-bit CRC services are
- now available, and the DXE core must update the 32-bit CRC of the EFI Runtime
- Services Table and the 32-bit CRC of the EFI Boot Services Table.
-
- All runtime core services are provided by the EFI_RUNTIME_ARCH_PROTOCOL.
- This includes the support for registering runtime images that must be
- re-fixed up when a transition is made from physical mode to virtual mode.
- This protocol also supports all events that are defined to fire at runtime.
- This protocol also contains a CRC-32 function that will be used by the DXE
- core as a boot service. The EFI_RUNTIME_ARCH_PROTOCOL needs the CRC-32
- function when a transition is made from physical mode to virtual mode and
- the EFI System Table and EFI Runtime Table are fixed up with virtual pointers.
-
- @param RegisterRuntimeImage
- Register a runtime image so it can be converted to virtual mode if the EFI Runtime Services
- SetVirtualAddressMap() is called.
-
- @param RegisterRuntimeEvent
- Register an event than needs to be notified at runtime.
-
-**/
-struct _EFI_RUNTIME_ARCH_PROTOCOL {
- EFI_RUNTIME_REGISTER_IMAGE RegisterImage;
- EFI_RUNTIME_REGISTER_EVENT RegisterEvent;
-};
-
-extern EFI_GUID gEfiRuntimeArchProtocolGuid;
-
-#endif