summaryrefslogtreecommitdiffstats
path: root/MdePkg/Test/Mock/Include/GoogleTest/Library/MockHobLib.h
blob: 994b8133e5d03b241789cb8da9293671c4965ad4 (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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/** @file
  Google Test mocks for HobLib

  Copyright (c) 2023, Intel Corporation. All rights reserved.
  SPDX-License-Identifier: BSD-2-Clause-Patent
**/

#ifndef MOCK_HOB_LIB_H_
#define MOCK_HOB_LIB_H_

#include <Library/GoogleTestLib.h>
#include <Library/FunctionMockLib.h>
extern "C" {
#include <Pi/PiMultiPhase.h>
#include <Uefi.h>
#include <Library/HobLib.h>
}

struct MockHobLib {
  MOCK_INTERFACE_DECLARATION (MockHobLib);

  MOCK_FUNCTION_DECLARATION (
    VOID *,
    GetHobList,
    ()
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    GetNextHob,
    (IN UINT16      Type,
     IN CONST VOID  *HobStart)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    GetFirstHob,
    (IN UINT16      Type)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    GetNextGuidHob,
    (IN CONST EFI_GUID  *Guid,
     IN CONST VOID      *HobStart)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    GetFirstGuidHob,
    (IN CONST EFI_GUID  *Guid)
    );
  MOCK_FUNCTION_DECLARATION (
    EFI_BOOT_MODE,
    GetBootModeHob,
    ()
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildModuleHob,
    (IN CONST EFI_GUID        *ModuleName,
     IN EFI_PHYSICAL_ADDRESS  MemoryAllocationModule,
     IN UINT64                ModuleLength,
     IN EFI_PHYSICAL_ADDRESS  EntryPoint)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildResourceDescriptorWithOwnerHob,
    (IN EFI_RESOURCE_TYPE            ResourceType,
     IN EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttribute,
     IN EFI_PHYSICAL_ADDRESS         PhysicalStart,
     IN UINT64                       NumberOfBytes,
     IN EFI_GUID                     *OwnerGUID)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildResourceDescriptorHob,
    (IN EFI_RESOURCE_TYPE            ResourceType,
     IN EFI_RESOURCE_ATTRIBUTE_TYPE  ResourceAttribute,
     IN EFI_PHYSICAL_ADDRESS         PhysicalStart,
     IN UINT64                       NumberOfBytes)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    BuildGuidHob,
    (IN CONST EFI_GUID  *Guid,
     IN UINTN           DataLength)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID *,
    BuildGuidDataHob,
    (IN CONST EFI_GUID  *Guid,
     IN VOID            *Data,
     IN UINTN           DataLength)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildFvHob,
    (IN EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN UINT64                Length)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildFv2Hob,
    (IN          EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN          UINT64                Length,
     IN CONST    EFI_GUID              *FvName,
     IN CONST    EFI_GUID              *FileName)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildFv3Hob,
    (IN          EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN          UINT64                Length,
     IN          UINT32                AuthenticationStatus,
     IN          BOOLEAN               ExtractedFv,
     IN CONST    EFI_GUID              *FvName  OPTIONAL,
     IN CONST    EFI_GUID              *FileName OPTIONAL)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildCvHob,
    (IN EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN UINT64                Length)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildCpuHob,
    (IN UINT8  SizeOfMemorySpace,
     IN UINT8  SizeOfIoSpace)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildStackHob,
    (IN EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN UINT64                Length)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildBspStoreHob,
    (IN EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN UINT64                Length,
     IN EFI_MEMORY_TYPE       MemoryType)
    );
  MOCK_FUNCTION_DECLARATION (
    VOID,
    BuildMemoryAllocationHob,
    (IN EFI_PHYSICAL_ADDRESS  BaseAddress,
     IN UINT64                Length,
     IN EFI_MEMORY_TYPE       MemoryType)
    );
};

#endif