From a42aab766721c5946fdde075fff28d2e1b29440b Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 24 Feb 2024 20:24:22 +1300 Subject: [PATCH] first commit --- .gitignore | 2 + Makefile | 34 +++++ README.md | 0 cdroot/isolinux/isolinux.bin | Bin 0 -> 38912 bytes cdroot/isolinux/isolinux.cfg | 4 + cdroot/isolinux/ldlinux.c32 | Bin 0 -> 118812 bytes cdroot/isolinux/libcom32.c32 | Bin 0 -> 168040 bytes cdroot/isolinux/mboot.c32 | Bin 0 -> 11276 bytes cdroot/radix.bin | Bin 0 -> 14380 bytes isolinux.cfg | 4 + linker.ld | 28 ++++ src/boot.asm | 36 +++++ src/ctype.c | 5 + src/ctype.h | 6 + src/hcf.asm | 7 + src/hcf.h | 6 + src/kernel.c | 241 ++++++++++++++++++++++++++++++ src/multiboot.h | 274 +++++++++++++++++++++++++++++++++++ src/stdio.c | 76 ++++++++++ src/stdio.h | 9 ++ src/stdlib.c | 77 ++++++++++ src/stdlib.h | 9 ++ src/string.c | 8 + src/string.h | 7 + src/vga.c | 39 +++++ src/vga.h | 20 +++ 26 files changed, 892 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100644 cdroot/isolinux/isolinux.bin create mode 100644 cdroot/isolinux/isolinux.cfg create mode 100644 cdroot/isolinux/ldlinux.c32 create mode 100644 cdroot/isolinux/libcom32.c32 create mode 100644 cdroot/isolinux/mboot.c32 create mode 100755 cdroot/radix.bin create mode 100644 isolinux.cfg create mode 100644 linker.ld create mode 100644 src/boot.asm create mode 100644 src/ctype.c create mode 100644 src/ctype.h create mode 100644 src/hcf.asm create mode 100644 src/hcf.h create mode 100644 src/kernel.c create mode 100644 src/multiboot.h create mode 100644 src/stdio.c create mode 100644 src/stdio.h create mode 100644 src/stdlib.c create mode 100644 src/stdlib.h create mode 100644 src/string.c create mode 100644 src/string.h create mode 100644 src/vga.c create mode 100644 src/vga.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..36305ee --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +obj/* +radix.iso diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..05722e6 --- /dev/null +++ b/Makefile @@ -0,0 +1,34 @@ +KERNEL=obj/radix.bin +ISO=radix.iso + +CC=gcc +LD=ld +CFLAGS=-ffreestanding -fno-stack-protector -fno-stack-check -O3 -Wall -Wextra -Werror -m32 -Isrc +LDFLAGS=-T linker.ld -m elf_i386 +NASMFLAGS=-f elf32 + +CFILES=$(shell cd src && find -L * -type f -name '*.c') +ASMFILES=$(shell cd src && find -L * -type f -name '*.asm') +OBJ=$(addprefix obj/,$(CFILES:.c=.c.o) $(ASMFILES:.asm=.asm.o)) + +$(ISO): $(KERNEL) isolinux.cfg + cp isolinux.cfg cdroot/isolinux/ + cp $(KERNEL) cdroot/ + mkisofs -o $(ISO) -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table cdroot/ + +$(KERNEL): makedir linker.ld $(OBJ) + $(LD) $(LDFLAGS) $(OBJ) -o $@ + +obj/%.c.o: src/%.c + $(CC) $(CFLAGS) -c $< -o $@ +obj/%.asm.o: src/%.asm + nasm $(NASMFLAGS) $< -o $@ + +makedir: + mkdir -p obj + +run: $(ISO) + qemu-system-i386 -boot d -cdrom $(ISO) -m 1G -enable-kvm -cpu host -serial stdio + +clean: + rm -rf $(OBJ) $(KERNEL) diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/cdroot/isolinux/isolinux.bin b/cdroot/isolinux/isolinux.bin new file mode 100644 index 0000000000000000000000000000000000000000..995cd2d91b6a70adad775f2db0b51bcc3807109a GIT binary patch literal 38912 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� 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 KKDrLcf*@W)QPVU5xd=G|4l|0T1rDg&9fhW) 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 literal 0 HcmV?d00001 diff --git a/cdroot/radix.bin b/cdroot/radix.bin new file mode 100755 index 0000000000000000000000000000000000000000..92db9d1dad5b7a740b5f97df99a335a23f0516e4 GIT binary patch literal 14380 zcmeHOeQ;Y}CRwsZN&?uy-HmL=PKe_;vEx7!a1>kqAo53~ zC&!`buFaE!U$vT=8J3~6v!v6V4lvmTI#dl=2yzr06G|~q*c5hW0)?&=yPjkVi5x=I z-?{HSM={RK{;~gbM%R9N_jk|7z4zR6&w2M*{>j?fYC#Z~QA{k45!xx)*ecu)-K|kp zF$XA1nT<)DjtUBW*jV`uj9&}%Ca%o|-~b&L=c;EcU#D;WLT;t%+(LBX&6S)5au� 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 literal 0 HcmV?d00001 diff --git a/isolinux.cfg b/isolinux.cfg new file mode 100644 index 0000000..2a41f17 --- /dev/null +++ b/isolinux.cfg @@ -0,0 +1,4 @@ +DEFAULT radix +LABEL radix + KERNEL mboot.c32 + APPEND /radix.bin diff --git a/linker.ld b/linker.ld new file mode 100644 index 0000000..0e93f9b --- /dev/null +++ b/linker.ld @@ -0,0 +1,28 @@ +ENTRY(_start) + +SECTIONS +{ + . = 1M; + + .text BLOCK(4K) : ALIGN(4K) + { + *(.multiboot) + *(.text) + } + + .rodata BLOCK(4K) : ALIGN(4K) + { + *(.rodata) + } + + .data BLOCK(4K) : ALIGN(4K) + { + *(.data) + } + + .bss BLOCK(4K) : ALIGN(4K) + { + *(COMMON) + *(.bss) + } +} diff --git a/src/boot.asm b/src/boot.asm new file mode 100644 index 0000000..bc45745 --- /dev/null +++ b/src/boot.asm @@ -0,0 +1,36 @@ +extern kernel_main + +MBALIGN equ 1 << 0 +MEMINFO equ 1 << 1 +VIDINFO equ 1 << 2 +MBFLAGS equ MBALIGN | MEMINFO | VIDINFO +MAGIC equ 0x1BADB002 +CHECKSUM equ -(MAGIC + MBFLAGS) + +section .multiboot +align 4 + dd MAGIC + dd MBFLAGS + dd CHECKSUM + dd 0, 0, 0, 0, 0 + dd 0 + dd 320, 200, 8 + +section .bss +align 16 +stack_bottom: +resb 16384 +stack_top: + +section .text +global _start:function (_start.end - _start) +_start: + mov esp, stack_top + push ebx + push eax + + call kernel_main + cli +.hang: + jmp .hang +.end: diff --git a/src/ctype.c b/src/ctype.c new file mode 100644 index 0000000..6a3efa7 --- /dev/null +++ b/src/ctype.c @@ -0,0 +1,5 @@ +#include + +int isdigit(char c) { + return c >= '0' && c <= '9'; +} diff --git a/src/ctype.h b/src/ctype.h new file mode 100644 index 0000000..c27dc9e --- /dev/null +++ b/src/ctype.h @@ -0,0 +1,6 @@ +#ifndef __CTYPE_H__ +#define __CTYPE_H__ + +int isdigit(char arg); + +#endif diff --git a/src/hcf.asm b/src/hcf.asm new file mode 100644 index 0000000..23c911d --- /dev/null +++ b/src/hcf.asm @@ -0,0 +1,7 @@ +global hcf + +hcf: + cli +.loop: + hlt + jmp .loop diff --git a/src/hcf.h b/src/hcf.h new file mode 100644 index 0000000..9ca36eb --- /dev/null +++ b/src/hcf.h @@ -0,0 +1,6 @@ +#ifndef __HCF_H__ +#define __HCF_H__ + +void hcf(); + +#endif diff --git a/src/kernel.c b/src/kernel.c new file mode 100644 index 0000000..1904027 --- /dev/null +++ b/src/kernel.c @@ -0,0 +1,241 @@ +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +void putpixel(unsigned char* addr, int pos_x, int pos_y, unsigned char VGA_COLOR) +{ + unsigned char* location = addr + 320 * pos_y + pos_x; + *location = VGA_COLOR; +} + +static inline void outb(uint16_t port, uint8_t val) +{ + __asm__ volatile ( "outb %b0, %w1" : : "a"(val), "Nd"(port) : "memory"); + /* There's an outb %al, $imm8 encoding, for compile-time constant port numbers that fit in 8b. (N constraint). + * Wider immediate constants would be truncated at assemble-time (e.g. "i" constraint). + * The outb %al, %dx encoding is the only option for all other cases. + * %1 expands to %dx because port is a uint16_t. %w1 could be used if we had the port number a wider C type */ +} + +static inline uint8_t inb(uint16_t port) +{ + uint8_t ret; + __asm__ volatile ( "inb %w1, %b0" + : "=a"(ret) + : "Nd"(port) + : "memory"); + return ret; +} + +#define PORT 0x3f8 // COM1 + +static int init_serial() { + outb(PORT + 1, 0x00); // Disable all interrupts + outb(PORT + 3, 0x80); // Enable DLAB (set baud rate divisor) + outb(PORT + 0, 0x03); // Set divisor to 3 (lo byte) 38400 baud + outb(PORT + 1, 0x00); // (hi byte) + outb(PORT + 3, 0x03); // 8 bits, no parity, one stop bit + outb(PORT + 2, 0xC7); // Enable FIFO, clear them, with 14-byte threshold + outb(PORT + 4, 0x0B); // IRQs enabled, RTS/DSR set + outb(PORT + 4, 0x1E); // Set in loopback mode, test the serial chip + outb(PORT + 0, 0xAE); // Test serial chip (send byte 0xAE and check if serial returns same byte) + + // Check if serial is faulty (i.e: not same byte as sent) + if(inb(PORT + 0) != 0xAE) { + return 1; + } + + // If serial is not faulty set it in normal operation mode + // (not-loopback with IRQs enabled and OUT#1 and OUT#2 bits enabled) + outb(PORT + 4, 0x0F); + return 0; +} + +int is_transmit_empty() { + return inb(PORT + 5) & 0x20; +} + +void write_serial(char a) { + while (is_transmit_empty() == 0); + + outb(PORT,a); +} + +void serial_puts(const char* s) { + do { + write_serial(*s); + } while(*++s != '\0'); +} + +void sprintf(const char* fmt, ...) { + va_list args; + va_start(args, fmt); + + for(int i = 0; fmt[i] != '\0'; i++) + { + switch(fmt[i]) + { + case '%': + i++; + + char buf[512]; + + size_t width = 0; + char padding_char = fmt[i]; + if(isdigit(fmt[i]) || fmt[i] == ' ') { + i++; + int pos = 0; + while(isdigit(fmt[i])) { + buf[pos++] = fmt[i++]; + } + buf[pos] = '\0'; + width = atoi(buf); + } + + const char* out = 0; + + if(fmt[i] == 's') + out = va_arg(args, const char*); + if(fmt[i] == 'd') + out = itoa(va_arg(args, int), buf, 10); + if(fmt[i] == 'u') + out = ultoa(va_arg(args, uint32_t), buf, 10); + if(fmt[i] == 'x') + out = ultoa(va_arg(args, uint32_t), buf, 16); + if(fmt[i] == 'c') + write_serial(va_arg(args, int)); + + size_t len = strlen(out); + if(width > len) { + char padding[256]; + size_t j = 0; + for(; j < width - len; j++) + padding[j] = padding_char; + padding[j] = '\0'; + serial_puts(padding); + } + + serial_puts(out); + break; + default: + write_serial(fmt[i]); + break; + } + } + + va_end(args); +} + +#define CHECK_FLAG(flags,bit) ((flags) & (1 << (bit))) + +void kernel_main(uint32_t magic, multiboot_info_t* mbi) { + init_vga(); + init_serial(); + + if(magic != MULTIBOOT_BOOTLOADER_MAGIC) { + printf("Invalid bootloader magic: %x", magic); + hcf(); + } + + printf("flags: 0x%x\n", mbi->flags); + + uint32_t mem_total = mbi->mem_upper - mbi->mem_lower; + printf("mem_lower: %uKB, mem_upper: %uKB, mem_total: %uKB\n", mbi->mem_lower, mbi->mem_upper, mem_total); + + //sprintf("checking for flag"); +//if (CHECK_FLAG (mbi->flags, 12)) + //{ + //sprintf("flag present"); + multiboot_uint32_t color; + unsigned i; + void *fb = (void *) (unsigned long) mbi->framebuffer_addr; + +sprintf("fb_addr: %x, fb_width: %u, fb_height: %u", fb, mbi->framebuffer_width, mbi->framebuffer_height); + + switch (mbi->framebuffer_type) + { + case MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED: + { + //sprintf("indexed"); + unsigned best_distance, distance; + struct multiboot_color *palette; + + palette = (struct multiboot_color *) mbi->framebuffer_palette_addr; + + color = 0; + best_distance = 4*256*256; + + for (i = 0; i < mbi->framebuffer_palette_num_colors; i++) + { + distance = (0xff - palette[i].blue) * (0xff - palette[i].blue) + + palette[i].red * palette[i].red + + palette[i].green * palette[i].green; + if (distance < best_distance) + { + color = i; + best_distance = distance; + } + } + } + break; + + case MULTIBOOT_FRAMEBUFFER_TYPE_RGB: + color = ((1 << mbi->framebuffer_blue_mask_size) - 1) + << mbi->framebuffer_blue_field_position; + break; + + case MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT: + color = '\\' | 0x0100; + break; + + default: + color = 0xffffffff; + break; + } + for (i = 0; i < mbi->framebuffer_width + && i < mbi->framebuffer_height; i++) + { + switch (mbi->framebuffer_bpp) + { + case 8: + { + multiboot_uint8_t *pixel = fb + mbi->framebuffer_pitch * i + i; + *pixel = color; + } + break; + case 15: + case 16: + { + multiboot_uint16_t *pixel + = fb + mbi->framebuffer_pitch * i + 2 * i; + *pixel = color; + } + break; + case 24: + { + multiboot_uint32_t *pixel + = fb + mbi->framebuffer_pitch * i + 3 * i; + *pixel = (color & 0xffffff) | (*pixel & 0xff000000); + } + break; + + case 32: + { + multiboot_uint32_t *pixel + = fb + mbi->framebuffer_pitch * i + 4 * i; + *pixel = color; + } + break; + } + } + //} + + hcf(); +} diff --git a/src/multiboot.h b/src/multiboot.h new file mode 100644 index 0000000..1ba51c4 --- /dev/null +++ b/src/multiboot.h @@ -0,0 +1,274 @@ +/* multiboot.h - Multiboot header file. */ +/* Copyright (C) 1999,2003,2007,2008,2009,2010 Free Software Foundation, Inc. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ANY + * DEVELOPER OR DISTRIBUTOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR + * IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef MULTIBOOT_HEADER +#define MULTIBOOT_HEADER 1 + +/* How many bytes from the start of the file we search for the header. */ +#define MULTIBOOT_SEARCH 8192 +#define MULTIBOOT_HEADER_ALIGN 4 + +/* The magic field should contain this. */ +#define MULTIBOOT_HEADER_MAGIC 0x1BADB002 + +/* This should be in %eax. */ +#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002 + +/* Alignment of multiboot modules. */ +#define MULTIBOOT_MOD_ALIGN 0x00001000 + +/* Alignment of the multiboot info structure. */ +#define MULTIBOOT_INFO_ALIGN 0x00000004 + +/* Flags set in the 'flags' member of the multiboot header. */ + +/* Align all boot modules on i386 page (4KB) boundaries. */ +#define MULTIBOOT_PAGE_ALIGN 0x00000001 + +/* Must pass memory information to OS. */ +#define MULTIBOOT_MEMORY_INFO 0x00000002 + +/* Must pass video information to OS. */ +#define MULTIBOOT_VIDEO_MODE 0x00000004 + +/* This flag indicates the use of the address fields in the header. */ +#define MULTIBOOT_AOUT_KLUDGE 0x00010000 + +/* Flags to be set in the 'flags' member of the multiboot info structure. */ + +/* is there basic lower/upper memory information? */ +#define MULTIBOOT_INFO_MEMORY 0x00000001 +/* is there a boot device set? */ +#define MULTIBOOT_INFO_BOOTDEV 0x00000002 +/* is the command-line defined? */ +#define MULTIBOOT_INFO_CMDLINE 0x00000004 +/* are there modules to do something with? */ +#define MULTIBOOT_INFO_MODS 0x00000008 + +/* These next two are mutually exclusive */ + +/* is there a symbol table loaded? */ +#define MULTIBOOT_INFO_AOUT_SYMS 0x00000010 +/* is there an ELF section header table? */ +#define MULTIBOOT_INFO_ELF_SHDR 0X00000020 + +/* is there a full memory map? */ +#define MULTIBOOT_INFO_MEM_MAP 0x00000040 + +/* Is there drive info? */ +#define MULTIBOOT_INFO_DRIVE_INFO 0x00000080 + +/* Is there a config table? */ +#define MULTIBOOT_INFO_CONFIG_TABLE 0x00000100 + +/* Is there a boot loader name? */ +#define MULTIBOOT_INFO_BOOT_LOADER_NAME 0x00000200 + +/* Is there a APM table? */ +#define MULTIBOOT_INFO_APM_TABLE 0x00000400 + +/* Is there video information? */ +#define MULTIBOOT_INFO_VBE_INFO 0x00000800 +#define MULTIBOOT_INFO_FRAMEBUFFER_INFO 0x00001000 + +#ifndef ASM_FILE + +typedef unsigned char multiboot_uint8_t; +typedef unsigned short multiboot_uint16_t; +typedef unsigned int multiboot_uint32_t; +typedef unsigned long long multiboot_uint64_t; + +struct multiboot_header +{ + /* Must be MULTIBOOT_MAGIC - see above. */ + multiboot_uint32_t magic; + + /* Feature flags. */ + multiboot_uint32_t flags; + + /* The above fields plus this one must equal 0 mod 2^32. */ + multiboot_uint32_t checksum; + + /* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */ + multiboot_uint32_t header_addr; + multiboot_uint32_t load_addr; + multiboot_uint32_t load_end_addr; + multiboot_uint32_t bss_end_addr; + multiboot_uint32_t entry_addr; + + /* These are only valid if MULTIBOOT_VIDEO_MODE is set. */ + multiboot_uint32_t mode_type; + multiboot_uint32_t width; + multiboot_uint32_t height; + multiboot_uint32_t depth; +}; + +/* The symbol table for a.out. */ +struct multiboot_aout_symbol_table +{ + multiboot_uint32_t tabsize; + multiboot_uint32_t strsize; + multiboot_uint32_t addr; + multiboot_uint32_t reserved; +}; +typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t; + +/* The section header table for ELF. */ +struct multiboot_elf_section_header_table +{ + multiboot_uint32_t num; + multiboot_uint32_t size; + multiboot_uint32_t addr; + multiboot_uint32_t shndx; +}; +typedef struct multiboot_elf_section_header_table multiboot_elf_section_header_table_t; + +struct multiboot_info +{ + /* Multiboot info version number */ + multiboot_uint32_t flags; + + /* Available memory from BIOS */ + multiboot_uint32_t mem_lower; + multiboot_uint32_t mem_upper; + + /* "root" partition */ + multiboot_uint32_t boot_device; + + /* Kernel command line */ + multiboot_uint32_t cmdline; + + /* Boot-Module list */ + multiboot_uint32_t mods_count; + multiboot_uint32_t mods_addr; + + union + { + multiboot_aout_symbol_table_t aout_sym; + multiboot_elf_section_header_table_t elf_sec; + } u; + + /* Memory Mapping buffer */ + multiboot_uint32_t mmap_length; + multiboot_uint32_t mmap_addr; + + /* Drive Info buffer */ + multiboot_uint32_t drives_length; + multiboot_uint32_t drives_addr; + + /* ROM configuration table */ + multiboot_uint32_t config_table; + + /* Boot Loader Name */ + multiboot_uint32_t boot_loader_name; + + /* APM table */ + multiboot_uint32_t apm_table; + + /* Video */ + multiboot_uint32_t vbe_control_info; + multiboot_uint32_t vbe_mode_info; + multiboot_uint16_t vbe_mode; + multiboot_uint16_t vbe_interface_seg; + multiboot_uint16_t vbe_interface_off; + multiboot_uint16_t vbe_interface_len; + + multiboot_uint64_t framebuffer_addr; + multiboot_uint32_t framebuffer_pitch; + multiboot_uint32_t framebuffer_width; + multiboot_uint32_t framebuffer_height; + multiboot_uint8_t framebuffer_bpp; +#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 0 +#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB 1 +#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT 2 + multiboot_uint8_t framebuffer_type; + union + { + struct + { + multiboot_uint32_t framebuffer_palette_addr; + multiboot_uint16_t framebuffer_palette_num_colors; + }; + struct + { + multiboot_uint8_t framebuffer_red_field_position; + multiboot_uint8_t framebuffer_red_mask_size; + multiboot_uint8_t framebuffer_green_field_position; + multiboot_uint8_t framebuffer_green_mask_size; + multiboot_uint8_t framebuffer_blue_field_position; + multiboot_uint8_t framebuffer_blue_mask_size; + }; + }; +}; +typedef struct multiboot_info multiboot_info_t; + +struct multiboot_color +{ + multiboot_uint8_t red; + multiboot_uint8_t green; + multiboot_uint8_t blue; +}; + +struct multiboot_mmap_entry +{ + multiboot_uint32_t size; + multiboot_uint64_t addr; + multiboot_uint64_t len; +#define MULTIBOOT_MEMORY_AVAILABLE 1 +#define MULTIBOOT_MEMORY_RESERVED 2 +#define MULTIBOOT_MEMORY_ACPI_RECLAIMABLE 3 +#define MULTIBOOT_MEMORY_NVS 4 +#define MULTIBOOT_MEMORY_BADRAM 5 + multiboot_uint32_t type; +} __attribute__((packed)); +typedef struct multiboot_mmap_entry multiboot_memory_map_t; + +struct multiboot_mod_list +{ + /* the memory used goes from bytes 'mod_start' to 'mod_end-1' inclusive */ + multiboot_uint32_t mod_start; + multiboot_uint32_t mod_end; + + /* Module command line */ + multiboot_uint32_t cmdline; + + /* padding to take it to 16 bytes (must be zero) */ + multiboot_uint32_t pad; +}; +typedef struct multiboot_mod_list multiboot_module_t; + +/* APM BIOS info. */ +struct multiboot_apm_info +{ + multiboot_uint16_t version; + multiboot_uint16_t cseg; + multiboot_uint32_t offset; + multiboot_uint16_t cseg_16; + multiboot_uint16_t dseg; + multiboot_uint16_t flags; + multiboot_uint16_t cseg_len; + multiboot_uint16_t cseg_16_len; + multiboot_uint16_t dseg_len; +}; + +#endif /* ! ASM_FILE */ + +#endif /* ! MULTIBOOT_HEADER */ diff --git a/src/stdio.c b/src/stdio.c new file mode 100644 index 0000000..f1c9678 --- /dev/null +++ b/src/stdio.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include +#include +#include +#include + +void putc(char ch) { + vga_putc(ch); +} + +void puts(const char* str) { + do { + putc(*str); + } while(*++str != '\0'); +} + +void printf(const char* fmt, ...) { + va_list args; + va_start(args, fmt); + + for(int i = 0; fmt[i] != '\0'; i++) + { + switch(fmt[i]) + { + case '%': + i++; + + char buf[512]; + + size_t width = 0; + char padding_char = fmt[i]; + if(isdigit(fmt[i]) || fmt[i] == ' ') { + i++; + int pos = 0; + while(isdigit(fmt[i])) { + buf[pos++] = fmt[i++]; + } + buf[pos] = '\0'; + width = atoi(buf); + } + + const char* out = 0; + + if(fmt[i] == 's') + out = va_arg(args, const char*); + if(fmt[i] == 'd') + out = itoa(va_arg(args, int), buf, 10); + if(fmt[i] == 'u') + out = ultoa(va_arg(args, uint32_t), buf, 10); + if(fmt[i] == 'x') + out = ultoa(va_arg(args, uint32_t), buf, 16); + if(fmt[i] == 'c') + putc(va_arg(args, int)); + + size_t len = strlen(out); + if(width > len) { + char padding[256]; + size_t j = 0; + for(; j < width - len; j++) + padding[j] = padding_char; + padding[j] = '\0'; + puts(padding); + } + + puts(out); + break; + default: + putc(fmt[i]); + break; + } + } + + va_end(args); +} diff --git a/src/stdio.h b/src/stdio.h new file mode 100644 index 0000000..35a69fe --- /dev/null +++ b/src/stdio.h @@ -0,0 +1,9 @@ +#ifndef __STDIO_H__ +#define __STDIO_H__ +#include + +void putc(char ch); +void puts(const char* str); +void printf(const char* fmt, ...); + +#endif diff --git a/src/stdlib.c b/src/stdlib.c new file mode 100644 index 0000000..4d12dcf --- /dev/null +++ b/src/stdlib.c @@ -0,0 +1,77 @@ +#include +#include + +const char* itoa(int value, char* str, int base) +{ + char* rc; + char* ptr; + char* low; + + if (base < 2 || base > 36) + { + *str = '\0'; + return str; + } + rc = ptr = str; + if (value < 0 && base == 10) + { + *ptr++ = '-'; + } + + low = ptr; + do + { + *ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz"[35 + value % base]; + value /= base; + } while (value); + + *ptr-- = '\0'; + while (low < ptr) + { + char tmp = *low; + *low++ = *ptr; + *ptr-- = tmp; + } + return rc; +} + +const char* ultoa(uint32_t value, char* str, int base) +{ + char* rc; + char* ptr; + char* low; + + if (base < 2 || base > 36) + { + *str = '\0'; + return str; + } + rc = ptr = str; + + low = ptr; + do + { + *ptr++ = "zyxwvutsrqponmlkjihgfedcba9876543210123456789abcdefghijklmnopqrstuvwxyz"[35 + value % base]; + value /= base; + } while (value); + + *ptr-- = '\0'; + while (low < ptr) + { + char tmp = *low; + *low++ = *ptr; + *ptr-- = tmp; + } + return rc; +} + +int atoi(const char* str) { + int value = 0; + while(isdigit(*str)) { + value *= 10; + value += (*str)-'0'; + str++; + } + + return value; +} diff --git a/src/stdlib.h b/src/stdlib.h new file mode 100644 index 0000000..dc98a47 --- /dev/null +++ b/src/stdlib.h @@ -0,0 +1,9 @@ +#ifndef __STDLIB_H__ +#define __STDLIB_H__ +#include + +const char* itoa(int value, char* str, int base); +const char* ultoa(uint32_t value, char* str, int base); +int atoi(const char* str); + +#endif diff --git a/src/string.c b/src/string.c new file mode 100644 index 0000000..8ac0dbe --- /dev/null +++ b/src/string.c @@ -0,0 +1,8 @@ +#include + +size_t strlen(const char* str) { + size_t len = 0; + while (str[len]) + len++; + return len; +} diff --git a/src/string.h b/src/string.h new file mode 100644 index 0000000..7a3003c --- /dev/null +++ b/src/string.h @@ -0,0 +1,7 @@ +#ifndef __STRING_H__ +#define __STRING_H__ +#include + +size_t strlen(const char* str); + +#endif diff --git a/src/vga.c b/src/vga.c new file mode 100644 index 0000000..ce72f9d --- /dev/null +++ b/src/vga.c @@ -0,0 +1,39 @@ +#include +#include + +struct vga_terminal vga_term = { 0 }; +uint16_t* VGA = (uint16_t*)0xb8000; + +void vga_putc(char ch) { + if(ch == '\n') { + vga_term.x = 0; + vga_term.y++; + } else { + int index = vga_term.y * VGA_WIDTH + vga_term.x; + + VGA[index] = ch | (vga_term.fg | vga_term.bg << 4) << 8; + + vga_term.x++; + if(vga_term.x > VGA_WIDTH) { + vga_term.x = 0; + vga_term.y++; + } + } +} + +void vga_clear() { + vga_term.x = 0; + vga_term.y = 0; + for(int i = 0; i < VGA_WIDTH * VGA_HEIGHT; i++) + putc(' '); +} + +void init_vga(void) { + vga_term.fg = 7; + vga_term.bg = 0; + + vga_clear(); + + vga_term.x = 0; + vga_term.y = 0; +} diff --git a/src/vga.h b/src/vga.h new file mode 100644 index 0000000..807033b --- /dev/null +++ b/src/vga.h @@ -0,0 +1,20 @@ +#ifndef __VGA_H__ +#define __VGA_H__ +#include + +#define VGA_WIDTH 80 +#define VGA_HEIGHT 25 + +struct vga_terminal { + uint8_t bg; + uint8_t fg; + uint8_t x; + uint8_t y; +}; + +extern struct vga_terminal vga_term; + +void init_vga(void); +void vga_putc(char ch); + +#endif