Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
292 |
6920 d 17 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 |
6920 d 21 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 |
6920 d 21 h |
palkovsky |
/SPARTAN/trunk/arch/ia32/ |
|
|
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross
|
289 |
6920 d 21 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
|
285 |
6921 d 7 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
finish GRUB booting (including memory map and SMP) |
|
/SPARTAN/trunk/arch/ia32/_link.ld /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/boot/memmap.S
|
282 |
6921 d 8 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
|
281 |
6921 d 16 h |
palkovsky |
/SPARTAN/trunk/arch/ia32/src/ |
Fixed some stupid typos. |
|
/SPARTAN/trunk/arch/ia32/src/fpu_context.c /SPARTAN/trunk/arch/ia32/src/interrupt.c
|
280 |
6921 d 16 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
basic GRUB memory map |
|
/SPARTAN/trunk/arch/ia32/include/boot/boot.h /SPARTAN/trunk/arch/ia32/src/boot/boot.S
|
279 |
6921 d 18 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
GRUB basic booting (IA-32) |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross /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
|
278 |
6921 d 19 h |
palkovsky |
/SPARTAN/trunk/arch/ia32/src/acpi/ |
Fixed ACPI to work correctly even in bochs. |
|
/SPARTAN/trunk/arch/ia32/src/acpi/acpi.c
|
277 |
6921 d 20 h |
palkovsky |
/SPARTAN/trunk/arch/ |
Reverted APIC mapping back to identity mapping.
Added AMD64 SMP support. Works now! |
|
/SPARTAN/trunk/arch/amd64/src/smp/ap.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/_link.ld /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/src/smp/mps.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c
|
275 |
6921 d 21 h |
palkovsky |
/SPARTAN/trunk/arch/ |
Moved AMD64 kernel above 1MB. |
|
/SPARTAN/trunk/arch/amd64/_link.ld /SPARTAN/trunk/arch/amd64/include/boot/boot.h /SPARTAN/trunk/arch/amd64/include/cpuid.h /SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/ia32/include/boot/boot.h
|
273 |
6921 d 22 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
|
271 |
6921 d 23 h |
decky |
/SPARTAN/trunk/arch/ia32/src/ |
yet another GDT/IDT fix/cleanup |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/pm.c
|
269 |
6922 d 0 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
make IA-32 SMP work again (finally) |
|
/SPARTAN/trunk/arch/ia32/include/pm.h /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/smp.c
|
268 |
6922 d 0 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
|
267 |
6922 d 1 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
proper way of initializing GDT during boot on IA-32, fixes the nasty hack
SMP might be still broken |
|
/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/ia32.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/ap.S
|
266 |
6922 d 2 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
|
264 |
6922 d 4 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
|
262 |
6922 d 5 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
alternative makefile for building with IA-32 cross-compiler |
|
/SPARTAN/trunk/arch/ia32/Makefile.inc.cross
|
259 |
6922 d 5 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
|
257 |
6922 d 7 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
|
248 |
6922 d 23 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
|
247 |
6922 d 23 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/mm/ |
Fix nasty bug in arch/mm/frame.c.
frame_region_not_free() takes address as its second argument, not size. |
|
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
|
246 |
6922 d 23 h |
decky |
/SPARTAN/trunk/arch/ia32/src/mm/ |
make IA-32 UP work again (nasty hack) |
|
/SPARTAN/trunk/arch/ia32/src/mm/frame.c
|
244 |
6923 d 1 h |
decky |
/SPARTAN/trunk/arch/ia32/src/ |
temporarily fix IA-32 boot bug |
|
/SPARTAN/trunk/arch/ia32/src/pm.c
|
243 |
6923 d 1 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
|
241 |
6923 d 21 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
|
235 |
6924 d 0 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
|
233 |
6924 d 0 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/mm/ |
Do not use the unmapped addresses of e820 kernel structures.
Use PA2KA() to access the e820 counter and memtable. |
|
/SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
|
232 |
6924 d 1 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/ |
Fix addresses in GDT and IDT to be virtual addresses. |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/ia32/src/smp/ap.S
|
230 |
6924 d 1 h |
cejka |
/SPARTAN/trunk/arch/ |
Created fmath as basic tool for IEEE 754 floating point numbers.
Added option $F for printf for printing "double" type. |
|
/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/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/mips/Makefile.inc /SPARTAN/trunk/arch/ppc/Makefile.inc
|
228 |
6924 d 2 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
|
224 |
6924 d 7 h |
palkovsky |
/SPARTAN/trunk/arch/ |
Interrupts for amd64. |
|
/SPARTAN/trunk/arch/amd64/src/asm_utils.S
/SPARTAN/trunk/arch/amd64/Makefile.inc /SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/include/pm.h /SPARTAN/trunk/arch/amd64/src/boot/memmap.S /SPARTAN/trunk/arch/amd64/src/dummy.s /SPARTAN/trunk/arch/amd64/src/pm.c /SPARTAN/trunk/arch/ia32/src/interrupt.c
|
222 |
6924 d 8 h |
decky |
/SPARTAN/trunk/arch/ia32/ |
IA-32 GRUB support (alpha) |
|
/SPARTAN/trunk/arch/ia32/include/boot/boot.h
/SPARTAN/trunk/arch/ia32/src/boot/boot.S
|
217 |
6924 d 16 h |
palkovsky |
/SPARTAN/trunk/arch/ia32/ |
Bugfix. |
|
/SPARTAN/trunk/arch/ia32/_link.ld
|
216 |
6924 d 17 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
|
210 |
6924 d 19 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
|
206 |
6925 d 6 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 |
6925 d 7 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
|