Files
slimbootloader/BootloaderCommonPkg/Include/Library/ExtraBaseLib.h
T
Maurice Ma 8a0a8984f9 Enable CPU AVX support if available
EnableAvx ASM is included as part ExtraLibs.

Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Signed-off-by: Subash Lakkimsetti <subashx.lakkimsetti@intel.com>
2019-12-03 21:36:29 -08:00

48 lines
1.2 KiB
C

/** @file
Header file for extra base routines
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _EXTRA_BASE_LIB_H_
#define _EXTRA_BASE_LIB_H_
/**
Flush a range of cache lines in the cache coherency domain of the calling
CPU.
Flushes the cache lines specified by Address and Length. If Address is not aligned
on a cache line boundary, then entire cache line containing Address is flushed.
If Address + Length is not aligned on a cache line boundary, then the entire cache
line containing Address + Length - 1 is flushed. This function may choose to flush
the entire cache if that is more efficient than flushing the specified range. If
Length is 0, the no cache lines are flushed.
@param[in] Address The base address of the lines to invalidate.
@param[in] Length The number of bytes to invalidate from the cache.
**/
VOID
EFIAPI
AsmFlushCacheRange (
IN VOID *Address,
IN UINTN Length
);
/**
Enable CPU AVX support if the CPU is capable.
CPU.
**/
VOID
EFIAPI
AsmEnableAvx (
VOID
);
#endif