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
628 6734 d 0 h decky /kernel/trunk/ ia32: floppy boot image uses GRUB  
625 6734 d 2 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 6734 d 8 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.
 
621 6735 d 3 h palkovsky /kernel/trunk/ better architecture line  
578 6739 d 16 h palkovsky /kernel/trunk/ Added exception printing.
It does not work correctly on SMP architectures :-/
Preemption error....
 
564 6741 d 19 h jermar /kernel/trunk/ Send in some improvements.  
562 6742 d 1 h decky /kernel/trunk/generic/src/main/ fix typo  
561 6742 d 1 h decky /kernel/trunk/ better way of placing revision, timestamp and arch in banner  
534 6744 d 22 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6744 d 23 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
523 6751 d 2 h jermar /kernel/trunk/ Clean up.  
518 6752 d 19 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 6753 d 19 h jermar /kernel/trunk/ Implement basic kernel console command recognition.
Commands without arguments are now recognized.
 
512 6756 d 5 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 6756 d 18 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 6756 d 23 h decky /kernel/trunk/ preparation for init task loading  
503 6757 d 2 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 6757 d 3 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
470 6770 d 17 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 6771 d 4 h decky /SPARTAN/trunk/ even fancier release/revision display  
462 6771 d 4 h decky /SPARTAN/trunk/ include svn revision and build time in the kernel  
460 6771 d 5 h decky /SPARTAN/trunk/ some fancy stuff  
458 6771 d 6 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
430 6777 d 20 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
414 6792 d 9 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 6792 d 19 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 6800 d 7 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 6806 d 7 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 6816 d 19 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 6816 d 21 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 6818 d 23 h jermar /SPARTAN/trunk/src/main/ The more physical frames, the more memory allocated for heap.  
298 6835 d 6 h decky /SPARTAN/trunk/ remove lower 2 GB identity mapping (IA-32)  
242 6838 d 4 h palkovsky /SPARTAN/trunk/ Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support.
 
238 6839 d 0 h vana /SPARTAN/trunk/ Register dump on IA-64 exceptions  
235 6839 d 1 h decky /SPARTAN/trunk/ load the kernel above 1 MB on IA-32  
220 6839 d 10 h vana /SPARTAN/trunk/ Universal exception handler and all exceptions routine to call it added  
212 6839 d 20 h vana /SPARTAN/trunk/ Basic exception support added for ia64 arch ......  
210 6839 d 20 h decky /SPARTAN/trunk/ many PPC stuff, platform dependent arch.h header files  
207 6840 d 6 h decky /SPARTAN/trunk/ separated stack mapping  
192 6841 d 0 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.