mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 21:54:27 +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
|
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.
|
Returns a offset of first node which includes the given property name and value.
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
**/
|
**/
|
||||||
|
|
||||||
#include <libfdt/libfdt/libfdt.h>
|
#include <libfdt/libfdt/libfdt.h>
|
||||||
|
#include <Uefi/UefiBaseType.h>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Convert UINT16 data of the FDT blob to little-endian
|
Convert UINT16 data of the FDT blob to little-endian
|
||||||
@ -205,6 +206,46 @@ FdtNextSubnode (
|
|||||||
return fdt_next_subnode (Fdt, Offset);
|
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.
|
Returns a offset of first node which includes the given name.
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user