blob: cdc81e0af34cad9fa1fe5bf829119802b40a56fe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
/** @file
Internal header for Random test.
Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef RANDOM_TEST_H_
#define RANDOM_TEST_H_
#include "CpuPageTableLibUnitTest.h"
typedef struct _ALLOCATE_PAGE_RECORDS ALLOCATE_PAGE_RECORDS;
typedef
VOID *
(EFIAPI *ALLOCATE_PAGES)(
IN ALLOCATE_PAGE_RECORDS *PagesRecord,
IN UINTN Pages
);
typedef struct {
VOID *Buffer;
UINTN Pages;
} ALLOCATE_PAGE_RECORD;
struct _ALLOCATE_PAGE_RECORDS {
UINTN Count;
UINTN MaxCount;
ALLOCATE_PAGES AllocatePagesForPageTable;
ALLOCATE_PAGE_RECORD Records[0];
};
typedef struct {
UINT64 LinearAddress;
UINT64 Length;
IA32_MAP_ATTRIBUTE Attribute;
IA32_MAP_ATTRIBUTE Mask;
} MAP_ENTRY;
typedef struct {
UINTN Count;
UINTN InitCount;
UINTN MaxCount;
MAP_ENTRY Maps[10];
} MAP_ENTRYS;
UINT64
GetEntryFromPageTable (
IN UINTN PageTable,
IN PAGING_MODE PagingMode,
IN UINT64 Address,
OUT UINTN *Level
);
#endif
|