Subversion Repositories HelenOS

Rev

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

Rev 2465 Rev 2467
Line 39... Line 39...
39
#include <arch/types.h>
39
#include <arch/types.h>
40
 
40
 
41
 
41
 
42
/** Decribes CP15 "fault status register" (FSR). */
42
/** Decribes CP15 "fault status register" (FSR). */
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 {
Line 59... Line 59...
59
 *
59
 *
60
 * @note Used for recognizing memory access instructions.
60
 * @note Used for recognizing memory access instructions.
61
 * @see ARM architecture reference (chapter 3.1)
61
 * @see ARM architecture reference (chapter 3.1)
62
 */
62
 */
63
typedef struct {
63
typedef struct {
64
    unsigned dummy1        : 4;
64
    unsigned dummy1 : 4;
65
    unsigned bit4          : 1;
65
    unsigned bit4 : 1;
66
    unsigned bits567       : 3;
66
    unsigned bits567 : 3;
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.