Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
650 6784 d 16 h jermar /kernel/trunk/ sparc64 work.
Implement interrupt_disable(), interrupt_enable(), interrupt_restore() and interrupt_read() functions.
Fix context save/restore to save/restore register %i7.
 
646 6785 d 16 h jermar /kernel/trunk/ Fix cpu_init(): frame_alloc() can return 0 as the valid address of block of frames. Do not signal error.

sparc64 work.
Reorganize kernel vs. userspace memory layout.
Add panic_printf().
Turn dummy() into nop rather than into infinite loop.
 
640 6786 d 16 h jermar /kernel/trunk/ sparc64 work.
CPU identification.
 
635 6787 d 15 h palkovsky /kernel/trunk/ Fixed kconsole resolution of similar commands.
Add commands to debugger to allow for simple profiling or
calling debug actions if needed.
 
631 6788 d 18 h palkovsky /kernel/trunk/ Fixed cpu halting in debug panic mode.  
629 6788 d 19 h decky /kernel/trunk/ init task loading (yet buggy)  
628 6788 d 21 h decky /kernel/trunk/ ia32: floppy boot image uses GRUB  
625 6788 d 23 h palkovsky /kernel/trunk/ We are now almost -Wall clean.
- redefined atomic_t
- deleted many, many unused variables
- some minor code cleanups found using compiler warning.
 
624 6789 d 0 h jermar /kernel/trunk/generic/ Add LIST_INITIALIZE() macro to declare and initialize statically allocated lists.  
623 6789 d 5 h jermar /kernel/trunk/ Add SPINLOCK_DECLARE and SPINLOCK_INITIALIZE macros.
SPINLOCK_DECLARE is to be used instead of direct spinlock_t declarations
in dynamically allocated structures on which spinlock_initialize() is called after
their creation.
SPINLOCK_INITIALIZE is to be used instead of direct spinlock_t declarations
of global spinlocks. It declares and initializes the spinlock.
Moreover, both macros are empty on UP so that -Wall warnings about unused structures
get supressed.
 
622 6789 d 18 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
621 6790 d 0 h palkovsky /kernel/trunk/ better architecture line  
616 6790 d 17 h palkovsky /kernel/trunk/generic/src/debug/ Symtab completion now completes even * and & symbols.  
615 6791 d 4 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
614 6791 d 13 h palkovsky /kernel/trunk/ Added support for mips breakpoints.
We have a kind of kernel debugger :-)
Breakpoints on JMP/Branch instructions are not supported and
they are reported after the breakpoint is fired and exited as
a BranchDelay exception. If we found a way, how to detect these
instructions, we would be able to support them as 'one-time' breakpoints.
 
611 6791 d 20 h jermar /kernel/trunk/generic/src/console/ Fix kconsole so that side-effect command shortcuts do not take effect.  
609 6791 d 22 h palkovsky /kernel/trunk/ added support for breakpoints to mips32  
608 6791 d 22 h palkovsky /kernel/trunk/generic/src/console/ intelligent retyping for set4  
607 6791 d 23 h palkovsky /kernel/trunk/ Fixed weird simics panic.
Run kconsole, if we panic. This currently works in gxemul,
simics. In mips we need to modify the simulator.
On ia32 we need a function, that would speak directly to the chip
and fetch the character using polling.
 
606 6791 d 23 h palkovsky /kernel/trunk/ Small kconsole readline changes.
Some mips tweaks to allow for real keyboard support in indy.
 
603 6792 d 16 h palkovsky /kernel/trunk/generic/src/ Added set4 command.  
602 6792 d 17 h palkovsky /kernel/trunk/ Symtab returns correct addresses even when symtab is befor bss.
Some tab completion optimization.
 
601 6792 d 19 h palkovsky /kernel/trunk/ Added some readline functionality to kconsole.
Arrows editing, history, tab completion.
 
596 6793 d 15 h jermar /kernel/trunk/ kconsole cleanup.
Separate commands from the engine.
 
594 6793 d 20 h jermar /kernel/trunk/ ptlb command (currently usable on mips32 only).  
591 6793 d 21 h palkovsky /kernel/trunk/generic/src/ Fixes in new console.  
590 6793 d 21 h palkovsky /kernel/trunk/ Move all MIPS exceptions to generic dispatcher.
Align size in malloc() to __native size, some architectures
don't like it unaligned.
 
589 6793 d 22 h palkovsky /kernel/trunk/generic/src/console/ Added * operator to symbols.  
588 6793 d 22 h palkovsky /kernel/trunk/ Added support for backspace
- printing '\b' should move the cursor one char to the left
- backspace key should return '\b' to application
 
586 6793 d 23 h jermar /kernel/trunk/ Fix ppc32 and sparc64 to compile again.
Fix sparc64 to function again.
 
585 6793 d 23 h palkovsky /kernel/trunk/generic/ String constants without spaces are now supported by call commands.
For more we would need some lexer.
The call? commands are not compatibile with stdarg functions on AMD
architectures, because of the calling sequence.
 
582 6794 d 0 h palkovsky /kernel/trunk/generic/ Added calling of generic functions to kconsole.  
581 6794 d 3 h palkovsky /kernel/trunk/ Small debug changes.  
579 6794 d 4 h palkovsky /kernel/trunk/generic/src/ Removed unnecessary interrupts_disable from kconsole.
Fixed calling gets() with interrupts_disable.
 
578 6794 d 13 h palkovsky /kernel/trunk/ Added exception printing.
It does not work correctly on SMP architectures :-/
Preemption error....
 
575 6794 d 15 h palkovsky /kernel/trunk/ Added generic exc_register/exc_dispatch functions,
copied from ia32 architecture. Currently only mips32 uses them.

The chardev_t can now be both input & output device (was
needed for serial driver).

Broken other architectures - ia64, sparc, powerpc will not compile.

Mips32 supports input on all msim, gxemul, indy(tested emulation
in gxemul, loses characters), simics. Simics serial line
is done using polling, I was unable to make it produce
an interrupt when the key was pressed.
 
569 6795 d 16 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
564 6796 d 16 h jermar /kernel/trunk/ Send in some improvements.  
562 6796 d 22 h decky /kernel/trunk/generic/src/main/ fix typo  
561 6796 d 22 h decky /kernel/trunk/ better way of placing revision, timestamp and arch in banner