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

[Xen-devel] OpenIPMI on dom0


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: "Andrew D. Ball" <aball@xxxxxxxxxx>
  • Date: Tue, 08 Nov 2005 18:11:58 -0500
  • Delivery-date: Tue, 08 Nov 2005 23:12:11 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Has anyone had any success with the OpenIPMI kernel modules on dom0?
I've been trying to get this to work on a IBM HS20 8843-25U blade
running RHEL 4 Update 2 AS i386 (32-bit).

I've tried compiling them into the xen0 kernel with the follow options
in linux-2.6.12-xen0/.config:

#
# IPMI
#
CONFIG_IPMI_HANDLER=m
# CONFIG_IPMI_PANIC_EVENT is not set
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m

and doing 

modprobe ipmi_si

which yields the following error message from dmesg:

ipmi message handler version v33
IPMI System Interface driver version v33, KCS version v33, SMIC version v33, BT
version v33
ipmi_si: Trying "kcs" at I/O port 0xca2
ipmi_si: Trying "smic" at I/O port 0xca9
ipmi_si: Trying "bt" at I/O port 0xe4
ipmi_si: Unable to find any System Interface(s)

I was able to get ipmi_si to load properly on the default SMP kernel from RHEL 
4, 
with the following messages from the kernel:

ipmi message handler version 33.4
IPMI System Interface driver version 33.4, KCS version 33.4, SMIC version 33.4,
BT version 33.4
ipmi_si: Found SMBIOS-specified state machine at I/O address 0xca8, slave
address 0x20
 IPMI kcs interface initialized
ipmi device interface version 33.4

So, the BMC I have is on port 0xca8 instead of the default 0xca2.  There's code 
in
linux-2.6.12-xen0/drivers/char/ipmi/ipmi_si_intf.c that is supposed to read the
SMBIOS tables to find out from the type 38 structure what the actual BMC 
address is.
This code uses isa_memcpy_fromio() to read memory from 0xf0000 to 0xfffff, and 
appears
to read all 0's, even though in user-space I can use mmap() on /dev/mem and 
find the
SMBIOS entry point in that address space.

If I specify the port that the BMC is on with

modprobe ipmi_si ports=0xca8

I get the following message from the dom0 Linux kernel

IPMI System Interface driver version v33, KCS version v33, SMIC version v33, BT
version v33
ipmi_si: Trying "kcs" at I/O port 0xca8
ipmi_si: Unable to find any System Interface(s)

so something else appears to be wrong here too, other than 
isa_memcpy_fromio()'s only
reading 0's from reserved memory blocks.  The code to initialize a BMC starts 
in the
init_one_smi() function in linux-2.6.12-xen0/drivers/char/ipmi/ipmi_si_intf.c . 
 
I think this code tries to send and write bytes from IO ports using inb() and 
outb() and
don't know whether these are known to work with Xen or not.

Does anyone know anything about why this doesn't work?

Thanks in advance for your help.

Andrew

 





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.