[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] OpenIPMI on dom0
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |