From owner-freebsd-current@FreeBSD.ORG Wed Aug 3 18:19:45 2011 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A0A3B106566B; Wed, 3 Aug 2011 18:19:45 +0000 (UTC) (envelope-from ttsestt@gmail.com) Received: from mail-pz0-f45.google.com (mail-pz0-f45.google.com [209.85.210.45]) by mx1.freebsd.org (Postfix) with ESMTP id 6717D8FC28; Wed, 3 Aug 2011 18:19:45 +0000 (UTC) Received: by pzk33 with SMTP id 33so2278590pzk.18 for ; Wed, 03 Aug 2011 11:19:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:message-id:user-agent :mime-version:content-type; bh=X7zYHZ/WYyTw5zM1WmALxmzYfldMUGUspDfoACY1MC0=; b=tfuGHm04qQyUuf0KMbnFDt1vjfS+NbYLKK3k8/8aqL9UjIZ+QSD3tWYKBCUWmOxx3D WbIG6JWizgvXJcN7X7JNwPGTF70GFFodmNfd8+bsIncJACxrRMsNj2xLKnac6mzSALB7 kBNPtsudJRRmfMctI3ZT9wCv8UGBdLbLfxql0= Received: by 10.142.211.15 with SMTP id j15mr2125032wfg.219.1312395584840; Wed, 03 Aug 2011 11:19:44 -0700 (PDT) Received: from localhost (azura.sporkbomb.eu [173.193.226.35]) by mx.google.com with ESMTPS id i9sm1297068pbk.84.2011.08.03.11.19.42 (version=SSLv3 cipher=OTHER); Wed, 03 Aug 2011 11:19:43 -0700 (PDT) From: Test Rat To: John Baldwin References: <4E23EE49.5040801@FreeBSD.org> <201108031000.34338.jhb@freebsd.org> <86oc06s92m.fsf@gmail.com> <201108031402.30871.jhb@freebsd.org> Date: Wed, 03 Aug 2011 22:19:24 +0400 Message-ID: <86d3gmwe6r.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain Cc: Doug Barton , Andriy Gapon , freebsd-current@freebsd.org Subject: Re: ichwd0: unable to reserve GCS registers X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Aug 2011 18:19:45 -0000 John Baldwin writes: > On Wednesday, August 03, 2011 1:23:29 pm Test Rat wrote: >> John Baldwin writes: >> >> > On Wednesday, August 03, 2011 4:49:24 am Test Rat wrote: >> >> Doug Barton writes: >> >> >> >> > On 08/02/2011 15:06, John Baldwin wrote: >> >> >> On Saturday, July 30, 2011 2:49:52 am Andriy Gapon wrote: >> >> >>> on 19/07/2011 18:16 John Baldwin said the following: >> >> >>>> Hmm, can you get devinfo -r output from a working kernel with ichwd > loaded? >> >> >>>> You might be able to just build the kernel with 'nooptions > NEW_PCIB'. >> >> >>> >> >> >>> I believe that I've got a similar problem with amdsbwd(4). >> >> >>> It needs some resources (I/O ports) that belong to ACPI. >> >> >>> The problem is that the driver attaches to isa bus which is under >> >> >>> isab->pci->pcib and those particular resources are not assigned to > the Host-PCI >> >> >>> bridge. >> >> >>> >> >> >>> I think that you already made a suggestion that perhaps isa bus > should directly >> >> >>> attach to acpi bus when acpi is available. Not sure if there are any >> >> >>> alternative approaches. >> >> >> >> >> >> Can you try this: >> >> > >> >> > Not so much. :) the first and last patches I can apply to HEAD by hand, >> >> > but /sys/dev/acpica/acpi_pcib_acpi.c is only 387 lines long, so I'm not >> >> > even sure where to start. >> >> >> >> $ svn cat > svn://svn.freebsd.org/base/head/sys/dev/acpica/acpi_pcib_acpi.c | wc -l >> >> 531 >> >> >> >> No difference here on ICH9, ichwd(4) still doesn't attach. >> > >> > Can you add some printfs to see if the new method is being called in >> > acpi_pcib_alloc_resource() and if it is failing when it is called? >> >> rman_reserve_resource() fails with SYS_RES_MEMORY for isab0 when ichwd0 >> tries to attach. And acpi_alloc_sysres() is not called when isab0 or >> isa0 are attached. >> >> isab0: found ICH9 or equivalent chipset: Intel ICH9 watchdog timer >> ichwd0: on isa0 >> isab0: found ICH9 or equivalent chipset: Intel ICH9 watchdog timer >> acpi_alloc_resource::acpi_alloc_sysres(child->nameunit=ichwd0, > type=SYS_RES_IOPORT, *rid=0, start=1072, end=1079, count=8, flags=6) > res=0xfffffe0007fed380 RF_ACTIVE activated >> pcib0: allocated type 4 (0x430-0x437) for rid 0 of ichwd0 >> acpi_alloc_resource::acpi_alloc_sysres(child->nameunit=ichwd0, > type=SYS_RES_IOPORT, *rid=1, start=1120, end=1151, count=32, flags=6) > res=0xfffffe0007fed400 RF_ACTIVE activated >> pcib0: allocated type 4 (0x460-0x47f) for rid 1 of ichwd0 >> acpi_pcib_acpi_alloc_resource::acpi_alloc_sysres(child->nameunit=isab0, > type=SYS_RES_MEMORY, *rid=0, start=4275172368, end=4275172371, count=4, > flags=6) res=0 failed to reserve >> ichwd0: unable to reserve GCS registers > > Hmm, so it is called, it just fails when it is called. The range is > 0xfed1f410 - 0xfed1f413. Can you verify that that is in the 'ACPI memory I/O' > range in devinfo -u output? It doesn't seem to be there (minus lines = hostres disabled). acpi0 I/O ports: 0x400-0x4bf 0x4d0-0x4d1 I/O memory addresses: 0xfed10000-0xfed1dfff 0xfed20000-0xfed8ffff pcib0 pci0 isab0 - I/O memory addresses: - 0xfed1f410-0xfed1f413 isa0 - ichwd0 - ACPI I/O ports: - 0x430-0x437 - 0x460-0x47f