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
443 6814 d 2 h jermar /SPARTAN/trunk/arch/ia64/ ia64 work.
Do not break memory stack alignment in heavyweight interrupt handler.
Reserve scratch area for nested procedure calls on memory stack.
 
442 6814 d 3 h vana /SPARTAN/trunk/arch/ia64/src/ sp should not be decremented after last save  
441 6814 d 3 h jermar /SPARTAN/trunk/arch/ia64/src/ r12 (stack pointer) must be descremented prior to storing data into new memory stack frame.  
439 6814 d 23 h jermar /SPARTAN/trunk/arch/ia64/src/ Two small ia64 improvements.  
438 6815 d 0 h jermar /SPARTAN/trunk/arch/ia64/src/ ia64 work.
Heavyweight handler should be complete up to the point where it switches back to interrupted RSE context.
 
437 6815 d 18 h decky /SPARTAN/trunk/arch/ia32/src/smp/ update comments  
435 6815 d 19 h jermar /SPARTAN/trunk/arch/ia64/ ia64 work.
Begin implemention of heavyweight interrupt handler.
Finish implementation of interval timer.
Add some PAL macros.
 
434 6817 d 18 h jermar /SPARTAN/trunk/arch/ia64/src/ Fix switch variable.  
433 6817 d 18 h jermar /SPARTAN/trunk/arch/ia64/ ia64 work.
Fix definition of __u32.
Add more register manipulation functions.
Add unions describing bit-structured registers.
Distinguish between timer, unhandled and spurious external interrupts.
Initialize interval timer to generate first timer interrupt.
 
432 6817 d 19 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Add some asm functions for manipulation with PSR, AR and CR registers.
 
431 6818 d 3 h jermar /SPARTAN/trunk/arch/ IA-64 work.
Exclude external interrupt from universal_handler() scope.
 
430 6819 d 17 h jermar /SPARTAN/trunk/ Move src/ and include/ to generic.  
429 6819 d 23 h jermar /SPARTAN/trunk/arch/mips32/ For now, compile with -mhard-float.
Libraries required by -msoft-float are not part of gcc.
Moreover, ld doesn't warn about undefined symbols.
 
428 6821 d 22 h jermar /SPARTAN/trunk/arch/sparc64/src/ sparc64 work.
In context_save() and context_restore(), reserve 128 bytes on stack for save area.
 
427 6821 d 22 h jermar /SPARTAN/trunk/arch/sparc64/include/ sparc64 work.
Adjust context_set() to be SCD compliant.
 
426 6822 d 2 h jermar /SPARTAN/trunk/ sparc64 work.
Add context_save(), context_set() and context_restore().
Remove putchar() definition from ofw.c.
Add sparc64 putchar().
Add ppc32 putchar() (i.e. the original ofw.c putchar()).
Make arg.h use the builtin va_* constructs.
 
425 6823 d 0 h cejka /SPARTAN/trunk/arch/mips32/include/ Fixed problem with va_arg macro for mips32. This solves problem with printing 64bit values on it.  
424 6823 d 2 h jermar /SPARTAN/trunk/ sparc64 work.
Link kernel with load address 0x4000.
Add fragment of Linux image header to force SILO to always load the kernel at 0x4000.
Adjust ofw.h and ofw.c to work also on sparc64.
 
423 6825 d 0 h decky /SPARTAN/trunk/ Enable/disable CPU memory barriers at compile time  
422 6826 d 6 h jermar /SPARTAN/trunk/ Move ACPI code to genarch.
Enable it for ia32, amd64 and ia64.
For now, ia64 support is commented out.
 
421 6826 d 16 h jermar /SPARTAN/trunk/ Create genarch directory.
Move ppc32 ofw.[ch] to genarch.
Fix prototype for ofw_call() to return __address instead of int (please review).
Fix copyright notice in sparc64/boot/boot.S.
 
420 6826 d 17 h jermar /SPARTAN/trunk/arch/sparc64/ Small sparc64 changes.
Start native boot loader.
 
419 6827 d 19 h bondari /SPARTAN/trunk/arch/ Memory inline functions for AMD64.
memcmp and memcpy are redefined according to norma
 
418 6829 d 19 h jermar /SPARTAN/trunk/ sparc64 infrastructure.  
417 6833 d 1 h palkovsky /SPARTAN/trunk/arch/amd64/src/boot/ Added identity mapping for more then 16MB - now it maps 64MB on boot.  
416 6833 d 2 h jermar /SPARTAN/trunk/arch/ia64/src/ IA-64 work.
Put RSE into lazy mode before writing ar.bspstore and ar.rnat.
Flush RSE before setting ar.bspstore so that ar.bsp is set to the same address.
 
415 6833 d 3 h jermar /SPARTAN/trunk/arch/ia64/include/ Make context_set() reset ar.pfs.pfm (especially ar.pfs.pfm.sol) so that register stack does not underflow.  
414 6834 d 6 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 6834 d 16 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.
 
412 6835 d 6 h jermar /SPARTAN/trunk/arch/ia64/src/ IA-64 work.
context_save() doesn't have to restore ar.pfs as it is a leaf procedure.
Get rid of assembler warning for start.S.
 
408 6837 d 2 h decky /SPARTAN/trunk/ IA32 has_cpuid() inline
minor indentation fixes
 
406 6839 d 18 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.
 
403 6841 d 19 h jermar /SPARTAN/trunk/arch/ Small improvement in pte_t type definition.  
402 6842 d 4 h jermar /SPARTAN/trunk/ Add ALIGN() macro.

Fix usage of early_mapping() in main.c.
The previous version would not map part of the heap.
Please, review.
 
399 6844 d 16 h jermar /SPARTAN/trunk/ mips32 memory management work.
TLB exceptions seem to be working on at least simics.
msim handles TLB Refill and TLB Invalid exceptions well,
but seems to skip writes to the mapped addressies in mm
mapping test #1 (the data is not written and exception
is not triggered).
 
398 6845 d 4 h jermar /SPARTAN/trunk/ Add arch directory for sparc64.  
397 6845 d 6 h jermar /SPARTAN/trunk/ Small changes to mips32 mm.
Small changes in mm mapping test #1.
 
396 6846 d 3 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.)
 
395 6846 d 18 h jermar /SPARTAN/trunk/arch/mips32/src/mm/ Small fix.
MIPS32 pte_t.c is not bool.
 
394 6846 d 18 h jermar /SPARTAN/trunk/arch/mips32/ MIPS32 memory management work.
Fix some bugs introduced yesterday (PTL3 index is indeed calculated by >> 14).
Introduce two new bits in pte_t (i.e. 'a' and 'w').
Implement TLB Invalid Exception and TLB Modified Exception. (Needs review and testing)