]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Core/Dxe/Library.h
Don't align image address for TeImage, because TeImage section alignment is undefined.
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Library.h
1 /** @file
2 Internal functions shared in DxeCore module.
3
4 Copyright (c) 2006 - 2008, Intel Corporation. <BR>
5 All rights reserved. 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 #ifndef _DXE_LIBRARY_H_
16 #define _DXE_LIBRARY_H_
17
18
19 /**
20 Raising to the task priority level of the mutual exclusion
21 lock, and then acquires ownership of the lock.
22
23 @param Lock The lock to acquire
24
25 @return Lock owned
26
27 **/
28 VOID
29 CoreAcquireLock (
30 IN EFI_LOCK *Lock
31 );
32
33
34 /**
35 Initialize a basic mutual exclusion lock. Each lock
36 provides mutual exclusion access at it's task priority
37 level. Since there is no-premption (at any TPL) or
38 multiprocessor support, acquiring the lock only consists
39 of raising to the locks TPL.
40
41 @param Lock The EFI_LOCK structure to initialize
42
43 @retval EFI_SUCCESS Lock Owned.
44 @retval EFI_ACCESS_DENIED Reentrant Lock Acquisition, Lock not Owned.
45
46 **/
47 EFI_STATUS
48 CoreAcquireLockOrFail (
49 IN EFI_LOCK *Lock
50 );
51
52
53 /**
54 Releases ownership of the mutual exclusion lock, and
55 restores the previous task priority level.
56
57 @param Lock The lock to release
58
59 @return Lock unowned
60
61 **/
62 VOID
63 CoreReleaseLock (
64 IN EFI_LOCK *Lock
65 );
66
67
68 #endif