mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
MdePkg: Add reserved mem fdt helpers
Devicetree defines a short hand way of defining reserved memory ranges. Add APIs to access such nodes Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
This commit is contained in:
parent
099aff9137
commit
043045cd6e
@ -247,6 +247,40 @@ FdtSubnodeOffsetNameLen (
|
||||
IN INT32 NameLength
|
||||
);
|
||||
|
||||
/**
|
||||
Returns number of reserved ranges.
|
||||
|
||||
@param[in] Fdt The pointer to FDT blob.
|
||||
|
||||
@return The number of reserved ranges.
|
||||
|
||||
**/
|
||||
INTN
|
||||
EFIAPI
|
||||
FdtNumRsv (
|
||||
IN CONST VOID *Fdt
|
||||
);
|
||||
|
||||
/**
|
||||
Returns reserved ranges.
|
||||
|
||||
@param[in] *Fdt The pointer to FDT blob.
|
||||
@param[in] Index Reserved entry index in the table.
|
||||
@param[out] Addr Address returned
|
||||
@param[out] *Size Pointer to size of the address range
|
||||
|
||||
@return Returns reserved range.
|
||||
|
||||
**/
|
||||
INTN
|
||||
EFIAPI
|
||||
FdtGetMemRsv (
|
||||
IN CONST VOID *Fdt,
|
||||
IN INTN Index,
|
||||
OUT UINT64 *Addr,
|
||||
OUT UINT64 *Size
|
||||
);
|
||||
|
||||
/**
|
||||
Returns a offset of first node which includes the given property name and value.
|
||||
|
||||
|
@ -7,6 +7,7 @@
|
||||
**/
|
||||
|
||||
#include <libfdt/libfdt/libfdt.h>
|
||||
#include <Uefi/UefiBaseType.h>
|
||||
|
||||
/**
|
||||
Convert UINT16 data of the FDT blob to little-endian
|
||||
@ -205,6 +206,46 @@ FdtNextSubnode (
|
||||
return fdt_next_subnode (Fdt, Offset);
|
||||
}
|
||||
|
||||
/**
|
||||
Returns number of reserved mem nodes
|
||||
|
||||
@param[in] Fdt The pointer to FDT blob.
|
||||
|
||||
@return total reserved mem nodes
|
||||
|
||||
**/
|
||||
INTN
|
||||
EFIAPI
|
||||
FdtNumRsv (
|
||||
IN CONST VOID *Fdt
|
||||
)
|
||||
{
|
||||
return fdt_num_mem_rsv (Fdt);
|
||||
}
|
||||
|
||||
/**
|
||||
Returns reserved ranges.
|
||||
|
||||
@param[in] *Fdt The pointer to FDT blob.
|
||||
@param[in] Index Reserved entry index in the table.
|
||||
@param[out] Addr Address returned
|
||||
@param[out] *Size Pointer to size of the address range
|
||||
|
||||
@return Returns reserved range.
|
||||
|
||||
**/
|
||||
INTN
|
||||
EFIAPI
|
||||
FdtGetMemRsv (
|
||||
IN CONST VOID *Fdt,
|
||||
IN INTN Index,
|
||||
OUT EFI_PHYSICAL_ADDRESS *Addr,
|
||||
OUT UINT64 *Size
|
||||
)
|
||||
{
|
||||
return fdt_get_mem_rsv (Fdt, Index, Addr, Size);
|
||||
}
|
||||
|
||||
/**
|
||||
Returns a offset of first node which includes the given name.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user