Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
1251 |
6734 d 11 h |
jermar |
/kernel/trunk/ |
Fix BITS2BYTES macro to return 0 when passed 0 as argument.
Fix ia32 TSS segment granularity to be 0.
Fix ia32 and amd64 initial TSS limit to be 103.
Little textual changes here and there. |
|
/kernel/trunk/arch/amd64/include/asm.h /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/asm.h /kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/proc/scheduler.c /kernel/trunk/generic/include/adt/bitmap.h
|
750 |
6823 d 5 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. |
|
/kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/smp/apic.c /kernel/trunk/doc/arch/amd64 /kernel/trunk/doc/arch/ia32
|
672 |
6850 d 3 h |
jermar |
/kernel/trunk/arch/ia32/ |
ia32 work.
Initialize LDR and DFR registers in Local APIC so that logical destination addresses work. |
|
/kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/smp/apic.c
|
576 |
6874 d 0 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. |
|
/kernel/trunk/Makefile /kernel/trunk/arch/amd64/src/amd64.c /kernel/trunk/arch/amd64/src/asm_utils.S /kernel/trunk/arch/amd64/src/interrupt.c /kernel/trunk/arch/amd64/src/mm/page.c /kernel/trunk/arch/amd64/src/pm.c /kernel/trunk/arch/ia32/include/i8042.h /kernel/trunk/arch/ia32/include/i8254.h /kernel/trunk/arch/ia32/include/i8259.h /kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/asm.S /kernel/trunk/arch/ia32/src/drivers/i8042.c /kernel/trunk/arch/ia32/src/drivers/i8254.c /kernel/trunk/arch/ia32/src/drivers/i8259.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia32/src/interrupt.c /kernel/trunk/arch/ia32/src/mm/page.c /kernel/trunk/arch/ia32/src/pm.c /kernel/trunk/arch/ia32/src/smp/apic.c
|
534 |
6879 d 6 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel again. |
|
/kernel
/SPARTAN
|
532 |
6879 d 6 h |
jermar |
/ |
Revert renaming of HelenOS/SPARTAN to HelenOS/kernel because of important pending patch. |
|
/SPARTAN
/kernel
|
515 |
6889 d 7 h |
jermar |
/kernel/trunk/ |
SMP cleanup continued.
Add nice type for IO APIC ID register.
Replace some magic numbers with more descriptive macros. |
|
/kernel/trunk/arch/ia32/include/interrupt.h /kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/smp/apic.c /kernel/trunk/genarch/include/acpi/madt.h /kernel/trunk/genarch/src/acpi/matd.c
|
514 |
6890 d 1 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. |
|
/kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/drivers/i8254.c /kernel/trunk/arch/ia32/src/ia32.c /kernel/trunk/arch/ia32/src/smp/apic.c
|
513 |
6890 d 8 h |
jermar |
/kernel/trunk/arch/ia32/ |
APIC code cleanup. |
|
/kernel/trunk/arch/ia32/include/smp/apic.h /kernel/trunk/arch/ia32/src/smp/apic.c
|
512 |
6890 d 12 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
|
501 |
6891 d 10 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
/kernel
/SPARTAN
|
273 |
6971 d 7 h |
palkovsky |
/SPARTAN/trunk/ |
Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme. |
|
/SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/ia32/include/smp/mps.h /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/src/Makefile.config
|
268 |
6971 d 9 h |
palkovsky |
/SPARTAN/trunk/ |
Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles. |
|
/SPARTAN/trunk/arch/amd64/include/boot/boot.h /SPARTAN/trunk/arch/amd64/src/smp /SPARTAN/trunk/include/symtab.h /SPARTAN/trunk/src/debug/genmap.py /SPARTAN/trunk/src/debug/symtab.c
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.c /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/arch/mips/src/mm/tlb.c /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/build.amd64
|
128 |
7018 d 13 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Create IA-32 interface for bringing SMP up.
This interface hides differences between ACPI MADT and MPS configuration tables.
Provide MPS implementation thereof. |
|
/SPARTAN/trunk/arch/ia32/include/smp/smp.h
/SPARTAN/trunk/arch/ia32/include/smp/mps.h /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c
|
111 |
7060 d 5 h |
palkovsky |
/SPARTAN/trunk/ |
Code cleanup in scheduler.c thread.c - removed unnecessary spinlock.
atomic_inc, atomic_dec moved to arch/atomic.h instead of arch/smp/atomic.h,
advisable to use even in non-smp mode.
Fixed atomic_inc, atomic_dec in mips architecture. |
|
/SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/arch/ia32/src/atomic.S /SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/arch/ia32/include/smp/atomic.h /SPARTAN/trunk/arch/ia32/src/smp/atomic.S /SPARTAN/trunk/arch/mips/include/smp/atomic.h
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/mm/tlb.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/src/synch/spinlock.c /SPARTAN/trunk/src/time/clock.c /SPARTAN/trunk/test/fpu/fpu1/test.c /SPARTAN/trunk/test/synch/rwlock1/test.c /SPARTAN/trunk/test/synch/rwlock2/test.c /SPARTAN/trunk/test/synch/rwlock3/test.c /SPARTAN/trunk/test/synch/rwlock4/test.c /SPARTAN/trunk/test/synch/rwlock5/test.c /SPARTAN/trunk/test/synch/semaphore1/test.c /SPARTAN/trunk/test/synch/semaphore2/test.c
|
81 |
7080 d 5 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(). |
|
/SPARTAN/trunk/arch/ia32/include/context.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia64/include/context.h /SPARTAN/trunk/arch/ia64/src/asm.S /SPARTAN/trunk/arch/ia64/src/start.S /SPARTAN/trunk/arch/mips/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c /SPARTAN/trunk/test/synch/rwlock4/test.c
|
34 |
7097 d 9 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. |
|
/SPARTAN/trunk/arch/ia32/include/smp/mps.h /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/include/smp/smp.h
/SPARTAN/trunk/arch/ia32/include/smp/mp.h /SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/include/acpi/madt.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.c /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/src/Makefile /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/main/main.c
|
27 |
7103 d 3 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. |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/asm.s /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/ia32/src/smp/mp.c /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/main/main.c
|
21 |
7111 d 8 h |
jermar |
/SPARTAN/trunk/arch/ia32/ |
Minor changes and cleanups of recent modifications. |
|
/SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c
|
16 |
7117 d 9 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. |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/boot/boot.ld /SPARTAN/trunk/arch/ia32/include/cpu.h /SPARTAN/trunk/arch/ia32/include/smp/apic.h /SPARTAN/trunk/arch/ia32/src/cpu/cpu.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/apic.c /SPARTAN/trunk/arch/mips/include/cpu.h /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/cpu/cpu.c /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/thread.c
|