Rev |
Age |
Author |
Path |
Log message |
Diff |
520 |
6838 d 11 h |
vana |
/kernel/trunk/arch/ia64/ |
Lost files from last commit. |
|
519 |
6838 d 11 h |
vana |
/kernel/trunk/arch/ia64/ |
Keyboard support for ski (ia64 emulator) |
|
503 |
6843 d 16 h |
jermar |
/kernel/trunk/ |
Rename arch_late_init() to arch_pre_smp_init().
Add arch_post_smp_init().
Enable IRQ_KBD on ia-32 (doesn't work on Bochs SMP, works on Bochs UP). |
|
501 |
6843 d 17 h |
jermar |
/ |
Rename HelenOS/SPARTAN to HelenOS/kernel. |
|
486 |
6851 d 10 h |
jermar |
/SPARTAN/trunk/ |
Revert to -O3 for all architectures as the mips32 bug got fixed. |
|
483 |
6851 d 13 h |
jermar |
/SPARTAN/trunk/ |
For now, each architecture must use its own -O switch (-O2 doesn't work for ia64, -O3 doesn't work for mips32).
New mips32 atomic_add() function.
Cleanup. |
|
478 |
6854 d 15 h |
jermar |
/SPARTAN/trunk/ |
Re-aply mistakenly reverted changes. |
|
477 |
6854 d 18 h |
vana |
/SPARTAN/trunk/ |
Atomic inc & dec functions synchronized on all ia32,ia64 and mips platforms. Now there are 3 versions which returns no value, new value and old value och changed variable. |
|
476 |
6854 d 20 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
ia64 CPU identification. |
|
475 |
6855 d 18 h |
jermar |
/SPARTAN/trunk/ |
Define atomic_t type. |
|
473 |
6856 d 10 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
ia64 work.
Comment some offending steps of heavyweight interrupt handler regarding RSE switching.
With this change, ia64 will do well on tests rwlock #4 and thread #1.
Cleanup. |
|
472 |
6856 d 18 h |
jermar |
/SPARTAN/trunk/ |
Changes in build system.
For .S targets, always do -D__ASM__.
Remove unnecessary #define __ASM__ from various *.S files.
At the end of build, generate disassembler dump for kernel.raw.
ia64 work.
Better General Exception handler. |
|
470 |
6857 d 7 h |
jermar |
/SPARTAN/trunk/ |
ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.
ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement. |
|
461 |
6857 d 19 h |
decky |
/SPARTAN/trunk/ |
link kernel in ARCH's native format first, then use objcopy to create output format |
|
457 |
6857 d 20 h |
decky |
/SPARTAN/trunk/ |
new build system almost finished |
|
456 |
6857 d 20 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
ia64 work.
Add missing srlz_d().
Remove extra stops.
Coding style cleanups. |
|
455 |
6858 d 8 h |
decky |
/SPARTAN/trunk/ |
new build system upgrade
finished work for IA-32, IA-64, PPC-32, SPARC-64 |
|
445 |
6858 d 17 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
ia64 work.
Fix SP_DELTA alignment.
Cosmetics. |
|
444 |
6858 d 17 h |
vana |
/SPARTAN/trunk/arch/ia64/ |
Context restore in HEAVYWEIGHT handlers |
|
443 |
6858 d 18 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 |
6858 d 19 h |
vana |
/SPARTAN/trunk/arch/ia64/src/ |
sp should not be decremented after last save |
|
441 |
6858 d 20 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
r12 (stack pointer) must be descremented prior to storing data into new memory stack frame. |
|
439 |
6859 d 16 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
Two small ia64 improvements. |
|
438 |
6859 d 17 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. |
|
435 |
6860 d 11 h |
jermar |
/SPARTAN/trunk/arch/ia64/ |
ia64 work.
Begin implemention of heavyweight interrupt handler.
Finish implementation of interval timer.
Add some PAL macros. |
|
434 |
6862 d 10 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
Fix switch variable. |
|
433 |
6862 d 10 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 |
6862 d 12 h |
jermar |
/SPARTAN/trunk/arch/ |
IA-64 work.
Add some asm functions for manipulation with PSR, AR and CR registers. |
|
431 |
6862 d 20 h |
jermar |
/SPARTAN/trunk/arch/ |
IA-64 work.
Exclude external interrupt from universal_handler() scope. |
|
430 |
6864 d 10 h |
jermar |
/SPARTAN/trunk/ |
Move src/ and include/ to generic. |
|
416 |
6877 d 19 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 |
6877 d 19 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 |
6878 d 23 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 |
6879 d 9 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 |
6879 d 23 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. |
|
403 |
6886 d 12 h |
jermar |
/SPARTAN/trunk/arch/ |
Small improvement in pte_t type definition. |
|
402 |
6886 d 21 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. |
|
391 |
6892 d 10 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. |
|
389 |
6892 d 21 h |
jermar |
/SPARTAN/trunk/ |
MIPS work.
Fix some name inconsistencies between cp0 functions' declarations and definitions.
Add and implement tlb_init_arch().
Add tlb_modified() exception handler.
Other architectures: add dummy tlb_init_arch(). |
|
388 |
6893 d 19 h |
jermar |
/SPARTAN/trunk/arch/ia64/src/ |
IA-64 work.
Map interrupt vectors to their names. |
|