Age | Commit message (Collapse) | Author | |
---|---|---|---|
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 | 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 | same for the graphical VGA driver | Andreas Baumann | |
2017-07-15 | mouse and keyboard are now allocated driver pointers | Andreas Baumann | |
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-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-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 | 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-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 | 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) | |||
2017-07-02 | started to add task scheduling | Andreas Baumann | |
2017-07-02 | added ESC key in PS/2 keyboard driver | Andreas Baumann | |
allow pressing ESC in graphics mode to return to text mode | |||
2017-07-01 | do not call methods directly on desktop object, the desktop object could | Andreas Baumann | |
be derived, so go over the vtable (keyboard and mouse handlers in kernel.c) | |||
2017-07-01 | replaced some strange access to .base.base with casts of the class to the ↵ | Andreas Baumann | |
class needed to access the proper vtable | |||
2017-07-01 | got rid of superflous vtables in GUI class hierarchy | Andreas Baumann | |
2017-07-01 | fixed get_focus error in widget (called the wrong parent) | Andreas Baumann | |
the text widget reacts to mouse down and key events and appends text to the output buffer so we have text input in GUI mode | |||
2017-07-01 | restoring VGA text cursor in the right place | Andreas Baumann | |
2017-07-01 | readded -Werror and fixed some cast errors around memcpy | Andreas Baumann | |
2017-06-30 | almost got a complete mode switch (vga graphics back to text) working | Andreas Baumann | |
some cleanup in VGA driver code | |||
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 | playing with Z buffering in VGA driver | Andreas Baumann | |
2017-06-30 | added a third widget (for drawing fonts) | Andreas Baumann | |
fixed drawing races due to mouse interrupts | |||
2017-06-30 | added a VGA wait for retrace in graphics mode | Andreas Baumann | |
2017-06-30 | added a window to gui which is draggable by the mouse | Andreas Baumann | |
2017-06-29 | widget should be in kernel data section and not in local scopes of a stack | Andreas Baumann | |
2017-06-26 | nothing working in gui! | Andreas Baumann | |
2017-06-25 | fighting races and corrupted data on clang, funny behaviour on tcc, fine on ↵ | Andreas Baumann | |
gcc in desktop draw | |||
2017-06-25 | small unused variable fix | Andreas Baumann | |
2017-06-25 | we have a flickering mouse cursor and terrible redrawing of the desktop now :-) | Andreas Baumann | |
removed the font window for now, far too slow! | |||
2017-06-25 | put the mouse object into the global context so we can adjust the | Andreas Baumann | |
resolution when switching video modes | |||
2017-06-25 | fixed calculation of coordinates in text widget | Andreas Baumann | |