Subversion Repositories HelenOS

Rev

Rev 2414 | Rev 2464 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2414 Rev 2417
Line 43... Line 43...
43
typedef struct {
43
typedef struct {
44
    unsigned status           : 3;
44
    unsigned status           : 3;
45
    unsigned domain           : 4;
45
    unsigned domain           : 4;
46
    unsigned zero             : 1;
46
    unsigned zero             : 1;
47
    unsigned should_be_zero   : 24;
47
    unsigned should_be_zero   : 24;
48
} __attribute__ ((packed)) fault_status_t;
48
} ATTRIBUTE_PACKED fault_status_t;
49
 
49
 
50
 
50
 
51
/** Help union used for casting integer value into #fault_status_t. */
51
/** Help union used for casting integer value into #fault_status_t. */
52
typedef union {
52
typedef union {
53
    fault_status_t    fs;
53
    fault_status_t    fs;
Line 67... Line 67...
67
    unsigned dummy         : 12;
67
    unsigned dummy         : 12;
68
    unsigned access        : 1;
68
    unsigned access        : 1;
69
    unsigned opcode        : 4;
69
    unsigned opcode        : 4;
70
    unsigned type          : 3;
70
    unsigned type          : 3;
71
    unsigned condition     : 4;
71
    unsigned condition     : 4;
72
} __attribute__ ((packed)) instruction_t;
72
} ATTRIBUTE_PACKED instruction_t;
73
 
73
 
74
 
74
 
75
/** Help union used for casting pc register (uint_32_t) value into
75
/** Help union used for casting pc register (uint_32_t) value into
76
 *  #instruction_t pointer.
76
 *  #instruction_t pointer.
77
 */
77
 */
78
typedef union {
78
typedef union {
79
    instruction_t*   instr;
79
    instruction_t   *instr;
80
    uint32_t         pc;
80
    uint32_t         pc;
81
} instruction_union_t;
81
} instruction_union_t;
82
 
82
 
83
 
83
 
84
extern void prefetch_abort(int n, istate_t *istate);
84
extern void prefetch_abort(int n, istate_t *istate);