Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Show changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
627 6736 d 22 h jermar /kernel/trunk/ Fix ia64 and sparc64 to compile with new atomic_t.
Fix rwlock test #5 and semaphore test #1 to compile with new atomic_t.

sparc64 work.
TBA must be set before a function call when MMU is switched off.
 
625 6736 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.
 
623 6737 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 6737 d 18 h palkovsky /kernel/trunk/ Better gcc CALLER implementation  
618 6738 d 16 h jermar /kernel/trunk/arch/mips32/src/mm/ Unify mips32 and sparc64 tlb_invalidate_all() semantics: do not invalidate locked/wired TLB entries.  
615 6739 d 4 h palkovsky /kernel/trunk/ Cleanups to make it compile with -Wall. Did not catch everything yet.  
614 6739 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.
 
612 6739 d 19 h jermar /kernel/trunk/arch/mips32/src/mm/ Weaken the assumption, that PageMask register contains the right mask everytime.
As a result, TLB exceptions will explicitly write this register when filling TLB entry.
Adjust tlb_print() on mips32 to print PageMask as well.
 
610 6739 d 21 h palkovsky /kernel/trunk/arch/mips32/ Cleanup of unnecessary things.  
609 6739 d 22 h palkovsky /kernel/trunk/ added support for breakpoints to mips32  
607 6739 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 6739 d 23 h palkovsky /kernel/trunk/ Small kconsole readline changes.
Some mips tweaks to allow for real keyboard support in indy.
 
605 6740 d 3 h palkovsky /kernel/trunk/arch/mips32/src/drivers/ Allow for different ARC frame size and kernel frame size.  
604 6740 d 4 h palkovsky /kernel/trunk/ Make it boot on SGI indy again.  
600 6741 d 0 h jermar /kernel/trunk/arch/mips32/ Different sizes of TLB on mips32.
R4000 has 48 entries, 4kc has only 16 entries.
 
599 6741 d 0 h jermar /kernel/trunk/arch/mips32/ Fixes for mips32 invalidation functions.  
598 6741 d 1 h jermar /kernel/trunk/arch/mips32/src/mm/ TLB invalidation functions for mips32. Not deployed yet. Not tested.  
595 6741 d 19 h palkovsky /kernel/trunk/ Fixed bug in vm.c that turned off preemption. Found in versions 390:391.  
594 6741 d 20 h jermar /kernel/trunk/ ptlb command (currently usable on mips32 only).  
593 6741 d 21 h palkovsky /kernel/trunk/arch/mips32/src/ Fixed typo.  
590 6741 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.
 
588 6741 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
 
581 6742 d 3 h palkovsky /kernel/trunk/ Small debug changes.  
578 6742 d 13 h palkovsky /kernel/trunk/ Added exception printing.
It does not work correctly on SMP architectures :-/
Preemption error....
 
577 6742 d 14 h palkovsky /kernel/trunk/ Some small fixes, basic changes to ia64 & ppc32 without testing.  
575 6742 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.
 
574 6742 d 20 h palkovsky /kernel/trunk/ Merged msim & gxemul native keyboards.  
573 6742 d 21 h palkovsky /kernel/trunk/ Added MIPS ARC memory initializaiton.  
569 6743 d 16 h jermar /kernel/trunk/ sparc64 work.
Implement functions for reading IMMU and DMMU TLBs.
 
568 6743 d 23 h palkovsky /kernel/trunk/ Configuration tweaks, now supports both CNF and DNF in config.file.  
567 6744 d 15 h palkovsky /kernel/trunk/ Added simple support for arc keyboards on mips.  
550 6745 d 18 h palkovsky /kernel/trunk/ Completely reworked configuration system.  
548 6745 d 19 h jermar /kernel/trunk/ Cleanup and fixes.  
546 6745 d 20 h palkovsky /kernel/trunk/arch/mips32/ Fixed mips gxemul architecture.  
536 6747 d 18 h bondari /kernel/trunk/ Minor bugfix caused by invalid frame_region_not_free() usage  
534 6747 d 19 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
533 6747 d 19 h bondari /SPARTAN/trunk/ Buddy allocator for physical memory complete implementation.
Tested on IA32, AMD64, MIPS32. RWLock Test #5 is not passed.
NOTE: Other architectures could be broken (but should not be)
 
532 6747 d 20 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
511 6759 d 15 h jermar /kernel/trunk/ Enable dummy kconsole for ia32 and amd64 (UP mode works).  
510 6759 d 15 h jermar /kernel/trunk/ Add chardev_t.
This type is meant to abstract any input character device such as keyboard, serial port etc.
Add stdin.
Add dummy kconsole.