Subversion Repositories HelenOS-historic

Rev

Go to most recent revision | Hide changed files | Directory listing | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
326 6856 d 12 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
325 6856 d 20 h palkovsky /SPARTAN/trunk/arch/mips/include/ Forgotten file...  
/SPARTAN/trunk/arch/mips/include/console.h
324 6856 d 23 h palkovsky /SPARTAN/trunk/ MIPS architecture now works without any problems in
- msim: compile as OUTPUT_FORMAT(binary)
- gxemul: compile as OUTPUT_FORMAT(ecoff-littlemips), or create
configuration file for binary format (will be done later)
- simics: compile as OUTPUT_FORMAT(elf32-little), might work with binary
format, didn't try yet.
 
/SPARTAN/trunk/arch/mips/src/console.c
/SPARTAN/trunk/contrib/conf/SPMIPS.simics
/SPARTAN/trunk/contrib/conf/spmips.conf
/SPARTAN/trunk/arch/mips/src/putchar.c
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/_link.ld
/SPARTAN/trunk/arch/mips/src/cpu/cpu.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
323 6857 d 1 h jermar /SPARTAN/trunk/ Add comments for new floating point modifiers to print.c.
Remove left-over comments from AMD64 and IA-32 page.c.
Coding style clean up.
 
/SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/asm.S
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/doc/TODO
/SPARTAN/trunk/src/debug/print.c
322 6857 d 14 h jermar /SPARTAN/trunk/arch/ia64/ Reduce IA-64 context_t according to IA-64 ABI.

Make IA-64 port compile again.
 
/SPARTAN/trunk/arch/ia64/include/context.h
/SPARTAN/trunk/arch/ia64/src/context.S
/SPARTAN/trunk/arch/ia64/src/dummy.s
321 6857 d 16 h palkovsky /SPARTAN/trunk/arch/mips/boot/ Fixed bad instructions in loader.  
/SPARTAN/trunk/arch/mips/boot/_link.ld
/SPARTAN/trunk/arch/mips/boot/Makefile
320 6857 d 16 h palkovsky /SPARTAN/trunk/arch/mips/src/ Bad stack settings. Why did not msim complain??  
/SPARTAN/trunk/arch/mips/src/start.S
319 6859 d 3 h jermar /SPARTAN/trunk/arch/mips/ Copyright notices changes.  
/SPARTAN/trunk/arch/mips/boot/boot.S
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/include/asm/regname.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/page.h
/SPARTAN/trunk/arch/mips/include/mm/tlb.h
/SPARTAN/trunk/arch/mips/include/thread.h
/SPARTAN/trunk/arch/mips/include/types.h
/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/cpu.c
/SPARTAN/trunk/arch/mips/src/dummy.S
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/interrupt.c
/SPARTAN/trunk/arch/mips/src/mips.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
318 6859 d 3 h jermar /SPARTAN/trunk/ Make AMD64 gencontext.c consistent with MIPS gencontext.c  
/SPARTAN/trunk/arch/amd64/src/context.S
/SPARTAN/trunk/src/clean.amd64
/SPARTAN/trunk/tools/amd64/gencontext.c
317 6859 d 3 h palkovsky /SPARTAN/trunk/ MIPS exception now saves all necesssary information only on stack.  
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/arch/mips/include/exception.h
/SPARTAN/trunk/arch/mips/include/mm/tlb.h
/SPARTAN/trunk/arch/mips/include/thread.h
/SPARTAN/trunk/arch/mips/src/context.S
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/src/clean.mips
/SPARTAN/trunk/tools/mips/gencontext.c
316 6859 d 4 h jermar /SPARTAN/trunk/arch/ia32/src/ Optimize assembler code according to the knoweledge of IA-32 ABI.  
/SPARTAN/trunk/arch/ia32/src/asm.S
315 6859 d 5 h jermar /SPARTAN/trunk/arch/ia32/ Make IA-32 userspace stack be aligned on doubleword boundary.
In userspace(), mark "eax" as clobbered register.
 
/SPARTAN/trunk/arch/ia32/include/mm/vm.h
/SPARTAN/trunk/arch/ia32/src/userspace.c
314 6859 d 14 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
313 6859 d 14 h palkovsky /SPARTAN/trunk/arch/ MIPS bug fixes.
Added usermode to MIPS, unfortunately impossible to test until
MM is ready.
 
/SPARTAN/trunk/arch/mips/src/asm.S
/SPARTAN/trunk/arch/mips/src/dummy.S
/SPARTAN/trunk/arch/mips/src/panic.S
/SPARTAN/trunk/arch/mips/src/asm.s
/SPARTAN/trunk/arch/mips/src/dummy.s
/SPARTAN/trunk/arch/mips/src/panic.s
/SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/mips/Makefile.inc
/SPARTAN/trunk/arch/mips/include/asm.h
/SPARTAN/trunk/arch/mips/include/asm/boot.h
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/arch/mips/include/cp0.h
/SPARTAN/trunk/arch/mips/include/mm/vm.h
/SPARTAN/trunk/arch/mips/include/thread.h
/SPARTAN/trunk/arch/mips/src/exception.c
/SPARTAN/trunk/arch/mips/src/mips.c
/SPARTAN/trunk/arch/mips/src/start.S
312 6859 d 15 h jermar /SPARTAN/trunk/arch/ia32/ According to IA-32 ABI, %edx and %ecx don't have to be saved accross function calls.
Remove these registers from context_t and adjust context_save() and context_restore() to make use of this fact.
 
/SPARTAN/trunk/arch/ia32/include/context.h
/SPARTAN/trunk/arch/ia32/src/context.s
311 6859 d 15 h bondari /SPARTAN/trunk/arch/ia32/src/acpi/ Minor after fixes to madt parsing  
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
310 6859 d 16 h bondari /SPARTAN/trunk/arch/ia32/src/acpi/ Fixed possible non-consequentive local apic madt entries
Request for peer review - was not possible to test.
 
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
309 6860 d 3 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/include/cpu.h
/SPARTAN/trunk/arch/amd64/src/cpu/cpu.c
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/ia32/Makefile.inc
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross
/SPARTAN/trunk/arch/ia32/include/cpu.h
/SPARTAN/trunk/arch/ia32/include/fpu_context.h
/SPARTAN/trunk/arch/ia32/src/cpu/cpu.c
/SPARTAN/trunk/arch/ia32/src/fpu_context.c
/SPARTAN/trunk/arch/ia32/src/interrupt.c
/SPARTAN/trunk/arch/ia64/src/dummy.s
/SPARTAN/trunk/arch/ia64/src/fpu_context.c
/SPARTAN/trunk/arch/mips/src/dummy.s
/SPARTAN/trunk/arch/mips/src/fpu_context.c
/SPARTAN/trunk/arch/ppc/src/dummy.s
/SPARTAN/trunk/arch/ppc/src/fpu_context.c
/SPARTAN/trunk/include/fpu_context.h
/SPARTAN/trunk/include/proc/scheduler.h
/SPARTAN/trunk/src/proc/scheduler.c
308 6860 d 4 h jermar /SPARTAN/trunk/arch/mips/src/ Just formatting changes.  
/SPARTAN/trunk/arch/mips/src/start.S
307 6860 d 4 h palkovsky /SPARTAN/trunk/ Fixed things broken by last commit.  
/SPARTAN/trunk/arch/mips/include/asm/boot.h
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/clean.mips
306 6860 d 4 h palkovsky /SPARTAN/trunk/ Fixed mips boot process.
On interrupt saving registers, save $lo, $hi.
Add interrupt naming to asm files (mips).
Save only necessary registers on context switch (see mips ABI).
Fixed copyright info.
 
/SPARTAN/trunk/arch/mips/boot/boot.S
/SPARTAN/trunk/arch/mips/include/asm/regname.h
/SPARTAN/trunk/tools/mips
/SPARTAN/trunk/tools/mips/gencontext.c
/SPARTAN/trunk/arch/amd64/include/barrier.h
/SPARTAN/trunk/arch/mips/boot/boot.s
/SPARTAN/trunk/arch/mips/include/asm/macro.h
/SPARTAN/trunk/arch/amd64/include/arch.h
/SPARTAN/trunk/arch/amd64/include/context.h
/SPARTAN/trunk/arch/amd64/include/faddr.h
/SPARTAN/trunk/arch/amd64/include/thread.h
/SPARTAN/trunk/arch/mips/boot/Makefile
/SPARTAN/trunk/arch/mips/include/context.h
/SPARTAN/trunk/arch/mips/include/mm/page.h
/SPARTAN/trunk/arch/mips/src/context.S
/SPARTAN/trunk/arch/mips/src/mm/tlb.c
/SPARTAN/trunk/arch/mips/src/start.S
/SPARTAN/trunk/src/Makefile.config
/SPARTAN/trunk/src/build.amd64
/SPARTAN/trunk/src/build.mips
/SPARTAN/trunk/src/clean.mips
305 6860 d 15 h jermar /SPARTAN/trunk/ Change processor type in simics.conf to x86-hammer.
This way it supports both IA-32 and AMD64.

Fix comment in i8259.c.
 
/SPARTAN/trunk/arch/ia32/src/drivers/i8259.c
/SPARTAN/trunk/contrib/conf/simics.conf
304 6860 d 16 h decky /SPARTAN/trunk/contrib/conf/ sample Simics configuration  
/SPARTAN/trunk/contrib/conf/simics.conf
303 6860 d 21 h palkovsky /SPARTAN/trunk/  
/SPARTAN/trunk/arch/ia32/include/i8259.h
/SPARTAN/trunk/src/clean.ia32
302 6860 d 22 h palkovsky /SPARTAN/trunk/arch/ia32/src/drivers/ Fixed bad slave i8259 initialization.  
/SPARTAN/trunk/arch/ia32/src/drivers/i8259.c
301 6861 d 0 h palkovsky /SPARTAN/trunk/arch/ Backported amd64 build process back to ia32.  
/SPARTAN/trunk/arch/ia32/_link.ld.in
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/amd64/Makefile.inc
/SPARTAN/trunk/arch/amd64/_link.ld.in
/SPARTAN/trunk/arch/ia32/Makefile.inc
300 6861 d 0 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
/SPARTAN/trunk/arch/ia32/_link.ld
/SPARTAN/trunk/arch/ia32/include/mm/page.h
/SPARTAN/trunk/arch/ia32/include/pm.h
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/pm.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
299 6861 d 1 h palkovsky /SPARTAN/trunk/arch/amd64/src/ Better stack recognition in stack content dump.  
/SPARTAN/trunk/arch/amd64/src/interrupt.c
298 6861 d 1 h decky /SPARTAN/trunk/ remove lower 2 GB identity mapping (IA-32)  
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
/SPARTAN/trunk/arch/ia32/src/mm/page.c
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/src/main/main.c
297 6861 d 1 h palkovsky /SPARTAN/trunk/ Symtab now contains variables  
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/tools/genmap.py
296 6861 d 2 h palkovsky /SPARTAN/trunk/ More logical fpu_context_engaged setting.
The sse1 test now correctly tests for thread migration settings.
 
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/test/fpu/sse1/test.c
295 6861 d 2 h palkovsky /SPARTAN/trunk/ Test that really tests SSE context switching.  
/SPARTAN/trunk/test/fpu/sse1
/SPARTAN/trunk/test/fpu/sse1/test.c
/SPARTAN/trunk/src/Makefile.config
294 6861 d 3 h jermar /SPARTAN/trunk/arch/ Add timeout to kmp() so that we don't deadlock while waiting for AP's to come up.

Improve comment in byteorder.h.
 
/SPARTAN/trunk/arch/ia32/src/smp/smp.c
/SPARTAN/trunk/arch/ppc/include/byteorder.h
293 6861 d 13 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
292 6861 d 14 h jermar /SPARTAN/trunk/ Add byteorder.h to support conversions between different endianesses.
Add native_le2host().

Use native_le2host() in get_symtab_entry().
 
/SPARTAN/trunk/arch/amd64/include/byteorder.h
/SPARTAN/trunk/arch/ia32/include/byteorder.h
/SPARTAN/trunk/arch/ia64/include/byteorder.h
/SPARTAN/trunk/arch/mips/include/byteorder.h
/SPARTAN/trunk/arch/ppc/include/byteorder.h
/SPARTAN/trunk/doc/requirements
/SPARTAN/trunk/include/symtab.h
/SPARTAN/trunk/src/debug/symtab.c
291 6861 d 17 h jermar /SPARTAN/trunk/arch/ia32/src/smp/ AP cpus are not supposed to touch A20 for this bit is enabled by the BSP cpu.  
/SPARTAN/trunk/arch/ia32/src/smp/ap.S
290 6861 d 17 h palkovsky /SPARTAN/trunk/arch/ia32/  
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross
289 6861 d 17 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 6861 d 19 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
287 6861 d 21 h jermar /SPARTAN/trunk/arch/ppc/ Symtab support for PPC.  
/SPARTAN/trunk/arch/ppc/Makefile.inc
/SPARTAN/trunk/arch/ppc/_link.ld