Subversion Repositories HelenOS

Rev

Go to most recent revision | Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
312 6878 d 13 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.
 
311 6878 d 13 h bondari /SPARTAN/trunk/arch/ia32/src/acpi/ Minor after fixes to madt parsing  
310 6878 d 13 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.
 
309 6879 d 1 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
305 6879 d 13 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.
 
302 6879 d 19 h palkovsky /SPARTAN/trunk/arch/ia32/src/drivers/ Fixed bad slave i8259 initialization.  
300 6879 d 22 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
298 6879 d 23 h decky /SPARTAN/trunk/ remove lower 2 GB identity mapping (IA-32)  
294 6880 d 1 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.
 
291 6880 d 15 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.  
285 6881 d 1 h decky /SPARTAN/trunk/arch/ia32/ finish GRUB booting (including memory map and SMP)  
282 6881 d 2 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.
 
281 6881 d 11 h palkovsky /SPARTAN/trunk/arch/ia32/src/ Fixed some stupid typos.  
280 6881 d 11 h decky /SPARTAN/trunk/arch/ia32/ basic GRUB memory map  
279 6881 d 12 h decky /SPARTAN/trunk/arch/ia32/ GRUB basic booting (IA-32)  
278 6881 d 14 h palkovsky /SPARTAN/trunk/arch/ia32/src/acpi/ Fixed ACPI to work correctly even in bochs.  
277 6881 d 14 h palkovsky /SPARTAN/trunk/arch/ Reverted APIC mapping back to identity mapping.
Added AMD64 SMP support. Works now!
 
273 6881 d 16 h palkovsky /SPARTAN/trunk/ Changes to make ia32 smp code not architecture dependent.
Changes to accomodate new gdtr loading scheme.
 
271 6881 d 18 h decky /SPARTAN/trunk/arch/ia32/src/ yet another GDT/IDT fix/cleanup  
269 6881 d 18 h decky /SPARTAN/trunk/arch/ia32/ make IA-32 SMP work again (finally)  
268 6881 d 18 h palkovsky /SPARTAN/trunk/ Added symbol table lookup in exceptions.
This breaks ia64 & ppc architecture compiles.
 
267 6881 d 19 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
 
266 6881 d 21 h cejka /SPARTAN/trunk/ Support for NaN and infinity in printf.  
264 6881 d 22 h cejka /SPARTAN/trunk/ E option in printf added.  
257 6882 d 1 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.
 
247 6882 d 17 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.
 
246 6882 d 18 h decky /SPARTAN/trunk/arch/ia32/src/mm/ make IA-32 UP work again (nasty hack)  
244 6882 d 19 h decky /SPARTAN/trunk/arch/ia32/src/ temporarily fix IA-32 boot bug  
243 6882 d 20 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.
 
235 6883 d 18 h decky /SPARTAN/trunk/ load the kernel above 1 MB on IA-32  
233 6883 d 19 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.
 
232 6883 d 19 h jermar /SPARTAN/trunk/arch/ia32/src/ Fix addresses in GDT and IDT to be virtual addresses.  
230 6883 d 19 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.
 
224 6884 d 1 h palkovsky /SPARTAN/trunk/arch/ Interrupts for amd64.  
222 6884 d 2 h decky /SPARTAN/trunk/arch/ia32/ IA-32 GRUB support (alpha)  
216 6884 d 11 h palkovsky /SPARTAN/trunk/ hardcoded_symbol fixed into linker script on amd64/ia32/mips architecture  
206 6885 d 0 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.
 
205 6885 d 1 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().
 
198 6885 d 13 h jermar /SPARTAN/trunk/ Switch order of 'src' and 'dst' arguments in some left-over uses of memcopy.

Cleanup.
 
196 6885 d 15 h vana /SPARTAN/trunk/arch/ia32/src/ ASM version of memcopy repaired on ia32