> Date: Tue, 16 Dec 2014 15:16:58 +1000
> From: Jonathan Matthew <jonat...@d14n.org>
> 
> On Sun, Dec 14, 2014 at 06:22:37PM +0100, Hrvoje Popovski wrote:
> > Hi all,
> > 
> > I have got two new Dell R630 and have current on them from Sun Dec
> > 14 15:07:17. Installation went great and very fast.
> > The problem is that I see around 11k interrupts on acpi0. First I
> > thought that problem is similar to this thread
> > http://marc.info/?l=openbsd-misc&m=140551906923931&w=2
> > 
> > But if in dell bios system profile settings is set to performance or
> > to DAPC there are always interrupts on acpi0.
> > In links bellow you can find acpidump and dmesg from performance and
> > DAPC settings in dell bios.
> 
> We just got some r630s too, so I spent some time last week figuring out what's
> going on here.  Something in the AML wants to talk to the intel MEI device.
> Normally this works, but on the new generation of dell machines (we've seen it
> on r630s and r730s), it's been moved outside the pci memory range we currently
> allow on amd64.  You can see this in your dmesgs:
> 
> 0:22:0: mem address conflict 0x33ffff03000/0x10
> 0:22:1: mem address conflict 0x33ffff02000/0x10
> 
> The interrupt will keep triggering until it manages to talk to the device,
> which will never happen.
> 
> kettenis@ says we can get the pci memory range information we need to deal 
> with
> this from acpi.  Until that happens, expanding the allowed pci memory range
> makes things work properly.
> 
> ok?

ok kettenis@ (although I'd prefer if you did a s/acpi/ACPI/ in the comment).

> Index: pci_machdep.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/amd64/pci/pci_machdep.c,v
> retrieving revision 1.59
> diff -u -p -u -p -r1.59 pci_machdep.c
> --- pci_machdep.c     19 Apr 2014 11:53:42 -0000      1.59
> +++ pci_machdep.c     16 Dec 2014 04:21:53 -0000
> @@ -622,13 +622,17 @@ pci_init_extents(void)
>                * here.  As long as vendors continue to support
>                * 32-bit operating systems, we should never see BARs
>                * outside that region.
> +              *
> +              * Dell 13G servers have important devices outside the
> +              * 36-bit address space.  Until we can extract the address
> +              * ranges from acpi, expand the allowed range to suit.
>                */
>               pcimem_ex = extent_create("pcimem", 0, 0xffffffffffffffffUL,
>                   M_DEVBUF, NULL, 0, EX_NOWAIT);
>               if (pcimem_ex == NULL)
>                       return;
> -             extent_alloc_region(pcimem_ex, 0x1000000000UL,
> -                 0xfffffff000000000UL, EX_NOWAIT);
> +             extent_alloc_region(pcimem_ex, 0x40000000000UL,
> +                 0xfffffc0000000000UL, EX_NOWAIT);
>  
>               for (bmp = bios_memmap; bmp->type != BIOS_MAP_END; bmp++) {
>                       /*

Reply via email to