3 Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
4 Copyright (c) 2011, Andrei Warkentin <andreiw@motorola.com>
6 SPDX-License-Identifier: BSD-2-Clause-Patent
11 // The package level header files this module uses
16 // The Library classes this module consumes
18 #include <Library/BaseMemoryLib.h>
19 #include <Library/BaseLib.h>
20 #include <Library/DebugLib.h>
21 #include <Library/HobLib.h>
22 #include <Library/PlatformInitLib.h>
26 PlatformAddIoMemoryBaseSizeHob (
27 IN EFI_PHYSICAL_ADDRESS MemoryBase
,
31 BuildResourceDescriptorHob (
32 EFI_RESOURCE_MEMORY_MAPPED_IO
,
33 EFI_RESOURCE_ATTRIBUTE_PRESENT
|
34 EFI_RESOURCE_ATTRIBUTE_INITIALIZED
|
35 EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE
|
36 EFI_RESOURCE_ATTRIBUTE_TESTED
,
44 PlatformAddReservedMemoryBaseSizeHob (
45 IN EFI_PHYSICAL_ADDRESS MemoryBase
,
50 BuildResourceDescriptorHob (
51 EFI_RESOURCE_MEMORY_RESERVED
,
52 EFI_RESOURCE_ATTRIBUTE_PRESENT
|
53 EFI_RESOURCE_ATTRIBUTE_INITIALIZED
|
54 EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE
|
56 EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE
|
57 EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE
|
58 EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE
:
61 EFI_RESOURCE_ATTRIBUTE_TESTED
,
69 PlatformAddIoMemoryRangeHob (
70 IN EFI_PHYSICAL_ADDRESS MemoryBase
,
71 IN EFI_PHYSICAL_ADDRESS MemoryLimit
74 PlatformAddIoMemoryBaseSizeHob (MemoryBase
, (UINT64
)(MemoryLimit
- MemoryBase
));
79 PlatformAddMemoryBaseSizeHob (
80 IN EFI_PHYSICAL_ADDRESS MemoryBase
,
84 BuildResourceDescriptorHob (
85 EFI_RESOURCE_SYSTEM_MEMORY
,
86 EFI_RESOURCE_ATTRIBUTE_PRESENT
|
87 EFI_RESOURCE_ATTRIBUTE_INITIALIZED
|
88 EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE
|
89 EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE
|
90 EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE
|
91 EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE
|
92 EFI_RESOURCE_ATTRIBUTE_TESTED
,
100 PlatformAddMemoryRangeHob (
101 IN EFI_PHYSICAL_ADDRESS MemoryBase
,
102 IN EFI_PHYSICAL_ADDRESS MemoryLimit
105 PlatformAddMemoryBaseSizeHob (MemoryBase
, (UINT64
)(MemoryLimit
- MemoryBase
));