Changeset e2ec980f in mainline for arch/ia64/include/interrupt.h


Ignore:
Timestamp:
2005-11-09T01:21:46Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b183865e
Parents:
0b5ac364
Message:

ia64 work.
Big cleanup of IA-64 interrupt processing.
Merge of interrupt.c and interrupt_handler.c.
Rewrite of ivt.S and interrupt.c.
Higher level interrupt handlers are now passed a vector number and a pointer to stack structure.

ia32 work.
ia32 has ordered writes. Until it deploys weaker memory ordering model, write_barrier() can be empty statement.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/ia64/include/interrupt.h

    r0b5ac364 re2ec980f  
    3030#define __ia64_INTERRUPT_H__
    3131
     32#include <arch/types.h>
     33
     34/** External interrupt vectors. */
    3235#define INTERRUPT_TIMER         0
    3336#define INTERRUPT_SPURIOUS      15
     
    3538#define EOI     0               /**< The actual value doesn't matter. */
    3639
    37 extern void external_interrupt(void);
     40struct exception_regdump {
     41        __address ar_bsp;
     42        __address ar_bspstore;
     43        __u64 ar_rnat;
     44        __u64 ar_ifs;
     45        __u64 ar_pfs;
     46        __u64 ar_rsc;
     47        __address cr_ifa;
     48        __u64 cr_isr;
     49        __address cr_iipa;
     50        __u64 cr_ips;
     51        __address cr_iip;
     52        __u64 pr;
     53} __attribute__ ((packed));
     54
     55extern void *ivt;
     56
     57extern void general_exception(__u64 vector, struct exception_regdump *pstate);
     58extern void break_instruction(__u64 vector, struct exception_regdump *pstate);
     59extern void universal_handler(__u64 vector, struct exception_regdump *pstate);
     60extern void external_interrupt(__u64 vector, struct exception_regdump *pstate);
    3861
    3962#endif
Note: See TracChangeset for help on using the changeset viewer.