summaryrefslogtreecommitdiff
path: root/sys/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/include')
-rw-r--r--sys/include/fdt.h37
-rw-r--r--sys/include/kernel_earlyprintf.h6
-rw-r--r--sys/include/mm/kalloc.h11
-rw-r--r--sys/include/sbi.h16
4 files changed, 70 insertions, 0 deletions
diff --git a/sys/include/fdt.h b/sys/include/fdt.h
new file mode 100644
index 0000000..92e5695
--- /dev/null
+++ b/sys/include/fdt.h
@@ -0,0 +1,37 @@
+#include <stdint.h>
+#include <endian.h>
+
+#ifndef _FDT_H
+#define _FDT_H
+
+#define FDT_HEADER_MAGIC 0xd00dfeed
+
+static inline uint32_t
+fdt_uint32(uint32_t x)
+{
+#if BYTE_ORDER == LITTLE_ENDIAN
+return __bswap32(x);
+#else
+return x;
+#endif
+}
+
+struct fdt_header {
+ uint32_t magic; /* FDT_HEADER_MAGIC */
+ uint32_t totalsize; /* size of the whole device tree, in bytes */
+ uint32_t off_dt_struct; /* offset to structure block */
+ uint32_t off_dt_strings; /* offset to strings block */
+ uint32_t off_mem_rsvmap; /* offset to memory reservation block */
+ uint32_t version; /* dt spec version */
+ uint32_t last_comp_version; /* last compatible version. spec says this needs to be 16 */
+ uint32_t boot_cpuid_phys; /* physical id of the systems boot cpu */
+ uint32_t size_dt_strings; /* size of strings block */
+ uint32_t size_dt_struct; /* size of structure block */
+};
+
+struct fdt_reserve_entry {
+ uint64_t address;
+ uint64_t size;
+};
+
+#endif /* _FDT_H */
diff --git a/sys/include/kernel_earlyprintf.h b/sys/include/kernel_earlyprintf.h
new file mode 100644
index 0000000..051d7e5
--- /dev/null
+++ b/sys/include/kernel_earlyprintf.h
@@ -0,0 +1,6 @@
+#ifndef _KPRINTF_H
+#define _KPRINTF_H
+
+int kernel_earlyputs(const char *);
+
+#endif /* _KPRINTF_H */
diff --git a/sys/include/mm/kalloc.h b/sys/include/mm/kalloc.h
new file mode 100644
index 0000000..e99d624
--- /dev/null
+++ b/sys/include/mm/kalloc.h
@@ -0,0 +1,11 @@
+#ifndef _KALLOC_H
+#define _KALLOC_H
+
+void *kalloc(void);
+
+void *kzalloc(void);
+
+void kfree(void *);
+
+#endif /* _KALLOC_H */
+
diff --git a/sys/include/sbi.h b/sys/include/sbi.h
new file mode 100644
index 0000000..0dbcd02
--- /dev/null
+++ b/sys/include/sbi.h
@@ -0,0 +1,16 @@
+#ifndef _SBICALL_H
+#define _SBICALL_H
+
+struct sbiret {
+ long err;
+ long val;
+};
+
+struct sbiret sbi_ecall(int _eid, int _fid, unsigned long _a0, unsigned long _a1,
+ unsigned long _a2, unsigned long _a3, unsigned long _a4, unsigned long _a5);
+
+void sbi_console_putchar(int c);
+void sbi_shutdown(void);
+
+#endif /* _SBICALL_H */
+