mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-25 22:54:51 +02:00
IntelFsp2Pkg: Add function to get bootloader stack pointer
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1391 FSP on-going enhancement for stack utilization required to know bootloader stack pointer and this pointer can be retrieved by first input parameter address when FSP-M entry API invoked by bootloader. Test: Verified on internal platform and booting successfully Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
This commit is contained in:
parent
f30e4aed99
commit
35897da27e
@ -1,6 +1,6 @@
|
|||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -40,9 +40,9 @@ GetFspGlobalDataPointer (
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function gets back the FSP API first parameter passed by the bootlaoder.
|
This function gets back the FSP API first parameter passed by the bootloader.
|
||||||
|
|
||||||
@retval ApiParameter FSP API first parameter passed by the bootlaoder.
|
@retval ApiParameter FSP API first parameter passed by the bootloader.
|
||||||
**/
|
**/
|
||||||
UINT32
|
UINT32
|
||||||
EFIAPI
|
EFIAPI
|
||||||
@ -51,9 +51,9 @@ GetFspApiParameter (
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function gets back the FSP API second parameter passed by the bootlaoder.
|
This function gets back the FSP API second parameter passed by the bootloader.
|
||||||
|
|
||||||
@retval ApiParameter FSP API second parameter passed by the bootlaoder.
|
@retval ApiParameter FSP API second parameter passed by the bootloader.
|
||||||
**/
|
**/
|
||||||
UINT32
|
UINT32
|
||||||
EFIAPI
|
EFIAPI
|
||||||
@ -61,6 +61,17 @@ GetFspApiParameter2 (
|
|||||||
VOID
|
VOID
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
This function returns the FSP entry stack pointer from address of the first API parameter.
|
||||||
|
|
||||||
|
@retval FSP entry stack pointer.
|
||||||
|
**/
|
||||||
|
VOID*
|
||||||
|
EFIAPI
|
||||||
|
GetFspEntryStack (
|
||||||
|
VOID
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function sets the FSP API parameter in the stack.
|
This function sets the FSP API parameter in the stack.
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/** @file
|
/** @file
|
||||||
|
|
||||||
Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
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
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
@ -87,9 +87,9 @@ GetFspGlobalDataPointer (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function gets back the FSP API first parameter passed by the bootlaoder.
|
This function gets back the FSP API first parameter passed by the bootloader.
|
||||||
|
|
||||||
@retval ApiParameter FSP API first parameter passed by the bootlaoder.
|
@retval ApiParameter FSP API first parameter passed by the bootloader.
|
||||||
**/
|
**/
|
||||||
UINT32
|
UINT32
|
||||||
EFIAPI
|
EFIAPI
|
||||||
@ -104,9 +104,26 @@ GetFspApiParameter (
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This function gets back the FSP API second parameter passed by the bootlaoder.
|
This function returns the FSP entry stack pointer from address of the first API parameter.
|
||||||
|
|
||||||
@retval ApiParameter FSP API second parameter passed by the bootlaoder.
|
@retval FSP entry stack pointer.
|
||||||
|
**/
|
||||||
|
VOID*
|
||||||
|
EFIAPI
|
||||||
|
GetFspEntryStack (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
FSP_GLOBAL_DATA *FspData;
|
||||||
|
|
||||||
|
FspData = GetFspGlobalDataPointer ();
|
||||||
|
return (VOID*)(FspData->CoreStack + CONTEXT_STACK_OFFSET(ApiParam[0]));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
This function gets back the FSP API second parameter passed by the bootloader.
|
||||||
|
|
||||||
|
@retval ApiParameter FSP API second parameter passed by the bootloader.
|
||||||
**/
|
**/
|
||||||
UINT32
|
UINT32
|
||||||
EFIAPI
|
EFIAPI
|
||||||
|
Loading…
x
Reference in New Issue
Block a user