Changeset 1b03ed3 in mainline for kernel/arch/ia64/src/interrupt.c


Ignore:
Timestamp:
2007-11-16T16:20:45Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
454889c
Parents:
9c2fb97
Message:

Support for six syscall arguments on ia64.

—iSupis line, and those below, will be ignored—

M kernel/arch/ia64/include/interrupt.h
M kernel/arch/ia64/src/ivt.S
M kernel/arch/ia64/src/interrupt.c
M uspace/lib/libc/arch/ia64/src/syscall.S

File:
1 edited

Legend:

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

    r9c2fb97 r1b03ed3  
    127127       
    128128        if (vector >= VECTORS_16_BUNDLE_START)
    129                 return vector_names_16_bundle[(vector-VECTORS_16_BUNDLE_START)/(16*BUNDLE_SIZE)];
     129                return vector_names_16_bundle[(vector -
     130                    VECTORS_16_BUNDLE_START) / (16 * BUNDLE_SIZE)];
    130131        else
    131                 return vector_names_64_bundle[vector/(64*BUNDLE_SIZE)];
     132                return vector_names_64_bundle[vector / (64 * BUNDLE_SIZE)];
    132133}
    133134
     
    142143        putchar('\n');
    143144        printf("Interrupted context dump:\n");
    144         printf("ar.bsp=%p\tar.bspstore=%p\n", istate->ar_bsp, istate->ar_bspstore);
    145         printf("ar.rnat=%#018llx\tar.rsc=%#018llx\n", istate->ar_rnat, istate->ar_rsc);
    146         printf("ar.ifs=%#018llx\tar.pfs=%#018llx\n", istate->ar_ifs, istate->ar_pfs);
    147         printf("cr.isr=%#018llx\tcr.ipsr=%#018llx\t\n", istate->cr_isr.value, istate->cr_ipsr);
     145        printf("ar.bsp=%p\tar.bspstore=%p\n", istate->ar_bsp,
     146            istate->ar_bspstore);
     147        printf("ar.rnat=%#018llx\tar.rsc=%#018llx\n", istate->ar_rnat,
     148            istate->ar_rsc);
     149        printf("ar.ifs=%#018llx\tar.pfs=%#018llx\n", istate->ar_ifs,
     150            istate->ar_pfs);
     151        printf("cr.isr=%#018llx\tcr.ipsr=%#018llx\t\n", istate->cr_isr.value,
     152            istate->cr_ipsr);
    148153       
    149         printf("cr.iip=%#018llx, #%d\t(%s)\n", istate->cr_iip, istate->cr_isr.ei, iip);
     154        printf("cr.iip=%#018llx, #%d\t(%s)\n", istate->cr_iip,
     155            istate->cr_isr.ei, iip);
    150156        printf("cr.iipa=%#018llx\t(%s)\n", istate->cr_iipa, iipa);
    151157        printf("cr.ifa=%#018llx\t(%s)\n", istate->cr_ifa, ifa);
     
    191197        scheduler_fpu_lazy_request();   
    192198#else
    193         fault_if_from_uspace(istate, "Interruption: %#hx (%s)", (uint16_t) vector, vector_to_string(vector));
     199        fault_if_from_uspace(istate, "Interruption: %#hx (%s)",
     200            (uint16_t) vector, vector_to_string(vector));
    194201        dump_interrupted_context(istate);
    195         panic("Interruption: %#hx (%s)\n", (uint16_t) vector, vector_to_string(vector));
     202        panic("Interruption: %#hx (%s)\n", (uint16_t) vector,
     203            vector_to_string(vector));
    196204#endif
    197205}
     
    214222        }
    215223
    216         return syscall_handler(istate->in0, istate->in1, istate->in2, istate->in3, istate->in4);
     224        return syscall_handler(istate->in0, istate->in1, istate->in2,
     225            istate->in3, istate->in4, istate->in5, istate->in6);
    217226}
    218227
    219228void universal_handler(uint64_t vector, istate_t *istate)
    220229{
    221         fault_if_from_uspace(istate,"Interruption: %#hx (%s)\n",(uint16_t) vector, vector_to_string(vector));
     230        fault_if_from_uspace(istate, "Interruption: %#hx (%s)\n",
     231            (uint16_t) vector, vector_to_string(vector));
    222232        dump_interrupted_context(istate);
    223         panic("Interruption: %#hx (%s)\n", (uint16_t) vector, vector_to_string(vector));
     233        panic("Interruption: %#hx (%s)\n", (uint16_t) vector,
     234            vector_to_string(vector));
    224235}
    225236
     
    245256
    246257                default:
    247                         panic("\nUnhandled External Interrupt Vector %d\n", ivr.vector);
     258                        panic("\nUnhandled External Interrupt Vector %d\n",
     259                            ivr.vector);
    248260                        break;
    249261                }
Note: See TracChangeset for help on using the changeset viewer.