diff options
author | Huang Ying <ying.huang@intel.com> | 2008-12-05 17:48:36 +0100 |
---|---|---|
committer | Andi Kleen <ak@linux.intel.com> | 2008-12-05 17:48:36 +0100 |
commit | f504d0f400a5ccb2a206f8a4b7d67ee7ca19543f (patch) | |
tree | 96c2c0685fe0870d082929c91c3c48bf5a2f85c8 | |
parent | 27b8ebad35e9925952a512b4cb611678d3c578b2 (diff) | |
download | mce-inject-f504d0f400a5ccb2a206f8a4b7d67ee7ca19543f.tar.gz |
Add a flag IN_IRQ to MCE syntax
to specify that the MCE should be injected in IRQ context.
Signed-off-by: Huang Ying <ying.huang@intel.com>
-rw-r--r-- | mce.lex | 1 | ||||
-rw-r--r-- | mce.y | 3 | ||||
-rw-r--r-- | parser.h | 4 |
3 files changed, 7 insertions, 1 deletions
@@ -49,6 +49,7 @@ static struct key { KEY(MCGSTATUS), KEY(NOBROADCAST), KEY(HOLD), + KEY(IN_IRQ), KEYVAL(CORRECTED, MCI_STATUS_VAL), // checkme KEYVAL(UNCORRECTED, MCI_STATUS_VAL|MCI_STATUS_UC|MCI_STATUS_EN), KEYVAL(FATAL, MCI_STATUS_VAL|MCI_STATUS_UC|MCI_STATUS_EN @@ -18,7 +18,7 @@ static void init(void); %} -%token STATUS RIP TSC ADDR MISC CPU BANK MCGSTATUS NOBROADCAST HOLD +%token STATUS RIP TSC ADDR MISC CPU BANK MCGSTATUS NOBROADCAST HOLD IN_IRQ %token CORRECTED UNCORRECTED FATAL MCE %token NUMBER %token SYMBOL @@ -61,6 +61,7 @@ mce_term: STATUS status_list { m.status = $2; } | MISC NUMBER { m.misc = $2; m.status |= MCI_STATUS_MISCV; } | NOBROADCAST { mce_flags |= MCE_NOBROADCAST; } | HOLD { mce_flags |= MCE_HOLD; } + | IN_IRQ { m.pad = MCEC_IRQ; } ; mcgstatus_list: /* empty */ @@ -17,3 +17,7 @@ enum mceflags { extern enum mceflags mce_flags; +enum mce_context { + MCEC_PROCESS, + MCEC_IRQ, +}; |