diff options
Diffstat (limited to 'machine/fdt.h')
-rw-r--r-- | machine/fdt.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/machine/fdt.h b/machine/fdt.h index 235bb2e..0581e95 100644 --- a/machine/fdt.h +++ b/machine/fdt.h @@ -52,6 +52,7 @@ uint32_t fdt_size(uintptr_t fdt); // Extract fields const uint32_t *fdt_get_address(const struct fdt_scan_node *node, const uint32_t *base, uintptr_t *value); const uint32_t *fdt_get_size(const struct fdt_scan_node *node, const uint32_t *base, uintptr_t *value); +int fdt_string_list_index(const struct fdt_scan_prop *prop, const char *str); // -1 if not found // Setup memory+clint+plic void query_mem(uintptr_t fdt); @@ -59,6 +60,11 @@ void query_harts(uintptr_t fdt); void query_plic(uintptr_t fdt); void query_clint(uintptr_t fdt); +// Remove information from FDT +void filter_harts(uintptr_t fdt, unsigned long hart_mask); +void filter_plic(uintptr_t fdt); +void filter_compat(uintptr_t fdt, const char *compat); + // The hartids of available harts extern uint64_t hart_mask; |