Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-20 | added a virtual network driver interface, made the dummy RTL8139 driver a ↵ | Andreas Baumann | |
specialization of it (nothing is functional there yet) | |||
2017-07-20 | added a virtual keyboard driver interface, made the PS/2 keyboard a ↵ | Andreas Baumann | |
specialization of it | |||
2017-07-18 | added a virtual mouse driver interface, made the PS/2 mouse a specialization ↵ | Andreas Baumann | |
of it | |||
2017-07-16 | added USB to qemu | Andreas Baumann | |
2017-07-15 | added an OPT parameter to the build makefile, default is -O0 | Andreas Baumann | |
2017-07-15 | added a dummy RTL8139 network driver | Andreas Baumann | |
added register interrupt handler methods to drivers (but I'm pretty unsure about them) setting network in qemu startup and using RTL8139 emulation drivers | |||
2017-07-14 | some linkage tweaking, the kernel is not linked against libssp (which | Andreas Baumann | |
is using linux/glibc), we provide our own SSP guards leading to kernel_panic (for now). per default build the kernel with ld (as we need precise control how we link it) the libc tests are per default linked with the same compiler as provided with $(CC) using #include_next of gcc/clang to include the real stdint.h header file in stdint.h stub | |||
2017-07-13 | added an exit function | Andreas Baumann | |
added Linux syscall stubs for exit and write adapted all tests added a printf test made stdio work on Linux or AbaOs syscalls | |||
2017-07-13 | separated C library implementations with an OS_ABAOS define (for now), | Andreas Baumann | |
we cannot test stdio and memory management in the hosted environment yet this way | |||
2017-07-09 | added a ld entry option | Andreas Baumann | |
2017-07-09 | back to O0 no optimization | Andreas Baumann | |
2017-07-09 | fixed the vga_refresh bug. the problem is under optimization the | Andreas Baumann | |
code gets so fast that we get races in the task refershing the VGA screen. For now we fix also high CPU usage in idle tasks with a 'kernel_halt' (well, later a yield or a more clever task scheduler should help). This is a hacky solution for now.. | |||
2017-07-09 | setting exlicitely the CPU to a 486 in qemu | Andreas Baumann | |
2017-07-09 | made kernel boot with optimizations on (clang), reason where the | Andreas Baumann | |
use of MMX registers | |||
2017-07-08 | added dedicated kernel entry to avoid address reordering under compiler ↵ | Andreas Baumann | |
optimization affect the entry poin 0x8800 of kernel_main (now kernel_entry) | |||
2017-07-05 | small fix around vga.h incusion | Andreas Baumann | |
2017-07-05 | 'mem' command shows memory usage of kernel heap now | Andreas Baumann | |
implemented a malloc/free and memory manager (simplest possible implementation, just allocating linearly and never freeing) | |||
2017-07-02 | started to add task scheduling | Andreas Baumann | |
2017-07-01 | readded -Werror and fixed some cast errors around memcpy | Andreas Baumann | |
2017-06-30 | text widget has a constant buffer and owns the string to draw now | Andreas Baumann | |
(passing a const char * from a local stack context is not really a good idea!) added more efficiet draw method for characters in vga driver protected desktop for now against too often redraws (boolean global variable needs_redraw, this is later a soffisticated set-of-areas-to -redraw algorithm) | |||
2017-06-30 | added a window to gui which is draggable by the mouse | Andreas Baumann | |
2017-06-24 | started to implement a widget showing text, the problem currently | Andreas Baumann | |
is the inheritance method in draw is not working correctly | |||
2017-06-21 | improved VGA colors | Andreas Baumann | |
added basics of a desktop widget class | |||
2017-06-21 | added the widget and the composite widget classes | Andreas Baumann | |
2017-06-18 | added graphic context (stub) | Andreas Baumann | |
2017-06-18 | started the widget framework | Andreas Baumann | |
2017-06-17 | added the most complex VGA mode (640x480x4, only timings for now) | Andreas Baumann | |
added graphics and text mode type parameter to vga_mode_t | |||
2017-06-16 | playing with VGA font distance and characters bei being on the head or mirrored | Andreas Baumann | |
2017-06-16 | added embedded VGA fonts, not so sure about the 8 heads for USB images | Andreas Baumann | |
2017-06-15 | adapted kernel size to fit clang | Andreas Baumann | |
2017-06-15 | increased size of stage 2 bootloader by 1024 bytes | Andreas Baumann | |
2017-06-15 | made framebuffer segment a member of vga_mode_t, computing it once | Andreas Baumann | |
when vga_set_mode is called (because it will not change after every pixel) | |||
2017-06-14 | got switch to graphical VGA mode working | Andreas Baumann | |
2017-06-13 | added some links | Andreas Baumann | |
2017-06-10 | some big renames into subdirs of aspects | Andreas Baumann | |
updated README removed size_t in sys/types.h and sys/types.h itself, size_t is in stddef.h | |||
2017-06-10 | moved bootloader to subdirectory | Andreas Baumann | |
2017-06-10 | renamed text VGA module to vgatext | Andreas Baumann | |
2017-06-10 | preparations for driver loading with PCI (BARs for I/O) | Andreas Baumann | |
2017-06-10 | using int13h/8h only for floppies for now, geometry on emulated USB | Andreas Baumann | |
disks seems to be completly wrong. Probing on real machine for first non-readable sector hangs the machine or creates reboots, no clue. Writing a boot loader is not the scope of the project. For me it runs where it has to run for now.. | |||
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 |