Changeset 901122b in mainline for arch/ia64/src/interrupt.c


Ignore:
Timestamp:
2006-03-09T17:40:30Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a2a46ba
Parents:
b994a60
Message:

ia64 work.
Userspace is now working.
There is an unrelated show stopper, however.

File:
1 edited

Legend:

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

    rb994a60 r901122b  
    4141#include <symtab.h>
    4242#include <debug.h>
     43#include <syscall/syscall.h>
     44#include <print.h>
    4345
    4446#define VECTORS_64_BUNDLE       20
     
    132134        printf("ar.rnat=%Q\tar.rsc=%Q\n", pstate->ar_rnat, pstate->ar_rsc);
    133135        printf("ar.ifs=%Q\tar.pfs=%Q\n", pstate->ar_ifs, pstate->ar_pfs);
    134         printf("cr.isr=%Q\tcr.ips=%Q\t\n", pstate->cr_isr.value, pstate->cr_ips);
     136        printf("cr.isr=%Q\tcr.ipsr=%Q\t\n", pstate->cr_isr.value, pstate->cr_ipsr);
    135137       
    136138        printf("cr.iip=%Q, #%d\t(%s)\n", pstate->cr_iip, pstate->cr_isr.ei ,iip ? iip : "?");
     
    172174}
    173175
    174 void break_instruction(__u64 vector, struct exception_regdump *pstate)
    175 {
    176         dump_interrupted_context(pstate);
    177         panic("Break Instruction\n");
     176/** Handle syscall. */
     177int break_instruction(__u64 vector, struct exception_regdump *pstate)
     178{
     179        /*
     180         * Move to next instruction after BREAK.
     181         */
     182        if (pstate->cr_ipsr.ri == 2) {
     183                pstate->cr_ipsr.ri = 0;
     184                pstate->cr_iip += 16;
     185        } else {
     186                pstate->cr_ipsr.ri++;
     187        }
     188
     189        if (pstate->in0 < SYSCALL_END)
     190                return syscall_table[pstate->in0](pstate->in1, pstate->in2, pstate->in3);
     191        else
     192                panic("Undefined syscall %d", pstate->in0);
     193               
     194        return -1;
    178195}
    179196
Note: See TracChangeset for help on using the changeset viewer.