diff options
author | Jeremy Kerr <jeremy.kerr@au.ibm.com> | 2015-02-05 13:40:02 +1030 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-02-09 14:03:50 +1100 |
commit | 6e42e6364ed2b1e976d7ddace2e28f27c0b46ba4 (patch) | |
tree | eb41ec3e3866059770fb7ead6a3ef44a0977e777 /hw/bt.c | |
parent | c5a06a551ef55468e7bc46615f71f4ee4dbeaa02 (diff) | |
download | skiboot-6e42e6364ed2b1e976d7ddace2e28f27c0b46ba4.zip skiboot-6e42e6364ed2b1e976d7ddace2e28f27c0b46ba4.tar.gz skiboot-6e42e6364ed2b1e976d7ddace2e28f27c0b46ba4.tar.bz2 |
ipmi: handle SMS_ATN events
When the bt interface sets the SMS_ATN flag, we perform a Get Message
Flags to determine what messages are available.
The only message type currently processed is the Event Message Buffer,
which provides SEL messages for indicating OEM specific events such as
graceful system shutdown and PNOR access requested. These events will be
handled by the IPMI layer in skiboot.
Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Signed-off-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/bt.c')
-rw-r--r-- | hw/bt.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -418,12 +418,18 @@ static int bt_add_ipmi_msg(struct ipmi_msg *ipmi_msg) void bt_irq(void) { uint8_t ireg = bt_inb(BT_INTMASK); + uint8_t ctrl = bt_inb(BT_CTRL); bt.irq_ok = true; if (ireg & BT_INTMASK_B2H_IRQ) { bt_outb(BT_INTMASK_B2H_IRQ | BT_INTMASK_B2H_IRQEN, BT_INTMASK); bt_poll(NULL, NULL); } + + if (ctrl & BT_CTRL_SMS_ATN) { + bt_outb(BT_CTRL_SMS_ATN, BT_CTRL); + ipmi_sms_attention(); + } } /* |