Rev |
Age |
Author |
Path |
Log message |
Diff |
Changes |
381 |
6894 d 4 h |
jermar |
/SPARTAN/trunk/ |
Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.
Small changes elsewhere. |
|
/SPARTAN/trunk/Makefile.config /SPARTAN/trunk/arch/ia32/Makefile.inc /SPARTAN/trunk/arch/ia32/_link.ld.in /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/build.ia32 /SPARTAN/trunk/include/fpu_context.h /SPARTAN/trunk/include/mm/buddy.h /SPARTAN/trunk/include/mm/heap.h /SPARTAN/trunk/include/typedefs.h /SPARTAN/trunk/src/mm/buddy.c
|
372 |
6901 d 12 h |
cejka |
/SPARTAN/trunk/arch/ia32/src/mm/ |
Memmap print fixed. |
|
/SPARTAN/trunk/arch/ia32/src/mm/memory_init.c
|
371 |
6902 d 4 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/ |
Complete map_kernel() in boot.S to map the entire 4G space.
Change IA-32 frame_arch_init() to add zone with lower base addresses first. |
|
/SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/mm/frame.c
|
370 |
6902 d 5 h |
jermar |
/SPARTAN/trunk/arch/ia32/src/acpi/ |
During MADT parse, count only enabled CPUs. |
|
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
|
368 |
6902 d 13 h |
jermar |
/SPARTAN/trunk/ |
Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap. |
|
/SPARTAN/trunk/arch/ia64/src/mm /SPARTAN/trunk/arch/ia64/src/mm/frame.c
/SPARTAN/trunk/arch/amd64/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/mm/frame.c /SPARTAN/trunk/arch/ia32/src/mm/page.c /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/arch/ia64/Makefile.inc /SPARTAN/trunk/arch/ia64/src/dummy.s /SPARTAN/trunk/arch/mips32/src/mm/frame.c /SPARTAN/trunk/arch/ppc32/src/mm/frame.c /SPARTAN/trunk/include/mm/frame.h /SPARTAN/trunk/src/mm/frame.c
|
358 |
6905 d 5 h |
bondari |
/SPARTAN/trunk/ |
built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline. |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S /SPARTAN/trunk/include/memstr.h
|
357 |
6905 d 6 h |
bondari |
/SPARTAN/trunk/arch/ia32/src/ |
small fix |
|
/SPARTAN/trunk/arch/ia32/src/asm.S
|
356 |
6905 d 7 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
Get from port functions are now inline |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
353 |
6905 d 17 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
Outb, outw, outl are now inline functions |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
352 |
6906 d 5 h |
bondari |
/SPARTAN/trunk/arch/ia32/ |
outb inline function |
|
/SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/src/asm.S
|
349 |
6908 d 5 h |
jermar |
/SPARTAN/trunk/ |
Optimize sorting functions so that malloc() and free() is called only for e_size > EBUFSIZE.
Smaller buffers are allocated directly on the stack.
Some copyright holder fixes on some files written by Ondrej Palkovsky. |
|
/SPARTAN/trunk/arch/amd64/include/mm/frame.h /SPARTAN/trunk/arch/amd64/include/mm/page.h /SPARTAN/trunk/arch/amd64/include/mm/vm.h /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/src/lib/sort.c
|
348 |
6910 d 5 h |
jermar |
/SPARTAN/trunk/arch/ |
Optimize some assembler functions. |
|
/SPARTAN/trunk/arch/amd64/include/asm.h /SPARTAN/trunk/arch/amd64/src/asm_utils.S /SPARTAN/trunk/arch/ia32/include/asm.h /SPARTAN/trunk/arch/ia32/include/cpuid.h /SPARTAN/trunk/arch/ia32/src/cpuid.s /SPARTAN/trunk/arch/ia32/src/delay.s
|
347 |
6910 d 6 h |
jermar |
/SPARTAN/trunk/ |
Documentation updates for amd64, mips32 and ia32.
Replace %L with %P printf() formatter in MPS and ACPI detection functions to print addresses in maximal width.
Tweak memmap.S and IA-32 and AMd64 boot.S.
Cancel unneeded instructions.
Replace cmpl $0, %ebx with testl %ebx, %ebx.
Move memmap.S data to K_DATA_START section. |
|
/SPARTAN/trunk/arch/amd64/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/acpi/acpi.c /SPARTAN/trunk/arch/ia32/src/boot/boot.S /SPARTAN/trunk/arch/ia32/src/boot/memmap.S /SPARTAN/trunk/arch/ia32/src/smp/mps.c /SPARTAN/trunk/doc/arch/amd64 /SPARTAN/trunk/doc/arch/ia32 /SPARTAN/trunk/doc/arch/mips32
|
334 |
6912 d 13 h |
jermar |
/SPARTAN/trunk/arch/ |
Cleanup.
Cancel __fake in pm.c and replace it with LONG(0xdeadbeaf) in linker script. Still need some to find out why it must be there.
Remove comment saying, that mips is little-endian. |
|
/SPARTAN/trunk/arch/amd64/_link.ld.in /SPARTAN/trunk/arch/ia32/_link.ld.in /SPARTAN/trunk/arch/ia32/src/acpi/madt.c /SPARTAN/trunk/arch/ia32/src/pm.c /SPARTAN/trunk/arch/mips/include/byteorder.h
|
331 |
6912 d 14 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
|
323 |
6914 d 14 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
|
316 |
6916 d 18 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 |
6916 d 19 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 |
6917 d 3 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
|
312 |
6917 d 4 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 |
6917 d 5 h |
bondari |
/SPARTAN/trunk/arch/ia32/src/acpi/ |
Minor after fixes to madt parsing |
|
/SPARTAN/trunk/arch/ia32/src/acpi/madt.c
|
310 |
6917 d 5 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 |
6917 d 16 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
|
305 |
6918 d 4 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
|
302 |
6918 d 11 h |
palkovsky |
/SPARTAN/trunk/arch/ia32/src/drivers/ |
Fixed bad slave i8259 initialization. |
|
/SPARTAN/trunk/arch/ia32/src/drivers/i8259.c
|
300 |
6918 d 14 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
|
298 |
6918 d 14 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
|
294 |
6918 d 17 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
|
291 |
6919 d 6 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
|
285 |
6919 d 16 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 |
6919 d 18 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 |
6920 d 2 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 |
6920 d 2 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 |
6920 d 4 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 |
6920 d 5 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 |
6920 d 5 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
|
273 |
6920 d 8 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 |
6920 d 9 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 |
6920 d 10 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 |
6920 d 10 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
|