NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

kern/48233: IPMI hack for HP microserver with remote access card



>Number:         48233
>Category:       kern
>Synopsis:       IPMI hack for HP microserver with remote access card
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Tue Sep 24 00:15:00 +0000 2013
>Originator:     Nat Sloss
>Release:        NetBSD Current 6.99.23
>Organization:
>Environment:
NetBSD beast 6.99.23 NetBSD 6.99.23 (LOCKDEBUG) #4: Wed Jul 17 22:24:41 EST 
2013  build@beast:/usr/src/sys/arch/i386/compile/obj/LOCKDEBUG i386

>Description:
I have a hp microserver n54l with optional remote access card.

The remote access card should attach as an ipmi device but the smbios table 
points to the wrong base address and does not attach.

I've found this documented on several internet sites and the root cause of the 
problem is that the returned base address is 0xca9 where as it should be 0xca2.
>How-To-Repeat:
Boot standard kernel with hp microserver with a remote access card installed 
and ipmi does not attach.
>Fix:
Add options HPMICROSERVER_IPMI to kernel config file and apply this patch.

Index: src/sys/arch/x86/x86/ipmi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/ipmi.c,v
retrieving revision 1.55
diff -u -r1.55 ipmi.c
--- src/sys/arch/x86/x86/ipmi.c 12 Aug 2013 15:40:34 -0000      1.55
+++ src/sys/arch/x86/x86/ipmi.c 24 Sep 2013 00:01:16 -0000
@@ -936,6 +936,13 @@
        if (pipmi->smipmi_base_flags & SMIPMI_FLAG_ODDOFFSET)
                ia->iaa_if_iobase++;
 
+#if defined(HPMICROSERVER_IPMI)
+       ia->iaa_if_iospacing = 1;
+       ia->iaa_if_iobase = pipmi->smipmi_base_address - 7;
+       ia->iaa_if_iotype = 'i';
+       return;
+#endif
+
        if (pipmi->smipmi_base_flags == 0x7f) {
                /* IBM 325 eServer workaround */
                ia->iaa_if_iospacing = 1;

I'd also like to request that if this patch is suitable or a better one arises 
that NetBSD 6 be pulled up.

Regards,

Nat.



Home | Main Index | Thread Index | Old Index