Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 271 → Rev 272

/SPARTAN/trunk/arch/ia64/include/asm.h
61,4 → 61,9
#define get_psr(val) {__u64 v ; __asm__ volatile("mov r15 = psr;;\n" "mov %0 = r15;;\n" : "=r" (v) : : "r15" ); val=v; }
 
 
void cpu_halt(void);
 
 
 
 
#endif
/SPARTAN/trunk/arch/ia64/Makefile.inc
6,7 → 6,11
CC=$(IA-64_CC_DIR)/$(IA-64_TARGET)-gcc
AS=$(IA-64_BINUTILS_DIR)/$(IA-64_TARGET)-as
LD=$(IA-64_BINUTILS_DIR)/$(IA-64_TARGET)-ld
OBJCOPY=$(IA-64_BINUTILS_DIR)/$(IA-64_TARGET)-objcopy
BFD_NAME=elf64-little
BFD_ARCH=ia64-elf64
 
 
ASFLAGS=-mconstant-gp
 
DEFS=-DARCH=$(ARCH)
28,4 → 32,4
arch/cpu/cpu.c \
arch/ivt.S \
arch/interrupt_handler.c \
arch/fmath.c
arch/fmath.c
/SPARTAN/trunk/arch/ia64/src/cpu/cpu.c
22,9 → 22,9
 
__asm__ volatile (
"mov cr2 = %0;;\n"
"mov psr.l = %1;;\n"
"srlz.i;"
"srlz.d;;"
"{mov psr.l = %1;;}\n"
"{srlz.i;"
"srlz.d;;}"
:
: "r" (p), "r" (psr)
);
/SPARTAN/trunk/arch/ia64/src/interrupt_handler.c
32,6 → 32,7
#include <print.h>
#include <arch/types.h>
#include <arch/asm.h>
#include <symtab.h>
 
extern __u64 REG_DUMP;
 
51,15 → 52,16
}
 
 
#define cr_dump(r) {__u64 val; get_control_register(r,val); printf("cr"#r":%Q\n",val);}
#define ar_dump(r) {__u64 val; get_aplication_register(r,val); printf("ar"#r":%Q\n",val);}
#define cr_dump(r) {__u64 val; get_control_register(r,val); printf("\ncr"#r":%Q",val);}
#define ar_dump(r) {__u64 val; get_aplication_register(r,val); printf("\nar"#r":%Q",val);}
 
void universal_handler(void);
void universal_handler(void)
{
__u64 vector,psr;
__u64 vector,psr,PC;
__u64 *p;
int i;
char *sym;
get_shadow_register(16,vector);
76,10 → 78,10
cr_dump(8);
cr_dump(16);
cr_dump(17);
cr_dump(19);
cr_dump(20);
cr_dump(19);get_control_register(19,PC); if(sym=get_symtab_entry(PC)) printf("(%s)",sym);
cr_dump(20);get_control_register(20,PC); if(sym=get_symtab_entry(PC)) printf("(%s)",sym);
cr_dump(21);
cr_dump(22);
cr_dump(22);get_control_register(22,PC); if(sym=get_symtab_entry(PC)) printf("(%s)",sym);
cr_dump(23);
cr_dump(24);
cr_dump(25);
/SPARTAN/trunk/arch/ia64/src/start.S
34,9 → 34,9
kernel_image_start:
.auto
# initialize PSR
mov psr.l = r0;;
srlz.i;
srlz.d;;
{mov psr.l = r0;;}
{srlz.i;
srlz.d;;}
# initialize register stack
mov ar.rsc = r0
/SPARTAN/trunk/arch/ia64/_link.ld
28,6 → 28,10
*(.scommon)
*(.bss)
*(COMMON);
 
symbol_table = .;
*(symtab.*); /* Symbol table, must be LAST symbol!*/
 
kdata_end = .;
}