mirror of
https://github.com/Dasharo/edk2.git
synced 2026-03-06 14:47:27 -08:00
IntelFrameworkModulePkg: Removing ipf from edk2.
Removing rules for Ipf sources file: * Remove the source file which path with "ipf" and also listed in [Sources.IPF] section of INF file. * Remove the source file which listed in [Components.IPF] section of DSC file and not listed in any other [Components] section. * Remove the embedded Ipf code for MDE_CPU_IPF. Removing rules for Inf file: * Remove IPF from VALID_ARCHITECTURES comments. * Remove DXE_SAL_DRIVER from LIBRARY_CLASS in [Defines] section. * Remove the INF which only listed in [Components.IPF] section in DSC. * Remove statements from [BuildOptions] that provide IPF specific flags. * Remove any IPF sepcific sections. Removing rules for Dec file: * Remove [Includes.IPF] section from Dec. Removing rules for Dsc file: * Remove IPF from SUPPORTED_ARCHITECTURES in [Defines] section of DSC. * Remove any IPF specific sections. * Remove statements from [BuildOptions] that provide IPF specific flags. Cc: Liming Gao <liming.gao@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chen A Chen <chen.a.chen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
# Controller found. This driver is designed to manage a PCI-to-ISA bridge Device
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -27,7 +27,7 @@
|
||||
ENTRY_POINT = InitializeIsaBus
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gIsaBusControllerDriver
|
||||
# COMPONENT_NAME = gIsaBusComponentName;
|
||||
# COMPONENT_NAME2 = gIsaBusComponentName2;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# driver provides support for two drives per controller, DMA channel 2, diskette
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -27,7 +27,7 @@
|
||||
ENTRY_POINT = InitializeIsaFloppy
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gFdcControllerDriver;
|
||||
# COMPONENT_NAME = gIsaFloppyComponentName;
|
||||
# COMPONENT_NAME2 = gIsaFloppyComponentName2;
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# the PEIM will install the BlockIo PPI. This module is only dispatched if it
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions
|
||||
@@ -36,7 +36,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC (EBC is for build only)
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC (EBC is for build only)
|
||||
#
|
||||
|
||||
[Sources]
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# I/O protocols are installed based off of the information provided by each
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -26,7 +26,7 @@
|
||||
ENTRY_POINT = InitializeIsaIo
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gIsaIoDriver
|
||||
# COMPONENT_NAME = gIsaIoComponentName;
|
||||
# COMPONENT_NAME2 = gIsaIoComponentName2;
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
#
|
||||
# DRIVER_BINDING = gSerialControllerDriver
|
||||
# COMPONENT_NAME = gIsaSerialComponentName
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
ENTRY_POINT = InitializePs2Keyboard
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gKeyboardControllerDriver;
|
||||
# COMPONENT_NAME = gPs2KeyboardComponentName;
|
||||
# COMPONENT_NAME2 = gPs2KeyboardComponentName2;
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@
|
||||
# This driver simulates a touch pad absolute pointing device using a standard
|
||||
# PS2 mouse as the input hardware.
|
||||
#
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -27,7 +27,7 @@
|
||||
ENTRY_POINT = InitializePs2MouseAbsolutePointer
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gPS2MouseAbsolutePointerDriver;
|
||||
# COMPONENT_NAME = gPs2MouseAbsolutePointerComponentName;
|
||||
# COMPONENT_NAME2 = gPs2MouseAbsolutePointerComponentName2;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#
|
||||
# This dirver provides support for PS2 based mice.
|
||||
#
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
@@ -26,7 +26,7 @@
|
||||
ENTRY_POINT = InitializePs2Mouse
|
||||
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gPS2MouseDriver;
|
||||
# COMPONENT_NAME = gPs2MouseComponentName;
|
||||
# COMPONENT_NAME2 = gPs2MouseComponentName2;
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
#
|
||||
# DRIVER_BINDING = gIDEBusDriverBinding
|
||||
# COMPONENT_NAME = gIDEBusComponentName
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
# DRIVER_BINDING = gPciVgaMiniPortDriverBinding;
|
||||
# COMPONENT_NAME = gPciVgaMiniPortComponentName;
|
||||
# COMPONENT_NAME2 = gPciVgaMiniPortComponentName2;
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
#
|
||||
# DRIVER_BINDING = gBiosKeyboardDriverBinding
|
||||
# COMPONENT_NAME = gBiosKeyboardComponentName
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
#
|
||||
# DRIVER_BINDING = gBiosSnp16DriverBinding
|
||||
# COMPONENT_NAME = gBiosSnp16ComponentName
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# This driver by using Legacy Bios protocol service to support csm Video
|
||||
# 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
|
||||
# are licensed and made available under the terms and conditions
|
||||
@@ -30,7 +30,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
# VALID_ARCHITECTURES = IA32 X64 EBC
|
||||
#
|
||||
# DRIVER_BINDING = gBiosVideoDriverBinding
|
||||
# COMPONENT_NAME = gBiosVideoComponentName
|
||||
|
||||
@@ -1,277 +0,0 @@
|
||||
/** @file
|
||||
|
||||
Copyright (c) 2006 - 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 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.
|
||||
|
||||
**/
|
||||
|
||||
#include "LegacyBiosInterface.h"
|
||||
|
||||
/**
|
||||
Assign drive number to legacy HDD drives prior to booting an EFI
|
||||
aware OS so the OS can access drives without an EFI driver.
|
||||
Note: BBS compliant drives ARE NOT available until this call by
|
||||
either shell or EFI.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param BbsCount Number of BBS_TABLE structures
|
||||
@param BbsTable List BBS entries
|
||||
|
||||
@retval EFI_SUCCESS Drive numbers assigned
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
LegacyBiosPrepareToBootEfi (
|
||||
IN EFI_LEGACY_BIOS_PROTOCOL *This,
|
||||
OUT UINT16 *BbsCount,
|
||||
OUT BBS_TABLE **BbsTable
|
||||
)
|
||||
{
|
||||
//
|
||||
// Shadow All Opion ROM
|
||||
//
|
||||
LegacyBiosShadowAllLegacyOproms (This);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
To boot from an unconventional device like parties and/or execute
|
||||
HDD diagnostics.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param Attributes How to interpret the other input parameters
|
||||
@param BbsEntry The 0-based index into the BbsTable for the
|
||||
parent device.
|
||||
@param BeerData Pointer to the 128 bytes of ram BEER data.
|
||||
@param ServiceAreaData Pointer to the 64 bytes of raw Service Area data.
|
||||
The caller must provide a pointer to the specific
|
||||
Service Area and not the start all Service Areas.
|
||||
EFI_INVALID_PARAMETER if error. Does NOT return if no error.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
LegacyBiosBootUnconventionalDevice (
|
||||
IN EFI_LEGACY_BIOS_PROTOCOL *This,
|
||||
IN UDC_ATTRIBUTES Attributes,
|
||||
IN UINTN BbsEntry,
|
||||
IN VOID *BeerData,
|
||||
IN VOID *ServiceAreaData
|
||||
)
|
||||
{
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
Attempt to legacy boot the BootOption. If the EFI contexted has been
|
||||
compromised this function will not return.
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param BbsDevicePath EFI Device Path from BootXXXX variable.
|
||||
@param LoadOptionsSize Size of LoadOption in size.
|
||||
@param LoadOptions LoadOption from BootXXXX variable
|
||||
|
||||
@retval EFI_SUCCESS Removable media not present
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
LegacyBiosLegacyBoot (
|
||||
IN EFI_LEGACY_BIOS_PROTOCOL *This,
|
||||
IN BBS_BBS_DEVICE_PATH *BbsDevicePath,
|
||||
IN UINT32 LoadOptionsSize,
|
||||
IN VOID *LoadOptions
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
/**
|
||||
Build the E820 table.
|
||||
|
||||
@param Private Legacy BIOS Instance data
|
||||
@param Size Size of E820 Table
|
||||
|
||||
@retval EFI_SUCCESS It should always work.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
LegacyBiosBuildE820 (
|
||||
IN LEGACY_BIOS_INSTANCE *Private,
|
||||
OUT UINTN *Size
|
||||
)
|
||||
{
|
||||
*Size = 0;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
Get all BBS info
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param HddCount Number of HDD_INFO structures
|
||||
@param HddInfo Onboard IDE controller information
|
||||
@param BbsCount Number of BBS_TABLE structures
|
||||
@param BbsTable List BBS entries
|
||||
|
||||
@retval EFI_SUCCESS Tables returned
|
||||
@retval EFI_NOT_FOUND resource not found
|
||||
@retval EFI_DEVICE_ERROR can not get BBS table
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
LegacyBiosGetBbsInfo (
|
||||
IN EFI_LEGACY_BIOS_PROTOCOL *This,
|
||||
OUT UINT16 *HddCount,
|
||||
OUT HDD_INFO **HddInfo,
|
||||
OUT UINT16 *BbsCount,
|
||||
OUT BBS_TABLE **BbsTable
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
/**
|
||||
Fill in the standard BDA for Keyboard LEDs
|
||||
|
||||
@param This Protocol instance pointer.
|
||||
@param Leds Current LED status
|
||||
|
||||
@retval EFI_SUCCESS It should always work.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
LegacyBiosUpdateKeyboardLedStatus (
|
||||
IN EFI_LEGACY_BIOS_PROTOCOL *This,
|
||||
IN UINT8 Leds
|
||||
)
|
||||
{
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
/**
|
||||
Relocate this image under 4G memory for IPF.
|
||||
|
||||
@param ImageHandle Handle of driver image.
|
||||
@param SystemTable Pointer to system table.
|
||||
|
||||
@retval EFI_SUCCESS Image successfully relocated.
|
||||
@retval EFI_ABORTED Failed to relocate image.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
RelocateImageUnder4GIfNeeded (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_LOADED_IMAGE_PROTOCOL *LoadedImage;
|
||||
UINTN NumberOfPages;
|
||||
EFI_PHYSICAL_ADDRESS LoadedImageBase;
|
||||
PE_COFF_LOADER_IMAGE_CONTEXT ImageContext;
|
||||
EFI_PHYSICAL_ADDRESS MemoryAddress;
|
||||
EFI_HANDLE NewImageHandle;
|
||||
|
||||
Status = gBS->HandleProtocol (
|
||||
ImageHandle,
|
||||
&gEfiLoadedImageProtocolGuid,
|
||||
(VOID *) &LoadedImage
|
||||
);
|
||||
|
||||
if (!EFI_ERROR (Status)) {
|
||||
LoadedImageBase = (EFI_PHYSICAL_ADDRESS) (UINTN) LoadedImage->ImageBase;
|
||||
if (LoadedImageBase > 0xffffffff) {
|
||||
NumberOfPages = (UINTN) (DivU64x32(LoadedImage->ImageSize, EFI_PAGE_SIZE) + 1);
|
||||
|
||||
//
|
||||
// Allocate buffer below 4GB here
|
||||
//
|
||||
Status = AllocateLegacyMemory (
|
||||
AllocateMaxAddress,
|
||||
0x7FFFFFFF,
|
||||
NumberOfPages, // do we have to convert this to pages??
|
||||
&MemoryAddress
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
ZeroMem (&ImageContext, sizeof (PE_COFF_LOADER_IMAGE_CONTEXT));
|
||||
ImageContext.Handle = (VOID *)(UINTN)LoadedImageBase;
|
||||
ImageContext.ImageRead = PeCoffLoaderImageReadFromMemory;
|
||||
|
||||
//
|
||||
// Get information about the image being loaded
|
||||
//
|
||||
Status = PeCoffLoaderGetImageInfo (&ImageContext);
|
||||
if (EFI_ERROR (Status)) {
|
||||
return Status;
|
||||
}
|
||||
ImageContext.ImageAddress = (PHYSICAL_ADDRESS)MemoryAddress;
|
||||
//
|
||||
// Align buffer on section boundary
|
||||
//
|
||||
ImageContext.ImageAddress += ImageContext.SectionAlignment - 1;
|
||||
ImageContext.ImageAddress &= ~((PHYSICAL_ADDRESS)ImageContext.SectionAlignment - 1);
|
||||
|
||||
//
|
||||
// Load the image to our new buffer
|
||||
//
|
||||
Status = PeCoffLoaderLoadImage (&ImageContext);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePages (MemoryAddress, NumberOfPages);
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// Relocate the image in our new buffer
|
||||
//
|
||||
Status = PeCoffLoaderRelocateImage (&ImageContext);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePages (MemoryAddress, NumberOfPages);
|
||||
return Status;
|
||||
}
|
||||
|
||||
//
|
||||
// Create a new handle with gEfiCallerIdGuid to be used as the ImageHandle fore the reloaded image
|
||||
//
|
||||
NewImageHandle = NULL;
|
||||
Status = gBS->InstallProtocolInterface (
|
||||
&NewImageHandle,
|
||||
&gEfiCallerIdGuid,
|
||||
EFI_NATIVE_INTERFACE,
|
||||
NULL
|
||||
);
|
||||
|
||||
//
|
||||
// Flush the instruction cache so the image data is written before we execute it
|
||||
//
|
||||
InvalidateInstructionCacheRange ((VOID *)(UINTN)ImageContext.ImageAddress, (UINTN)ImageContext.ImageSize);
|
||||
|
||||
Status = ((EFI_IMAGE_ENTRY_POINT)(UINTN)(ImageContext.EntryPoint)) (NewImageHandle, SystemTable);
|
||||
if (EFI_ERROR (Status)) {
|
||||
gBS->FreePages (MemoryAddress, NumberOfPages);
|
||||
return Status;
|
||||
}
|
||||
//
|
||||
// return error directly the BS will unload this image
|
||||
//
|
||||
return EFI_ABORTED;
|
||||
}
|
||||
}
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
/** @file
|
||||
|
||||
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 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.
|
||||
|
||||
**/
|
||||
|
||||
#ifndef _IPF_THUNK_H_
|
||||
#define _IPF_THUNK_H_
|
||||
|
||||
#include "LegacyBiosInterface.h"
|
||||
#include <IndustryStandard/Sal.h>
|
||||
|
||||
/**
|
||||
Template of real mode code.
|
||||
|
||||
@param CodeStart Start address of code.
|
||||
@param CodeEnd End address of code
|
||||
@param ReverseThunkStart Start of reverse thunk.
|
||||
@param IntThunk Low memory thunk.
|
||||
|
||||
**/
|
||||
VOID
|
||||
RealModeTemplate (
|
||||
OUT UINTN *CodeStart,
|
||||
OUT UINTN *CodeEnd,
|
||||
OUT UINTN *ReverseThunkStart,
|
||||
LOW_MEMORY_THUNK *IntThunk
|
||||
);
|
||||
|
||||
/**
|
||||
Register physical address of Esal Data Area
|
||||
|
||||
@param ReverseThunkCodeAddress Reverse Thunk Address
|
||||
@param IntThunkAddress IntThunk Address
|
||||
|
||||
@retval EFI_SUCCESS ESAL data area set successfully.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EsalSetSalDataArea (
|
||||
IN UINTN ReverseThunkCodeAddress,
|
||||
IN UINTN IntThunkAddress
|
||||
);
|
||||
|
||||
/**
|
||||
Get address of reverse thunk.
|
||||
|
||||
@retval EFI_SAL_SUCCESS Address of reverse thunk returned successfully.
|
||||
|
||||
**/
|
||||
SAL_RETURN_REGS
|
||||
EsalGetReverseThunkAddress (
|
||||
VOID
|
||||
);
|
||||
|
||||
typedef struct {
|
||||
UINT32 Eax; // 0
|
||||
UINT32 Ecx; // 4
|
||||
UINT32 Edx; // 8
|
||||
UINT32 Ebx; // 12
|
||||
UINT32 Esp; // 16
|
||||
UINT32 Ebp; // 20
|
||||
UINT32 Esi; // 24
|
||||
UINT32 Edi; // 28
|
||||
UINT32 Eflag; // 32
|
||||
UINT32 Eip; // 36
|
||||
UINT16 Cs; // 40
|
||||
UINT16 Ds; // 42
|
||||
UINT16 Es; // 44
|
||||
UINT16 Fs; // 46
|
||||
UINT16 Gs; // 48
|
||||
UINT16 Ss; // 50
|
||||
} IPF_DWORD_REGS;
|
||||
|
||||
/**
|
||||
Entrypoint of IA32 code.
|
||||
|
||||
@param CallTypeData Data of call type
|
||||
@param DwordRegister Register set of IA32 general registers
|
||||
and segment registers
|
||||
@param StackPointer Stack pointer.
|
||||
@param StackSize Size of stack.
|
||||
|
||||
**/
|
||||
VOID
|
||||
EfiIaEntryPoint (
|
||||
UINT64 CallTypeData,
|
||||
IPF_DWORD_REGS *DwordRegister,
|
||||
UINT64 StackPointer,
|
||||
UINT64 StackSize
|
||||
);
|
||||
|
||||
#endif
|
||||
@@ -1,89 +0,0 @@
|
||||
//// @file
|
||||
//
|
||||
// Copyright (c) 2006, 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,
|
||||
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
//
|
||||
////
|
||||
|
||||
#define NUM_REAL_GDT_ENTRIES 3
|
||||
#define LOW_STACK_SIZE (8*1024) // 8k?
|
||||
|
||||
//
|
||||
// Low memory Thunk Structure
|
||||
//
|
||||
#define Code 0
|
||||
#define LowReverseThunkStart Code + 4096
|
||||
#define GdtDesc LowReverseThunkStart + 4
|
||||
#define IdtDesc GdtDesc + 6
|
||||
#define FlatSs IdtDesc + 6
|
||||
#define FlatEsp FlatSs + 4
|
||||
#define LowCodeSelector FlatEsp + 4
|
||||
#define LowDataSelector LowCodeSelector + 4
|
||||
#define LowStack LowDataSelector + 4
|
||||
#define RealModeIdtDesc LowStack + 4
|
||||
#define RealModeGdt RealModeIdtDesc + 6
|
||||
#define RealModeGdtDesc RealModeGdt + (8 * NUM_REAL_GDT_ENTRIES)
|
||||
#define RevRealDs RealModeGdtDesc + 6
|
||||
#define RevRealSs RevRealDs + 2
|
||||
#define RevRealEsp RevRealSs + 2
|
||||
#define RevRealIdtDesc RevRealEsp + 4
|
||||
#define RevFlatDataSelector RevRealIdtDesc + 6
|
||||
#define RevFlatStack RevFlatDataSelector + 2
|
||||
#define Stack RevFlatStack + 4
|
||||
#define RevThunkStack Stack + LOW_STACK_SIZE
|
||||
|
||||
#define EfiToLegacy16InitTable RevThunkStack + LOW_STACK_SIZE
|
||||
#define InitTableBiosLessThan1MB EfiToLegacy16InitTable
|
||||
#define InitTableHiPmmMemory InitTableBiosLessThan1MB + 4
|
||||
#define InitTablePmmMemorySizeInBytes InitTableHiPmmMemory + 4
|
||||
#define InitTableReverseThunkCallSegment InitTablePmmMemorySizeInBytes + 4
|
||||
#define InitTableReverseThunkCallOffset InitTableReverseThunkCallSegment + 2
|
||||
#define InitTableNumberE820Entries InitTableReverseThunkCallOffset + 2
|
||||
#define InitTableOsMemoryAbove1Mb InitTableNumberE820Entries + 4
|
||||
#define InitTableThunkStart InitTableOsMemoryAbove1Mb + 4
|
||||
#define InitTableThunkSizeInBytes InitTableThunkStart + 4
|
||||
#define InitTable16InitTableEnd InitTableThunkSizeInBytes + 4
|
||||
|
||||
#define EfiToLegacy16BootTable InitTable16InitTableEnd
|
||||
#define BootTableBiosLessThan1MB EfiToLegacy16BootTable
|
||||
#define BootTableHiPmmMemory BootTableBiosLessThan1MB + 4
|
||||
#define BootTablePmmMemorySizeInBytes BootTableHiPmmMemory + 4
|
||||
#define BootTableReverseThunkCallSegment BootTablePmmMemorySizeInBytes + 4
|
||||
#define BootTableReverseThunkCallOffset BootTableReverseThunkCallSegment + 2
|
||||
#define BootTableNumberE820Entries BootTableReverseThunkCallOffset + 2
|
||||
#define BootTableOsMemoryAbove1Mb BootTableNumberE820Entries + 4
|
||||
#define BootTableThunkStart BootTableOsMemoryAbove1Mb + 4
|
||||
#define BootTableThunkSizeInBytes BootTableThunkStart + 4
|
||||
#define EfiToLegacy16BootTableEnd BootTableThunkSizeInBytes + 4
|
||||
|
||||
#define InterruptRedirectionCode EfiToLegacy16BootTableEnd
|
||||
#define PciHandler InterruptRedirectionCode + 32
|
||||
|
||||
|
||||
//
|
||||
// Register Sets (16 Bit)
|
||||
//
|
||||
|
||||
#define AX 0
|
||||
#define BX 2
|
||||
#define CX 4
|
||||
#define DX 6
|
||||
#define SI 8
|
||||
#define DI 10
|
||||
#define Flags 12
|
||||
#define ES 14
|
||||
#define CS 16
|
||||
#define SS 18
|
||||
#define DS 20
|
||||
#define BP 22
|
||||
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -29,7 +29,7 @@
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF
|
||||
# VALID_ARCHITECTURES = IA32 X64
|
||||
#
|
||||
|
||||
[Sources]
|
||||
@@ -54,13 +54,6 @@
|
||||
LegacyBbs.c
|
||||
LegacySio.c
|
||||
|
||||
[Sources.IPF]
|
||||
Ipf/IpfThunk.s
|
||||
Ipf/Thunk.c
|
||||
Ipf/IpfThunk.i
|
||||
Ipf/IpfBootSupport.c
|
||||
Ipf/IpfThunk.h
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
@@ -95,11 +88,6 @@
|
||||
UefiRuntimeServicesTableLib
|
||||
BaseLib
|
||||
|
||||
[LibraryClasses.IPF]
|
||||
IoLib
|
||||
UefiRuntimeServicesTableLib
|
||||
|
||||
|
||||
[Guids]
|
||||
gEfiDiskInfoIdeInterfaceGuid ## SOMETIMES_CONSUMES ##GUID #Used in LegacyBiosBuildIdeData() to assure device is a disk
|
||||
gEfiSmbiosTableGuid ## SOMETIMES_CONSUMES ##SystemTable
|
||||
|
||||
@@ -169,12 +169,6 @@ typedef struct {
|
||||
#define CONVENTIONAL_MEMORY_TOP 0xA0000 // 640 KB
|
||||
#define INITIAL_VALUE_BELOW_1K 0x0
|
||||
|
||||
#elif defined (MDE_CPU_IPF)
|
||||
|
||||
#define NUM_REAL_GDT_ENTRIES 3
|
||||
#define CONVENTIONAL_MEMORY_TOP 0x80000 // 512 KB
|
||||
#define INITIAL_VALUE_BELOW_1K 0xff
|
||||
|
||||
#endif
|
||||
|
||||
#pragma pack(1)
|
||||
@@ -346,79 +340,6 @@ typedef struct {
|
||||
BBS_TABLE BbsTable[MAX_BBS_ENTRIES];
|
||||
} LOW_MEMORY_THUNK;
|
||||
|
||||
#elif defined (MDE_CPU_IPF)
|
||||
|
||||
typedef struct {
|
||||
//
|
||||
// Space for the code
|
||||
// The address of Code is also the beginning of the relocated Thunk code
|
||||
//
|
||||
CHAR8 Code[4096]; // ?
|
||||
//
|
||||
// The address of the Reverse Thunk code
|
||||
// Note that this member CONTAINS the address of the relocated reverse thunk
|
||||
// code unlike the member variable 'Code', which IS the address of the Thunk
|
||||
// code.
|
||||
//
|
||||
UINT32 LowReverseThunkStart;
|
||||
|
||||
//
|
||||
// Data for the code (cs releative)
|
||||
//
|
||||
DESCRIPTOR32 GdtDesc; // Protected mode GDT
|
||||
DESCRIPTOR32 IdtDesc; // Protected mode IDT
|
||||
UINT32 FlatSs;
|
||||
UINT32 FlatEsp;
|
||||
|
||||
UINT32 LowCodeSelector; // Low code selector in GDT
|
||||
UINT32 LowDataSelector; // Low data selector in GDT
|
||||
UINT32 LowStack;
|
||||
DESCRIPTOR32 RealModeIdtDesc;
|
||||
|
||||
//
|
||||
// real-mode GDT (temporary GDT with two real mode segment descriptors)
|
||||
//
|
||||
GDT32 RealModeGdt[NUM_REAL_GDT_ENTRIES];
|
||||
DESCRIPTOR32 RealModeGdtDesc;
|
||||
|
||||
//
|
||||
// Members specifically for the reverse thunk
|
||||
// The RevReal* members are used to store the current state of real mode
|
||||
// before performing the reverse thunk. The RevFlat* members must be set
|
||||
// before calling the reverse thunk assembly code.
|
||||
//
|
||||
UINT16 RevRealDs;
|
||||
UINT16 RevRealSs;
|
||||
UINT32 RevRealEsp;
|
||||
DESCRIPTOR32 RevRealIdtDesc;
|
||||
UINT16 RevFlatDataSelector; // Flat data selector in GDT
|
||||
UINT32 RevFlatStack;
|
||||
|
||||
//
|
||||
// A low memory stack
|
||||
//
|
||||
CHAR8 Stack[LOW_STACK_SIZE];
|
||||
|
||||
//
|
||||
// Stack for flat mode after reverse thunk
|
||||
// @bug - This may no longer be necessary if the reverse thunk interface
|
||||
// is changed to have the flat stack in a different location.
|
||||
//
|
||||
CHAR8 RevThunkStack[LOW_STACK_SIZE];
|
||||
|
||||
//
|
||||
// Legacy16 Init memory map info
|
||||
//
|
||||
EFI_TO_COMPATIBILITY16_INIT_TABLE EfiToLegacy16InitTable;
|
||||
|
||||
EFI_TO_COMPATIBILITY16_BOOT_TABLE EfiToLegacy16BootTable;
|
||||
|
||||
CHAR8 InterruptRedirectionCode[32];
|
||||
EFI_LEGACY_INSTALL_PCI_HANDLER PciHandler;
|
||||
EFI_DISPATCH_OPROM_TABLE DispatchOpromTable;
|
||||
BBS_TABLE BbsTable[MAX_BBS_ENTRIES];
|
||||
} LOW_MEMORY_THUNK;
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user