From: <Srinivas_G_Gowda@Dell.com>
To: <tcminyard@gmail.com>, <linux-kernel@vger.kernel.org>,
<openipmi@mvista.com>
Subject: [PATCH 1/1 v2 ] ipmi: Setting OS name as Linux in BMC
Date: Thu, 28 Jun 2012 09:45:28 -0700 [thread overview]
Message-ID: <4FEC8A28.4070806@dell.com> (raw)
In-Reply-To: <4FEC8931.5020001@dell.com>
functions that will send the Set System Info command
and its corresponding handler
Signed-off-by: Srinivas Gowda G <Srinivas_G_Gowda@Dell.com>
---
drivers/char/ipmi/ipmi_msghandler.c | 73 +++++++++++++++++++++++++++++++++++
include/linux/ipmi_msgdefs.h | 1 +
2 files changed, 74 insertions(+), 0 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_msghandler.c b/drivers/char/ipmi/ipmi_msghandler.c
index d0abb3a..b1a98b5 100644
--- a/drivers/char/ipmi/ipmi_msghandler.c
+++ b/drivers/char/ipmi/ipmi_msghandler.c
@@ -2709,6 +2709,79 @@ get_guid(ipmi_smi_t intf)
intf->null_user_handler = NULL;
}
+static int
+send_set_os_name_cmd(ipmi_smi_t intf)
+{
+ unsigned char param_select;
+ unsigned char set_selector;
+ unsigned char string_encode;
+ unsigned char str_len;
+ unsigned char data[9];
+
+ struct kernel_ipmi_msg msg;
+ struct ipmi_system_interface_addr si;
+
+ si.addr_type = IPMI_SYSTEM_INTERFACE_ADDR_TYPE;
+ si.channel = IPMI_BMC_CHANNEL;
+ si.lun = 0;
+
+ param_select = 4; /* parameter number for volatile OS name */
+ set_selector = 0; /* set selector, block 0 */
+ string_encode = 0; /* ASCII Encoding */
+ str_len = 5; /* length of ASCII string - "Linux" */
+
+ data[0] = param_select;
+ data[1] = set_selector;
+ data[2] = string_encode;
+ data[3] = str_len;
+ data[4] = 'L';
+ data[5] = 'i';
+ data[6] = 'n';
+ data[7] = 'u';
+ data[8] = 'x';
+
+ msg.netfn = IPMI_NETFN_APP_REQUEST;
+ msg.cmd = IPMI_SET_SYSTEM_INFO;
+ msg.data = data;
+ msg.data_len = 9;
+ return i_ipmi_request(NULL,
+ intf,
+ (struct ipmi_addr *) &si,
+ 0,
+ &msg,
+ intf,
+ NULL,
+ NULL,
+ 0,
+ intf->channels[0].address,
+ intf->channels[0].lun,
+ -1, 0);
+}
+
+/*
+ * msg handler for Set_System_Info cmd - set OS name
+ */
+static void
+set_os_name_handler(ipmi_smi_t intf, struct ipmi_recv_msg *msg)
+{
+ if ((msg->addr.addr_type != IPMI_SYSTEM_INTERFACE_ADDR_TYPE)
+ || (msg->msg.netfn != IPMI_NETFN_APP_RESPONSE)
+ || (msg->msg.cmd != IPMI_SET_SYSTEM_INFO))
+ /* Not for me */
+ return;
+
+ if (msg->msg.data[0] != 0)
+ /* Error setting OS name as Linux in BMC. */
+ printk(KERN_WARNING PFX
+ "Failed to set OS name as Linux: 0x%X\n", msg->msg.data[0]);
+ else
+ printk(KERN_INFO PFX
+ "OS Name successfully set as Linux\n");
+
+ os_name_set = 1;
+ wake_up(&intf->waitq);
+}
+
/*
* Set the Operating System Name as "Linux" in BMC
* using "Set System Info" command.
diff --git a/include/linux/ipmi_msgdefs.h b/include/linux/ipmi_msgdefs.h
index df97e6e..b5ea664 100644
--- a/include/linux/ipmi_msgdefs.h
+++ b/include/linux/ipmi_msgdefs.h
@@ -57,6 +57,7 @@
#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 0x2f
#define IPMI_READ_EVENT_MSG_BUFFER_CMD 0x35
#define IPMI_GET_CHANNEL_INFO_CMD 0x42
+#define IPMI_SET_SYSTEM_INFO 0x58
/* Bit for BMC global enables. */
#define IPMI_BMC_RCV_MSG_INTR 0x01
--
1.7.1
Thanks,
G
next parent reply other threads:[~2012-06-28 16:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4FEC8931.5020001@dell.com>
2012-06-28 16:45 ` Srinivas_G_Gowda [this message]
2012-06-29 0:01 ` [PATCH 1/1 v2 ] ipmi: Setting OS name as Linux in BMC Andi Kleen
2012-06-29 3:06 ` Corey Minyard
2012-06-29 12:30 ` Matthew Garrett
2012-06-29 14:27 ` Corey Minyard
2012-07-04 5:11 ` Srinivas_G_Gowda
2012-07-04 12:17 ` Andi Kleen
2012-07-04 17:41 ` Corey Minyard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4FEC8A28.4070806@dell.com \
--to=srinivas_g_gowda@dell.com \
--cc=linux-kernel@vger.kernel.org \
--cc=openipmi@mvista.com \
--cc=tcminyard@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.