Changeset 60f6b7c in mainline for arch/ia64/src/interrupt_handler.c


Ignore:
Timestamp:
2005-09-01T17:47:55Z (20 years ago)
Author:
Jakub Vana <jakub.vana@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
5a2e9bbb
Parents:
38207b9
Message:

Register dump on IA-64 exceptions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/src/interrupt_handler.c

    r38207b9 r60f6b7c  
    3030
    3131#include <panic.h>
     32#include <print.h>
    3233#include <arch/types.h>
     34#include <arch/asm.h>
     35
     36extern __u64 REG_DUMP;
    3337
    3438
     
    4852
    4953
     54#define cr_dump(r) {__u64 val; get_control_register(r,val); printf("cr"#r":%Q\n",val);}
     55#define ar_dump(r) {__u64 val; get_aplication_register(r,val); printf("ar"#r":%Q\n",val);}
     56
    5057void universal_handler(void);
    5158void universal_handler(void)
    5259{
    53         __u64 i;
     60        __u64 vector,psr;
     61        __u64 *p;
     62        int i;
     63       
     64       
     65        get_shadow_register(16,vector);
    5466
    55         __asm__ (
    56                 "mov  %0 = r12;;"
    57                 : "=r" (i)
    58                 :
    59                 : "r15"
    60         );
     67       
     68        p=&REG_DUMP;
    6169
    62         panic("\nException:%Q\n",i);
     70        for(i=0;i<128;i+=2) printf("gr%d:%Q\tgr%d:%Q\n",i,p[i],i+1,p[i+1]);
     71
     72
     73        cr_dump(0);     
     74        cr_dump(1);     
     75        cr_dump(2);     
     76        cr_dump(8);     
     77        cr_dump(16);   
     78        cr_dump(17);   
     79        cr_dump(19);   
     80        cr_dump(20);   
     81        cr_dump(21);   
     82        cr_dump(22);   
     83        cr_dump(23);   
     84        cr_dump(24);   
     85        cr_dump(25);   
     86        cr_dump(64);   
     87        cr_dump(65);   
     88        cr_dump(66);   
     89        cr_dump(67);   
     90        cr_dump(68);   
     91        cr_dump(69);   
     92        cr_dump(70);   
     93        cr_dump(71);   
     94        cr_dump(72);   
     95        cr_dump(73);   
     96        cr_dump(74);   
     97        cr_dump(80);   
     98        cr_dump(81);   
     99       
     100        ar_dump(0);     
     101        ar_dump(1);     
     102        ar_dump(2);     
     103        ar_dump(3);     
     104        ar_dump(4);     
     105        ar_dump(5);     
     106        ar_dump(6);     
     107        ar_dump(7);     
     108        ar_dump(16);   
     109        ar_dump(17);   
     110        ar_dump(18);   
     111        ar_dump(19);   
     112        ar_dump(21);   
     113        ar_dump(24);   
     114        ar_dump(25);   
     115        ar_dump(26);   
     116        ar_dump(27);   
     117        ar_dump(28);   
     118        ar_dump(29);   
     119        ar_dump(30);   
     120        ar_dump(32);   
     121        ar_dump(36);   
     122        ar_dump(40);   
     123        ar_dump(44);   
     124        ar_dump(64);   
     125        ar_dump(65);   
     126        ar_dump(66);   
     127
     128        get_psr(psr);
     129
     130        printf("\nPSR:%Q\n",psr);
     131       
     132        panic("\nException:%Q\n",vector);
    63133}
    64134
Note: See TracChangeset for help on using the changeset viewer.