Subversion Repositories HelenOS

Rev

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

Filtering Options

Rev Age Author Path Log message Diff
437 6808 d 0 h decky /SPARTAN/trunk/arch/ia32/src/smp/ update comments  
422 6818 d 13 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.
 
414 6826 d 12 h jermar /SPARTAN/trunk/ Create generic context_save() and context_restore().
These two functions are defined inline and only call context_save_arch() and context_restore_arch(), respectively.
The main purpose of this is to enable centralized commenting of these important and tricky functions.
 
413 6826 d 22 h jermar /SPARTAN/trunk/ Rename cpu_priority_{high|low|restore|read} functions to interrupts_{disable|enable|restore|read}.
Rename pri_t to ipl_t (Interrupt Priority Level).
Rename thread_t::pri to thread_t::priority.
 
408 6829 d 8 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
406 6832 d 0 h jermar /SPARTAN/trunk/arch/ Fix directives for K_TEXT_START, K_TEXT_START_2 and K_DATA_START sections to be more descriptive about section's content.
Remove LOAD(0xdeadbeaf) from ia32 linker script.
Remove __fake from amd64 pm.c.
 
396 6838 d 9 h jermar /SPARTAN/trunk/ Add mm/mapping1 test.
(Will not make it past TLB Invalid exception on mips32.)
Fixes in asid.c.
Make TLB register types union with __u32 value.
Implement tlb_invalidate() for mips32.
(TLB invalidation and shootdown path will have to be revised.)
 
392 6839 d 2 h bondari /SPARTAN/trunk/arch/ia32/ Last inline functions for IA-32  
391 6840 d 0 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB Refill Exception implemented (passed basic testing).
Remove bit g from struct entry_hi.
Add generic find_mapping().
Add asid to vm_t type, define asid_t to hide architecture specific differences.
Implement ASID allocation for mips32, dummy for other architectures.
Add THE->vm (a.k.a. VM).
Add vm_install_arch().
Move pte_t definition to arch/types.h on each architecture.
Fix PTL manipulating functions on mips32 to shift pfn by 12 instead of by 14.
Fix tlb_init_arch() to initialize all entries.

Other.
Remove unnecessary header files from arch.h
Add missing headers here and there.
Remove two unnecessary ld flags from mips32 makefile.
 
390 6840 d 0 h bondari /SPARTAN/trunk/arch/ia32/ ia-32 memcmp inline  
381 6844 d 23 h jermar /SPARTAN/trunk/ Make cross-compiler the default compiler on IA-32.
For native compilations, use ./build.ia32 native.

Small changes elsewhere.
 
372 6852 d 7 h cejka /SPARTAN/trunk/arch/ia32/src/mm/ Memmap print fixed.  
371 6852 d 23 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.
 
370 6853 d 1 h jermar /SPARTAN/trunk/arch/ia32/src/acpi/ During MADT parse, count only enabled CPUs.  
368 6853 d 8 h jermar /SPARTAN/trunk/ Physical memory management work.
New frame allocator.
Some architectures need to have bigger heap.
 
358 6856 d 0 h bondari /SPARTAN/trunk/ built-in memcpy is not used anymore on IA-32.
IA-32 memcpy is now fast and inline.
 
357 6856 d 2 h bondari /SPARTAN/trunk/arch/ia32/src/ small fix  
356 6856 d 2 h bondari /SPARTAN/trunk/arch/ia32/ Get from port functions are now inline  
353 6856 d 13 h bondari /SPARTAN/trunk/arch/ia32/ Outb, outw, outl are now inline functions  
352 6857 d 0 h bondari /SPARTAN/trunk/arch/ia32/ outb inline function  
349 6859 d 1 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.
 
348 6861 d 0 h jermar /SPARTAN/trunk/arch/ Optimize some assembler functions.  
347 6861 d 2 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.
 
334 6863 d 8 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.
 
331 6863 d 9 h bondari /SPARTAN/trunk/ Generic quicksort and bubble sort implementation.
ACPI MADT parser now uses qsort() for index sorting
 
323 6865 d 10 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.
 
316 6867 d 13 h jermar /SPARTAN/trunk/arch/ia32/src/ Optimize assembler code according to the knoweledge of IA-32 ABI.  
315 6867 d 14 h jermar /SPARTAN/trunk/arch/ia32/ Make IA-32 userspace stack be aligned on doubleword boundary.
In userspace(), mark "eax" as clobbered register.
 
314 6867 d 22 h palkovsky /SPARTAN/trunk/ Small cleanups  
312 6868 d 0 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 6868 d 0 h bondari /SPARTAN/trunk/arch/ia32/src/acpi/ Minor after fixes to madt parsing  
310 6868 d 0 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 6868 d 12 h palkovsky /SPARTAN/trunk/ Added architecture independent hooks for fpu lazy context switching.
It is enabled by defining FPU_LAZY
 
305 6869 d 0 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 6869 d 6 h palkovsky /SPARTAN/trunk/arch/ia32/src/drivers/ Fixed bad slave i8259 initialization.  
300 6869 d 9 h palkovsky /SPARTAN/trunk/arch/ia32/ Backported AMD64 linker and boot changes back to IA32.  
298 6869 d 10 h decky /SPARTAN/trunk/ remove lower 2 GB identity mapping (IA-32)  
294 6869 d 12 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 6870 d 2 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 6870 d 12 h decky /SPARTAN/trunk/arch/ia32/ finish GRUB booting (including memory map and SMP)