Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 663 → Rev 662

/kernel/trunk/arch/sparc64/src/dummy.s
29,6 → 29,7
.text
 
.global asm_delay_loop
.global cpu_halt
.global cpu_sleep
.global fmath_dpow
.global fmath_fint
44,6 → 45,7
.global dummy
 
asm_delay_loop:
cpu_halt:
cpu_sleep:
fmath_dpow:
fmath_fint:
59,8 → 61,3
dummy:
retl
nop
 
.global cpu_halt
cpu_halt:
b cpu_halt
nop
/kernel/trunk/arch/sparc64/src/sparc64.c
33,7 → 33,6
 
void arch_pre_mm_init(void)
{
interrupts_disable();
ofw_sparc64_console_init();
trap_init();
}
/kernel/trunk/arch/sparc64/src/panic.S
34,4 → 34,3
nop
call halt
nop
/* Not reached. */
/kernel/trunk/arch/sparc64/src/trap/trap.c
29,7 → 29,6
#include <arch/trap/trap.h>
#include <arch/trap/trap_table.h>
#include <arch/trap/regwin.h>
#include <arch/trap/interrupt.h>
#include <arch/asm.h>
#include <memstr.h>
#include <debug.h>
55,11 → 54,6
trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, false);
trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, false);
trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, false);
trap_install_handler(TT_CLEAN_WINDOW, CLEAN_WINDOW_HANDLER_SIZE, true);
trap_install_handler(TT_SPILL_0_NORMAL, SPILL_HANDLER_SIZE, true);
trap_install_handler(TT_FILL_0_NORMAL, FILL_HANDLER_SIZE, true);
trap_install_handler(TT_INTERRUPT_VECTOR_TRAP, INTERRUPT_VECTOR_TRAP_HANDLER_SIZE, false);
}
 
/** Copy trap handler to active trap table.
/kernel/trunk/arch/sparc64/src/trap/trap_table.S
42,7 → 42,6
 
#include <arch/trap/trap_table.h>
#include <arch/trap/regwin.h>
#include <arch/trap/interrupt.h>
 
#define TABLE_SIZE TRAP_TABLE_SIZE
#define ENTRY_SIZE TRAP_TABLE_ENTRY_SIZE
54,61 → 53,59
.global trap_table
trap_table:
 
/* TT = 0x24, TL = 0, clean_window handler */
/* TT = 0x24, TL = 0 *, clean_window handler */
.org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE
.global clean_window_handler
clean_window_handler:
CLEAN_WINDOW_HANDLER
 
/* TT = 0x60, TL = 0, interrupt_vector_trap handler */
.org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE
.global interrupt_vector_trap_handler
interrupt_vector_trap_handler:
INTERRUPT_VECTOR_TRAP_HANDLER
 
/* TT = 0x80, TL = 0, spill_0_normal handler */
/* TT = 0x80, TL = 0 *, spill_0_normal handler */
.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
.global spill_0_normal
spill_0_normal:
SPILL_NORMAL_HANDLER
 
/* TT = 0xc0, TL = 0, fill_0_normal handler */
/* TT = 0xc0, TL = 0 *, fill_0_normal handler */
.org trap_table + TT_FILL_0_NORMAL*ENTRY_SIZE
.global fill_0_normal
fill_0_normal:
FILL_NORMAL_HANDLER
 
/*
* Handlers for TL>0.
* Software traps for TL=0.
*/
.org trap_table + 256*ENTRY_SIZE
tl_0_software_traps:
 
/* TT = 0x24, TL > 0, clean_window handler */
.org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE
.global clean_window_handler_high
clean_window_handler_high:
CLEAN_WINDOW_HANDLER
/* Reserved area. */
.org trap_table + 384*ENTRY_SIZE
.space 128*ENTRY_SIZE, 0
 
/*
* Hardware interrupts for TL>0.
*/
.org trap_table + 512*ENTRY_SIZE
tl_non_0_hardware_traps:
 
/* TT = 0x80, TL > 0, spill_0_normal handler */
/*
* Register window spill/fill traps for TL>0.
*/
.org trap_table + 640*ENTRY_SIZE
tl_non_0_regwin_traps:
 
.org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE
.global spill_0_normal_high
spill_0_normal_high:
SPILL_NORMAL_HANDLER
/*
* Software traps for TL>0.
*/
.org trap_table + 768*ENTRY_SIZE
tl_non_0_software_traps:
 
/* Reserved area. */
.org trap_table + 896*ENTRY_SIZE
.space 128*ENTRY_SIZE, 0
 
/* TT = 0xc0, TL > 0, fill_0_normal handler */
.org trap_table + (TT_FILL_0_NORMAL+512)*ENTRY_SIZE
.global fill_0_normal_high
fill_0_normal_high:
FILL_NORMAL_HANDLER
 
 
 
/*
* Save trap table.
*/
.align TABLE_SIZE
.global trap_table_save
trap_table_save:
.space TABLE_SIZE, 0
/kernel/trunk/arch/sparc64/Makefile.inc
59,5 → 59,4
arch/$(ARCH)/src/sparc64.c \
arch/$(ARCH)/src/start.S \
arch/$(ARCH)/src/trap/trap_table.S \
arch/$(ARCH)/src/trap/trap.c \
arch/$(ARCH)/src/trap/interrupt.c
arch/$(ARCH)/src/trap/trap.c