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
1970 6443 d 2 h decky /trunk/kernel/arch/ia32/src/smp/ use new IRQ scheme in l_apic_timer_interrupt()  
1888 6487 d 22 h jermar /trunk/ C99 compliant header guards (hopefully) everywhere in the kernel.
Formatting and indentation changes.
Small improvements in sparc64.
 
1787 6552 d 21 h decky / move kernel/trunk, uspace/trunk and boot/trunk to trunk/kernel, trunk/uspace and trunk/boot  
1780 6559 d 22 h jermar /kernel/trunk/ Replace old __u?? types with respective C99 variants (e.g. uint32_t, int64_t, uintptr_t etc.).  
1708 6578 d 4 h jermar /kernel/trunk/ Fix some broken doxygen comments.  
1702 6581 d 1 h cejka /kernel/trunk/ Kernel doxygen comments updated.  
1684 6584 d 5 h jermar /kernel/trunk/ #ifdef more debugging printf()'s.  
1667 6585 d 23 h jermar /kernel/trunk/ Print spurious interrupt messages only when compiled with CONFIG_DEBUG.
Print warning about looping spinlock only after 100000000 unsuccessfull attempts to gain the spinlock.
 
1540 6591 d 7 h jermar /kernel/trunk/arch/ia32/src/smp/ Fix programming of local APIC timer to interrupt the processor
in the proper relation to HZ. (Was hardcoded to be each 1ms,
but should have been each 10ms).
 
1196 6639 d 2 h cejka /kernel/trunk/ Printf ported back from uspace to kernel.
Printf calls changed to match new conventions.
 
958 6672 d 19 h jermar /kernel/trunk/ Nicer ia32 interrupt handlers and structures holding interrupted context data.
Unify the name holding interrupted context data on all architectures to be istate.
 
812 6706 d 17 h jermar /kernel/trunk/ Documentation and dot.bochsrc upgrade.  
750 6715 d 19 h jermar /kernel/trunk/ ia32 SMP updates.
Update info about supported version of Bochs (bump the counter to 2.2.6).
Add Task Priority Register type and initialize this register to a known state.
 
693 6736 d 21 h decky /kernel/trunk/arch/ia32/ simplify and cleanup ia32 boot process, remove obsolete stuff  
672 6742 d 17 h jermar /kernel/trunk/arch/ia32/ ia32 work.
Initialize LDR and DFR registers in Local APIC so that logical destination addresses work.
 
576 6766 d 14 h palkovsky /kernel/trunk/ Changed ia32 & amd64 to use exc_register instead of trap_register.

Fixed dependency list building. I hope you all have 'makedepend' installed,
if you don't it's time to install it, as CC -M builds the dependency
list without directory names..and it just does not work.
 
534 6771 d 19 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel again.  
532 6771 d 20 h jermar / Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch.  
523 6777 d 23 h jermar /kernel/trunk/ Clean up.  
516 6781 d 20 h jermar /kernel/trunk/ Add VMware Workstation 5.5 to SMP compatibility list.  
515 6781 d 20 h jermar /kernel/trunk/ SMP cleanup continued.
Add nice type for IO APIC ID register.
Replace some magic numbers with more descriptive macros.
 
514 6782 d 14 h jermar /kernel/trunk/arch/ia32/ More SMP cleanup.
Suddenly, keyboard started to work on SMP under Simics.
Still not functional on Bochs (will consult Bochs people).
Doxygen style comments for apic.c.
 
513 6782 d 22 h jermar /kernel/trunk/arch/ia32/ APIC code cleanup.  
512 6783 d 2 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.
 
501 6784 d 0 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
458 6798 d 3 h decky /SPARTAN/trunk/ make configuration variables usage consistent  
437 6800 d 17 h decky /SPARTAN/trunk/arch/ia32/src/smp/ update comments  
268 6863 d 22 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
125 6913 d 17 h jermar /SPARTAN/trunk/ Huge indentation fix.  
117 6944 d 23 h jermar /SPARTAN/trunk/ Do panic() on page_fault().
Good for long testing in SMP mode as silent "extinctions" of a CPU are no longer supported.

Tiny changes here and there.
 
115 6949 d 15 h jermar /SPARTAN/trunk/ Implement several assembler functions in gcc's __asm__ notation instead of in .s or .S file.
Gain both better speed and size.
 
112 6952 d 18 h jermar /SPARTAN/trunk/ Define two placeholder functions for atomic_inc and atomic_dec on IA-64.

Add Ondrej Palkovsky to doc/AUTHORS.

Tweaks in IA-32 low level code to bring SMP back to life. (SMP still broken)
 
110 6954 d 0 h jermar /SPARTAN/trunk/ SMP recovery patch #1. (SMP still broken)
Move ap_boot() to K_TEXT_START_2 section.
Change ap_boot() to cope with mapping of kernel address space.
Change some addresses in mps.c from kernel to physical.

MIPS.
Move msim dprinter device to 0xB0000000.
This address is from kseg1 (unmapped, uncached) segment.
 
81 6972 d 18 h jermar /SPARTAN/trunk/ Add SP_DELTA macro for each architecture.
On IA-32, this macro represents two doublewords that must be on the stack when switching to a new stack.
On MIPS, there is no need to fix sp when switching to a new stack.
On IA-64, this macro is used to allocate the 16-byte scratch area.

IA-64 work.
Changes in start.S. More changes to come.
Define memcopy().

Janitorial fixes.
Add missing #include <panic.h> to rwlock4/test.c.
Remove wrong use of inline keyword from both declaration and definition of l_apic_id().
 
34 6989 d 22 h jermar /SPARTAN/trunk/ More ACPI work.
Initial MADT table parsing.

SMP renaming and reorganization to reflect there are more ways to bring SMP up.
 
31 6993 d 23 h jermar /SPARTAN/trunk/ Replace the deadlock-prone TLB shootdown algorithm with a deadlock-free implementation.
The implementation is a variant of the CMU TLB consistency algorithm.
Very inefficient implementation of a very inefficient (but correct) algorithm.
 
27 6995 d 17 h jermar /SPARTAN/trunk/ APIC changes and fixes.
Be more robust during MP configuration.

Do not use APIC ID as CPU_ID_ARCH anymore.
Changing APIC ID's is not a good idea.
Use dr0 register instead.
 
21 7003 d 22 h jermar /SPARTAN/trunk/arch/ia32/ Minor changes and cleanups of recent modifications.  
16 7009 d 22 h jermar /SPARTAN/trunk/ Switch from mm-based 'the' mechanism to macro-based 'cpu_private_data[CPU_ID_ARCH]' mechanism.
Added l_apic_id() and some other minor APIC changes.
Move gdtr to K_DATA_START section.
Move K_DATA_START section immediately behind K_TEXT_START section so that real-mode addresses work even with growing size of kernel code.
 
15 7010 d 21 h jermar /SPARTAN/trunk/ Introduce macros CPU, THREAD, TASK and use them to replace the->cpu, the->thread, the->task.
Later on, this will make it possible to reference *current* cpu, thread and/or task without the aid from virtual memory.