Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Aug 2014 11:59:44 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hackers@freebsd.org
Cc:        Karl Pielorz <kpielorz_lst@tdx.co.uk>
Subject:   Re: BTX halted on Proliant DL320 Gen8 v2's - fakeRAID support?
Message-ID:  <201408201159.44910.jhb@freebsd.org>
In-Reply-To: <E98BC833A8A6202FF2D84A34@Mail-PC.tdx.co.uk>
References:  <E98BC833A8A6202FF2D84A34@Mail-PC.tdx.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday, August 14, 2014 9:59:28 am Karl Pielorz wrote:
> 
> Hi,
> 
> On our HP DL320 Gen8 v2's - BTX halts if we try to boot with the onboard 
> SATA controller set to 'B120i RAID' mode, and have drives present (output 
> from BTX is below).
> 
> If you boot with *no drives* present - it works, and does show from pciconf 
> -lv:
> 
> ahci0@pci0:0:31:2: class=0x010400 card=0x00841590 chip=0x8c048086 rev=0x04
> hdr=0x00
>   vendor    = 'Intel Corporation'
>   device    = 'Lynx Point SATA Controller 1 [RAID mode]'
>   subclass  = RAID
> 
> But with drives present BTX dies on 9.x, 10.x and a recent 11.x snapshot.
> 
> Is this controller supported in 'raid' mode? - i.e. if it got past BTX 
> would it be usable?
> 
> -Karl
> 
> BTX output (from 10.0-R-amd64 boot)
> 
> "
> Loading /boot/defaults/loader.conf
> \
> int=00000008  err=0001681b  efl=0007b7a0  eip=0000002b
> eax=adadf9a8  ebx=adaf5630  ecx=adae3da4  edx=adaf5a38
> esi=0007b7b8  edi=00000000  ebp=0007b9a0  esp=00000033
> cs=0202  ds=0033  es=0033  fs=0033  gs=0033  ss=0000
> cs:eip=00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
>        00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
> ss:esp=f0 d0 9b 00 f0 08 ef 00-f0 6c 50 24 8b 50 0b 00
>        c0 4d f8 00 f0 05 ec 00-f0 f3 05 00 e8 8a 5e 00
> BTX halted

Looks like the BIOS is mangling the stack somehow.  cs holds the value of 
'eflags', eip holds the value for 'cs', etc. 'efl' holds the value for
'esp', 'esp' holds 'ss', and 'ss' is set to 0.

What is odd is that you didn't fault in boot2, only in the loader.
Could you instrument the BIOS calls in sys/boot/i386/libi386/biosdisk.c
to see which BIOS call is made that triggers the problem?

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201408201159.44910.jhb>