From df969e1fec47e97f792a5cdf65df67738a914d30 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:02:41 +0530 Subject: [PATCH 01/33] Datetime and puts --- .vscode/settings.json | 8 ++ Makefile | 6 +- include/clear.h | 2 +- include/datetime.h | 24 +++++ include/printf.h | 12 ++- kernel/kernel.c | 30 ++++-- user/datetime.c | 63 ++++++++++++ user/printf.c | 220 +++++++++++++++++++++++++++++++++++++++--- 8 files changed, 336 insertions(+), 29 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 include/datetime.h create mode 100644 user/datetime.c diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..71cb70e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,8 @@ +{ + "files.associations": { + "clear.h": "c", + "stddef.h": "c", + "cstdint": "c", + "stdbool.h": "c" + } +} \ No newline at end of file diff --git a/Makefile b/Makefile index 725ba65..9d4656c 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ VPATH := $(SRC_DIRS) all: clean kernel.bin qemu # Assembly start.o goes to build/ -$(OUT_DIR)start.o: kernel/start.S +$(OUT_DIR)start.o: kernel/start.s @mkdir -p $(OUT_DIR) $(AS) -c $< -o $@ @@ -51,6 +51,6 @@ clean: qemu: @echo "Press Ctrl-A then X to exit QEMU" - @qemu-system-arm -M versatilepb -nographic -kernel $(OUT_DIR)kernel.bin + @qemu-system-arm -cpu arm926 -M versatilepb -nographic -kernel $(OUT_DIR)kernel.bin -.PHONY: all clean qemu \ No newline at end of file +.PHONY: all clean qemu diff --git a/include/clear.h b/include/clear.h index 6226b07..e7da2d7 100644 --- a/include/clear.h +++ b/include/clear.h @@ -3,4 +3,4 @@ void clear(void); -#endif // CLEAR_H \ No newline at end of file +#endif // CLEAR_H diff --git a/include/datetime.h b/include/datetime.h new file mode 100644 index 0000000..438fbd3 --- /dev/null +++ b/include/datetime.h @@ -0,0 +1,24 @@ +#ifndef DATETIME_H +#define DATETIME_H + +#include + +typedef struct +{ + uint32_t hrs; + uint32_t mins; + uint32_t secs; +} timeval; + +typedef struct +{ + uint32_t day; + uint32_t month; + uint32_t year; + +} dateval; + +uint32_t getdate(dateval *date); +uint32_t gettime(timeval *time); + +#endif // DATETIME_H diff --git a/include/printf.h b/include/printf.h index 80ebcd1..598910f 100644 --- a/include/printf.h +++ b/include/printf.h @@ -1,16 +1,18 @@ #ifndef PRINTF_H #define PRINTF_H +#include #include #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif -void putc(char c); -void puts(const char *s); -char getc(void); -void getlines(char *restrict buffer, size_t length); + void putc(char c); + void puts(const char *s, ...); + char getc(void); + void getlines(char *restrict buffer, size_t length); #ifdef __cplusplus } diff --git a/kernel/kernel.c b/kernel/kernel.c index 8a528ec..0613cfd 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -2,6 +2,7 @@ #include "printf.h" #include "clear.h" +#include "datetime.h" static const char *banner[] = { "========================================\r\n", @@ -14,8 +15,7 @@ static const char *banner[] = { "\r\n", "Welcome to your own little Astra world!\r\n", "Type away, explore, have fun.\r\n", - "\r\n" -}; + "\r\n"}; // Initializes and prints the welcome banner. static void init_message(void) @@ -38,32 +38,44 @@ void kernel_main(void) char input_buffer[100]; + timeval time_struct; + dateval date_struct; + bool is_running = true; while (is_running) { input_buffer[0] = '\0'; // Clear the input buffer puts("AstraKernel > "); getlines(input_buffer, sizeof(input_buffer)); - + puts("\r\n"); switch (input_buffer[0]) { case 'h': // Check for help command - puts("\nHelp: Press 'q' to exit, 'h' for help.\r\n"); + puts("\nHelp:\n 'q' to exit\n 'h' for help\n 'c' to clear screen\n 't' to print current time\n 'd' to print current date\r\n"); + break; + case 'e': + puts("%lx %ld %ld\n", 18446744073709551615, -9223372036854775809, 9223372036854775809); + puts("%d %d\n", 2147483647, -2147483647); + puts("%x %x %X %X\n", 2147483647, 1234, 2147483647, 1234); + puts("%lX %x %lx\n", 0x123456789abcdef0, 1234, 9223372036854775809); + puts("Name: %c\n", 'b'); break; case 'q': // Check for exit command puts("Exiting...\r\n"); is_running = false; break; - case 'c': // Cjeck for clear screen command + case 'c': // Check for clear screen command clear(); break; - case 't': // Check for time command - puts("Current time: 12:00 PM\r\n"); // TO-DO: Implement real time check + case 't': // Check for time command + gettime(&time_struct); + puts("Current time(UTC): %d:%d:%d\n", time_struct.hrs, time_struct.mins, time_struct.secs); break; - case 'd': // Check for date command - puts("Current date: 2023-10-01\r\n"); // TO-DO: Implement real date check + case 'd': // Check for date command + getdate(&date_struct); + puts("Current date(MM-DD-YYYY): %d-%d-%d\n", date_struct.month, date_struct.day, date_struct.year); break; default: puts("Unknown command. Type 'h' for help.\r\n"); diff --git a/user/datetime.c b/user/datetime.c new file mode 100644 index 0000000..d7c1111 --- /dev/null +++ b/user/datetime.c @@ -0,0 +1,63 @@ +#include +#include +#include "datetime.h" + +_Static_assert(sizeof(uint32_t) == 4, "uint32_t must be 4 bytes"); + +#define RTCDR (*(volatile uint32_t *)0x101e8000) // RTC Register + +uint32_t getdate(dateval *date_struct) +{ + static uint32_t day_arr[12] = {31, 27, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + + if (date_struct != NULL) + { + uint32_t since_epoch = RTCDR; + + date_struct->year = 1970 + since_epoch / 31556926; + + date_struct->month = 1 + (since_epoch / 2629743) % 12; + + uint32_t days_since_epoch = since_epoch / 86400; + // 477 is number of leap years before 1970 + uint32_t leap_years_since_epoch = (date_struct->year / 4) - (date_struct->year / 100) + (date_struct->year / 400) - 477; + + uint32_t is_leap_year = ((date_struct->year % 4 == 0) && (date_struct->year % 100 != 0)) || (date_struct->year % 400 == 0); + + uint32_t not_leap_years = date_struct->year - 1970 - leap_years_since_epoch; + + date_struct->day = days_since_epoch - leap_years_since_epoch * 366 - not_leap_years * 365; + + day_arr[1] += is_leap_year; // Extra day if leap year + + for (uint32_t i = 0; i < 12; i++) + { + if (date_struct->day > day_arr[i]) + { + date_struct->day -= day_arr[i]; + } + } + + day_arr[1] -= is_leap_year; // Undo the leap year effect, if any + } + + return RTCDR; +} + +uint32_t gettime(timeval *time_struct) +{ + if (time_struct != NULL) + { + uint32_t since_epoch = RTCDR; + + time_struct->secs = since_epoch % 60; + since_epoch /= 60; + + time_struct->mins = since_epoch % 60; + since_epoch /= 60; + + time_struct->hrs = since_epoch % 24; + } + + return RTCDR; +} \ No newline at end of file diff --git a/user/printf.c b/user/printf.c index 0c0cc47..8e96019 100644 --- a/user/printf.c +++ b/user/printf.c @@ -1,5 +1,7 @@ -#include +#include +#include #include +#include _Static_assert(sizeof(uint32_t) == 4, "uint32_t must be 4 bytes"); @@ -19,15 +21,203 @@ static inline void putc(char c) UART0_DR = (uint32_t)c; } -// Send a null-terminated string over UART -void puts(const char *s) +// Division algorithm +unsigned long long _bdiv(unsigned long long dividend, unsigned long long divisor, unsigned long long *remainder) +{ + *remainder = 0; + unsigned long long quotient = 0; + + for (int i = 63; i >= 0; i--) + { + quotient <<= 1; + *remainder <<= 1; + unsigned long long temp = (unsigned long long)1 << i; // Without this cast, the type is misinterpreted leading to UB + *remainder |= (dividend & temp) >> i; + + if (*remainder >= divisor) + { + *remainder -= divisor; + quotient |= 1; + } + } + + return quotient; +} + +void _putunsignedlong(unsigned long long unum, unsigned long long base, bool hex_capital) +{ + char out_buf[32]; + uint32_t len = 0; + + char base16_factor = (7 * (hex_capital) + 39 * (!hex_capital)) * (base == 16); // If base 16, add 7 or 39 depending on + // X or x respectively + + unsigned long long mod; + unsigned long long res; + + do + { + res = _bdiv(unum, base, &mod); + out_buf[len] = '0' + mod + base16_factor * (mod > 9); + + len++; + unum = res; + } while (unum); + + for (int i = len - 1; i > -1; i--) + { + putc(out_buf[i]); + } +} + +void _putunsignedint(uint32_t unum) { + _putunsignedlong(unum, 10, false); +} + +void _puthexsmall(unsigned long long unum) +{ + _putunsignedlong(unum, 16, false); +} + +void _puthexcapital(unsigned long long unum) +{ + _putunsignedlong(unum, 16, true); +} + +void puts(char *s, ...) +{ + va_list elem_list; + + va_start(elem_list, s); + while (*s) { - putc(*s++); + if (*s == '%') + { + switch (*(s + 1)) + { + case 'c': + { + uint32_t character = va_arg(elem_list, uint32_t); // Characters are converted into 'int' when passed as var-args + putc((char)character); + break; + } + case 's': + { + char *it = va_arg(elem_list, char *); + + while (*it) + { + putc(*it++); + } + break; + } + case 'l': + { + unsigned long long unum = va_arg(elem_list, unsigned long long); + + switch (*(s + 2)) + { + case 'u': + { + _putunsignedlong(unum, 10, false); + s += 1; + break; + } + + case 'd': + { + + uint32_t sign_bit = unum >> 63; + + if (sign_bit) + { + putc('-'); + unum = ~unum + 1; // 2's complement + } + + s += 1; + _putunsignedlong(unum, 10, false); + break; + } + + case 'x': + { + _puthexsmall(unum); + s += 1; + break; + } + case 'X': + { + _puthexcapital(unum); + s += 1; + break; + } + default: + { + s += 1; + break; + } + } + + break; + } + case 'd': + { + uint32_t num = va_arg(elem_list, uint32_t); + + uint32_t sign_bit = num >> 31; + + if (sign_bit) + { + putc('-'); + num = ~num + 1; // 2's complement + } + + _putunsignedint(num); + break; + } + case 'x': + { + uint32_t num = va_arg(elem_list, uint32_t); + _puthexsmall(num); + break; + } + case 'X': + { + uint32_t num = va_arg(elem_list, uint32_t); + _puthexcapital(num); + break; + } + case '%': + { + putc('%'); + break; + } + default: + break; + } + + s += 2; // Skip format specifier + } + else + { + putc(*s++); + } } + + va_end(elem_list); } +// void puts(const char *s, ...) +// { +// while (*s) +// { +// putc(*s++); +// } +// } + // Function to get user input from UART static inline char getc(void) { @@ -42,24 +232,32 @@ void getlines(char *restrict buffer, size_t length) { size_t index = 0; char character; + char escape = 0; + char arrow_keys = 0; + while (index < length - 1) { character = getc(); + if (character == '\r') // Check for carriage return { break; } - if ((character == '\b' || character == 0x7F) && index > 0) // Check for backspace + if (character == '\b' || character == 0x7F) // Check for backspace { - index--; - putc('\b'); // Move cursor back - putc(' '); // Clear the character - putc('\b'); // Move cursor back again + // puts("HERE %u\n", index); + if (index > 0) + { + index--; + putc('\b'); // Move cursor back + putc(' '); // Clear the character + putc('\b'); // Move cursor back again + } } else { - buffer[index++] = character; // Store the character in the buffer - putc(character); // Echo the character back + buffer[index++] = character; // Store the character in the buffer + putc(character); // Echo the character back } } buffer[index] = '\0'; // Null-terminate the string From 91b33632c0ca9db25e1979b4b5a43a75dfe16666 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:04:59 +0530 Subject: [PATCH 02/33] Datetime and puts --- user/printf.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/user/printf.c b/user/printf.c index 8e96019..0dacc4c 100644 --- a/user/printf.c +++ b/user/printf.c @@ -210,14 +210,6 @@ void puts(char *s, ...) va_end(elem_list); } -// void puts(const char *s, ...) -// { -// while (*s) -// { -// putc(*s++); -// } -// } - // Function to get user input from UART static inline char getc(void) { From 02c19a7ba8aeedf8ae816d4d49963f0e61c1071b Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:06:30 +0530 Subject: [PATCH 03/33] puts only --- user/printf.c | 127 ++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 123 insertions(+), 4 deletions(-) diff --git a/user/printf.c b/user/printf.c index 0c0cc47..c0441a9 100644 --- a/user/printf.c +++ b/user/printf.c @@ -1,4 +1,6 @@ #include +#include +#include #include _Static_assert(sizeof(uint32_t) == 4, "uint32_t must be 4 bytes"); @@ -20,12 +22,129 @@ static inline void putc(char c) } // Send a null-terminated string over UART -void puts(const char *s) +void puts(char *s, ...) { + va_list elem_list; + + va_start(elem_list, s); + while (*s) { - putc(*s++); + if (*s == '%') + { + switch (*(s + 1)) + { + case 'c': + { + uint32_t character = va_arg(elem_list, uint32_t); // Characters are converted into 'int' when passed as var-args + putc((char)character); + break; + } + case 's': + { + char *it = va_arg(elem_list, char *); + + while (*it) + { + putc(*it++); + } + break; + } + case 'l': + { + unsigned long long unum = va_arg(elem_list, unsigned long long); + + switch (*(s + 2)) + { + case 'u': + { + _putunsignedlong(unum, 10, false); + s += 1; + break; + } + + case 'd': + { + + uint32_t sign_bit = unum >> 63; + + if (sign_bit) + { + putc('-'); + unum = ~unum + 1; // 2's complement + } + + s += 1; + _putunsignedlong(unum, 10, false); + break; + } + + case 'x': + { + _puthexsmall(unum); + s += 1; + break; + } + case 'X': + { + _puthexcapital(unum); + s += 1; + break; + } + default: + { + s += 1; + break; + } + } + + break; + } + case 'd': + { + uint32_t num = va_arg(elem_list, uint32_t); + + uint32_t sign_bit = num >> 31; + + if (sign_bit) + { + putc('-'); + num = ~num + 1; // 2's complement + } + + _putunsignedint(num); + break; + } + case 'x': + { + uint32_t num = va_arg(elem_list, uint32_t); + _puthexsmall(num); + break; + } + case 'X': + { + uint32_t num = va_arg(elem_list, uint32_t); + _puthexcapital(num); + break; + } + case '%': + { + putc('%'); + break; + } + default: + break; + } + + s += 2; // Skip format specifier + } + else + { + putc(*s++); + } } + + va_end(elem_list); } // Function to get user input from UART @@ -58,8 +177,8 @@ void getlines(char *restrict buffer, size_t length) } else { - buffer[index++] = character; // Store the character in the buffer - putc(character); // Echo the character back + buffer[index++] = character; // Store the character in the buffer + putc(character); // Echo the character back } } buffer[index] = '\0'; // Null-terminate the string From 98a4f9619a77933e03517eadad16e41441da2aa4 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:08:31 +0530 Subject: [PATCH 04/33] foo --- kernel/kernel.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/kernel.c b/kernel/kernel.c index 8a528ec..6797b63 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -14,8 +14,7 @@ static const char *banner[] = { "\r\n", "Welcome to your own little Astra world!\r\n", "Type away, explore, have fun.\r\n", - "\r\n" -}; + "\r\n"}; // Initializes and prints the welcome banner. static void init_message(void) @@ -44,7 +43,7 @@ void kernel_main(void) input_buffer[0] = '\0'; // Clear the input buffer puts("AstraKernel > "); getlines(input_buffer, sizeof(input_buffer)); - + puts("\r\n"); switch (input_buffer[0]) @@ -52,6 +51,13 @@ void kernel_main(void) case 'h': // Check for help command puts("\nHelp: Press 'q' to exit, 'h' for help.\r\n"); break; + case 'e': + puts("%lx %ld %ld\n", 18446744073709551615, -9223372036854775809, 9223372036854775809); + puts("%d %d\n", 2147483647, -2147483647); + puts("%x %x %X %X\n", 2147483647, 1234, 2147483647, 1234); + puts("%lX %x %lx\n", 0x123456789abcdef0, 1234, 9223372036854775809); + puts("Name: %c\n", 'b'); + break; case 'q': // Check for exit command puts("Exiting...\r\n"); is_running = false; From 7aa64278f82777b35431b43800b585bc4414dc0d Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:09:01 +0530 Subject: [PATCH 05/33] puts only --- kernel/kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/kernel.c b/kernel/kernel.c index 6797b63..bb6ba8f 100644 --- a/kernel/kernel.c +++ b/kernel/kernel.c @@ -49,7 +49,7 @@ void kernel_main(void) switch (input_buffer[0]) { case 'h': // Check for help command - puts("\nHelp: Press 'q' to exit, 'h' for help.\r\n"); + puts("\nHelp:\n 'q' to exit\n 'h' for help\n 'c' to clear screen\n 't' to print current time\n 'd' to print current date\r\n"); break; case 'e': puts("%lx %ld %ld\n", 18446744073709551615, -9223372036854775809, 9223372036854775809); From bd233a5c736d29a2e197b296af2f3d8c0464320e Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:09:49 +0530 Subject: [PATCH 06/33] Makefile --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 725ba65..96c8964 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ VPATH := $(SRC_DIRS) all: clean kernel.bin qemu # Assembly start.o goes to build/ -$(OUT_DIR)start.o: kernel/start.S +$(OUT_DIR)start.o: kernel/start.s @mkdir -p $(OUT_DIR) $(AS) -c $< -o $@ @@ -53,4 +53,4 @@ qemu: @echo "Press Ctrl-A then X to exit QEMU" @qemu-system-arm -M versatilepb -nographic -kernel $(OUT_DIR)kernel.bin -.PHONY: all clean qemu \ No newline at end of file +.PHONY: all clean qemu From e985642398d1a77ee996ebb69ac1935bc0771286 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:10:55 +0530 Subject: [PATCH 07/33] printf.h --- include/printf.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/include/printf.h b/include/printf.h index 80ebcd1..598910f 100644 --- a/include/printf.h +++ b/include/printf.h @@ -1,16 +1,18 @@ #ifndef PRINTF_H #define PRINTF_H +#include #include #ifdef __cplusplus -extern "C" { +extern "C" +{ #endif -void putc(char c); -void puts(const char *s); -char getc(void); -void getlines(char *restrict buffer, size_t length); + void putc(char c); + void puts(const char *s, ...); + char getc(void); + void getlines(char *restrict buffer, size_t length); #ifdef __cplusplus } From 9ed84516768e19835649858413529f1aacb9a380 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:11:54 +0530 Subject: [PATCH 08/33] puts only --- user/printf.c | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/user/printf.c b/user/printf.c index c0441a9..1f47c5e 100644 --- a/user/printf.c +++ b/user/printf.c @@ -21,6 +21,69 @@ static inline void putc(char c) UART0_DR = (uint32_t)c; } +unsigned long long _bdiv(unsigned long long dividend, unsigned long long divisor, unsigned long long *remainder) +{ + *remainder = 0; + unsigned long long quotient = 0; + + for (int i = 63; i >= 0; i--) + { + quotient <<= 1; + *remainder <<= 1; + unsigned long long temp = (unsigned long long)1 << i; // Without this cast, the type is misinterpreted leading to UB + *remainder |= (dividend & temp) >> i; + + if (*remainder >= divisor) + { + *remainder -= divisor; + quotient |= 1; + } + } + + return quotient; +} + +void _putunsignedlong(unsigned long long unum, unsigned long long base, bool hex_capital) +{ + char out_buf[32]; + uint32_t len = 0; + + char base16_factor = (7 * (hex_capital) + 39 * (!hex_capital)) * (base == 16); // If base 16, add 7 or 39 depending on + // X or x respectively + + unsigned long long mod; + unsigned long long res; + + do + { + res = _bdiv(unum, base, &mod); + out_buf[len] = '0' + mod + base16_factor * (mod > 9); + + len++; + unum = res; + } while (unum); + + for (int i = len - 1; i > -1; i--) + { + putc(out_buf[i]); + } +} + +void _putunsignedint(uint32_t unum) +{ + _putunsignedlong(unum, 10, false); +} + +void _puthexsmall(unsigned long long unum) +{ + _putunsignedlong(unum, 16, false); +} + +void _puthexcapital(unsigned long long unum) +{ + _putunsignedlong(unum, 16, true); +} + // Send a null-terminated string over UART void puts(char *s, ...) { From f9dd491263307856c91ef1b295b1124a89e024d3 Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:22:33 +0530 Subject: [PATCH 09/33] misc --- user/printf.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/user/printf.c b/user/printf.c index 1f47c5e..c9cd17f 100644 --- a/user/printf.c +++ b/user/printf.c @@ -122,7 +122,6 @@ void puts(char *s, ...) case 'u': { _putunsignedlong(unum, 10, false); - s += 1; break; } @@ -137,7 +136,6 @@ void puts(char *s, ...) unum = ~unum + 1; // 2's complement } - s += 1; _putunsignedlong(unum, 10, false); break; } @@ -145,22 +143,21 @@ void puts(char *s, ...) case 'x': { _puthexsmall(unum); - s += 1; break; } case 'X': { _puthexcapital(unum); - s += 1; break; } default: { - s += 1; break; } } + s += 1; + break; } case 'd': From ad4b0deb9ac216259b2b2a8754f7f54574159f5b Mon Sep 17 00:00:00 2001 From: hello Date: Wed, 21 May 2025 15:23:17 +0530 Subject: [PATCH 10/33] misc --- user/printf.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/user/printf.c b/user/printf.c index 0dacc4c..96000d3 100644 --- a/user/printf.c +++ b/user/printf.c @@ -122,7 +122,6 @@ void puts(char *s, ...) case 'u': { _putunsignedlong(unum, 10, false); - s += 1; break; } @@ -145,22 +144,20 @@ void puts(char *s, ...) case 'x': { _puthexsmall(unum); - s += 1; break; } case 'X': { _puthexcapital(unum); - s += 1; break; } default: { - s += 1; break; } } + s += 1; break; } case 'd': From fa0e8b853d62db65ef1b951cb1ededa7fcc06d0e Mon Sep 17 00:00:00 2001 From: hello Date: Thu, 22 May 2025 12:11:20 +0530 Subject: [PATCH 11/33] Added optional arguments for puts and documentation --- doc/.gitignore | 4 ++ doc/AstraKernelManual.pdf | Bin 0 -> 180144 bytes doc/Makefile | 15 +++++ doc/README | 3 + doc/build.bat | 4 ++ doc/contents/introduction.tex | 93 +++++++++++++++++++++++++++++++ doc/contents/puts.tex | 60 ++++++++++++++++++++ doc/figures/bootedKernel.png | Bin 0 -> 92098 bytes doc/front/preface.tex | 55 +++++++++++++++++++ doc/front/title_page.tex | 33 +++++++++++ doc/front/toc.tex | 5 ++ doc/main.tex | 27 +++++++++ doc/preamble/macros.tex | 100 ++++++++++++++++++++++++++++++++++ doc/preamble/packages.tex | 14 +++++ kernel/kernel.c | 8 ++- user/printf.c | 3 + 16 files changed, 421 insertions(+), 3 deletions(-) create mode 100644 doc/.gitignore create mode 100644 doc/AstraKernelManual.pdf create mode 100644 doc/Makefile create mode 100644 doc/README create mode 100644 doc/build.bat create mode 100644 doc/contents/introduction.tex create mode 100644 doc/contents/puts.tex create mode 100644 doc/figures/bootedKernel.png create mode 100644 doc/front/preface.tex create mode 100644 doc/front/title_page.tex create mode 100644 doc/front/toc.tex create mode 100644 doc/main.tex create mode 100644 doc/preamble/macros.tex create mode 100644 doc/preamble/packages.tex diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 0000000..bbf2c5b --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,4 @@ +# exclude the /bin directory +# This is the directory where the compiled files are stored +# It is not necessary to include it in the repository +/bin \ No newline at end of file diff --git a/doc/AstraKernelManual.pdf b/doc/AstraKernelManual.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ef57cb1e3fcc671c37856592d4a0284bae6270dd GIT binary patch literal 180144 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Ν9=7P74sbPr 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 literal 0 HcmV?d00001 diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 0000000..9310b0e --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,15 @@ +SOURCES=main.tex +OUTPUT=AstraKernelManual.pdf +INTERMEDIATE_DIR=bin + +all: build + +# How to generate the PDF from the LaTeX source +build: + mkdir -p $(INTERMEDIATE_DIR) + pdflatex -jobname=AstraKernelManual -output-directory=$(INTERMEDIATE_DIR) $(SOURCES) + mv $(INTERMEDIATE_DIR)/$(OUTPUT) . + +# Clean up intermediate files +clean: + rm -f $(INTERMEDIATE_DIR)/* \ No newline at end of file diff --git a/doc/README b/doc/README new file mode 100644 index 0000000..6c37535 --- /dev/null +++ b/doc/README @@ -0,0 +1,3 @@ +Documentation for the kernel +=================================== +This directory contains the LaTeX documentation for the kernel. \ No newline at end of file diff --git a/doc/build.bat b/doc/build.bat new file mode 100644 index 0000000..fe1ffad --- /dev/null +++ b/doc/build.bat @@ -0,0 +1,4 @@ +@echo off +mkdir bin +pdflatex -jobname=AstraKernelManual -output-directory=bin main.tex +move bin\AstraKernelManual.pdf AstraKernelManual.pdf diff --git a/doc/contents/introduction.tex b/doc/contents/introduction.tex new file mode 100644 index 0000000..6caa014 --- /dev/null +++ b/doc/contents/introduction.tex @@ -0,0 +1,93 @@ +% ------------------------------------------------ +% *** Section 1: Introduction *** +% ------------------------------------------------ +% This section can be used for introduction or background information +\newpage +\chapter{Introduction} +\section{Getting Started} + + +AstraKernel begins its life in a small bootstrap routine, written in ARM assembly, +that prepares the processor’s state before passing control to the main C kernel. +This bootstrap code is responsible for setting up the stack pointer, clearing +the uninitialized data section (\texttt{.bss}), and ensuring a clean environment +for the kernel’s entry point. + +Below is the initial assembly code that executes at startup: \\ + +\begin{lstlisting}[language={C}, caption={Initial bootstrap code for AstraKernel.}, label={lst:bootstrap}] + .section .text + .global _start + +_start: + // Set up the stack pointer + LDR sp, =_estack + BIC sp, sp, #7 + // Zero the .bss section + LDR R0, =__bss_start // Start address (symbol from linker script) + LDR R1, =__bss_end // End address (symbol from linker script) + MOV R2, #0 // init zero-value for BSS clearing + +zero_bss: + // Check if we are done zeroing the BSS + CMP R0, R1 // Compare current address to end + BGE bss_done // If done, skip zeroing + STR R2, [R0], #4 // Store zero at [r0], increment r0 by 4 + B zero_bss + +bss_done: + // Call kernel_main function + BL kernel_main + +hang: + // Halt if kernel_main returns (should not happen) + B hang // Infinite loop +\end{lstlisting} + +This startup sequence is the essential first step for any kernel, ensuring the +CPU is properly initialized and memory is in a known state before higher-level +code takes over. Once these preparations are complete, the \texttt{kernel\_main} +function from \texttt{kernel/kernel.c} is called, marking the transition from +low-level assembly to the C code that forms the core of AstraKernel. + +\subsection{Prerequisites} + +Before you can build and run AstraKernel, please ensure you have the following +tools installed on your system: + +\begin{itemize} + \item \textbf{ARM Cross-Compiler:} + A cross-compiler targeting ARM is required to build the kernel. It + is recommended to use \texttt{arm-none-eabi-gcc}, \texttt{arm-none-eabi-ld}, + and \texttt{arm-none-eabi-objcopy} for ARM926EJ-S, which is the target architecture + for AstraKernel. + \begin{itemize} + \item Example installation: \texttt{arm-none-eabi-xxx} (available via package + managers such as \texttt{brew}, \texttt{apt}, or direct download from ARM's website). + \end{itemize} + + \item \textbf{QEMU Emulator:} + QEMU is used to emulate the ARM VersatilePB (ARM926EJ-S) platform for kernel development and testing. + \begin{itemize} + \item Ensure your QEMU installation supports the \texttt{versatilepb} machine. + \item Example installation: \texttt{qemu-system-arm} via qemu \url{https://www.qemu.org/download/}. + \end{itemize} + + \item \textbf{Build Tools:} + Standard build tools such as \texttt{make} are required to compile the kernel. + \begin{itemize} + \item Example installation: \texttt{make} (available via package managers + such as \texttt{brew}, \texttt{apt}, or direct download \url{https://www.gnu.org/software/make/#download}). + \end{itemize} +\end{itemize} + +\noindent +For best results, ensure all tools are up-to-date. Consult the official documentation +of each tool for installation instructions on your operating system. + +\begin{figure}[!ht] + \centering + \includegraphics[width=0.6\textwidth]{figures/bootedKernel.png} + \caption{AstraKernel booted in QEMU.} + \label{fig:bootedKernel} +\end{figure} diff --git a/doc/contents/puts.tex b/doc/contents/puts.tex new file mode 100644 index 0000000..86d5512 --- /dev/null +++ b/doc/contents/puts.tex @@ -0,0 +1,60 @@ +\documentclass{article} +\usepackage{listings} +\usepackage{geometry} +\geometry{margin=1in} +\title{I/O API} +\date{} +\begin{document} + +\maketitle + +\section*{puts(char *s, ...)} +\subsection*{Description} +Sends a null-terminated format string over UART. If an incorrect datatype is given for a format specifier, \underline{the behavior is undefined}. If a format specifier is given without a matching argument, it is simply skipped when the string is outputted. The following format specifiers are supported: + +\begin{itemize} + \item \textbf{\%c}: Expects a single character. + \item \textbf{\%s}: Expects a null-terminated string. + \item \textbf{\%d}: For 32-bit signed integers in the range \texttt{-2147483648} to \texttt{2147483647}. + \item \textbf{\%ld}: For 64-bit signed integers in the range \texttt{-9223372036854775808} to \texttt{9223372036854775807}, excluding the range specified above, for \textbf{\%d}. + \item \textbf{\%lu}: For 64-bit unsigned integers in the range \texttt{2147483648} to \texttt{18446744073709551615}. + \item \textbf{\%x} and \textbf{\%X}: For 32-bit unsigned integers in the range \texttt{0} to \texttt{2147483647}, where the case of \texttt{x} determines the case of the hexadecimal digits (\texttt{a-f} or \texttt{A-F}). + \item \textbf{\%lx} and \textbf{\%lX}: For 64-bit unsigned integers printed in hexadecimal format. Has the same range as \textbf{\%lu}. The case of \texttt{x} determines the case of the hexadecimal digits (\texttt{a-f} or \texttt{A-F}). + \item \textbf{\%\%}: Outputs a '\%'. +\end{itemize} + +\begin{flushleft} +All the ranges specified above are inclusive. Also, note that integers in the range \texttt{-2147483648} to \texttt{2147483647} are passed as 32 bit integers and any integers not part of this range are passed as 64 bit integers \underline{by default}. +If desired, integers of this range can be cast as \texttt{long long} or \texttt{unsigned long long} +\newline +for use with the format specifiers prefixed by \textbf{l}(ell). +\end{flushleft} + +\subsection*{Examples} +\begin{lstlisting}[language=C,showstringspaces=false] +// Printing long long integers +puts("%lu %ld %ld\n", 18446744073709551615, -9223372036854775808, +9223372036854775807); + +// Printing 32-bit signed integers +puts("%d %d\n", 2147483647, -2147483648); + +// Printing 32-bit unsigned integers +puts("%x %x %X %X\n", 2147483647, 1234, 2147483647, 1234); +// Output: 7fffffff 4d2 7FFFFFFF 4D2 + +// Printing unsigned long long integers in hex +puts("%lX %lx\n", 0x123456789ABCDEF0, 9223372036854775809); +// Output: 123456789ABCDEF0 8000000000000001 + +// Printing a character +puts("Name: %c\n", 'b'); + +// Printing a string +puts("Hello %s\n", "World"); + +// Printing a '%' +puts("100%%\n"); +\end{lstlisting} + +\end{document} diff --git a/doc/figures/bootedKernel.png b/doc/figures/bootedKernel.png new file mode 100644 index 0000000000000000000000000000000000000000..6d17de64ed2b2c6de49f02c5f52a20ae9d87fd07 GIT binary patch literal 92098 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 literal 0 HcmV?d00001 diff --git a/doc/front/preface.tex b/doc/front/preface.tex new file mode 100644 index 0000000..ab60424 --- /dev/null +++ b/doc/front/preface.tex @@ -0,0 +1,55 @@ +% ------------------------------------------------ +% *** Preface *** +% ------------------------------------------------ +\onehalfspacing +\newpage +\addcontentsline{toc}{section}{Preface} +\section*{Preface} + +This documentation serves as a comprehensive guide to the AstraKernel project, +a minimal operating system kernel written in modern C and ARM assembly. +Designed to run on QEMU’s VersatilePB (ARM926EJ-S) emulated platform, +AstraKernel is intended to provide a clear and approachable introduction +to the fundamental concepts of operating system design and development. +This project also reflects my personal journey in learning about kernel development +and systems programming. + +This project was developed with a focus on clarity, simplicity, and educational value. +Rather than attempting to recreate the complexity of established operating systems, +AstraKernel’s goal is to strip away unnecessary abstractions and present a clean, +understandable codebase for anyone interested in the "bare metal" foundations of computing. + +Through hands-on implementation of kernel bootstrapping, direct hardware communication, +and basic user interaction, AstraKernel demonstrates how fundamental OS components +come together. The project showcases how modern C best practices can be utilized +in a systems programming context to create code that is maintainable, portable, and robust, +while still being accessible to those new to kernel development. The design of this kernel +emphasizes modularity and extensibility, allowing developers to easily add new features +or modify existing ones. This makes it ideal for educational purposes, as it provides +a clear structure that can be followed and built upon. + +It is my hope that AstraKernel will not only serve as a foundation for those wishing +to understand kernel development, but also inspire curiosity and confidence in exploring +lower-level aspects of computer systems. + +\begin{info} + This documentation is a work in progress and may be updated + as the project evolves. I welcome contributions, feedback, + and suggestions for improvement. You can find the source code on GitHub: + \url{https://github.com/sandbox-science/AstraKernel} +\end{info} + +\addcontentsline{toc}{section}{Resources} +\subsection*{Resources} + +To guide my learning and support development of AstraKernel, I am using the following resources, +which are particularly valuable for foundational and practical understanding of OS design: +\begin{itemize} + \item \textbf{Operating Systems: Three Easy Pieces} by Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau + \item \textbf{The Little Book About OS Development} by Erik Helin and Adam Renberg +\end{itemize} + +\subsection*{Disclaimer} +AstraKernel is currently in its early stages of development and is not intended for production use. +It is primarily an educational and experimental project. The code is provided as-is, +without any warranties or guarantees of any kind. Use it at your own risk. diff --git a/doc/front/title_page.tex b/doc/front/title_page.tex new file mode 100644 index 0000000..9571915 --- /dev/null +++ b/doc/front/title_page.tex @@ -0,0 +1,33 @@ +% ------------------------------------------------ +% *** Title Page *** +% ------------------------------------------------ +\doublespacing +\phantomsection +\begin{titlepage} + \begin{center} + \vspace*{2in} + \makeatletter + {\Huge\bfseries \@title \par} + \vspace{1em} + \textit{A Minimal Kernel for QEMU's VersatilePB (ARM926EJ-S) Platform} \\ + \vspace{1em} + \textit{Written in Modern C and ARM Assembly} \\ + \vspace{1em} + \textit{Version 0.1} \\ + \vspace{1em} + {\large \textit{By \@author} \par} + \vspace{1em} + {\small \@date \text{ \textcopyright SandboxScience} \par} + \vspace{1em} + \makeatother + \end{center} +\end{titlepage} + +\setcounter{page}{2} + +% have an empty page after the title page +\newpage +\thispagestyle{empty} +\begin{center} + \mbox{\textit{This page is intentionally left blank.}} +\end{center} \ No newline at end of file diff --git a/doc/front/toc.tex b/doc/front/toc.tex new file mode 100644 index 0000000..2e8e588 --- /dev/null +++ b/doc/front/toc.tex @@ -0,0 +1,5 @@ +% ------------------------------------------------ +% *** Table of Contents *** +% ------------------------------------------------ +\doublespacing +\tableofcontents \ No newline at end of file diff --git a/doc/main.tex b/doc/main.tex new file mode 100644 index 0000000..d378480 --- /dev/null +++ b/doc/main.tex @@ -0,0 +1,27 @@ +% AstraKernel Documentation +\documentclass[11pt,openany]{report} +% ----------------------------------------------------- +% *** Preamble Content *** +% ----------------------------------------------------- +\input{preamble/packages.tex} % Include all the packages +\input{preamble/macros.tex} % Include macros and custom commands + +\begin{document} +% ----------------------------------------------------- +% *** Front Content *** +% ----------------------------------------------------- +\input{front/title_page.tex} +\input{front/toc.tex} +\input{front/preface.tex} + +% % ----------------------------------------------------- +% % *** Main Content *** +% % ----------------------------------------------------- +\input{contents/introduction.tex} + +% % ----------------------------------------------------- +% % *** Back Content *** +% % ----------------------------------------------------- +% \input{back/references.tex} + +\end{document} \ No newline at end of file diff --git a/doc/preamble/macros.tex b/doc/preamble/macros.tex new file mode 100644 index 0000000..39f8bd7 --- /dev/null +++ b/doc/preamble/macros.tex @@ -0,0 +1,100 @@ +\newcommand{\DocTitle}{AstraKernel Documentation} +\newcommand{\DocAuthor}{Chris Dedman} +\title{\DocTitle} +\author{\DocAuthor} +\date{2025-05-19} +% ----------------------------------------------------- + +% Layout: 1-inch margins all around +\geometry{letterpaper, margin=1in} + +%— Base pagestyle: no headers, footer at center +\fancypagestyle{base}{ + \fancyhf{} + \cfoot{\thepage} + \renewcommand{\headrulewidth}{0pt} +} + +%— Preliminary pages (uses 'base', but moves foot up) +\fancypagestyle{prelim}{ + \fancypagestyle{base}% inherit + \setlength{\footskip}{0.5in} +} + +%— Main body pages (page number in header) +\fancypagestyle{main}{ + \fancypagestyle{base}% inherit + \fancyhead[R]{\thepage} + \setlength{\headsep}{0.5in} +} + + +% Code style +\definecolor{codegray}{gray}{0.95} +\definecolor{darkergreen}{RGB}{0,100,0} +\lstset{ + basicstyle=\ttfamily\scriptsize, + keywordstyle=\color{blue}, + stringstyle=\color{red}, + commentstyle=\color{darkergreen}, + numbers=left, + numberstyle=\tiny\color{gray}, + stepnumber=1, + numbersep=5pt, + backgroundcolor=\color{codegray}, + showspaces=false, + showstringspaces=false, + showtabs=false, + frame=lines, + framerule=0.5pt, + tabsize=2, + captionpos=b, + breaklines=true, + keepspaces=true, + breakatwhitespace=false, + escapeinside={\%*}{*)} +} + +\hyphenation{op-tical net-works semi-conduc-tor} + +\renewcommand{\thesection}{\Roman{section}.} +\renewcommand{\thesubsection}{\Alph{subsection}.} + +\newcommand{\code}[1]{\texttt{\textcolor{blue}{#1}}} +\makeatletter +% === redefine \section so it has less (even negative) vertical space before it +\renewcommand\section{% + \@startsection{section}% + {1}% + {\z@}% + {-3ex \@plus -1ex \@minus -.2ex}% + {1ex \@plus .2ex}% + {\normalfont\Large\bfseries}%