aboutsummaryrefslogtreecommitdiff
path: root/hw/bt.c
diff options
context:
space:
mode:
authorJeremy Kerr <jeremy.kerr@au.ibm.com>2015-02-05 13:40:02 +1030
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-02-09 14:03:50 +1100
commit6e42e6364ed2b1e976d7ddace2e28f27c0b46ba4 (patch)
treeeb41ec3e3866059770fb7ead6a3ef44a0977e777 /hw/bt.c
parentc5a06a551ef55468e7bc46615f71f4ee4dbeaa02 (diff)
downloadskiboot-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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/bt.c b/hw/bt.c
index afdd5df..d5c71a8 100644
--- a/hw/bt.c
+++ b/hw/bt.c
@@ -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();
+ }
}
/*