Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
518 6914 d 1 h jermar /kernel/trunk/ Improve kconsole's support for recognition of commands with arguments.
Implement ARG_TYPE_STRING.
Add 'describe' command.
Move kconsole.c to generic/src/console.
Move kconsole.h to generic/include/console.
 
/kernel/trunk/generic/include/console/kconsole.h
/kernel/trunk/generic/src/console/kconsole.c
/kernel/trunk/generic/include/main/kconsole.h
/kernel/trunk/generic/src/main/kconsole.c
/kernel/trunk/Makefile
/kernel/trunk/generic/include/func.h
/kernel/trunk/generic/include/macros.h
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
517 6915 d 1 h jermar /kernel/trunk/ Implement basic kernel console command recognition.
Commands without arguments are now recognized.
 
/kernel/trunk/generic/include/macros.h
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/generic/include/console/console.h
/kernel/trunk/generic/include/func.h
/kernel/trunk/generic/include/main/kconsole.h
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/console/console.c
/kernel/trunk/generic/src/lib/func.c
/kernel/trunk/generic/src/main/kconsole.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
512 6917 d 10 h jermar /kernel/trunk/ SMP work.
Add madt_irq_to_pin().
Make ksmp() use virtual irq_to_pin() function, which makes better sence for ACPI configurations.
 
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/ia32/include/smp/apic.h
/kernel/trunk/arch/ia32/include/smp/mps.h
/kernel/trunk/arch/ia32/include/smp/smp.h
/kernel/trunk/arch/ia32/src/drivers/i8042.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia32/src/smp/apic.c
/kernel/trunk/arch/ia32/src/smp/mps.c
/kernel/trunk/arch/ia32/src/smp/smp.c
/kernel/trunk/genarch/src/acpi/matd.c
/kernel/trunk/generic/src/main/kconsole.c
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
510 6918 d 0 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.
 
/kernel/trunk/generic/include/console
/kernel/trunk/generic/include/console/chardev.h
/kernel/trunk/generic/include/console/console.h
/kernel/trunk/generic/include/main/kconsole.h
/kernel/trunk/generic/src/console
/kernel/trunk/generic/src/console/chardev.c
/kernel/trunk/generic/src/console/console.c
/kernel/trunk/generic/src/main/kconsole.c
/kernel/trunk/Makefile
/kernel/trunk/arch/mips32/src/drivers/keyboard.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/generic/include/typedefs.h
/kernel/trunk/generic/src/main/kinit.c
/kernel/trunk/generic/src/main/main.c
506 6918 d 5 h decky /kernel/trunk/ preparation for init task loading  
/kernel/trunk/arch/ia32/include/boot/memmapasm.h
/kernel/trunk/arch/ia32/include/boot/boot.h
/kernel/trunk/arch/ia32/include/boot/memmap.h
/kernel/trunk/arch/ia32/src/boot/boot.S
/kernel/trunk/arch/ia32/src/boot/memmap.S
/kernel/trunk/arch/mips32/Makefile.inc
/kernel/trunk/contrib/conf/msim.conf
/kernel/trunk/generic/src/main/main.c
503 6918 d 7 h jermar /kernel/trunk/ Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP).
 
/kernel/trunk/arch/amd64/src/amd64.c
/kernel/trunk/arch/ia32/src/ia32.c
/kernel/trunk/arch/ia64/src/dummy.s
/kernel/trunk/arch/ia64/src/ia64.c
/kernel/trunk/arch/mips32/src/mips32.c
/kernel/trunk/arch/ppc32/src/ppc32.c
/kernel/trunk/arch/sparc64/src/sparc64.c
/kernel/trunk/generic/include/arch.h
/kernel/trunk/generic/src/main/main.c
501 6918 d 9 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
470 6931 d 22 h jermar /SPARTAN/trunk/ ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.

ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement.
 
/SPARTAN/trunk/arch/ia64/src/interrupt_handler.c
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/asm.h
/SPARTAN/trunk/arch/ia64/include/interrupt.h
/SPARTAN/trunk/arch/ia64/include/register.h
/SPARTAN/trunk/arch/ia64/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia64/src/ia64.c
/SPARTAN/trunk/arch/ia64/src/interrupt.c
/SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/generic/src/main/main.c
463 6932 d 9 h decky /SPARTAN/trunk/ even fancier release/revision display  
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/generic/src/main/main.c
462 6932 d 9 h decky /SPARTAN/trunk/ include svn revision and build time in the kernel  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/generic/src/main/main.c
460 6932 d 11 h decky /SPARTAN/trunk/ some fancy stuff  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/generic/src/main/main.c
458 6932 d 11 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/src/atomic.S
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/ipi.c
/SPARTAN/trunk/arch/ia32/src/smp/mps.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/genarch/src/acpi/matd.c
/SPARTAN/trunk/generic/include/cpu.h
/SPARTAN/trunk/generic/include/mm/tlb.h
/SPARTAN/trunk/generic/include/smp/ipi.h
/SPARTAN/trunk/generic/include/smp/smp.h
/SPARTAN/trunk/generic/include/synch/spinlock.h
/SPARTAN/trunk/generic/src/cpu/cpu.c
/SPARTAN/trunk/generic/src/main/kinit.c
/SPARTAN/trunk/generic/src/main/main.c
/SPARTAN/trunk/generic/src/mm/tlb.c
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/smp/ipi.c
/SPARTAN/trunk/generic/src/synch/spinlock.c
430 6939 d 1 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
/SPARTAN/trunk/generic
/SPARTAN/trunk/generic/include
/SPARTAN/trunk/generic/src
/SPARTAN/trunk/include
/SPARTAN/trunk/src
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/generic/src/main/kinit.c
414 6953 d 14 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/src/context.S
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/src/context.S
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/src/context.S
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/waitq.c
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/mips32/gencontext.c
413 6954 d 0 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
/SPARTAN/trunk/arch/amd64/include/asm.h
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/include/types.h
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/include/types.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/mips32/include/context.h
/SPARTAN/trunk/arch/mips32/include/types.h
/SPARTAN/trunk/arch/mips32/src/drivers/arc.c
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/interrupt.c
/SPARTAN/trunk/arch/mips32/src/mips32.c
/SPARTAN/trunk/arch/mips32/src/mm/asid.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/arch/mips32/src/mm/vm.c
/SPARTAN/trunk/arch/ppc32/include/asm.h
/SPARTAN/trunk/arch/ppc32/include/context.h
/SPARTAN/trunk/arch/ppc32/include/types.h
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/task.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/semaphore.c
/SPARTAN/trunk/src/synch/waitq.c
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/src/time/delay.c
/SPARTAN/trunk/src/time/timeout.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/mips32/gencontext.c
402 6961 d 12 h jermar /SPARTAN/trunk/ Add ALIGN() macro.

Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review.
 
/SPARTAN/trunk/include/align.h
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/src/main/main.c
389 6967 d 12 h jermar /SPARTAN/trunk/ MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.

Other architectures: add dummy tlb_init_arch().
 
/SPARTAN/trunk/arch/amd64/include/mm/tlb.h
/SPARTAN/trunk/arch/ia32/include/mm/tlb.h
/SPARTAN/trunk/arch/ia64/include/mm/tlb.h
/SPARTAN/trunk/arch/ppc32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/include/cp0.h
/SPARTAN/trunk/arch/mips32/include/mm/tlb.h
/SPARTAN/trunk/arch/mips32/src/asm.S
/SPARTAN/trunk/arch/mips32/src/exception.c
/SPARTAN/trunk/arch/mips32/src/mm/tlb.c
/SPARTAN/trunk/include/mm/tlb.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/tlb.c
374 6978 d 1 h jermar /SPARTAN/trunk/ Revert previous change in frame_t as it broke IA-64.
(Most likely some alignment problem.)

Rename heap_init(), malloc() and free(), respectively, to early_heap_init(), early_malloc() and early_free(), respectively.
Define new macros malloc() and free(). They are to be replaced by real functions some day.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
373 6978 d 3 h jermar /SPARTAN/trunk/ Physical memory management work.
Add "__attribute__ ((packed))" to frame_t so that it takes up less space.
Note that this is essential as there is lot of these structures.
Remove busy list from zone_t as it is redundant.
 
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/mm/frame.c
369 6980 d 4 h jermar /SPARTAN/trunk/src/main/ The more physical frames, the more memory allocated for heap.  
/SPARTAN/trunk/src/main/main.c

Show All