Subversion Repositories HelenOS-historic

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
578 6905 d 5 h palkovsky /kernel/trunk/ Added exception printing.
It does not work correctly on SMP architectures :-/
Preemption error....
 
564 6907 d 8 h jermar /kernel/trunk/ Send in some improvements.  
562 6907 d 14 h decky /kernel/trunk/generic/src/main/ fix typo  
561 6907 d 14 h decky /kernel/trunk/ better way of placing revision, timestamp and arch in banner  
534 6910 d 11 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6910 d 12 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
523 6916 d 15 h jermar /kernel/trunk/ Clean up.  
518 6918 d 8 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.
 
517 6919 d 8 h jermar /kernel/trunk/ Implement basic kernel console command recognition.
Commands without arguments are now recognized.
 
512 6921 d 18 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.
 
510 6922 d 7 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.
 
506 6922 d 12 h decky /kernel/trunk/ preparation for init task loading  
503 6922 d 15 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).
 
501 6922 d 16 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
470 6936 d 6 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.
 
463 6936 d 16 h decky /SPARTAN/trunk/ even fancier release/revision display  
462 6936 d 17 h decky /SPARTAN/trunk/ include svn revision and build time in the kernel  
460 6936 d 18 h decky /SPARTAN/trunk/ some fancy stuff  
458 6936 d 19 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
430 6943 d 9 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
414 6957 d 22 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.
 
413 6958 d 8 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.
 
402 6965 d 20 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.
 
389 6971 d 20 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().
 
374 6982 d 8 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.
 
373 6982 d 10 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.
 
369 6984 d 12 h jermar /SPARTAN/trunk/src/main/ The more physical frames, the more memory allocated for heap.  
298 7000 d 19 h decky /SPARTAN/trunk/ remove lower 2 GB identity mapping (IA-32)  
242 7003 d 17 h palkovsky /SPARTAN/trunk/ Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support.
 
238 7004 d 13 h vana /SPARTAN/trunk/ Register dump on IA-64 exceptions  
235 7004 d 14 h decky /SPARTAN/trunk/ load the kernel above 1 MB on IA-32  
220 7004 d 23 h vana /SPARTAN/trunk/ Universal exception handler and all exceptions routine to call it added  
212 7005 d 9 h vana /SPARTAN/trunk/ Basic exception support added for ia64 arch ......  
210 7005 d 9 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files  
207 7005 d 19 h decky /SPARTAN/trunk/ separated stack mapping  
192 7006 d 13 h jermar /SPARTAN/trunk/ Dump implementation of THREAD, TASK and CPU.
Implement preemption-safe versions of THREAD, TASK and CPU using THE.
Get rid of CPU_ID_ARCH on all architectures.
Get rid of write_dr0() and read_dr0() on IA-32.
Get rid of cpu_private_data and cpu_private_data_t.
 
184 7006 d 21 h jermar /SPARTAN/trunk/ Add lib/the.c.
Add and deploy the_initialize() and the_copy().

Make IA-32's before_thread_runs() use SP_DELTA macro.
 
180 7007 d 11 h jermar /SPARTAN/trunk/ Globalize 'size' and 'delta' and rename them to 'kernel_size' and 'heap_delta'.

Fix heap initialization to take 'heap_delta' into account.

Implement IA-64 get_stack_base().

Adjust SP_DELTA's to consider one extra word on stack.
(So that the stack pointer is within appropriate limits even on IA-64).

More #include cleanup.
 
177 7007 d 19 h jermar /SPARTAN/trunk/ Add some comments to IA-32 src/boot/boot.S and src/smp.S.

Make the boot stack start on page boundary.
This is required by get_stack_base().

Define 'THE' macro.

Implement preemption_disable() and preemption_enable().

Add memory barrier macros.
IA-32 macros need support for older processors.
Non IA-32 macros are dummy.

Reduction of many #include paths.
 
174 7011 d 10 h jermar /SPARTAN/trunk/ Small changes.
Coding style fix in main.c.
Make 'cli' be the first instruction in boot.S again.