VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/MdePkg/Include/Library/CpuLib.h@ 105668

最後變更 在這個檔案從105668是 101291,由 vboxsync 提交於 18 月 前

EFI/FirmwareNew: Make edk2-stable202308 build on all supported platforms (using gcc at least, msvc not tested yet), bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 2.1 KB
 
1/** @file
2 Provides CPU architecture specific functions that can not be defined
3 in the Base Library due to dependencies on the PAL Library
4
5 The CPU Library provides services to flush CPU TLBs and place the CPU in a sleep state.
6 The implementation of these services on Itanium processors requires the use of PAL Calls.
7 PAL Calls require PEI and DXE specific mechanisms to look up PAL Entry Point.
8 As a result, these services could not be defined in the Base Library.
9
10Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
11SPDX-License-Identifier: BSD-2-Clause-Patent
12
13**/
14
15#ifndef __CPU_LIB_H__
16#define __CPU_LIB_H__
17
18/**
19 Places the CPU in a sleep state until an interrupt is received.
20
21 Places the CPU in a sleep state until an interrupt is received. If interrupts
22 are disabled prior to calling this function, then the CPU will be placed in a
23 sleep state indefinitely.
24
25**/
26VOID
27EFIAPI
28CpuSleep (
29 VOID
30 );
31
32/**
33 Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
34
35 Flushes all the Translation Lookaside Buffers(TLB) entries in a CPU.
36
37**/
38VOID
39EFIAPI
40CpuFlushTlb (
41 VOID
42 );
43
44#if defined (MDE_CPU_IA32) || defined (MDE_CPU_X64)
45
46/**
47 Initializes floating point units for requirement of UEFI specification.
48 This function initializes floating-point control word to 0x027F (all exceptions
49 masked,double-precision, round-to-nearest) and multimedia-extensions control word
50 (if supported) to 0x1F80 (all exceptions masked, round-to-nearest, flush to zero
51 for masked underflow).
52**/
53VOID
54EFIAPI
55InitializeFloatingPointUnits (
56 VOID
57 );
58
59/**
60 Determine if the standard CPU signature is "AuthenticAMD".
61 @retval TRUE The CPU signature matches.
62 @retval FALSE The CPU signature does not match.
63**/
64BOOLEAN
65EFIAPI
66StandardSignatureIsAuthenticAMD (
67 VOID
68 );
69
70/**
71 Return the 32bit CPU family and model value.
72 @return CPUID[01h].EAX with Processor Type and Stepping ID cleared.
73**/
74UINT32
75EFIAPI
76GetCpuFamilyModel (
77 VOID
78 );
79
80/**
81 Return the CPU stepping ID.
82 @return CPU stepping ID value in CPUID[01h].EAX.
83**/
84UINT8
85EFIAPI
86GetCpuSteppingId (
87 VOID
88 );
89
90#endif
91
92#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette