From owner-cvs-all@FreeBSD.ORG Wed Aug 9 18:23:48 2006 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 32E3A16A4E0; Wed, 9 Aug 2006 18:23:48 +0000 (UTC) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F162843D5D; Wed, 9 Aug 2006 18:23:47 +0000 (GMT) (envelope-from imp@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k79INlCa091576; Wed, 9 Aug 2006 18:23:47 GMT (envelope-from imp@repoman.freebsd.org) Received: (from imp@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k79INlLt091575; Wed, 9 Aug 2006 18:23:47 GMT (envelope-from imp) Message-Id: <200608091823.k79INlLt091575@repoman.freebsd.org> From: Warner Losh Date: Wed, 9 Aug 2006 18:23:47 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/ata ata-disk.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Aug 2006 18:23:48 -0000 imp 2006-08-09 18:23:47 UTC FreeBSD src repository Modified files: sys/dev/ata ata-disk.c Log: Most platforms map the actual drive geometry to the firmware's notion of geometry. However, some platforms have a more complicated mapping of the firmware values to the actual values. pc98 is the only platform that currently does this. This mapping is necessary for large disks connected to pc98 boxes, as the firmware labels require do special hacks to the actual geometry for interoperability. We cannot do this all in the geom layer because of initialization issues (geom looks for an already initialized pc98 label, but we need the geometry information prior to initialization, classic chicken and egg problem). We pass the disk and the device_t to this function because the geometry mapping depends on what kind of controller is used. This hook allows platforms that want to override things to do so, and has 0 overhead on all other platforms. These patches have been in use locally for a long time, and received good feedback from the pc98 community and sos@ at various times during their development. MFC After: 1 week Revision Changes Path 1.198 +9 -0 src/sys/dev/ata/ata-disk.c