]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Library/EdkIIGlueLib/Library/BaseLib/Ia32/EnablePaging32.c
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EdkIIGlueLib / Library / BaseLib / Ia32 / EnablePaging32.c
1 /**
2 AsmEnablePaging32 function
3
4 Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #include "BaseLibInternals.h"
16
17 __declspec (naked)
18 VOID
19 EFIAPI
20 InternalX86EnablePaging32 (
21 IN SWITCH_STACK_ENTRY_POINT EntryPoint,
22 IN VOID *Context1, OPTIONAL
23 IN VOID *Context2, OPTIONAL
24 IN VOID *NewStack
25 )
26 {
27 _asm {
28 push ebp
29 mov ebp, esp
30 mov ebx, EntryPoint
31 mov ecx, Context1
32 mov edx, Context2
33 pushfd
34 pop edi
35 cli
36 mov eax, cr0
37 bts eax, 31
38 mov esp, NewStack
39 mov cr0, eax
40 push edi
41 popfd
42 push edx
43 push ecx
44 call ebx
45 jmp $
46 }
47 }
48