Subject: port-i386/33048: aac(9) fails to initialize under Xen (NetBSD 3.0)
To: None <port-i386-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <tonnerre@bsdprojects.net>
List: netbsd-bugs
Date: 03/10/2006 09:35:00
>Number:         33048
>Category:       port-i386
>Synopsis:       aac(9) fails to initialize under Xen (NetBSD 3.0)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Mar 10 09:35:00 +0000 2006
>Originator:     Tonnerre Lombard
>Release:        NetBSD 3.0_STABLE
>Organization:
SyGroup GmbH
>Environment:
NetBSD srsyg05.sygroup.ch 3.0_STABLE NetBSD 3.0_STABLE (SYXEN0) tonnerre@thebsh.sygroup.ch:/home/tonnerre/netbsd/sys/arch/i386/compile/SYXEN0 i386
>Description:
(The uname -a output is "as it would be", because, well, the kernel doesn't boot ;)

I had to add aac(9) to the XEN0 config myself, thus the name SYXEN0. However, unlike others suggested on tech-kern@, it doesn't boot under Xen:

aac0 at pci1 device 2 function 1: Dell PERC 3/Di
aac0: interrupting at irq 26, event channel 4
<30 seconds of wild rattling>
aac0: error establishing init structure

Manuel Bouyer suggested that it might possibly be a problem with incontiguous memory returned by bus_dmamem_alloc() under xen. He is however quite sure that it isn't. I am willing to try and/or create under advise any type of patches, but I can't work them out myself because all the time I can devote to NetBSD kernel hacking here goes into ciss(9).
>How-To-Repeat:
 - copy the XEN0 config to SYXEN0
 - add the following lines:
aac* at pci? device ? function ?
ld* at aac? unit ?
 - Compile and boot
>Fix:
No idea