From owner-freebsd-i386@FreeBSD.ORG Wed Aug 2 20:33:35 2006 Return-Path: X-Original-To: freebsd-i386@freebsd.org Delivered-To: freebsd-i386@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 669F616A4DE; Wed, 2 Aug 2006 20:33:35 +0000 (UTC) (envelope-from marcel@xcllnt.net) Received: from ns1.xcllnt.net (209-128-86-226.BAYAREA.NET [209.128.86.226]) by mx1.FreeBSD.org (Postfix) with ESMTP id E047643D45; Wed, 2 Aug 2006 20:33:34 +0000 (GMT) (envelope-from marcel@xcllnt.net) Received: from [192.168.5.252] (dhcp52.wlan.xcllnt.net [192.168.5.252]) by ns1.xcllnt.net (8.13.6/8.13.6) with ESMTP id k72KXVKX018350; Wed, 2 Aug 2006 13:33:31 -0700 (PDT) (envelope-from marcel@xcllnt.net) In-Reply-To: <20060803041522.F2135@epsplex.bde.org> References: <200607252036.k6PKanFd072593@www.freebsd.org> <20060731191302.S1172@epsplex.bde.org> <6EFF87DF-280C-402C-8C2A-10F3144CF41F@svcolo.com> <20060802205230.N90692@delplex.bde.org> <20060802234330.J1249@epsplex.bde.org> <20060802150656.GB47835@svcolo.com> <20060803024810.X1573@epsplex.bde.org> <83D35AA9-61D2-4977-AFEC-C498F4147FC2@svcolo.com> <20060803041522.F2135@epsplex.bde.org> Mime-Version: 1.0 (Apple Message framework v752.2) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: <6097EF2A-BFD8-4E85-86E7-BCCE9A57E245@xcllnt.net> Content-Transfer-Encoding: 7bit From: Marcel Moolenaar Date: Wed, 2 Aug 2006 13:33:19 -0700 To: Bruce Evans X-Mailer: Apple Mail (2.752.2) Cc: Jo Rhett , njl@freebsd.org, freebsd-gnats-submit@freebsd.org, freebsd-i386@freebsd.org Subject: Re: i386/100831: sio ignores BIOS information about serial ports - bounty offered X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 02 Aug 2006 20:33:35 -0000 On Aug 2, 2006, at 12:32 PM, Bruce Evans wrote: > On Wed, 2 Aug 2006, Jo Rhett wrote: > >>> On Wed, 2 Aug 2006, Jo Rhett wrote: >>>> 1. We can't/won't fix the sio0<->sio1 problem because fixing >>>> ACPI is hard >> >> On Aug 2, 2006, at 10:25 AM, Bruce Evans wrote: >>> _I_ can't/won't fix it because not just the above :-). Swapping >>> of consoles >>> only could be fixed within the driver (so that ACPI is not >>> involved and >>> you don't have to change device.hints) since consoles have to be >>> hard-wired >>> in some way and the hints are good enough for wiring the unit >>> number to >>> the i/o address (provided it's an old ISA port -- otherwise hints >>> based >>> on the i/o address don't work). >> >> Sorry, color me dumb. I'm getting lost here. The problem I was >> observing is that device hints is being (mostly) ignored by ACPI >> and thus this is the root problem to fix. I'm not sure what >> you're trying to say here. > > Console drivers have to and do use the hints directly so as to work > before > bus stuff like ACPI is initializated. It is a mistake for console drivers to use the hints. It's a mistake even to use hints for anything else. The fundamental problem with hints is that they use a device numbering for identification. This is totally wrong for low-level consoles, because device numbers mean nothing at that time and are mostly wrong during bus enumeration, because you cannot generally predict device numbers. Low-level console drivers should only use I/O port or memory mapped I/O information to get to the hardware and hints for non-enumerating busses should only provide resource information. During bus enumeration this will eventually be mapped to device numbers and one can establish the logical connection between low-level consoles and high-level devices. Thus: hints are not hints, but a convoluted mix of enforced settings and suggestions that are partially and inconsistently used and there- fore much sooner the cause of problems that a solution to it. -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net