aboutsummaryrefslogtreecommitdiff
path: root/machine/fdt.h
diff options
context:
space:
mode:
Diffstat (limited to 'machine/fdt.h')
-rw-r--r--machine/fdt.h6
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;