From 6302ee2c229c8c31b68f55d8b7ad744b18136182 Mon Sep 17 00:00:00 2001 From: Adrien Bourmault Date: Thu, 28 Mar 2019 23:03:26 +0100 Subject: [PATCH] clean-up --- Makefile | 2 +- ProjectTree | 2 +- kaleid/include/kernel/multiboot.h | 274 ------------------------------ kaleid/kernel/init/init.c | 2 +- kaleid/kernel/mm/map.c | 2 +- 5 files changed, 4 insertions(+), 278 deletions(-) delete mode 100644 kaleid/include/kernel/multiboot.h diff --git a/Makefile b/Makefile index 319aa68..f14c939 100644 --- a/Makefile +++ b/Makefile @@ -192,7 +192,7 @@ $(KOBJDIR)/kernel/sched.o: $(KERNELDIR)/kernel/proc/sched.c $(KERNELDIR)/include .PHONY: test test: all - @qemu-system-x86_64 -m 8G -mem-prealloc -hda build/bin/disk.img -d cpu_reset,guest_errors,pcall,int 2> qemu.log & + @qemu-system-x86_64 -m 5G -mem-prealloc -hda build/bin/disk.img -d cpu_reset,guest_errors,pcall,int 2> qemu.log & @ndisasm $(BINDIR)/kaleid -o 0x00100000 -b 64 > loader_disasm64.asm @ndisasm $(BINDIR)/kaleid -o 0x00100000 -b 32 > loader_disasm32.asm .PHONY: test32 diff --git a/ProjectTree b/ProjectTree index 7b44cd4..833ec5d 100644 --- a/ProjectTree +++ b/ProjectTree @@ -124,8 +124,8 @@ │   │   │   ├── cpu.h │   │   │   ├── heap.h │   │   │   ├── iomisc.h +│   │   │   ├── mboot.h │   │   │   ├── mm.h -│   │   │   ├── multiboot.h │   │   │   ├── panic.h │   │   │   ├── proc.h │   │   │   ├── sched.h diff --git a/kaleid/include/kernel/multiboot.h b/kaleid/include/kernel/multiboot.h deleted file mode 100644 index 27da31f..0000000 --- a/kaleid/include/kernel/multiboot.h +++ /dev/null @@ -1,274 +0,0 @@ -//----------------------------------------------------------------------------// -// GNU GPL OS/K // -// // -// Desc: multiboot.h - Multiboot header file. // -// // -// // -// Copyright © 1999,2003,2007-2010 Free Software Foundation, Inc. // -// Copyright © 2018-2019 The OS/K Team // -// // -// This file is part of OS/K. // -// // -// OS/K is free software: you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation, either version 3 of the License, or // -// any later version. // -// // -// OS/K is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY//without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with OS/K. If not, see . // -//----------------------------------------------------------------------------// - -#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 - - -#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 uchar; -typedef unsigned short ushort; -typedef unsigned int uint; -typedef unsigned long ulong; - -struct multiboot_header -{ - /* Must be MULTIBOOT_MAGIC - see above. */ - uint magic; - - /* Feature flags. */ - uint flags; - - /* The above fields plus this one must equal 0 mod 2^32. */ - uint checksum; - - /* These are only valid if MULTIBOOT_AOUT_KLUDGE is set. */ - uint header_addr; - uint load_addr; - uint load_end_addr; - uint bss_end_addr; - uint entry_addr; - - /* These are only valid if MULTIBOOT_VIDEO_MODE is set. */ - uint mode_type; - uint width; - uint height; - uint depth; -}; - -/* The symbol table for a.out. */ -struct multiboot_aout_symbol_table -{ - uint tabsize; - uint strsize; - uint addr; - uint reserved; -}; -typedef struct multiboot_aout_symbol_table multiboot_aout_symbol_table_t; - -/* The section header table for ELF. */ -struct multiboot_elf_section_header_table -{ - uint num; - uint size; - uint addr; - uint shndx; -}; -typedef struct multiboot_elf_section_header_table - multiboot_elf_section_header_table_t; - -struct multiboot_info -{ - /* Multiboot info version number */ - uint flags; - - /* Available memory from BIOS */ - uint mem_lower; - uint mem_upper; - - /* "root" partition */ - uint boot_device; - - /* Kernel command line */ - uint cmdline; - - /* Boot-Module list */ - uint mods_count; - uint mods_addr; - - union - { - multiboot_aout_symbol_table_t aout_sym; - multiboot_elf_section_header_table_t elf_sec; - } u; - - /* Memory Mapping buffer */ - uint mmap_length; - uint mmap_addr; - - /* Drive Info buffer */ - uint drives_length; - uint drives_addr; - - /* ROM configuration table */ - uint config_table; - - /* Boot Loader Name */ - uint boot_loader_name; - - /* APM table */ - uint apm_table; - - /* Video */ - uint vbe_control_info; - uint vbe_mode_info; - ushort vbe_mode; - ushort vbe_interface_seg; - ushort vbe_interface_off; - ushort vbe_interface_len; - - ulong framebuffer_addr; - uint framebuffer_pitch; - uint framebuffer_width; - uint framebuffer_height; - uchar framebuffer_bpp; -#define MULTIBOOT_FRAMEBUFFER_TYPE_INDEXED 0 -#define MULTIBOOT_FRAMEBUFFER_TYPE_RGB 1 -#define MULTIBOOT_FRAMEBUFFER_TYPE_EGA_TEXT 2 - uchar framebuffer_type; - union - { - struct - { - uint framebuffer_palette_addr; - ushort framebuffer_palette_num_colors; - }; - struct - { - uchar framebuffer_red_field_position; - uchar framebuffer_red_mask_size; - uchar framebuffer_green_field_position; - uchar framebuffer_green_mask_size; - uchar framebuffer_blue_field_position; - uchar framebuffer_blue_mask_size; - }; - }; -}; -typedef struct multiboot_info multiboot_info_t; - -struct multiboot_color -{ - uchar red; - uchar green; - uchar blue; -}; - -struct multiboot_mmap_entry -{ - uint size; - uint addr_low; - uint addr_high; - uint len_low; - uint len_high; - uint type; -} __attribute__((packed)) __attribute__((aligned (4))); -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 */ - uint mod_start; - uint mod_end; - - /* Module command line */ - uint cmdline; - - /* padding to take it to 16 bytes (must be zero) */ - uint pad; -}; -typedef struct multiboot_mod_list multiboot_module_t; - -/* APM BIOS info. */ -struct multiboot_apm_info -{ - ushort version; - ushort cseg; - uint offset; - ushort cseg_16; - ushort dseg; - ushort flags; - ushort cseg_len; - ushort cseg_16_len; - ushort dseg_len; -}; - -#endif /* ! ASM_FILE */ - -#endif /* ! MULTIBOOT_HEADER */ diff --git a/kaleid/kernel/init/init.c b/kaleid/kernel/init/init.c index 09456e8..8a5b9ba 100644 --- a/kaleid/kernel/init/init.c +++ b/kaleid/kernel/init/init.c @@ -22,7 +22,7 @@ // along with OS/K. If not, see . // //----------------------------------------------------------------------------// -#include +#include #include #include #include diff --git a/kaleid/kernel/mm/map.c b/kaleid/kernel/mm/map.c index 80759d4..c19c04f 100644 --- a/kaleid/kernel/mm/map.c +++ b/kaleid/kernel/mm/map.c @@ -24,7 +24,7 @@ #include #include -#include +#include MemoryMap_t memoryMap = { 0 };