IN INT32 NameLength\r
);\r
\r
+/**\r
+ Returns number of reserved ranges.\r
+\r
+ @param[in] Fdt The pointer to FDT blob.\r
+\r
+ @return The number of reserved ranges.\r
+\r
+**/\r
+INTN\r
+EFIAPI\r
+FdtNumRsv (\r
+ IN CONST VOID *Fdt\r
+ );\r
+\r
+/**\r
+ Returns reserved ranges.\r
+\r
+ @param[in] *Fdt The pointer to FDT blob.\r
+ @param[in] Index Reserved entry index in the table.\r
+ @param[out] Addr Address returned\r
+ @param[out] *Size Pointer to size of the address range\r
+\r
+ @return Returns reserved range.\r
+\r
+**/\r
+INTN\r
+EFIAPI\r
+FdtGetMemRsv (\r
+ IN CONST VOID *Fdt,\r
+ IN INTN Index,\r
+ OUT UINT64 *Addr,\r
+ OUT UINT64 *Size\r
+ );\r
+\r
/**\r
Returns a offset of first node which includes the given property name and value.\r
\r
**/\r
\r
#include <libfdt/libfdt/libfdt.h>\r
+#include <Uefi/UefiBaseType.h>\r
\r
/**\r
Convert UINT16 data of the FDT blob to little-endian\r
return fdt_next_subnode (Fdt, Offset);\r
}\r
\r
+/**\r
+ Returns number of reserved mem nodes\r
+\r
+ @param[in] Fdt The pointer to FDT blob.\r
+\r
+ @return total reserved mem nodes\r
+\r
+**/\r
+INTN\r
+EFIAPI\r
+FdtNumRsv (\r
+ IN CONST VOID *Fdt\r
+ )\r
+{\r
+ return fdt_num_mem_rsv (Fdt);\r
+}\r
+\r
+/**\r
+ Returns reserved ranges.\r
+\r
+ @param[in] *Fdt The pointer to FDT blob.\r
+ @param[in] Index Reserved entry index in the table.\r
+ @param[out] Addr Address returned\r
+ @param[out] *Size Pointer to size of the address range\r
+\r
+ @return Returns reserved range.\r
+\r
+**/\r
+INTN\r
+EFIAPI\r
+FdtGetMemRsv (\r
+ IN CONST VOID *Fdt,\r
+ IN INTN Index,\r
+ OUT EFI_PHYSICAL_ADDRESS *Addr,\r
+ OUT UINT64 *Size\r
+ )\r
+{\r
+ return fdt_get_mem_rsv (Fdt, Index, Addr, Size);\r
+}\r
+\r
/**\r
Returns a offset of first node which includes the given name.\r
\r