Age | Commit message (Collapse) | Author | |
---|---|---|---|
2017-07-21 | updated documentation | Andreas Baumann | |
2017-07-21 | .. | Andreas Baumann | |
2017-07-21 | changed video mode management, moved to video driver, | Andreas Baumann | |
the VGA driver registers his specific mode data with the video driver kernel function now use virtual functions of the video driver | |||
2017-07-20 | started to abstract video drivers | Andreas Baumann | |
2017-07-20 | detecting single or multi function devices in PCI scan | Andreas Baumann | |
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-20 | kernel_panic while shutting down does not result in endless loops anymore | Andreas Baumann | |
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-16 | fixed newline output in Linux stub in libc tests | Andreas Baumann | |
2017-07-16 | move longjmp for kernel_panic | Andreas Baumann | |
2017-07-16 | introduced classes of driver types (graphics, mouse, keyboard, network, etc.) | Andreas Baumann | |
removed direct vga_init from kernel.c, using pci for this now, get the driver of type graphics from driver_manager | |||
2017-07-16 | moved registering of mouse/keyboard interrupts into the driver activation ↵ | Andreas Baumann | |
instead of having them directly in kernel.c also more standardization of the driver init functions (mouse set_resolution instead of constructor parameters res_x and res_y) | |||
2017-07-15 | started to make driver construtors similar (keyboard, mouse) | Andreas Baumann | |
passing context around to pci scanning function for driver initialization | |||
2017-07-15 | reworked driver init and vtable, taking the interrupt manager and the context | Andreas Baumann | |
as parameters when creating a driver | |||
2017-07-15 | added an OPT parameter to the build makefile, default is -O0 | Andreas Baumann | |
2017-07-15 | same for the graphical VGA driver | Andreas Baumann | |
2017-07-15 | mouse and keyboard are now allocated driver pointers | 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-15 | moved keyboard driver into the global kernel context (away from the stack) | Andreas Baumann | |
2017-07-14 | added stats functions to memory manager, don't use internal members | Andreas Baumann | |
added simple chunk-based allocation/deallocation strategy (leads to framgentation) | |||
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-14 | removed stddef.h and limits.h (come with the compiler header files) | Andreas Baumann | |
added a stub stdint.h (only sometimes comes with the compiler) added a guide on cross compiling adapted to cross compilation, for now tcc works | |||
2017-07-14 | updated some docu | Andreas Baumann | |
2017-07-13 | removed som kernel_panics in libc | Andreas Baumann | |
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 | forgot to add test_malloc.c | Andreas Baumann | |
remove buffer memory functions again (can be done with a simple cast in the caller) | |||
2017-07-13 | added a simple test for malloc/free | Andreas Baumann | |
added a memorymanager initilializer which works on a buffer instead on an offset (thus we can but the heap area also onto the stack for testing) added a kernel_stub module to test modules using kernel_panic (for now, maybe have a callback later) | |||
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-12 | removed test tasks | Andreas Baumann | |
2017-07-12 | added segment_size to vga mode structure, using for memcpy in Z buffer | Andreas Baumann | |
refreshing the video memory and when allocating the Z buffer | |||
2017-07-10 | VGA Z-buffer is now dynamically allocated and freed | Andreas Baumann | |
memory management can reuse the last pointer malloced if freed again | |||
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 | forgot to set the backpointer to the interrupt manager (interrupts_t) in the | Andreas Baumann | |
interrupt_handler_init_void (clang and O1 crashed it while initializing the empty interrupt vectors) | |||
2017-07-08 | small adaptions around kernel_entry (docu, boot loader) | Andreas Baumann | |
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 | removed unneded volatile for text VIDEO_MEMORY (we should add the reference ↵ | Andreas Baumann | |
to "volatile is always wrong" | |||
2017-07-05 | removed superfluous context in vga driver (was not used) | Andreas Baumann | |
added dummy methods and driver_init for anonymous driver initialization | |||
2017-07-05 | small fix around vga.h incusion | Andreas Baumann | |
2017-07-05 | tried to fix libc tests, currently they draw in too many dependencies | Andreas Baumann | |
and don't link. We have to separate libc better from the rest of the kernel code (kernel_panic, libc library initializers) | |||
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-05 | fixed compilation errors due to unused variables | Andreas Baumann | |
2017-07-05 | some kernel code cleanup | Andreas Baumann | |
renamed 'proc' command to 'task' and make it show number of tasks and context switches | |||
2017-07-05 | fixed graphical screen refresh (a refreshScreen task) | Andreas Baumann | |
cleaned up code after interrupt_enable in main thread everything works again | |||
2017-07-04 | got scheduling of task A and B working (now graphics output and termination ↵ | Andreas Baumann | |
is broken) |