Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
284 |
6874 d 16 h |
palkovsky |
/SPARTAN/trunk/src/ |
|
|
/SPARTAN/trunk/src/Makefile.config
|
283 |
6874 d 16 h |
palkovsky |
/SPARTAN/trunk/ |
IA32 printf-double support migrated to amd64 |
|
/SPARTAN/trunk/arch/amd64/src/fmath.c
/SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/test/fpu/fpu1/test.c
|
282 |
6874 d 17 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed gdtr naming issues after ia32 changes.
Fixed stack alignment on new thread to by multiple of 16,
we are now ABI-correct and we do not #GP on va_arg to boot.
Fixed bad exception register names reporting.
Fixed bad _hardcoded_load_addr, which caused allocation of kernel text
frames. |
|
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/include/fpu_context.h
/SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/context.h /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/cpu/cpu.c /SPARTAN/trunk/arch/amd64/src/interrupt.c /SPARTAN/trunk/arch/amd64/src/smp/ap.S /SPARTAN/trunk/arch/ia32/include/fpu_context.h /SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/src/build.amd64
|
276 |
6875 d 4 h |
cejka |
/SPARTAN/trunk/src/debug/ |
Printf "E" and "F" format fixed. |
|
/SPARTAN/trunk/src/debug/print.c
|
274 |
6875 d 6 h |
palkovsky |
/SPARTAN/trunk/src/ |
|
|
/SPARTAN/trunk/src/Makefile.config
|
273 |
6875 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
|
270 |
6875 d 8 h |
palkovsky |
/SPARTAN/trunk/ |
Symbols now include filename |
|
/SPARTAN/trunk/include/symtab.h /SPARTAN/trunk/src/debug/genmap.py
|
268 |
6875 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
|
266 |
6875 d 11 h |
cejka |
/SPARTAN/trunk/ |
Support for NaN and infinity in printf. |
|
/SPARTAN/trunk/arch/amd64/include/fmath.h /SPARTAN/trunk/arch/amd64/src/fmath.c /SPARTAN/trunk/arch/ia32/include/fmath.h /SPARTAN/trunk/arch/ia32/src/fmath.c /SPARTAN/trunk/arch/ia64/include/fmath.h /SPARTAN/trunk/arch/ia64/src/fmath.c /SPARTAN/trunk/arch/mips/include/fmath.h /SPARTAN/trunk/arch/mips/src/fmath.c /SPARTAN/trunk/arch/ppc/include/fmath.h /SPARTAN/trunk/arch/ppc/src/fmath.c /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/test/print/print1/test.c
|
265 |
6875 d 12 h |
palkovsky |
/SPARTAN/trunk/ |
Added basic FPU context (not working).
Added CPU utilities from ia32 |
|
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/src/build.amd64
|
264 |
6875 d 12 h |
cejka |
/SPARTAN/trunk/ |
E option in printf added. |
|
/SPARTAN/trunk/arch/ia32/src/boot/memmap.S /SPARTAN/trunk/include/print.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/test/print/print1/test.c
|
259 |
6875 d 14 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed asm problems in asm in atomic instructions. |
|
/SPARTAN/trunk/arch/amd64/include/atomic.h
/SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/src/build.amd64
|
258 |
6875 d 15 h |
palkovsky |
/SPARTAN/trunk/src/proc/ |
Fixed retyping, so that it compiles with gcc 4.0.2 |
|
/SPARTAN/trunk/src/proc/scheduler.c
|
257 |
6875 d 15 h |
palkovsky |
/SPARTAN/trunk/ |
Added basic FPU context (not working).
Added CPU utilities from ia32
Fixed bug in vm.c that wanted PTL to be mapped in bottom memory. |
|
/SPARTAN/trunk/arch/amd64/src/proc /SPARTAN/trunk/arch/amd64/src/proc/scheduler.c /SPARTAN/trunk/arch/amd64/src/userspace.c
/SPARTAN/trunk/arch/amd64/src/fpu_context.c
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/amd64/src/cpu/cpu.c /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/mm/vm.c
|
251 |
6876 d 1 h |
palkovsky |
/SPARTAN/trunk/ |
Changes, that were needed to make it work on Bochs.
- We CAN use the NX bit in paging tables, but we have
to initialize the NXE bit in EFER register first. |
|
/SPARTAN/trunk/arch/amd64/src/cpu /SPARTAN/trunk/arch/amd64/src/cpu/cpu.c
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/cpu.h /SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/include/cpu.h /SPARTAN/trunk/src/mm/page.c
|
248 |
6876 d 7 h |
jermar |
/SPARTAN/trunk/ |
Make atomic_dec() and atomic_inc() take (volatile int *) argument, not (volatile count_t *). |
|
/SPARTAN/trunk/arch/amd64/include/atomic.h /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
245 |
6876 d 8 h |
palkovsky |
/SPARTAN/trunk/ |
Use ia32 memmap.h/memmapash.h |
|
/SPARTAN/trunk/arch/amd64/include/boot/memmap.h /SPARTAN/trunk/arch/amd64/include/boot/memmapasm.h
/SPARTAN/trunk/src/build.amd64
|
243 |
6876 d 10 h |
palkovsky |
/SPARTAN/trunk/ |
Resolved mapping of e820 boot area, so that it can be accessed as
e820table from 32-bit mode and e820table_boot from real mode. |
|
/SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/src/boot/memmap.S /SPARTAN/trunk/arch/ia32/src/mm/memory_init.c /SPARTAN/trunk/src/build.amd64
|
242 |
6876 d 11 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed stack settings in boot.S in real mode.
Added ia32 memmap support.
Added cpuid support. |
|
/SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/mips/include/debug.h
/SPARTAN/trunk/arch/amd64/src/boot/memmap.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/main/main.c
|
241 |
6877 d 6 h |
palkovsky |
/SPARTAN/trunk/ |
Cleanups so that it compiles on ia-32 & amd-64 cleanly |
|
/SPARTAN/trunk/arch/amd64/include/atomic.h /SPARTAN/trunk/arch/amd64/src/fmath.c /SPARTAN/trunk/arch/ia32/include/atomic.h /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
239 |
6877 d 7 h |
vana |
/SPARTAN/trunk/ |
Missing ";" added |
|
/SPARTAN/trunk/arch/ia64/src/cpu/cpu.c /SPARTAN/trunk/arch/ia64/src/fmath.c /SPARTAN/trunk/src/time/timeout.c
|
238 |
6877 d 8 h |
vana |
/SPARTAN/trunk/ |
Register dump on IA-64 exceptions |
|
/SPARTAN/trunk/arch/ia64/include/asm.h /SPARTAN/trunk/arch/ia64/src/cpu/cpu.c /SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S /SPARTAN/trunk/src/main/main.c
|
236 |
6877 d 8 h |
jermar |
/SPARTAN/trunk/src/ |
Add missing header into kinit.c.
Do not use PA2KA() on dst_ptl0. |
|
/SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/mm/vm.c
|
235 |
6877 d 9 h |
decky |
/SPARTAN/trunk/ |
load the kernel above 1 MB on IA-32 |
|
/SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/include/boot/boot.h /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/drivers/i8042.c /SPARTAN/trunk/arch/ia32/src/ia32.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/src/main/main.c
|
228 |
6877 d 10 h |
cejka |
/SPARTAN/trunk/ |
Created fmath as basic tool for IEEE 754 floating point numbers.
Added option $F for printf for printing "double" type. |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/include/print.h /SPARTAN/trunk/src/debug/print.c /SPARTAN/trunk/test/print/print1/test.c
|
227 |
6877 d 11 h |
jermar |
/SPARTAN/trunk/ |
Add couple of assertions CPU != NULL.
Change type of nrdy from int to count_t.
Rewrite halt() to avoid page fault when CPU == NULL. |
|
/SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/include/proc/scheduler.h /SPARTAN/trunk/src/lib/func.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
226 |
6877 d 11 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed typo in 'outb' instruction.
Paging basically working. |
|
/SPARTAN/trunk/arch/amd64/src/interrupt.c
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/src/mm/page.c /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/mm/page.c
|
223 |
6877 d 16 h |
jermar |
/SPARTAN/trunk/ |
Preemption work.
Instrument spinlock functions with preemption_disable() and preemption_enable() calls. |
|
/SPARTAN/trunk/include/synch/spinlock.h /SPARTAN/trunk/src/synch/spinlock.c
|
221 |
6877 d 16 h |
jermar |
/SPARTAN/trunk/ |
Preemption work.
Define PREEMPTION_DISABLED macro.
This macro determines the level of preemptivity (0 = preemption enabled, THE->preemption_disabled = no preemption inside spinlock, 1 = preemption disabled).
Reformulate preemption code in clock.c to consider PREEMPTION_DISABLED. |
|
/SPARTAN/trunk/include/arch.h /SPARTAN/trunk/src/time/clock.c
|
220 |
6877 d 17 h |
vana |
/SPARTAN/trunk/ |
Universal exception handler and all exceptions routine to call it added |
|
/SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S /SPARTAN/trunk/src/main/main.c
|
219 |
6878 d 0 h |
palkovsky |
/SPARTAN/trunk/ |
Fixed bad type in frame.c.
Amd64 prints banner. |
|
/SPARTAN/trunk/arch/amd64/src/mm /SPARTAN/trunk/arch/amd64/src/mm/page.c
/SPARTAN/trunk/arch/amd64/include/mm/memory_init.h
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/boot/memmap.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/src/build.amd64 /SPARTAN/trunk/src/mm/frame.c
|
216 |
6878 d 1 h |
palkovsky |
/SPARTAN/trunk/ |
hardcoded_symbol fixed into linker script on amd64/ia32/mips architecture |
|
/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/ia32/_link.ld /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/interrupt.c /SPARTAN/trunk/arch/mips/_link.ld /SPARTAN/trunk/src/build.amd64
|
214 |
6878 d 3 h |
vana |
/SPARTAN/trunk/src/ |
|
|
/SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/proc/scheduler.c
|
213 |
6878 d 3 h |
jermar |
/SPARTAN/trunk/ |
Add some comments. |
|
/SPARTAN/trunk/arch/mips/src/exception.c /SPARTAN/trunk/src/proc/scheduler.c /SPARTAN/trunk/src/proc/thread.c
|
212 |
6878 d 3 h |
vana |
/SPARTAN/trunk/ |
Basic exception support added for ia64 arch ...... |
|
/SPARTAN/trunk/arch/ia64/src/cpu /SPARTAN/trunk/arch/ia64/src/cpu/cpu.c /SPARTAN/trunk/arch/ia64/src/interrupt_handler.c /SPARTAN/trunk/arch/ia64/src/ivt.S
/SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips/src/putchar.c /SPARTAN/trunk/src/Makefile.config /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/scheduler.c
|
210 |
6878 d 3 h |
decky |
/SPARTAN/trunk/ |
many PPC stuff, platform dependent arch.h header files |
|
/SPARTAN/trunk/arch/amd64/include/arch.h /SPARTAN/trunk/arch/ia32/include/arch.h /SPARTAN/trunk/arch/ia64/include/arch.h /SPARTAN/trunk/arch/mips/include/arch.h /SPARTAN/trunk/arch/ppc/boot/_link.ld /SPARTAN/trunk/arch/ppc/boot/boot.S /SPARTAN/trunk/arch/ppc/boot/main.c /SPARTAN/trunk/arch/ppc/boot/main.h /SPARTAN/trunk/arch/ppc/include/arch.h /SPARTAN/trunk/arch/ppc/src/asm.S /SPARTAN/trunk/arch/ppc/src/cpu/cpu.c /SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/boot/boot.s /SPARTAN/trunk/arch/ppc/src/asm.s
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/_link.ld /SPARTAN/trunk/arch/ppc/boot/Makefile /SPARTAN/trunk/arch/ppc/include/asm.h /SPARTAN/trunk/arch/ppc/include/context.h /SPARTAN/trunk/arch/ppc/src/debug/panic.s /SPARTAN/trunk/arch/ppc/src/drivers/ofw.c /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/include/arch.h /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c /SPARTAN/trunk/src/proc/thread.c
|
208 |
6878 d 13 h |
palkovsky |
/SPARTAN/trunk/ |
arch_pre_init_mm now working. |
|
/SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/pm.c /SPARTAN/trunk/src/clean.amd64
|
207 |
6878 d 14 h |
decky |
/SPARTAN/trunk/ |
separated stack mapping |
|
/SPARTAN/trunk/arch/ppc/include/ppc.h /SPARTAN/trunk/arch/ppc/src/ppc.c
/SPARTAN/trunk/arch/ppc/Makefile.inc /SPARTAN/trunk/arch/ppc/include/context.h /SPARTAN/trunk/arch/ppc/include/drivers/ofw.h /SPARTAN/trunk/arch/ppc/src/drivers/ofw.c /SPARTAN/trunk/arch/ppc/src/start.S /SPARTAN/trunk/include/context.h /SPARTAN/trunk/src/main/main.c
|
206 |
6878 d 14 h |
palkovsky |
/SPARTAN/trunk/ |
Better types for ia32 drivers, so that they can be reused in amd64.
Build script cleanup amd64.
New code / not working yet / in amd64. |
|
/SPARTAN/trunk/arch/amd64/src/amd64.c /SPARTAN/trunk/arch/amd64/src/delay.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/interrupt.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/include/types.h /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/pm.c /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/pm.h /SPARTAN/trunk/arch/ia32/src/acpi/acpi.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/src/build.amd64 /SPARTAN/trunk/src/clean.amd64
|
205 |
6878 d 15 h |
jermar |
/SPARTAN/trunk/ |
Get rid of memcopy().
All we now have is memcpy() and _memcpy().
memcpy() is defined to be builtin.
Where not applicable, architectures must implement memcpy() code or call slowish _memcopy(). |
|
/SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/supplib.c /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/arch/ia32/src/drivers/ega.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c /SPARTAN/trunk/arch/ia64/src/asm.S /SPARTAN/trunk/arch/mips/src/asm.s /SPARTAN/trunk/arch/ppc/src/dummy.s /SPARTAN/trunk/include/memstr.h /SPARTAN/trunk/src/lib/memstr.c /SPARTAN/trunk/src/main/kinit.c /SPARTAN/trunk/src/mm/vm.c /SPARTAN/trunk/test/synch/rwlock4/test.c
|