aboutsummaryrefslogtreecommitdiff
path: root/machine/fdt.h
diff options
context:
space:
mode:
authorWesley W. Terpstra <wesley@sifive.com>2017-04-05 16:22:47 -0700
committerWesley W. Terpstra <wesley@sifive.com>2017-04-05 16:22:47 -0700
commit91636ac4639a7993c485288d34f1c8e22b1980b4 (patch)
treed50d564fbdabf9987c531267e15a7a32a07fbb8d /machine/fdt.h
parentcd558016be4fdc99055814bd1adcfc2962b425c0 (diff)
downloadpk-91636ac4639a7993c485288d34f1c8e22b1980b4.zip
pk-91636ac4639a7993c485288d34f1c8e22b1980b4.tar.gz
pk-91636ac4639a7993c485288d34f1c8e22b1980b4.tar.bz2
fdt: redact clint, plic, and debug hardware
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;