diff --git a/src/initrd/stuff/nice.txt b/src/initrd/stuff/nice.txt new file mode 100644 index 0000000..5849978 --- /dev/null +++ b/src/initrd/stuff/nice.txt @@ -0,0 +1,8 @@ +Subfolder support! + +I am making a bit of scurity improvements but clearly it has no meaing here. +The real meanng is the tellin of the Genesis; a true work of art. So many +cool stuff here!! Look, there are functions, comands, bits and bytes, conditions, +and lgorithms. What a fantastic world! But after all it stays formless and empty. + +1:5:1 1:1:1 7:8:1 1:7:3 1:4:3 2:1:2 diff --git a/src/kernel/gdt.c b/src/kernel/gdt.c index e87a980..bb9fddd 100644 --- a/src/kernel/gdt.c +++ b/src/kernel/gdt.c @@ -36,9 +36,9 @@ void gdt_install() gdt_set_gate(2, 0, 0xFFFFFFFF, 0x92, 0xCF); // Ring 3 - gdt_set_gate(3, 0, 0xFFFFFFFF, 0xFA, 0xCF); - gdt_set_gate(4, 0, 0xFFFFFFFF, 0xF2, 0xCF); + //gdt_set_gate(3, 0, 0xFFFFFFFF, 0xFA, 0xCF); + //gdt_set_gate(4, 0, 0xFFFFFFFF, 0xF2, 0xCF); gdt_flush(); - printf("[kernel] GDT gates set (ring 0 and 3), gdt=0x%x\n", &gdt); + printf("[kernel] GDT gates set (ring 0), gdt=0x%x\n", (unsigned int)&gdt); } diff --git a/src/kernel/idt.c b/src/kernel/idt.c index f859ec4..e5f6f4b 100644 --- a/src/kernel/idt.c +++ b/src/kernel/idt.c @@ -30,5 +30,5 @@ void idt_install() memset(&idt, 0, sizeof(struct idt_entry)*256); idt_load(); - printf("[kernel] loaded IDT at idt=0x%x\n", &idt); + printf("[kernel] loaded IDT at idt=0x%x\n", (unsigned int)&idt); } diff --git a/src/kernel/initrd.c b/src/kernel/initrd.c index b1ab2fe..0742d4f 100644 --- a/src/kernel/initrd.c +++ b/src/kernel/initrd.c @@ -82,7 +82,7 @@ void ls_initrd(uint8_t* initrd, int verbose) { printf("%s\n", header->filename); } else { - printf("%7d\t%c\t %s\n", header->size, header->typeflag, header->filename); + printf("%7d\t%c\t %s\n", (int)header->size, header->typeflag, header->filename); } uint32_t size = tar_parse_size(header->size); diff --git a/src/kernel/kmain.c b/src/kernel/kmain.c index 03a9886..26b0367 100644 --- a/src/kernel/kmain.c +++ b/src/kernel/kmain.c @@ -65,12 +65,12 @@ void kmain(multiboot2_info *mb_info) } printf("[kernel] multiboot2 info at 0x%x, size=%u\n", mb_info, mb_info->total_size); - printf("[kernel] framebuffer discovered at 0x%x\n", fb_info->framebuffer_addr); + printf("[kernel] framebuffer discovered at 0x%x\n", (unsigned int)fb_info->framebuffer_addr); printf("[kernel] fb0: width=%u, height=%u, pitch=%u, bpp=%u\n", fb_info->framebuffer_width, fb_info->framebuffer_height, fb_info->framebuffer_pitch, fb_info->framebuffer_bpp); if (mmap_tag) // memmap debug print { - printf("[kernel] found memory map tag by multiboot2\n"); + puts("[kernel] found memory map tag by multiboot2\n"); struct multiboot_mmap_entry *mmap = mmap_tag->entries; while ((uint8_t*) mmap < tags + mmap_tag->size) @@ -115,7 +115,7 @@ void kmain(multiboot2_info *mb_info) init_alloc(); void* ptr1 = malloc(256); void* ptr2 = malloc(512); - printf("[debug] malloc test ptr1=0x%x, ptr2=0x%x\n", ptr1, ptr2); + printf("[debug] malloc test ptr1=0x%x, ptr2=0x%x\n", (unsigned int)ptr1, (unsigned int)ptr2); free(ptr1); free(ptr2); timer_install(); diff --git a/src/libc/string.h b/src/libc/string.h index 509f5ba..f5a77fc 100644 --- a/src/libc/string.h +++ b/src/libc/string.h @@ -6,6 +6,8 @@ #ifndef STRING_H #define STRING_H +#include "../kernel/system.h" + int strlen(const char* str); int strcmp(const char* str1, const char* str2); char* strtok(char* str, const char* delimiter); diff --git a/src/programs/bmp.c b/src/programs/bmp.c index 95c47b0..f813ce4 100644 --- a/src/programs/bmp.c +++ b/src/programs/bmp.c @@ -62,7 +62,7 @@ void display_bmp(uint32_t* fb, int pitch, int bpp, uint8_t* initrd, const char* int height = bmp_info->biHeight; int pixel_offset = bmp_header->bfOffBits; - printf("%d-bit BMP, width: %d, height: %d, pixel offset: %d\n", bmp_info->biBitCount, bmp_info->biWidth, bmp_info->biHeight, bmp_header->bfOffBits); + printf("%d-bit BMP, width: %d, height: %d, pixel offset: %d\n", bmp_info->biBitCount, bmp_info->biWidth, bmp_info->biHeight, (int)bmp_header->bfOffBits); erase_cursor(); uint8_t* pixel_data = (uint8_t*)(buffer + pixel_offset); diff --git a/src/programs/navalbattle.c b/src/programs/navalbattle.c index 8f1bfb5..dbc50fb 100644 --- a/src/programs/navalbattle.c +++ b/src/programs/navalbattle.c @@ -129,7 +129,7 @@ void placing_ally_ships(grid_t* grid[SIZE][SIZE]) do { - printf("Ship %d\n------\n", i); + printf("Ship %d\n------\n", (int)i); puts("X coord: "); char input_buffer[BUFFER_SIZE]; get_input(input_buffer, BUFFER_SIZE); @@ -179,7 +179,7 @@ void show_enemy_battlefield(grid_t* grid[SIZE][SIZE]) for (size_t i=0; i