aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/debug.c38
-rw-r--r--src/main.c3
2 files changed, 18 insertions, 23 deletions
diff --git a/src/debug.c b/src/debug.c
index fcec537..15640b4 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -364,6 +364,16 @@ static size_t __integral_val(ssize_t value, size_t base, size_t flags,
return ret + 1;
}
+static size_t __puts(const char *s)
+{
+ size_t i = 0;
+ while (s[i]) {
+ __putchar(s[i++]);
+ }
+
+ return i;
+}
+
/**
* Print prefix corresponding to \c base.
*
@@ -372,28 +382,14 @@ static size_t __integral_val(ssize_t value, size_t base, size_t flags,
*/
static size_t __print_prefix(size_t base)
{
- size_t i = 0;
-
- const char *hex = "0x";
- const char *oct = "0";
- const char *bin = "0b";
- const char *empty = "";
-
- const char *prefix;
-
- if (base == 16)
- prefix = hex;
- else if (base == 8)
- prefix = oct;
- else if (base == 2)
- prefix = bin;
- else
- prefix = empty;
-
- for (; *prefix; ++i)
- __putchar(*prefix++);
+ switch (base) {
+ case 16: return __puts("0x");
+ case 8: return __puts("0");
+ case 2: return __puts("0b");
+ default:
+ }
- return i;
+ return 0;
}
/**
diff --git a/src/main.c b/src/main.c
index 169efc3..aaf4cde 100644
--- a/src/main.c
+++ b/src/main.c
@@ -66,7 +66,7 @@ __noreturn void kernel(void *fdt, uintptr_t load_addr, struct vmem *d)
/* start up debugging in kernel IO */
setup_io_dbg(d);
- //dbg_fdt(fdt);
+ dbg_fdt(fdt);
setup_arch(fdt);
@@ -106,7 +106,6 @@ __noreturn void main(unsigned long hart, void *fdt, uintptr_t load_addr)
(void)hart;
/** @todo some kind of lottery? */
-
pm_t ram_base = __fdt_ram_base(fdt);
pm_t ram_size = __fdt_ram_size(fdt);
set_ram_base(ram_base);