On 09/08/16 06:30, Joseph Shifflett wrote: > Create new functions to abstract how XD/NX is detected, enabled, and > disabled. Also, create a new function to determine if Branch Trace > Storage is supported. Existing code is specific to Intel processors. > > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Joseph Shifflett <joseph.shiffl...@hpe.com> > --- > UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h | 37 ++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h > b/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h > index 4478003467c8..48b4565b49bb 100644 > --- a/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h > +++ b/UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h > @@ -2,6 +2,7 @@ > Library that provides CPU specific functions to support the PiSmmCpuDxeSmm > module. > > Copyright (c) 2015, Intel Corporation. All rights reserved.<BR> > +(C) Copyright 2016 Hewlett Packard Enterprise Development LP<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 > @@ -398,4 +399,40 @@ SmmCpuFeaturesAllocatePageTableMemory ( > IN UINTN Pages > ); > > +/** > + This API provides a method to determine if XD/NX support has been forced > off in > + the non-SMM execution environment. It will enable XD/NX support while in > SMM > + > + @retval TRUE XD/NX was disabled when runningn in the non-SMM execution > environment > + @retval FALSE XD/NX was enabled when runningn in the non-SMM execution > environment
Typo: "runningn". Other than that, I'll let the UefiCpuPkg maintainers review these interface additions. Thanks Laszlo > + > +**/ > +BOOLEAN > +EFIAPI > +SmmCpuFeaturesCheckAndEnableXdSupport ( > + VOID > + ); > + > +/** > + This API provides a method to disable XD/NX support before exiting SMM > +**/ > +VOID > +EFIAPI > +SmmCpuFeaturesDisableXdSupport ( > + VOID > + ); > + > +/** > + This API determines if Branch Trace Storage Support is currently available > + > + @retval TRUE BTS is available > + @retval FALSE BTS is disabled > + > +**/ > +BOOLEAN > +EFIAPI > +SmmCpuFeaturesConfirmBranchTraceStorageSupport ( > + VOID > + ); > + > #endif > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel