Changeset 05d9dd89 in mainline for arch/ia64/include/register.h


Ignore:
Timestamp:
2005-11-03T21:55:52Z (20 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
dd118f0
Parents:
0259524
Message:

ia64 work.
Fix definition of u32.
Add more register manipulation functions.
Add unions describing bit-structured registers.
Distinguish between timer, unhandled and spurious external interrupts.
Initialize interval timer to generate first timer interrupt.

File:
1 edited

Legend:

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

    r0259524 r05d9dd89  
    3333
    3434#define CR_IVR_MASK     0xf
    35 
    3635#define PSR_I_MASK      0x4000
    3736
     37/** External Interrupt Vector Register */
     38union cr_ivr {
     39        __u8  vector;
     40        __u64 value;
     41};
     42
     43typedef union cr_ivr cr_ivr_t;
     44
     45/** Task Priority Register */
     46union cr_tpr {
     47        struct {
     48                unsigned : 4;
     49                unsigned mic: 4;                /**< Mask Interrupt Class. */
     50                unsigned : 8;
     51                unsigned mmi: 1;                /**< Mask Maskable Interrupts. */
     52        } __attribute__ ((packed));
     53        __u64 value;
     54};
     55
     56typedef union cr_tpr cr_tpr_t;
     57
     58/** Interval Timer Vector */
     59union cr_itv {
     60        struct {
     61                unsigned vector : 8;
     62                unsigned : 4;
     63                unsigned : 1;
     64                unsigned : 3;
     65                unsigned m : 1;                 /**< Mask. */
     66        } __attribute__ ((packed));
     67        __u64 value;
     68};
     69
     70typedef union cr_itv cr_itv_t;
     71
    3872#endif
Note: See TracChangeset for help on using the changeset viewer.