On 04/17/15 10:49, Tom Spindler (moof) wrote:
On Tue, Mar 24, 2015 at 09:19:34PM +0000, Michael van Elst wrote:That patch seems to fix the problem. I used a 7.99.5 kernel with the above to successfully boot the machine with a NetBSD 7.0_BETA userland. Can you commit the fix?Does IPMI work for you?I have a ProLiant G7 N54L and just ran into the same issue, and the same patch allows the machien to boot, too. IPMI doesn't work, but it didn't work before, either. ipmi: bus_space_map(..., 0, 2, 0, 0xffffffff808f5be8) failed I took a snapshot of the screen where it paniced; it's pretty much exactly the same as dtyson's. attimer1: attached to pcppi1 extent_alloc_region: extent 'ioport` (0x0 - 0xffff) extent_alloc_region: start 0xfffffffffffffff9, end 0xfffffffffffffffa panic: extent_alloc_region: region lies outside extent fatal breakpoint trap in supervisor mode trap type 1 code 0 rip blah blah blah blah
I have done a bit more poking around on this problem. I think the issue is that if you don't have the IPMI card installed then NetBSD ipmi.c code still tries to attach the device. The patch supplied with PR #48233 corrects a problem that the BIOS incorrectly reports the I/O address for the device, however it makes the assumption that the card is actually present!
If you look at the debug output under current then: ipmi_smbios_probe 01 20 20 ff 00000000 00 00The base address is 00000000 and the existing patch just decrements the address by 7 and that panics the kernel when an attempt to access that address space occurs. NetBSD 7 is OK so far as this patch hasn't been pulled up. Accessing the zero address on that gives an bus map error.
My guess is that if you plug in a ipmi card then the base address will now be 00000CA9 and the code will correctly change this to 00000CA2 and the card will be detected.
I installed a recent Debian on a spare disk for the N36L and dmidecode shows:
# dmidecode 2.11 SMBIOS 2.6 present. Handle 0x001B, DMI type 38, 18 bytes IPMI Device Information Interface Type: KCS (Keyboard Control Style) Specification Version: 2.0 I2C Slave Address: 0x10 NV Storage Device: Not Present Base Address: 0x0000000000000000 (Memory-mapped) Register Spacing: Successive Byte BoundariesLinux fails to attach the device and I did have an attempt at forcing it to use the 0xCA2 address and that fails to work. If I had a ipmi card I am sure it would have attached fine.
It would be nice to get a bit of feedback from someone with an ipmi card in HP microserver hardware. The results on booting a kernel with and without the card should confirm the analysis.
I think the patch in 48233 need to be reworked so that if the base address is zero then ipmi.c just silently ignores the non-existent device and doesn't bother to try and map it.
Even without the ipmi card you can get the environmental monitoring info if a wd83795g0 device is configured in the kernel.
Dave