Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-06-10 | better messages in boot loader about disk loading | Andreas Baumann | |
another test in bochs with a ATA hard disk without LCHS/PCHS translation (doens't boot yet) | |||
2017-06-10 | rearranged boot loader: first load 3 sectors of stage 2 in simple | Andreas Baumann | |
int 13h read. then in stage 2 do a much better detection of disk geometries in the future (for now, it's the same) and load the kernel sectors with a more complex loading routine | |||
2017-06-09 | tried to probe disk geometry with mixed success (emulated FDD mode | Andreas Baumann | |
on USB not working). Code in stage1 gets too complex to fit 512 bytes, so we most likely must load stage2 with a simple algorithm (maybe 8 sectors every bios 13h/2h function is able to deliver). Then we load the kernel in a second, more complex loading step | |||
2017-06-09 | clang kernel.bin size bump | Andreas Baumann | |
2017-06-09 | fixed stage 1 boot loader problems (worked in some BIOSes across | Andreas Baumann | |
the 2 times sector/track limit). loading sectors one by one now fixed also spin down problem after loading stage 2 and the kernel for now tested with 1.44 MB floppies (both real and in bochs/qemu) | |||
2017-06-08 | added driver manager | Andreas Baumann | |
keyboard and mouse are now "derived" from driver_t reading and printing more PCI members | |||
2017-06-08 | retested with all 3 C compilers | Andreas Baumann | |
2017-06-07 | scanning and printing PCI bus devices | Andreas Baumann | |
2017-06-07 | added 32-bit port functions | Andreas Baumann | |
started to add PCI functions (for now read/write only) added help menu in boot kernel input mode | |||
2017-06-05 | added deinit in drivers | Andreas Baumann | |
added some debug flags and code in drivers 32 sectors size of kernel | |||
2017-06-04 | emitting mouse events now, printing them for now, later this will be | Andreas Baumann | |
the text mode cursor | |||
2017-06-03 | added mouse driver | Andreas Baumann | |
changed acknoledgment of interrupts, if we acknowledge an interrupt originating from the slave PIC we also have to acknoledge the master PIC | |||
2017-06-02 | .. | Andreas Baumann | |
2017-06-02 | .. | Andreas Baumann | |
2017-06-02 | some work on keyboard initialization | Andreas Baumann | |
2017-06-01 | started with keyboard driver | Andreas Baumann | |
split registration of interrupts in a gate registration and a handler registration | |||
2017-06-01 | introducted a interrupt handler object | Andreas Baumann | |
2017-06-01 | .. | Andreas Baumann | |
2017-06-01 | easier debugging with ncurses mode and local gdbinit file | Andreas Baumann | |
2017-05-31 | added a setjmp implementation | Andreas Baumann | |
kernel_panic uses a longjmp to terminate the kernel entry function some segfault in scroll_screen | |||
2017-05-21 | interrupts are working, some problems with corrupt stack | Andreas Baumann | |
2017-05-21 | added implementation of interrupts (IDT construction and loading), currently not | Andreas Baumann | |
working yet. added A20 gate check reorganized some code, so it's easier to debug interrupt handlers in assembly | |||
2017-05-20 | added simple stdio stub | Andreas Baumann | |
2017-05-20 | documented early GDT in assembly (following Nick Bundells osdev guide). | Andreas Baumann | |
renamed gdt.asm to boot_gdt.asm (because later we will have a gdt.asm when playing with memory managers and process isolation). This boot sequence is for legacy machines, for UEFI and multiboot kernels the whole thing looks different | |||
2017-05-20 | stronger magic test | Andreas Baumann | |
2017-05-20 | precomputing MAGIC in makefile, magic.asm and stage2 magic check are in ↵ | Andreas Baumann | |
different assembly units, so we cannot use date and time | |||
2017-05-18 | added port types which are check when calling port read/write functions | Andreas Baumann | |
2017-05-17 | some more variables for NASM and OBJCOPY, retested on OSX | Andreas Baumann | |
2017-05-17 | made debugging on C-language level possible with qemu and remote | Andreas Baumann | |
debugging, building an ELF kernel first, then we create a flat binary and a symbol file from it | |||
2017-05-17 | Merge branch 'master' of ssh://git.andreasbaumann.cc:2221/abaos | Andreas Baumann | |
2017-05-17 | better magic signature detection (using a compile stamp with date and time) | Andreas Baumann | |
using local labels where possible, some renames in assembly code added a console_put_hex and serial_put_hex better call to qemu printing the status of the host when crashing the emulator | |||
2017-05-15 | allow overloading of LDFLAGS (for -f elf on OSX, -f elf32 on Linux) | Andreas Baumann | |
2017-05-14 | some small fixes, clang image overload (magic doesn't work, most likely because | Andreas Baumann | |
memory is not wiped between qemu invocations) | |||
2017-05-14 | added a simple kernel console which can use VGA and the first serial port ↵ | Andreas Baumann | |
for output (no terminal emulation, only sequential output) shows how to intermix VGA animations and line-orinented console output | |||
2017-05-14 | added a simple serial console output to qemu run mode | Andreas Baumann | |
reading and writing the VGA cursor correctly on hardware | |||
2017-05-12 | sorted out the character constant mess: we have a flat model (with GDT) | Andreas Baumann | |
starting from 0x8000, but the first 2k are stage 2 of the boot loader, so out kernel entry is 0x8400. We have to tell ld that and use 0x8400 instead of 0x8000, otherwise all string constants point to Nirvana! | |||
2017-05-11 | added strlcpy (and a host test for it) | Andreas Baumann | |
started to add I/O port code for VGA data and select ports | |||
2017-05-11 | better documentation for the boot loading process and how much | Andreas Baumann | |
sectors each part needs, fixed truncation problem started a magic signature at the end of the image and started to check it in stage 2 of the boot loader to avoid truncated images in the future | |||
2017-05-01 | some playing around with linker flags | Andreas Baumann | |
2017-05-01 | write vga strings and some cursor handling | Andreas Baumann | |
2017-05-01 | added some primitive VGA functions and rewrote kernel.c greeting | Andreas Baumann | |
2017-05-01 | playing with vga struct, fixed some boot loading issues | Andreas Baumann | |
2017-05-01 | started vga module, puzzled about eliminated dead loops in clang? | Andreas Baumann | |
2017-04-30 | accomodated for bigger bootloader stage2 | Andreas Baumann | |
fixed printing of rotating bar | |||
2017-04-29 | added a bochs config | Andreas Baumann | |
2017-04-27 | bootstrapped from an OSX with separate ELF toolchain | Andreas Baumann | |
2017-04-23 | fresh import because of huge documents checked in by accident | Andreas Baumann | |