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 6797 d 12 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
510 6801 d 11 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
501 6801 d 20 h jermar / Rename HelenOS/SPARTAN to HelenOS/kernel.  
/kernel
/SPARTAN
486 6809 d 13 h jermar /SPARTAN/trunk/ Revert to -O3 for all architectures as the mips32 bug got fixed.  
/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/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
485 6809 d 13 h decky /SPARTAN/trunk/ fix small clean bug  
/SPARTAN/trunk/Makefile
483 6809 d 15 h jermar /SPARTAN/trunk/ For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).

New mips32 atomic_add() function.

Cleanup.
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/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/include/atomic.h
/SPARTAN/trunk/arch/mips32/include/cpu.h
/SPARTAN/trunk/arch/mips32/src/interrupt.c
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/generic/include/arch.h
/SPARTAN/trunk/generic/include/config.h
/SPARTAN/trunk/generic/include/cpu.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/include/synch/rwlock.h
/SPARTAN/trunk/generic/include/typedefs.h
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/test/fpu/fpu1/test.c
/SPARTAN/trunk/test/fpu/mips1/test.c
/SPARTAN/trunk/test/fpu/sse1/test.c
/SPARTAN/trunk/test/synch/rwlock5/test.c
474 6813 d 21 h decky /SPARTAN/trunk/ clean test directory  
/SPARTAN/trunk/Makefile
472 6814 d 21 h jermar /SPARTAN/trunk/ Changes in build system.
For .S targets, always do -D__ASM__.
Remove unnecessary #define __ASM__ from various *.S files.
At the end of build, generate disassembler dump for kernel.raw.

ia64 work.
Better General Exception handler.
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/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/interrupt.c
/SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/mips32/src/context.S
/SPARTAN/trunk/arch/mips32/src/start.S
/SPARTAN/trunk/arch/sparc64/src/context.S
471 6814 d 21 h decky /SPARTAN/trunk/ remove NDEBUG, replace it by ~CONFIG_DEBUG
set CONFIG_DEBUG = y
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/generic/include/debug.h
/SPARTAN/trunk/generic/include/panic.h
462 6815 d 21 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
461 6815 d 22 h decky /SPARTAN/trunk/ link kernel in ARCH's native format first, then use objcopy to create output format  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/mips32/_link.ld.in
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/_link.ld.in
460 6815 d 22 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
459 6815 d 22 h decky /SPARTAN/trunk/ build system: CONFIG_TEST, CONFIG_USERSPACE  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/generic/src/main/kinit.c
458 6815 d 23 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
457 6815 d 23 h decky /SPARTAN/trunk/ new build system almost finished  
/SPARTAN/trunk/arch/amd64/include/atomic.h
/SPARTAN/trunk/arch/amd64/include/barrier.h
/SPARTAN/trunk/arch/amd64/include/bios
/SPARTAN/trunk/arch/amd64/include/boot/memmap.h
/SPARTAN/trunk/arch/amd64/include/boot/memmapasm.h
/SPARTAN/trunk/arch/amd64/include/context_offset.h
/SPARTAN/trunk/arch/amd64/include/ega.h
/SPARTAN/trunk/arch/amd64/include/fpu_context.h
/SPARTAN/trunk/arch/amd64/include/i8042.h
/SPARTAN/trunk/arch/amd64/include/i8254.h
/SPARTAN/trunk/arch/amd64/include/i8259.h
/SPARTAN/trunk/arch/amd64/include/interrupt.h
/SPARTAN/trunk/arch/amd64/include/mm/memory_init.h
/SPARTAN/trunk/arch/amd64/include/smp
/SPARTAN/trunk/arch/amd64/src/bios
/SPARTAN/trunk/arch/amd64/src/boot/memmap.S
/SPARTAN/trunk/arch/amd64/src/drivers
/SPARTAN/trunk/arch/amd64/src/fmath.c
/SPARTAN/trunk/arch/amd64/src/mm/frame.c
/SPARTAN/trunk/arch/amd64/src/mm/memory_init.c
/SPARTAN/trunk/arch/amd64/src/mm/tlb.c
/SPARTAN/trunk/arch/amd64/src/smp/apic.c
/SPARTAN/trunk/arch/amd64/src/smp/ipi.c
/SPARTAN/trunk/arch/amd64/src/smp/mps.c
/SPARTAN/trunk/arch/amd64/src/smp/smp.c
/SPARTAN/trunk/arch/mips32/include/context_offset.h
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/amd64/boot/Makefile
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/include/barrier.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/_link.ld.in
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/mips32/boot/boot.S
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/_link.ld.in
/SPARTAN/trunk/build.ia32
455 6816 d 11 h decky /SPARTAN/trunk/ new build system upgrade
finished work for IA-32, IA-64, PPC-32, SPARC-64
 
/SPARTAN/trunk/arch/ia64/_link.ld.in
/SPARTAN/trunk/arch/ppc32/_link.ld.in
/SPARTAN/trunk/arch/sparc64/_link.ld.in
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/arch/ia64/_link.ld
/SPARTAN/trunk/arch/ppc32/_link.ld
/SPARTAN/trunk/arch/sparc64/_link.ld
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/boot/Makefile
/SPARTAN/trunk/arch/sparc64/Makefile.inc
/SPARTAN/trunk/arch/sparc64/boot/Makefile
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/clean
454 6816 d 14 h decky /SPARTAN/trunk/ build system: boot target  
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/ia32/boot/Makefile
452 6816 d 15 h decky /SPARTAN/trunk/ major build system revision (unfinished)
this patchset most definitively breaks a lot of things, be patient
 
/SPARTAN/trunk/clean
/SPARTAN/trunk/genarch/include/acpi
/SPARTAN/trunk/genarch/include/acpi/acpi.h
/SPARTAN/trunk/genarch/include/acpi/madt.h
/SPARTAN/trunk/genarch/src/acpi
/SPARTAN/trunk/genarch/src/acpi/acpi.c
/SPARTAN/trunk/genarch/src/acpi/matd.c
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/build.sparc64
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/clean.sparc64
/SPARTAN/trunk/genarch/include/firmware/acpi
/SPARTAN/trunk/genarch/src/firmware/acpi
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/arch/amd64/src/amd64.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/include/ega.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/generic/include/print.h
/SPARTAN/trunk/generic/include/proc/scheduler.h
/SPARTAN/trunk/generic/include/proc/thread.h
/SPARTAN/trunk/generic/src/debug/print.c
/SPARTAN/trunk/generic/src/main/kinit.c
/SPARTAN/trunk/generic/src/proc/scheduler.c
/SPARTAN/trunk/generic/src/proc/thread.c
430 6822 d 13 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
421 6829 d 11 h jermar /SPARTAN/trunk/ Create genarch directory.
Move ppc32 ofw.[ch] to genarch.
Fix prototype for ofw_call() to return __address instead of int (please review).
Fix copyright notice in sparc64/boot/boot.S.
 
/SPARTAN/trunk/genarch
/SPARTAN/trunk/genarch/Makefile.inc
/SPARTAN/trunk/genarch/include
/SPARTAN/trunk/genarch/include/firmware
/SPARTAN/trunk/genarch/include/firmware/ofw
/SPARTAN/trunk/genarch/include/firmware/ofw/ofw.h
/SPARTAN/trunk/genarch/src
/SPARTAN/trunk/genarch/src/firmware
/SPARTAN/trunk/genarch/src/firmware/ofw
/SPARTAN/trunk/genarch/src/firmware/ofw/ofw.c
/SPARTAN/trunk/arch/ppc32/include/drivers/ofw.h
/SPARTAN/trunk/arch/ppc32/src/drivers/ofw.c
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/include/arch.h
/SPARTAN/trunk/arch/ppc32/src/mm/memory_init.c
/SPARTAN/trunk/arch/sparc64/boot/boot.S
/SPARTAN/trunk/arch/sparc64/src/dummy.s
377 6859 d 15 h jermar /SPARTAN/trunk/ Generic buddy allocator.
Please review the code before it is deployed.
 
/SPARTAN/trunk/include/mm/buddy.h
/SPARTAN/trunk/src/mm/buddy.c
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/include/typedefs.h
376 6859 d 18 h jermar /SPARTAN/trunk/ Move kernel build files one level up the directory tree.
Fix paths in your testing environment!
 
/SPARTAN/trunk/Makefile
/SPARTAN/trunk/Makefile.config
/SPARTAN/trunk/build.amd64
/SPARTAN/trunk/build.ia32
/SPARTAN/trunk/build.ia64
/SPARTAN/trunk/build.mips32
/SPARTAN/trunk/build.ppc32
/SPARTAN/trunk/clean.amd64
/SPARTAN/trunk/clean.ia32
/SPARTAN/trunk/clean.ia64
/SPARTAN/trunk/clean.mips32
/SPARTAN/trunk/clean.ppc32
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/build.ia32
/SPARTAN/trunk/src/build.ia64
/SPARTAN/trunk/src/build.mips32
/SPARTAN/trunk/src/build.ppc32
/SPARTAN/trunk/src/clean.amd64
/SPARTAN/trunk/src/clean.ia32
/SPARTAN/trunk/src/clean.ia64
/SPARTAN/trunk/src/clean.mips32
/SPARTAN/trunk/src/clean.ppc32
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/boot/Makefile
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/boot/Makefile
/SPARTAN/trunk/arch/mips32/Makefile.inc
/SPARTAN/trunk/arch/mips32/boot/Makefile
/SPARTAN/trunk/arch/ppc32/Makefile.inc
/SPARTAN/trunk/arch/ppc32/boot/Makefile
/SPARTAN/trunk/contrib/conf/SPMIPS.simics
/SPARTAN/trunk/contrib/conf/dot.bochsrc
/SPARTAN/trunk/contrib/conf/ski.conf
350 6869 d 14 h jermar /SPARTAN/trunk/src/ Remove _qsort() as its concept is fundamentally broken.

Move lib/the.c to proc/the.c.
 
/SPARTAN/trunk/src/proc/the.c
/SPARTAN/trunk/src/lib/the.c
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/lib/sort.c
331 6873 d 23 h bondari /SPARTAN/trunk/ Generic quicksort and bubble sort implementation.
ACPI MADT parser now uses qsort() for index sorting
 
/SPARTAN/trunk/include/sort.h
/SPARTAN/trunk/src/lib/sort.c
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/lib/func.c
326 6875 d 10 h palkovsky /SPARTAN/trunk/ Cleanup of makefiles to have common options in one main makefile.

Add simple build process for different simulators for MIPS.
Added FPU context & lazy FPU context switching to MIPS.
Cleanup of MIPS linker script.
Moved MIPS kernel above 1MB. Not tested on real machine yet, but it might help.

There is something broken with gcc inlined memcpy (either simulator or gcc), it is disabled on BigEndian mips now.
 
/SPARTAN/trunk/arch/mips/_link.ld.in
/SPARTAN/trunk/test/fpu/mips1
/SPARTAN/trunk/test/fpu/mips1/test.c
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/boot/boot.S
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/include/asm/boot.h
/SPARTAN/trunk/arch/mips/include/byteorder.h
/SPARTAN/trunk/arch/mips/include/cp0.h
/SPARTAN/trunk/arch/mips/include/exception.h
/SPARTAN/trunk/arch/mips/include/fpu_context.h
/SPARTAN/trunk/arch/mips/include/thread.h
/SPARTAN/trunk/arch/mips/src/asm.S
/SPARTAN/trunk/arch/mips/src/console.c
/SPARTAN/trunk/arch/mips/src/dummy.S
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/arch/mips/src/mm/frame.c
/SPARTAN/trunk/arch/mips/src/panic.S
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/contrib/conf/msim.conf
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/build.mips
/SPARTAN/trunk/src/clean.mips
314 6878 d 12 h palkovsky /SPARTAN/trunk/ Small cleanups  
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/mips/src/asm.S
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/src/Makefile
293 6880 d 11 h palkovsky /SPARTAN/trunk/ Symbol table now contains static functions too.
NOTE: gcc heavily inlines, be aware of optimizations.

Removed excesive item from boot page tables.
 
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/tools/genmap.py
289 6880 d 15 h palkovsky /SPARTAN/trunk/ Added preprocessed linker script to AMD architecture, so that
the constants are all only in the header files.
 
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/amd64/_link.ld
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/include/mm/page.h
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/clean.amd64
288 6880 d 17 h jermar /SPARTAN/trunk/ Create tools/ directory.
Move helper scripts and tools out of src/ and arch/.
 
/SPARTAN/trunk/tools
/SPARTAN/trunk/tools/amd64
/SPARTAN/trunk/tools/amd64/gencontext.c
/SPARTAN/trunk/tools/genmap.py
/SPARTAN/trunk/arch/amd64/src/gencontext.c
/SPARTAN/trunk/src/debug/genmap.py
/SPARTAN/trunk/arch/amd64/src/boot/boot.S
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/clean.amd64
268 6881 d 18 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
184 6886 d 1 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.
 
/SPARTAN/trunk/src/lib/the.c
/SPARTAN/trunk/arch/ia32/src/proc/scheduler.c
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
179 6886 d 17 h decky /SPARTAN/trunk/ frmaebuffer font  
/SPARTAN/trunk/include/fb
/SPARTAN/trunk/include/fb/font-8x16.h
/SPARTAN/trunk/src/fb
/SPARTAN/trunk/src/fb/font-8x16.c
/SPARTAN/trunk/src/Makefile
171 6891 d 23 h jermar /SPARTAN/trunk/ Make rwlock test #3 compile again.

Make rwlock test #4 preemption-safe.

Prepare for preemption controlling functions.
 
/SPARTAN/trunk/include/preemption.h
/SPARTAN/trunk/src/preempt
/SPARTAN/trunk/src/preempt/preemption.c
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/test/synch/rwlock3/test.c
/SPARTAN/trunk/test/synch/rwlock4/test.c
111 6970 d 15 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
76 6995 d 14 h jermar /SPARTAN/trunk/ For each architecture, add function/macro FADDR that calculates absolute address of a function referenced by void (* f)(void).
IA-32 and MIPS gcc's use direct addressing (f == FADDR(f)) while IA-64 gcc uses indirect addressing (f != FADDR(f)).

Tweaks in IA-64 Makefile.inc to declare constant gp and main Makefile to consider ASFLAGS when compiling .s targets.
 
/SPARTAN/trunk/arch/ia32/include/faddr.h
/SPARTAN/trunk/arch/ia64/include/faddr.h
/SPARTAN/trunk/arch/mips/include/faddr.h
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/thread.c
59 6997 d 11 h jermar /SPARTAN/trunk/ Move architecture independent memcopy() and memsetb() out of MIPS subtree and place them in src/lib/ as _memcopy() and _memsetb().
Add MIPS native memsetb().
Add IA-64 native memcpy().

More complete and *almost* functional versions of IA-64 context_save() and context_restore().
 
/SPARTAN/trunk/arch/ia64/src/asm.S
/SPARTAN/trunk/src/lib/memstr.c
/SPARTAN/trunk/arch/mips/src/lib
/SPARTAN/trunk/arch/ia64/Makefile.inc
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/src/Makefile
34 7007 d 18 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
10 7071 d 23 h jermar /SPARTAN/trunk/ Be more careful when sending IPI on UP configured as SMP.  
/SPARTAN/trunk/src/smp
/SPARTAN/trunk/src/smp/ipi.c
/SPARTAN/trunk/arch/ia32/src/smp/ipi.c
/SPARTAN/trunk/include/smp/ipi.h
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/proc/thread.c
1 7078 d 18 h jermar /SPARTAN/ Initial import  
/SPARTAN
/SPARTAN/branches
/SPARTAN/tags
/SPARTAN/trunk
/SPARTAN/trunk/arch
/SPARTAN/trunk/arch/ia32
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/ia32/boot
/SPARTAN/trunk/arch/ia32/boot/Makefile
/SPARTAN/trunk/arch/ia32/boot/boot.S
/SPARTAN/trunk/arch/ia32/boot/boot.ld
/SPARTAN/trunk/arch/ia32/include
/SPARTAN/trunk/arch/ia32/include/ap.h
/SPARTAN/trunk/arch/ia32/include/apic.h
/SPARTAN/trunk/arch/ia32/include/asm.h
/SPARTAN/trunk/arch/ia32/include/atomic.h
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/include/cpuid.h
/SPARTAN/trunk/arch/ia32/include/ega.h
/SPARTAN/trunk/arch/ia32/include/i8042.h
/SPARTAN/trunk/arch/ia32/include/i8254.h
/SPARTAN/trunk/arch/ia32/include/i8259.h
/SPARTAN/trunk/arch/ia32/include/interrupt.h
/SPARTAN/trunk/arch/ia32/include/mm
/SPARTAN/trunk/arch/ia32/include/mm/frame.h
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia32/include/mm/vm.h
/SPARTAN/trunk/arch/ia32/include/mp.h
/SPARTAN/trunk/arch/ia32/include/pm.h
/SPARTAN/trunk/arch/ia32/include/thread.h
/SPARTAN/trunk/arch/ia32/include/types.h
/SPARTAN/trunk/arch/ia32/src
/SPARTAN/trunk/arch/ia32/src/asm.s
/SPARTAN/trunk/arch/ia32/src/boot
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/context.s
/SPARTAN/trunk/arch/ia32/src/cpu
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/cpuid.s
/SPARTAN/trunk/arch/ia32/src/debug
/SPARTAN/trunk/arch/ia32/src/debug/panic.s
/SPARTAN/trunk/arch/ia32/src/delay.s
/SPARTAN/trunk/arch/ia32/src/drivers
/SPARTAN/trunk/arch/ia32/src/drivers/ega.c
/SPARTAN/trunk/arch/ia32/src/drivers/i8042.c
/SPARTAN/trunk/arch/ia32/src/drivers/i8254.c
/SPARTAN/trunk/arch/ia32/src/drivers/i8259.c
/SPARTAN/trunk/arch/ia32/src/ia32.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia32/src/mm
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/mm/tlb.c
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/apic.c
/SPARTAN/trunk/arch/ia32/src/smp/atomic.S
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
/SPARTAN/trunk/arch/ia32/src/userspace.c
/SPARTAN/trunk/arch/mips
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/arch/mips/boot
/SPARTAN/trunk/arch/mips/boot/Makefile
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/include
/SPARTAN/trunk/arch/mips/include/asm
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/include/asm/macro.h
/SPARTAN/trunk/arch/mips/include/atomic.h
/SPARTAN/trunk/arch/mips/include/cache.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/arch/mips/include/cp0.h
/SPARTAN/trunk/arch/mips/include/cpu.h
/SPARTAN/trunk/arch/mips/include/exception.h
/SPARTAN/trunk/arch/mips/include/interrupt.h
/SPARTAN/trunk/arch/mips/include/mm
/SPARTAN/trunk/arch/mips/include/mm/frame.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/include/mm/tlb.h
/SPARTAN/trunk/arch/mips/include/mm/vm.h
/SPARTAN/trunk/arch/mips/include/thread.h
/SPARTAN/trunk/arch/mips/include/types.h
/SPARTAN/trunk/arch/mips/src
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/arch/mips/src/cache.c
/SPARTAN/trunk/arch/mips/src/context.S
/SPARTAN/trunk/arch/mips/src/cpu
/SPARTAN/trunk/arch/mips/src/cpu/cpu.c
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/fake.s
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/lib
/SPARTAN/trunk/arch/mips/src/lib/memstr.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/arch/mips/src/mm
/SPARTAN/trunk/arch/mips/src/mm/frame.c
/SPARTAN/trunk/arch/mips/src/mm/page.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/panic.s
/SPARTAN/trunk/arch/mips/src/putchar.c
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/arch/powerpc
/SPARTAN/trunk/arch/powerpc/Makefile.inc
/SPARTAN/trunk/arch/powerpc/_link.ld
/SPARTAN/trunk/arch/powerpc/boot
/SPARTAN/trunk/arch/powerpc/boot/Makefile
/SPARTAN/trunk/arch/powerpc/boot/boot.s
/SPARTAN/trunk/arch/powerpc/src
/SPARTAN/trunk/arch/powerpc/src/powerpc.c
/SPARTAN/trunk/doc
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/doc/mips
/SPARTAN/trunk/doc/preemption
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/doc/synchronization
/SPARTAN/trunk/include
/SPARTAN/trunk/include/arch.h
/SPARTAN/trunk/include/config.h
/SPARTAN/trunk/include/context.h
/SPARTAN/trunk/include/cpu.h
/SPARTAN/trunk/include/func.h
/SPARTAN/trunk/include/list.h
/SPARTAN/trunk/include/main
/SPARTAN/trunk/include/main/kinit.h
/SPARTAN/trunk/include/main/uinit.h
/SPARTAN/trunk/include/memstr.h
/SPARTAN/trunk/include/mm
/SPARTAN/trunk/include/mm/frame.h
/SPARTAN/trunk/include/mm/heap.h
/SPARTAN/trunk/include/mm/page.h
/SPARTAN/trunk/include/mm/tlb.h
/SPARTAN/trunk/include/mm/vm.h
/SPARTAN/trunk/include/panic.h
/SPARTAN/trunk/include/print.h
/SPARTAN/trunk/include/proc
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/include/proc/task.h
/SPARTAN/trunk/include/proc/thread.h
/SPARTAN/trunk/include/putchar.h
/SPARTAN/trunk/include/synch
/SPARTAN/trunk/include/synch/condvar.h
/SPARTAN/trunk/include/synch/mutex.h
/SPARTAN/trunk/include/synch/rwlock.h
/SPARTAN/trunk/include/synch/semaphore.h
/SPARTAN/trunk/include/synch/spinlock.h
/SPARTAN/trunk/include/synch/synch.h
/SPARTAN/trunk/include/synch/waitq.h
/SPARTAN/trunk/include/test.h
/SPARTAN/trunk/include/time
/SPARTAN/trunk/include/time/clock.h
/SPARTAN/trunk/include/time/delay.h
/SPARTAN/trunk/include/time/timeout.h
/SPARTAN/trunk/include/typedefs.h
/SPARTAN/trunk/include/userspace.h
/SPARTAN/trunk/src
/SPARTAN/trunk/src/Makefile
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/cpu
/SPARTAN/trunk/src/cpu/cpu.c
/SPARTAN/trunk/src/debug
/SPARTAN/trunk/src/debug/print.c
/SPARTAN/trunk/src/lib
/SPARTAN/trunk/src/lib/func.c
/SPARTAN/trunk/src/lib/list.c
/SPARTAN/trunk/src/main
/SPARTAN/trunk/src/main/kinit.c
/SPARTAN/trunk/src/main/main.c
/SPARTAN/trunk/src/main/uinit.c
/SPARTAN/trunk/src/mm
/SPARTAN/trunk/src/mm/frame.c
/SPARTAN/trunk/src/mm/heap.c
/SPARTAN/trunk/src/mm/page.c
/SPARTAN/trunk/src/mm/tlb.c
/SPARTAN/trunk/src/mm/vm.c
/SPARTAN/trunk/src/proc
/SPARTAN/trunk/src/proc/scheduler.c
/SPARTAN/trunk/src/proc/task.c
/SPARTAN/trunk/src/proc/thread.c
/SPARTAN/trunk/src/synch
/SPARTAN/trunk/src/synch/condvar.c
/SPARTAN/trunk/src/synch/mutex.c
/SPARTAN/trunk/src/synch/rwlock.c
/SPARTAN/trunk/src/synch/semaphore.c
/SPARTAN/trunk/src/synch/spinlock.c
/SPARTAN/trunk/src/synch/waitq.c
/SPARTAN/trunk/src/time
/SPARTAN/trunk/src/time/clock.c
/SPARTAN/trunk/src/time/delay.c
/SPARTAN/trunk/src/time/timeout.c
/SPARTAN/trunk/test
/SPARTAN/trunk/test/synch
/SPARTAN/trunk/test/synch/rwlock1
/SPARTAN/trunk/test/synch/rwlock1/test.c
/SPARTAN/trunk/test/synch/rwlock2
/SPARTAN/trunk/test/synch/rwlock2/test.c
/SPARTAN/trunk/test/synch/rwlock3
/SPARTAN/trunk/test/synch/rwlock3/test.c
/SPARTAN/trunk/test/synch/rwlock4
/SPARTAN/trunk/test/synch/rwlock4/test.c
/SPARTAN/trunk/test/synch/rwlock5
/SPARTAN/trunk/test/synch/rwlock5/test.c
/SPARTAN/trunk/test/synch/semaphore1
/SPARTAN/trunk/test/synch/semaphore1/test.c
/SPARTAN/trunk/test/synch/semaphore2
/SPARTAN/trunk/test/synch/semaphore2/test.c