TianoCore EDK2 master
Loading...
Searching...
No Matches
EnablePaging32.c
Go to the documentation of this file.
1
9#include "BaseLibInternals.h"
10
45VOID
46EFIAPI
49 IN VOID *Context1 OPTIONAL,
50 IN VOID *Context2 OPTIONAL,
51 IN VOID *NewStack
52 )
53{
54 _asm {
55 push ebp
56 mov ebp, esp
57 mov ebx, EntryPoint
58 mov ecx, Context1
59 mov edx, Context2
60 pushfd
61 pop edi
62 cli
63 mov eax, cr0
64 bts eax, 31
65 mov esp, NewStack
66 mov cr0, eax
67 push edi
68 popfd
69 push edx
70 push ecx
71 call ebx
72 jmp $
73 }
74}
VOID(EFIAPI * SWITCH_STACK_ENTRY_POINT)(IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL)
Definition: BaseLib.h:5019
__declspec(naked)
#define IN
Definition: Base.h:279
VOID EFIAPI InternalX86EnablePaging32(IN SWITCH_STACK_ENTRY_POINT EntryPoint, IN VOID *Context1 OPTIONAL, IN VOID *Context2 OPTIONAL, IN VOID *NewStack)
Definition: Non-existing.c:47