diff options
author | Benji Dial <benji6283@gmail.com> | 2020-09-06 00:48:07 -0400 |
---|---|---|
committer | Benji Dial <benji6283@gmail.com> | 2020-09-06 00:48:07 -0400 |
commit | e8c6577617bffa4402c07c7aa20e3c24f03c1c20 (patch) | |
tree | 2fb9230b62d2344a44453117de9e656892219788 /src/user/knob/format.c | |
parent | 7ff724fe8f709440da9c730fdb8dcbaa4f989ed5 (diff) | |
download | portland-os-e8c6577617bffa4402c07c7aa20e3c24f03c1c20.tar.gz |
program loading, others
big kernel additions: paging, elf loading, separate kernel and user page allocation
it now properly loads and runs sd0:bin/init.elf
still need to determine which disk was booted from, and start the init on that disk
Diffstat (limited to 'src/user/knob/format.c')
-rw-r--r-- | src/user/knob/format.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/user/knob/format.c b/src/user/knob/format.c new file mode 100644 index 0000000..f55e857 --- /dev/null +++ b/src/user/knob/format.c @@ -0,0 +1,13 @@ +#include <stdbool.h> +#include <stdint.h> + +bool try_sntoi(const char *s, uint32_t n, uint32_t *out) { + uint32_t calc = 0; + for (uint32_t i = 0; i < n; ++i) { + if ((s[i] < '0') || (s[i] > '9')) + return false; + calc = calc * 10 + s[i] - '0'; + } + *out = calc; + return true; +}
\ No newline at end of file |