Date: Tue, 24 May 2011 08:02:02 -0400 From: John Baldwin <jhb@freebsd.org> To: Andriy Gapon <avg@freebsd.org> Cc: freebsd-acpi@freebsd.org Subject: Re: acpi resources problem potentially because of new pcib code Message-ID: <201105240802.02616.jhb@freebsd.org> In-Reply-To: <4DDA16FF.8080802@FreeBSD.org> References: <4DDA16FF.8080802@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, May 23, 2011 4:12:47 am Andriy Gapon wrote: > > John, > > it seems that possibly your recent changes for PCI bridges could have broken > something for my old 440BX/PIIX4/PIII type test machine. > Looks like now some I/O resources get assigned to a PCI bridge instead of ACPI. Actually, this is due to some older changes in 9 to make ACPI reserve all assigned resources via resource_list_reserve(). > Some highlights follow: > ... > acpi_timer0: couldn't allocate resource (port 0x4008) > ... > pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0x4000-0x4041,0x5000-0x500f on acpi0 > ... > device_attach: acpi_throttle0 attach returned 6 > > More data here: > http://people.freebsd.org/~avg/ms6163/ > > I see that _CRS of the Host-PCI bridge indeed claims that 0x4000 range, so I > realize that this is a BIOS bug, but I think that perhaps we could have some > quirk there to leave this range to ACPI. Well, it would be hard to know how to quirk this generically. acpi timer devices do not use a fixed address range. One thing I have run into is that we make our lives more difficulty by violating the ACPI namespace in our new-bus tree. Specifically, I think we should have an ACPI-aware ISA driver and that any ACPI-enumerated devices that are below the PCI-ISA bridge should be devices on that ISA bus, not on acpi0 directly. The resource producer ranges set up in Host-PCI bridge devices all assume that ACPI-enumerated ISA devices are behind the Host-PCI bridge rather than at the same level. People did not like this the last time I suggested it, but we may need to do it regardless. I might look at doing that in 10. For your BIOS I'd be tempted to just blacklist it. I suppose we could add a quirk to ignore all 'consumed' devices on Host-PCI bridges that are not for the '0xcf8-0xcff' range as an alternative perhaps. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105240802.02616.jhb>