Commit Graph

  • c3a6139f83 Run image from temporary copy to avoid modified disk image file josh 2022-03-14 00:57:24 -04:00
  • 3d3a433800 Update to rscons 3.0.2 josh 2022-03-14 00:51:54 -04:00
  • 54451bcf5b Add initial HOS EFI Loader sources josh 2022-03-13 23:16:37 -04:00
  • 1fc2dd34e5 Update build system for 64-bit, EFI, and D josh 2022-03-13 22:46:59 -04:00
  • cb6bd3914c Remove HOS v0.16 sources master josh 2022-02-28 15:10:25 -05:00
  • 56c3be9207 Update to rscons 3.0.0 josh 2022-02-28 13:40:08 -05:00
  • c6ae200a54 Update to rscons 2.3.0 cross josh 2021-12-08 11:33:03 -05:00
  • 6b1de7c9d4 Explicitly check page boundaries when adding bootloader-provided memory regions josh 2021-08-16 17:35:11 -04:00
  • ebfeca47b5 Use size_t rather than uint32_t josh 2021-08-16 14:01:39 -04:00
  • 43f4a1f4b1 Show kernel size/address josh 2021-08-16 13:59:39 -04:00
  • 0f73efbdc3 add mm module to manage free physical page regions josh 2020-10-26 20:17:08 -04:00
  • a084ab296c define _hos_mem_start and _hos_mem_end symbols josh 2020-10-25 17:08:07 -04:00
  • aa28284187 build kernel .size file on build josh 2020-10-25 17:06:56 -04:00
  • 87c135b010 set up a GDT to stop using the one GRUB set up josh 2020-10-25 16:49:09 -04:00
  • 3d30025d3b write a map file when linking josh 2020-10-25 16:48:42 -04:00
  • 556b0f0c4d add gdt.h josh 2020-10-23 00:48:40 -04:00
  • bffd652c16 walk multiboot2 memory map josh 2020-10-23 00:47:19 -04:00
  • cbd427b14b add 64-bit formatting support josh 2020-10-23 00:46:40 -04:00
  • fa4ff5facf load some multiboot2 info after the framebuffer is initialized josh 2020-10-22 22:03:43 -04:00
  • db16e69d5d add klog module to print kernel messages josh 2020-10-20 21:44:21 -04:00
  • 1d3b0a5621 make fb_clear() public josh 2020-10-20 20:24:48 -04:00
  • d03a34ab3e fb: store fb.pitch in words, not bytes josh 2020-10-20 20:07:51 -04:00
  • 494ef6de81 add fb_width(), fb_height() josh 2020-10-20 20:06:54 -04:00
  • 784009ba6c hos_printf: handle field width, zero-padding, and left-justifiying conversion specifiers josh 2020-10-20 19:56:30 -04:00
  • 9bddf11ee4 stream: use char instead of uint8_t josh 2020-10-20 19:47:15 -04:00
  • 313b86fdc7 provide an implementation for memcpy() josh 2020-10-20 19:31:26 -04:00
  • 75491dd36b add hos_printf and stream modules josh 2020-10-20 19:30:23 -04:00
  • c8db9fe905 add string.h josh 2020-10-20 17:55:31 -04:00
  • d0cbaba4d1 add memcpy(), memmove(), memset() josh 2020-10-20 17:47:40 -04:00
  • 1f22d0c900 add a few multiboot2 info structures josh 2020-10-20 17:34:08 -04:00
  • a474368435 increase kernel font size a little josh 2020-10-20 17:28:43 -04:00
  • fb88595dec add fb_clear(), just clear to solid bluish color for now josh 2020-10-20 17:28:16 -04:00
  • 70b4db9dbb fix fb_text_render_char() to use given color josh 2020-10-20 17:23:51 -04:00
  • 9fde638b6e build with -O2 josh 2020-10-20 15:09:00 -04:00
  • b4b77dd52c add mem.h and memset32() josh 2020-10-20 15:08:12 -04:00
  • 79951bd0f1 add cross/clean.sh josh 2020-10-20 14:15:28 -04:00
  • 41152cb4ca add fb_fill() josh 2020-10-20 14:01:14 -04:00
  • dba3d28bbf draw a character josh 2020-10-20 13:34:02 -04:00
  • 610f30fae9 generate a built-in kernel font josh 2020-10-20 00:34:53 -04:00
  • e22b90b768 configure GRUB to boot HOS automatically after 1s josh 2020-10-20 00:17:05 -04:00
  • 08fc9a5445 rename target run-bios -> run josh 2020-10-20 00:09:38 -04:00
  • a66df19edc add fb_ready() josh 2020-10-20 00:09:09 -04:00
  • 5bc844649b set desired framebuffer size to 1600x900x32 josh 2020-10-19 23:57:54 -04:00
  • 0d390465f6 simplify boot.S josh 2020-10-19 23:42:02 -04:00
  • 04d29fdb71 add mbinfo module to parse multiboot2 boot info josh 2020-10-19 23:34:42 -04:00
  • e9f426894c rename kernel_main.c -> hos_main.c josh 2020-10-19 22:40:55 -04:00
  • c8810e4701 rename _start -> hos_start josh 2020-10-19 22:26:12 -04:00
  • b202eca0cc define startup stack in linker script, not assembly josh 2020-10-19 22:23:39 -04:00
  • 05de14800b remove hard tabs! josh 2020-10-19 22:12:34 -04:00
  • 8ae84716d6 rename kernel_main() to hos_main() josh 2020-10-19 22:12:17 -04:00
  • bb495eceec add "fb" module for framebuffer control josh 2020-10-19 22:09:33 -04:00
  • 67b90a482f add "clean" target josh 2020-10-19 21:59:54 -04:00
  • 85e5b76aa3 Move multiboot2 header from assembly to C. josh 2020-10-19 21:42:14 -04:00
  • 412925a790 switch from multiboot to multiboot2 josh 2020-10-18 14:25:06 -04:00
  • 21afa93c4b fill in framebuffer with more exciting pattern - working in qemu BIOS but lost graphics in qemu EFI josh 2020-10-18 13:47:35 -04:00
  • d08d54ecbf make run tasks depend on all josh 2020-10-18 13:29:56 -04:00
  • 06644a02f9 draw pixels to screen to verify framebuffer access and multiboot info josh 2020-10-18 13:25:26 -04:00
  • 8f9881889b build both BIOS and EFI images josh 2020-10-18 13:12:37 -04:00
  • a91ea8d620 update Makefile to wrap rscons and add run target josh 2020-10-15 20:05:58 -04:00
  • a9a2f6dcaf fix GRUB config to add a HOS menu entry josh 2020-10-15 20:01:40 -04:00
  • 9befd553eb always disassemble kernel when building josh 2020-10-15 19:47:20 -04:00
  • 6053745ee9 build kernel as 32-bit ELF for now so GRUB can recognize it as multiboot josh 2020-10-15 19:46:53 -04:00
  • 0adc6e395c Add more modern build script for kernel and disk image based on osdev Bare Bones template josh 2020-10-14 21:20:41 -04:00
  • bbf212d5a2 add configure script josh 2020-10-13 19:53:14 -04:00
  • 94ed9078df update rscons josh 2020-10-13 19:20:19 -04:00
  • e97e76da7b add cross compiler build script and configure script josh 2020-10-06 20:06:19 -04:00
  • 1f5e3507ba change nasm output format to elf32 pre-cross josh 2020-10-02 10:21:10 -04:00
  • a9a6f6f4d4 avoid make jobserver warnings josh 2020-10-02 10:17:32 -04:00
  • 2d009273a1 add readme.txt josh 2017-07-26 13:51:43 -04:00
  • 2b936758ff add .gitignore josh 2017-07-26 13:42:21 -04:00
  • 509009d134 get HOS building again on Ubuntu 17.04 with GCC 6 josh 2017-07-26 13:41:23 -04:00
  • f51426f73f fixed memory barrier bug in IDT initialization -- kernel still crashing when interrupts enabled but i think the memory management initialization is correct v0.17 josh 2010-02-01 05:24:40 +00:00
  • 4b688a3ce0 fixed bug that mapping PAGE_DIR_SELF_REF would incorrectly allocate a new physical page josh 2010-02-01 05:04:39 +00:00
  • 563758b1bd added PAGE_DIR_SELF_REF2 to fix bug in page directory self-referencing josh 2010-02-01 04:21:29 +00:00
  • ae5dc7df6f in the middle of clearing page tables allocated during mm_map() and mm_early_map() josh 2010-02-01 01:47:19 +00:00
  • d41ffbbedc added mm_early_vpage_alloc(); kernel still crashing... josh 2010-01-28 04:22:02 +00:00
  • 5ac343a2e8 fixed mm bug, now crashing because IDT isn't mapped via paging josh 2010-01-27 05:25:05 +00:00
  • 1027b8c346 compiling again after updating mm_early_map() and mm_map() for new page allocation scheme josh 2010-01-27 05:06:12 +00:00
  • 08491bace9 still reworking physical page allocator josh 2010-01-26 05:25:46 +00:00
  • 96ba9fabb1 reworking memory management... again josh 2010-01-25 23:03:23 +00:00
  • 24485b8143 fixed line endings on text files josh 2010-01-25 16:04:08 +00:00
  • ca82cc32ac cleaned up a few page allocation page issues, still crashing josh 2010-01-25 15:59:27 +00:00
  • 4816102139 kernel compiling with new page allocation mechanism but crashing josh 2010-01-25 05:56:40 +00:00
  • 0bc304328d kernel now keeping track of total/free number of physical pages instead of free/used josh 2010-01-22 20:51:34 +00:00
  • dccecb054b fixed BUILD_BUG_ON() to work in C++ josh 2010-01-22 20:48:41 +00:00
  • 0c78e21e14 added STACK_INITIAL_SIZE to control the number of initial stack pages; added BUILD_BUG_ON() macro to catch compile-time errors josh 2010-01-22 19:35:43 +00:00
  • 53407d7b59 rearranged slightly josh 2010-01-22 18:19:20 +00:00
  • cdea1602d5 added bochs target to Makefile josh 2010-01-22 18:19:17 +00:00
  • b6bebfd9b4 removed debug print josh 2010-01-14 15:54:16 +00:00
  • 1be6e37961 thanks to bug found by Nick - fixed mmap traversal and size calculation josh 2010-01-14 15:43:49 +00:00
  • 85c5a26631 removed erroneous offset by four when calculating address of mmap structure from bootloader josh 2010-01-14 04:23:26 +00:00
  • eb2dd3b1ad updated start symbol comment josh 2010-01-07 19:14:34 +00:00
  • 6cd78f195f changed kernel stack top to 0x40000000 (1GB) virtual josh 2010-01-07 15:56:53 +00:00
  • e4701b8d96 merged in removing-assembly branch to do more in C josh 2010-01-07 15:38:15 +00:00
  • 76ac4f88a4 set virtual offset to 0x0, kernel now runs in qemu / VirtualBox josh 2010-01-06 05:37:04 +00:00
  • f6e71b9891 minor Makefile improvements josh 2010-01-06 05:04:59 +00:00
  • cf7287d368 removed multiboot kludge; using ELF kernel with different virtual and load addresses josh 2010-01-06 05:02:32 +00:00
  • 44c6bac2af added util folder with build script for i586-elf target cross-compiler josh 2010-01-02 02:10:20 +00:00
  • bc7064e92a got interrupts working, added sys/{pic,timer,cpu} modules, ready to work on multitasking josh 2009-07-29 22:30:52 +00:00
  • 2c5a5d7093 moved gdtr_t definition from mm.h to hos_types.h josh 2009-07-24 17:05:11 +00:00