Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 271 → Rev 272

/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