From anholt@leguin.anholt.net  Sun Dec 19 06:30:35 2004
Return-Path: <anholt@leguin.anholt.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 04CFB16A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 19 Dec 2004 06:30:35 +0000 (GMT)
Received: from leguin.anholt.net (69-30-77-85.dq1sn.easystreet.com [69.30.77.85])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 672FB43D31
	for <FreeBSD-gnats-submit@freebsd.org>; Sun, 19 Dec 2004 06:30:34 +0000 (GMT)
	(envelope-from anholt@leguin.anholt.net)
Received: from leguin.anholt.net (localhost [127.0.0.1])
	by leguin.anholt.net (8.13.1/8.13.1) with ESMTP id iBJ6UXTA027648
	for <FreeBSD-gnats-submit@freebsd.org>; Sat, 18 Dec 2004 22:30:33 -0800 (PST)
	(envelope-from anholt@leguin.anholt.net)
Received: (from anholt@localhost)
	by leguin.anholt.net (8.13.1/8.13.1/Submit) id iBJ6UX1N027647;
	Sat, 18 Dec 2004 22:30:33 -0800 (PST)
	(envelope-from anholt)
Message-Id: <200412190630.iBJ6UX1N027647@leguin.anholt.net>
Date: Sat, 18 Dec 2004 22:30:33 -0800 (PST)
From: Eric Anholt <anholt@freebsd.org>
Reply-To: Eric Anholt <anholt@freebsd.org>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: Beginnings of an ATI AGP driver.
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         75251
>Category:       i386
>Synopsis:       Beginnings of an ATI AGP driver.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    anholt
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 19 06:40:23 GMT 2004
>Closed-Date:    Sat Sep 17 03:37:09 GMT 2005
>Last-Modified:  Sat Sep 17 03:37:09 GMT 2005
>Originator:     Eric Anholt
>Release:        FreeBSD 5.3-STABLE amd64
>Organization:
>Environment:
System: FreeBSD leguin.anholt.net 5.3-STABLE FreeBSD 5.3-STABLE #0: Tue Nov 2 18:17:11 PST 2004 anholt@leguin.anholt.net:/usr/obj/usr/src/current/sys/MYKERNEL amd64

>Description:
	An AGP driver is required to use the 3d features of ATI's IGP graphics
	chipsets.  Attached is a first attempt at one, written by reading the
	linux driver and reimplementing.  I'm sending a PR so that this code
	doesn't get lost, and someone interested in the issue could pick it up.
	(I don't have the hardware, myself)

>How-To-Repeat:
	cd /usr/src/sys/pci && patch -p0 < agp_ati.diff

>Fix:


--- ati-agp.diff begins here ---
Index: agp_ati.c
===================================================================
RCS file: agp_ati.c
diff -N agp_ati.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ agp_ati.c	19 Dec 2004 06:24:51 -0000
@@ -0,0 +1,365 @@
+/*-
+ * Copyright (c) 2004 Eric Anholt
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * Based on reading the Linux 2.6.8.1 driver by Dave Jones.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "opt_bus.h"
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/malloc.h>
+#include <sys/kernel.h>
+#include <sys/module.h>
+#include <sys/bus.h>
+#include <sys/lock.h>
+#include <sys/mutex.h>
+#include <sys/proc.h>
+
+#include <dev/pci/pcivar.h>
+#include <dev/pci/pcireg.h>
+#include <pci/agppriv.h>
+#include <pci/agpreg.h>
+
+#include <vm/vm.h>
+#include <vm/vm_object.h>
+#include <vm/pmap.h>
+#include <machine/bus.h>
+#include <machine/resource.h>
+#include <sys/rman.h>
+
+MALLOC_DECLARE(M_AGP);
+
+#define READ4(off)	bus_space_read_4(sc->bst, sc->bsh, off)
+#define WRITE4(off,v)	bus_space_write_4(sc->bst, sc->bsh, off, v)
+
+struct agp_ati_softc {
+	struct agp_softc agp;
+	struct resource *regs;	/* memory mapped control registers */
+	bus_space_tag_t bst;	/* bus_space tag */
+	bus_space_handle_t bsh;	/* bus_space handle */
+	u_int32_t	initial_aperture; /* aperture size at startup */
+	char		is_rs300;
+
+	/* The GATT */
+	u_int32_t	ag_entries;
+	u_int32_t      *ag_virtual;	/* virtual address of gatt */
+	u_int32_t      *ag_vdir;	/* virtual address of page dir */
+	vm_offset_t	ag_pdir;	/* physical address of page dir */
+};
+
+
+static const char*
+agp_ati_match(device_t dev)
+{
+	if (pci_get_class(dev) != PCIC_BRIDGE
+	    || pci_get_subclass(dev) != PCIS_BRIDGE_HOST)
+		return NULL;
+
+	if (agp_find_caps(dev) == 0)
+		return NULL;
+
+	switch (pci_get_devid(dev)) {
+	case 0xcab01002:
+		return ("ATI RS100 AGP bridge");
+	case 0xcab21002:
+		return ("ATI RS200 AGP bridge");
+	case 0xcab31002:
+		return ("ATI RS250 AGP bridge");
+	case 0x58301002:
+		return ("ATI RS300_100 AGP bridge");
+	case 0x58311002:
+		return ("ATI RS300_133 AGP bridge");
+	case 0x58321002:
+		return ("ATI RS300_166 AGP bridge");
+	case 0x58331002:
+		return ("ATI RS300_200 AGP bridge");
+	};
+
+	return NULL;
+}
+
+static int
+agp_ati_probe(device_t dev)
+{
+	const char *desc;
+
+	desc = agp_ati_match(dev);
+	if (desc) {
+		device_verbose(dev);
+		device_set_desc(dev, desc);
+		return 0;
+	}
+
+	return ENXIO;
+}
+
+static int
+agp_ati_alloc_gatt(device_t dev)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+	u_int32_t apsize = AGP_GET_APERTURE(dev);
+	u_int32_t entries = apsize >> AGP_PAGE_SHIFT;
+	int i;
+
+	/* Alloc the GATT -- pointers to pages of AGP memory */
+	sc->ag_entries = entries;
+	sc->ag_virtual = malloc(entries * sizeof(u_int32_t), M_AGP,
+	    M_NOWAIT | M_ZERO);
+	if (sc->ag_virtual == NULL) {
+		if (bootverbose)
+			device_printf(dev, "aperture allocation failed\n");
+		return ENOMEM;
+	}
+
+	/* Alloc the page directory -- pointers to each page of the GATT */
+	sc->ag_vdir = malloc(AGP_PAGE_SIZE, M_AGP, M_NOWAIT | M_ZERO);
+	if (sc->ag_vdir == NULL) {
+		if (bootverbose)
+			device_printf(dev, "pagedir allocation failed\n");
+		free(sc->ag_virtual, M_AGP);
+		return ENOMEM;
+	}
+	sc->ag_pdir = vtophys((vm_offset_t)sc->ag_vdir);
+
+	/* Fill in the pagedir's pointers to GATT pages */
+	for (i = 0; i < sc->ag_entries / 1024; i++) {
+		vm_offset_t va;
+		vm_offset_t pa;
+
+		va = ((vm_offset_t)sc->ag_virtual) + i * AGP_PAGE_SIZE;
+		pa = vtophys(va);
+		sc->ag_vdir[i] = pa | 1;
+	}
+
+	/*
+	 * Make sure the chipset can see everything.
+	 */
+	agp_flush_cache();
+
+	return 0;
+}
+
+
+static int
+agp_ati_attach(device_t dev)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+	int error, rid;
+	u_int32_t temp;
+	
+	error = agp_generic_attach(dev);
+	if (error)
+		return error;
+
+	switch (pci_get_devid(dev)) {
+	case 0xcab01002: /* ATI RS100 AGP bridge */
+	case 0xcab21002: /*ATI RS200 AGP bridge  */
+	case 0xcab31002: /* ATI RS250 AGP bridge */
+		sc->is_rs300 = 0;
+	case 0x58301002: /* ATI RS300_100 AGP bridge */
+	case 0x58311002: /* ATI RS300_133 AGP bridge */
+	case 0x58321002: /* ATI RS300_166 AGP bridge */
+	case 0x58331002: /* ATI RS300_200 AGP bridge */
+		sc->is_rs300 = 1;
+	default:
+		/* Unknown chipset */
+		return EINVAL;
+	};
+
+	rid = ATI_GART_MMADDR;
+	sc->regs = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, RF_ACTIVE);
+	if (!sc->regs) {
+		agp_generic_detach(dev);
+		return ENOMEM;
+	}
+
+	sc->bst = rman_get_bustag(sc->regs);
+	sc->bsh = rman_get_bushandle(sc->regs);
+
+	sc->initial_aperture = AGP_GET_APERTURE(dev);
+
+	for (;;) {
+		if (agp_ati_alloc_gatt(dev) == 0)
+			break;
+
+		/*
+		 * Probably contigmalloc failure. Try reducing the
+		 * aperture so that the gatt size reduces.
+		 */
+		if (AGP_SET_APERTURE(dev, AGP_GET_APERTURE(dev) / 2))
+			return ENOMEM;
+	}
+
+	if (sc->is_rs300)
+		pci_write_config(dev, ATI_RS300_IG_AGPMODE, 0x20000, 4);
+	else
+		pci_write_config(dev, ATI_RS100_IG_AGPMODE, 0x20000, 4);
+
+	WRITE4(ATI_GART_FEATURE_ID, 0x00060000);
+
+	temp = pci_read_config(dev, 4, 4);	/* XXX: Magic reg# */
+	pci_write_config(dev, 4, temp | (1 << 14), 4);
+
+	WRITE4(ATI_GART_BASE, sc->ag_pdir);
+
+	AGP_FLUSH_TLB(dev);
+
+	return 0;
+}
+
+static int
+agp_ati_detach(device_t dev)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+	int error;
+
+	error = agp_generic_detach(dev);
+	if (error)
+		return error;
+
+	/* Clear the GATT base */
+	WRITE4(ATI_GART_BASE, 0);
+
+	/* Put the aperture back the way it started. */
+	AGP_SET_APERTURE(dev, sc->initial_aperture);
+	
+	free(sc->ag_vdir, M_AGP);
+	free(sc->ag_virtual, M_AGP);
+
+	bus_release_resource(dev, SYS_RES_MEMORY, ATI_GART_MMADDR, sc->regs);
+
+	return 0;
+}
+
+static u_int32_t
+agp_ati_get_aperture(device_t dev)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+	int size_value;
+	
+	if (sc->is_rs300)
+		size_value = pci_read_config(dev, ATI_RS300_APSIZE, 4);
+	else
+		size_value = pci_read_config(dev, ATI_RS100_APSIZE, 4);
+
+	size_value = (size_value & 0x0000000e) >> 1;
+	size_value = (32 * 1024 * 1024) << size_value;
+
+	return size_value;
+}
+
+static int
+agp_ati_set_aperture(device_t dev, u_int32_t aperture)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+	int size_value;
+
+	if (sc->is_rs300)
+		size_value = pci_read_config(dev, ATI_RS300_APSIZE, 4);
+	else
+		size_value = pci_read_config(dev, ATI_RS100_APSIZE, 4);
+
+	size_value &= ~0x0000000e;
+	size_value |= (ffs(aperture / (32 * 1024 * 1024)) - 1) << 1;
+
+	return 0;
+}
+
+static int
+agp_ati_bind_page(device_t dev, int offset, vm_offset_t physical)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+
+	if (offset < 0 || offset >= (sc->ag_entries << AGP_PAGE_SHIFT))
+		return EINVAL;
+
+	sc->ag_virtual[offset >> AGP_PAGE_SHIFT] = physical;
+
+	/* invalidate the cache */
+	AGP_FLUSH_TLB(dev);
+	return 0;
+}
+
+static int
+agp_ati_unbind_page(device_t dev, int offset)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+
+	if (offset < 0 || offset >= (sc->ag_entries << AGP_PAGE_SHIFT))
+		return EINVAL;
+
+	sc->ag_virtual[offset >> AGP_PAGE_SHIFT] = 0;
+	AGP_FLUSH_TLB(dev);	/* XXX: Shouldn't other drivers be doing this? */
+	return 0;
+}
+
+static void
+agp_ati_flush_tlb(device_t dev)
+{
+	struct agp_ati_softc *sc = device_get_softc(dev);
+
+	/* Set the cache invalidate bit and wait for the chipset to clear */
+	WRITE4(ATI_GART_CACHE_CNTRL, 1);
+}
+
+static device_method_t agp_ati_methods[] = {
+	/* Device interface */
+	DEVMETHOD(device_probe,		agp_ati_probe),
+	DEVMETHOD(device_attach,	agp_ati_attach),
+	DEVMETHOD(device_detach,	agp_ati_detach),
+	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
+	DEVMETHOD(device_suspend,	bus_generic_suspend),
+	DEVMETHOD(device_resume,	bus_generic_resume),
+
+	/* AGP interface */
+	DEVMETHOD(agp_get_aperture,	agp_ati_get_aperture),
+	DEVMETHOD(agp_set_aperture,	agp_ati_set_aperture),
+	DEVMETHOD(agp_bind_page,	agp_ati_bind_page),
+	DEVMETHOD(agp_unbind_page,	agp_ati_unbind_page),
+	DEVMETHOD(agp_flush_tlb,	agp_ati_flush_tlb),
+	DEVMETHOD(agp_enable,		agp_generic_enable),
+	DEVMETHOD(agp_alloc_memory,	agp_generic_alloc_memory),
+	DEVMETHOD(agp_free_memory,	agp_generic_free_memory),
+	DEVMETHOD(agp_bind_memory,	agp_generic_bind_memory),
+	DEVMETHOD(agp_unbind_memory,	agp_generic_unbind_memory),
+
+	{ 0, 0 }
+};
+
+static driver_t agp_ati_driver = {
+	"agp",
+	agp_ati_methods,
+	sizeof(struct agp_ati_softc),
+};
+
+static devclass_t agp_devclass;
+
+DRIVER_MODULE(agp_ati, pci, agp_ati_driver, agp_devclass, 0, 0);
+MODULE_DEPEND(agp_ati, agp, 1, 1, 1);
+MODULE_DEPEND(agp_ati, pci, 1, 1, 1);
Index: agpreg.h
===================================================================
RCS file: /home/ncvs/src/sys/pci/agpreg.h,v
retrieving revision 1.13
diff -u -r1.13 agpreg.h
--- agpreg.h	16 Aug 2004 12:25:48 -0000	1.13
+++ agpreg.h	19 Dec 2004 06:22:26 -0000
@@ -262,4 +262,16 @@
 #define	AGP_AMD64_CACHECTRL_INVGART	0x00000001
 #define	AGP_AMD64_CACHECTRL_PTEERR	0x00000002
 
+/*
+ * ATI IGP registers
+ */
+#define ATI_GART_MMADDR		0x14
+#define ATI_RS100_APSIZE	0xac
+#define ATI_RS100_IG_AGPMODE	0xb0
+#define ATI_RS300_APSIZE	0xf8
+#define ATI_RS300_IG_AGPMODE	0xfc
+#define ATI_GART_FEATURE_ID	0x00
+#define ATI_GART_BASE		0x04
+#define ATI_GART_CACHE_CNTRL	0x0c
+
 #endif /* !_PCI_AGPREG_H_ */
--- ati-agp.diff ends here ---


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-i386->anholt 
Responsible-Changed-By: anholt 
Responsible-Changed-When: Sun Dec 19 06:41:57 GMT 2004 
Responsible-Changed-Why:  
Hang on to this one, unless someone else wanted to pick it up. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=75251 

From: Eric Anholt <eta@lclark.edu>
To: gnats <freebsd-gnats-submit@FreeBSD.ORG>,
	Aurelien Nephtali <aurelien.nephtali@wanadoo.fr>
Cc:  
Subject: Re: i386/75251
Date: Wed, 29 Dec 2004 22:43:37 -0800

 --=-7rp8sXwKvJllJ3cFMcr2
 Content-Type: text/plain
 Content-Transfer-Encoding: 7bit
 
 Here's a new version.  It's also at
 http://people.freebsd.org/~anholt/ati-agp-2.diff for your fetching
 pleasure.
 
 -- 
 Eric Anholt                                eta@lclark.edu          
 http://people.freebsd.org/~anholt/         anholt@FreeBSD.org
 
 --=-7rp8sXwKvJllJ3cFMcr2
 Content-Description: 
 Content-Disposition: attachment; filename=ati-agp-2.diff
 Content-Transfer-Encoding: base64
 Content-Type: text/x-patch; charset=ISO-8859-1
 
 SW5kZXg6IGFncF9hdGkuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IGFncF9hdGkuYw0KZGlmZiAt
 TiBhZ3BfYXRpLmMNCi0tLSAvZGV2L251bGwJMSBKYW4gMTk3MCAwMDowMDowMCAtMDAwMA0KKysr
 IGFncF9hdGkuYwkzMCBEZWMgMjAwNCAwNjo0MTowMiAtMDAwMA0KQEAgLTAsMCArMSwzODMgQEAN
 CisvKi0NCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQgRXJpYyBBbmhvbHQNCisgKiBBbGwgcmlnaHRz
 IHJlc2VydmVkLg0KKyAqDQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
 IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
 bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQorICogYXJlIG1l
 dDoNCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
 IGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
 YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
 YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KKyAqICAgIG5v
 dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
 ciBpbiB0aGUNCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
 dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KKyAqDQorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
 Uk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORA0KKyAq
 IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
 TUlURUQgVE8sIFRIRQ0KKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
 QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFDQorICogQVJFIERJU0NMQUlNRUQu
 ICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUN
 CisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
 TEFSWSwgT1IgQ09OU0VRVUVOVElBTA0KKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
 SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTDQorICogT1IgU0VSVklD
 RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
 T04pDQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
 SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QNCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
 RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZDQorICogT1VU
 IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
 SUJJTElUWSBPRg0KKyAqIFNVQ0ggREFNQUdFLg0KKyAqDQorICogQmFzZWQgb24gcmVhZGluZyB0
 aGUgTGludXggMi42LjguMSBkcml2ZXIgYnkgRGF2ZSBKb25lcy4NCisgKi8NCisNCisjaW5jbHVk
 ZSA8c3lzL2NkZWZzLmg+DQorX19GQlNESUQoIiRGcmVlQlNEJCIpOw0KKw0KKyNpbmNsdWRlICJv
 cHRfYnVzLmgiDQorDQorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPg0KKyNpbmNsdWRlIDxzeXMvc3lz
 dG0uaD4NCisjaW5jbHVkZSA8c3lzL21hbGxvYy5oPg0KKyNpbmNsdWRlIDxzeXMva2VybmVsLmg+
 DQorI2luY2x1ZGUgPHN5cy9tb2R1bGUuaD4NCisjaW5jbHVkZSA8c3lzL2J1cy5oPg0KKyNpbmNs
 dWRlIDxzeXMvbG9jay5oPg0KKyNpbmNsdWRlIDxzeXMvbXV0ZXguaD4NCisjaW5jbHVkZSA8c3lz
 L3Byb2MuaD4NCisNCisjaW5jbHVkZSA8ZGV2L3BjaS9wY2l2YXIuaD4NCisjaW5jbHVkZSA8ZGV2
 L3BjaS9wY2lyZWcuaD4NCisjaW5jbHVkZSA8cGNpL2FncHByaXYuaD4NCisjaW5jbHVkZSA8cGNp
 L2FncHJlZy5oPg0KKw0KKyNpbmNsdWRlIDx2bS92bS5oPg0KKyNpbmNsdWRlIDx2bS92bV9vYmpl
 Y3QuaD4NCisjaW5jbHVkZSA8dm0vcG1hcC5oPg0KKyNpbmNsdWRlIDxtYWNoaW5lL2J1cy5oPg0K
 KyNpbmNsdWRlIDxtYWNoaW5lL3Jlc291cmNlLmg+DQorI2luY2x1ZGUgPHN5cy9ybWFuLmg+DQor
 DQorTUFMTE9DX0RFQ0xBUkUoTV9BR1ApOw0KKw0KKyNkZWZpbmUgUkVBRDQob2ZmKQlidXNfc3Bh
 Y2VfcmVhZF80KHNjLT5ic3QsIHNjLT5ic2gsIG9mZikNCisjZGVmaW5lIFdSSVRFNChvZmYsdikJ
 YnVzX3NwYWNlX3dyaXRlXzQoc2MtPmJzdCwgc2MtPmJzaCwgb2ZmLCB2KQ0KKw0KK3N0cnVjdCBh
 Z3BfYXRpX3NvZnRjIHsNCisJc3RydWN0IGFncF9zb2Z0YyBhZ3A7DQorCXN0cnVjdCByZXNvdXJj
 ZSAqcmVnczsJLyogbWVtb3J5IG1hcHBlZCBjb250cm9sIHJlZ2lzdGVycyAqLw0KKwlidXNfc3Bh
 Y2VfdGFnX3QgYnN0OwkvKiBidXNfc3BhY2UgdGFnICovDQorCWJ1c19zcGFjZV9oYW5kbGVfdCBi
 c2g7CS8qIGJ1c19zcGFjZSBoYW5kbGUgKi8NCisJdV9pbnQzMl90CWluaXRpYWxfYXBlcnR1cmU7
 IC8qIGFwZXJ0dXJlIHNpemUgYXQgc3RhcnR1cCAqLw0KKwljaGFyCQlpc19yczMwMDsNCisNCisJ
 LyogVGhlIEdBVFQgKi8NCisJdV9pbnQzMl90CWFnX2VudHJpZXM7DQorCXVfaW50MzJfdCAgICAg
 ICphZ192aXJ0dWFsOwkvKiB2aXJ0dWFsIGFkZHJlc3Mgb2YgZ2F0dCAqLw0KKwl1X2ludDMyX3Qg
 ICAgICAqYWdfdmRpcjsJLyogdmlydHVhbCBhZGRyZXNzIG9mIHBhZ2UgZGlyICovDQorCXZtX29m
 ZnNldF90CWFnX3BkaXI7CS8qIHBoeXNpY2FsIGFkZHJlc3Mgb2YgcGFnZSBkaXIgKi8NCit9Ow0K
 Kw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyKg0KK2FncF9hdGlfbWF0Y2goZGV2aWNlX3QgZGV2KQ0K
 K3sNCisJaWYgKHBjaV9nZXRfY2xhc3MoZGV2KSAhPSBQQ0lDX0JSSURHRQ0KKwkgICAgfHwgcGNp
 X2dldF9zdWJjbGFzcyhkZXYpICE9IFBDSVNfQlJJREdFX0hPU1QpDQorCQlyZXR1cm4gTlVMTDsN
 CisNCisJaWYgKGFncF9maW5kX2NhcHMoZGV2KSA9PSAwKQ0KKwkJcmV0dXJuIE5VTEw7DQorDQor
 CXN3aXRjaCAocGNpX2dldF9kZXZpZChkZXYpKSB7DQorCWNhc2UgMHhjYWIwMTAwMjoNCisJCXJl
 dHVybiAoIkFUSSBSUzEwMCBBR1AgYnJpZGdlIik7DQorCWNhc2UgMHhjYWIyMTAwMjoNCisJCXJl
 dHVybiAoIkFUSSBSUzIwMCBBR1AgYnJpZGdlIik7DQorCWNhc2UgMHhjYWIzMTAwMjoNCisJCXJl
 dHVybiAoIkFUSSBSUzI1MCBBR1AgYnJpZGdlIik7DQorCWNhc2UgMHg1ODMwMTAwMjoNCisJCXJl
 dHVybiAoIkFUSSBSUzMwMF8xMDAgQUdQIGJyaWRnZSIpOw0KKwljYXNlIDB4NTgzMTEwMDI6DQor
 CQlyZXR1cm4gKCJBVEkgUlMzMDBfMTMzIEFHUCBicmlkZ2UiKTsNCisJY2FzZSAweDU4MzIxMDAy
 Og0KKwkJcmV0dXJuICgiQVRJIFJTMzAwXzE2NiBBR1AgYnJpZGdlIik7DQorCWNhc2UgMHg1ODMz
 MTAwMjoNCisJCXJldHVybiAoIkFUSSBSUzMwMF8yMDAgQUdQIGJyaWRnZSIpOw0KKwl9Ow0KKw0K
 KwlyZXR1cm4gTlVMTDsNCit9DQorDQorc3RhdGljIGludA0KK2FncF9hdGlfcHJvYmUoZGV2aWNl
 X3QgZGV2KQ0KK3sNCisJY29uc3QgY2hhciAqZGVzYzsNCisNCisJZGVzYyA9IGFncF9hdGlfbWF0
 Y2goZGV2KTsNCisJaWYgKGRlc2MpIHsNCisJCWRldmljZV92ZXJib3NlKGRldik7DQorCQlkZXZp
 Y2Vfc2V0X2Rlc2MoZGV2LCBkZXNjKTsNCisJCXJldHVybiAwOw0KKwl9DQorDQorCXJldHVybiBF
 TlhJTzsNCit9DQorDQorc3RhdGljIGludA0KK2FncF9hdGlfYWxsb2NfZ2F0dChkZXZpY2VfdCBk
 ZXYpDQorew0KKwlzdHJ1Y3QgYWdwX2F0aV9zb2Z0YyAqc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRl
 dik7DQorCXVfaW50MzJfdCBhcHNpemUgPSBBR1BfR0VUX0FQRVJUVVJFKGRldik7DQorCXVfaW50
 MzJfdCBlbnRyaWVzID0gYXBzaXplID4+IEFHUF9QQUdFX1NISUZUOw0KKwlpbnQgaTsNCisNCisJ
 LyogQWxsb2MgdGhlIEdBVFQgLS0gcG9pbnRlcnMgdG8gcGFnZXMgb2YgQUdQIG1lbW9yeSAqLw0K
 KwlzYy0+YWdfZW50cmllcyA9IGVudHJpZXM7DQorCXNjLT5hZ192aXJ0dWFsID0gbWFsbG9jKGVu
 dHJpZXMgKiBzaXplb2YodV9pbnQzMl90KSwgTV9BR1AsDQorCSAgICBNX05PV0FJVCB8IE1fWkVS
 Tyk7DQorCWlmIChzYy0+YWdfdmlydHVhbCA9PSBOVUxMKSB7DQorCQlpZiAoYm9vdHZlcmJvc2Up
 DQorCQkJZGV2aWNlX3ByaW50ZihkZXYsICJhcGVydHVyZSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7
 DQorCQlyZXR1cm4gRU5PTUVNOw0KKwl9DQorDQorCS8qIEFsbG9jIHRoZSBwYWdlIGRpcmVjdG9y
 eSAtLSBwb2ludGVycyB0byBlYWNoIHBhZ2Ugb2YgdGhlIEdBVFQgKi8NCisJc2MtPmFnX3ZkaXIg
 PSBtYWxsb2MoQUdQX1BBR0VfU0laRSwgTV9BR1AsIE1fTk9XQUlUIHwgTV9aRVJPKTsNCisJaWYg
 KHNjLT5hZ192ZGlyID09IE5VTEwpIHsNCisJCWlmIChib290dmVyYm9zZSkNCisJCQlkZXZpY2Vf
 cHJpbnRmKGRldiwgInBhZ2VkaXIgYWxsb2NhdGlvbiBmYWlsZWRcbiIpOw0KKwkJZnJlZShzYy0+
 YWdfdmlydHVhbCwgTV9BR1ApOw0KKwkJcmV0dXJuIEVOT01FTTsNCisJfQ0KKwlzYy0+YWdfcGRp
 ciA9IHZ0b3BoeXMoKHZtX29mZnNldF90KXNjLT5hZ192ZGlyKTsNCisNCisJLyogRmlsbCBpbiB0
 aGUgcGFnZWRpcidzIHBvaW50ZXJzIHRvIEdBVFQgcGFnZXMgKi8NCisJZm9yIChpID0gMDsgaSA8
 IHNjLT5hZ19lbnRyaWVzIC8gMTAyNDsgaSsrKSB7DQorCQl2bV9vZmZzZXRfdCB2YTsNCisJCXZt
 X29mZnNldF90IHBhOw0KKw0KKwkJdmEgPSAoKHZtX29mZnNldF90KXNjLT5hZ192aXJ0dWFsKSAr
 IGkgKiBBR1BfUEFHRV9TSVpFOw0KKwkJcGEgPSB2dG9waHlzKHZhKTsNCisJCXNjLT5hZ192ZGly
 W2ldID0gcGEgfCAxOw0KKwl9DQorDQorCS8qDQorCSAqIE1ha2Ugc3VyZSB0aGUgY2hpcHNldCBj
 YW4gc2VlIGV2ZXJ5dGhpbmcuDQorCSAqLw0KKwlhZ3BfZmx1c2hfY2FjaGUoKTsNCisNCisJcmV0
 dXJuIDA7DQorfQ0KKw0KKw0KK3N0YXRpYyBpbnQNCithZ3BfYXRpX2F0dGFjaChkZXZpY2VfdCBk
 ZXYpDQorew0KKwlzdHJ1Y3QgYWdwX2F0aV9zb2Z0YyAqc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRl
 dik7DQorCWludCBlcnJvciwgcmlkOw0KKwl1X2ludDMyX3QgdGVtcDsNCisJdV9pbnQzMl90IGFw
 c2l6ZV9yZWcsIGFncG1vZGVfcmVnOw0KKw0KKwllcnJvciA9IGFncF9nZW5lcmljX2F0dGFjaChk
 ZXYpOw0KKwlpZiAoZXJyb3IpDQorCQlyZXR1cm4gZXJyb3I7DQorDQorCXN3aXRjaCAocGNpX2dl
 dF9kZXZpZChkZXYpKSB7DQorCWNhc2UgMHhjYWIwMTAwMjogLyogQVRJIFJTMTAwIEFHUCBicmlk
 Z2UgKi8NCisJY2FzZSAweGNhYjIxMDAyOiAvKkFUSSBSUzIwMCBBR1AgYnJpZGdlICAqLw0KKwlj
 YXNlIDB4Y2FiMzEwMDI6IC8qIEFUSSBSUzI1MCBBR1AgYnJpZGdlICovDQorCQlzYy0+aXNfcnMz
 MDAgPSAwOw0KKwkJYXBzaXplX3JlZyA9IEFUSV9SUzEwMF9BUFNJWkU7DQorCQlhZ3Btb2RlX3Jl
 ZyA9IEFUSV9SUzEwMF9JR19BR1BNT0RFOw0KKwkJYnJlYWs7DQorCWNhc2UgMHg1ODMwMTAwMjog
 LyogQVRJIFJTMzAwXzEwMCBBR1AgYnJpZGdlICovDQorCWNhc2UgMHg1ODMxMTAwMjogLyogQVRJ
 IFJTMzAwXzEzMyBBR1AgYnJpZGdlICovDQorCWNhc2UgMHg1ODMyMTAwMjogLyogQVRJIFJTMzAw
 XzE2NiBBR1AgYnJpZGdlICovDQorCWNhc2UgMHg1ODMzMTAwMjogLyogQVRJIFJTMzAwXzIwMCBB
 R1AgYnJpZGdlICovDQorCQlzYy0+aXNfcnMzMDAgPSAxOw0KKwkJYXBzaXplX3JlZyA9IEFUSV9S
 UzMwMF9BUFNJWkU7DQorCQlhZ3Btb2RlX3JlZyA9IEFUSV9SUzMwMF9JR19BR1BNT0RFOw0KKwkJ
 YnJlYWs7DQorCWRlZmF1bHQ6DQorCQkvKiBVbmtub3duIGNoaXBzZXQgKi8NCisJCXJldHVybiBF
 SU5WQUw7DQorCX07DQorDQorCXJpZCA9IEFUSV9HQVJUX01NQUREUjsNCisJc2MtPnJlZ3MgPSBi
 dXNfYWxsb2NfcmVzb3VyY2VfYW55KGRldiwgU1lTX1JFU19NRU1PUlksICZyaWQsIFJGX0FDVElW
 RSk7DQorCWlmICghc2MtPnJlZ3MpIHsNCisJCWFncF9nZW5lcmljX2RldGFjaChkZXYpOw0KKwkJ
 cmV0dXJuIEVOT01FTTsNCisJfQ0KKw0KKwlzYy0+YnN0ID0gcm1hbl9nZXRfYnVzdGFnKHNjLT5y
 ZWdzKTsNCisJc2MtPmJzaCA9IHJtYW5fZ2V0X2J1c2hhbmRsZShzYy0+cmVncyk7DQorDQorCXNj
 LT5pbml0aWFsX2FwZXJ0dXJlID0gQUdQX0dFVF9BUEVSVFVSRShkZXYpOw0KKw0KKwlmb3IgKDs7
 KSB7DQorCQlpZiAoYWdwX2F0aV9hbGxvY19nYXR0KGRldikgPT0gMCkNCisJCQlicmVhazsNCisN
 CisJCS8qDQorCQkgKiBQcm9iYWJseSBjb250aWdtYWxsb2MgZmFpbHVyZS4gVHJ5IHJlZHVjaW5n
 IHRoZQ0KKwkJICogYXBlcnR1cmUgc28gdGhhdCB0aGUgZ2F0dCBzaXplIHJlZHVjZXMuDQorCQkg
 Ki8NCisJCWlmIChBR1BfU0VUX0FQRVJUVVJFKGRldiwgQUdQX0dFVF9BUEVSVFVSRShkZXYpIC8g
 MikpDQorCQkJcmV0dXJuIEVOT01FTTsNCisJfQ0KKw0KKwl0ZW1wID0gcGNpX3JlYWRfY29uZmln
 KGRldiwgYXBzaXplX3JlZywgNCk7DQorCXBjaV93cml0ZV9jb25maWcoZGV2LCBhcHNpemVfcmVn
 LCB0ZW1wIHwgMSwgNCk7DQorDQorCXBjaV93cml0ZV9jb25maWcoZGV2LCBhZ3Btb2RlX3JlZywg
 MHgyMDAwMCwgNCk7DQorDQorCVdSSVRFNChBVElfR0FSVF9GRUFUVVJFX0lELCAweDAwMDYwMDAw
 KTsNCisNCisJdGVtcCA9IHBjaV9yZWFkX2NvbmZpZyhkZXYsIDQsIDQpOwkvKiBYWFg6IE1hZ2lj
 IHJlZyMgKi8NCisJcGNpX3dyaXRlX2NvbmZpZyhkZXYsIDQsIHRlbXAgfCAoMSA8PCAxNCksIDQp
 Ow0KKw0KKwlXUklURTQoQVRJX0dBUlRfQkFTRSwgc2MtPmFnX3BkaXIpOw0KKw0KKwlBR1BfRkxV
 U0hfVExCKGRldik7DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50DQorYWdwX2F0
 aV9kZXRhY2goZGV2aWNlX3QgZGV2KQ0KK3sNCisJc3RydWN0IGFncF9hdGlfc29mdGMgKnNjID0g
 ZGV2aWNlX2dldF9zb2Z0YyhkZXYpOw0KKwlpbnQgZXJyb3I7DQorCXVfaW50MzJfdCBhcHNpemVf
 cmVnLCB0ZW1wOw0KKwkNCisJaWYgKHNjLT5pc19yczMwMCkNCisJCWFwc2l6ZV9yZWcgPSBBVElf
 UlMzMDBfQVBTSVpFOw0KKwllbHNlDQorCQlhcHNpemVfcmVnID0gQVRJX1JTMTAwX0FQU0laRTsN
 CisNCisJZXJyb3IgPSBhZ3BfZ2VuZXJpY19kZXRhY2goZGV2KTsNCisJaWYgKGVycm9yKQ0KKwkJ
 cmV0dXJuIGVycm9yOw0KKw0KKwkvKiBDbGVhciB0aGUgR0FUVCBiYXNlICovDQorCVdSSVRFNChB
 VElfR0FSVF9CQVNFLCAwKTsNCisNCisJLyogUHV0IHRoZSBhcGVydHVyZSBiYWNrIHRoZSB3YXkg
 aXQgc3RhcnRlZC4gKi8NCisJQUdQX1NFVF9BUEVSVFVSRShkZXYsIHNjLT5pbml0aWFsX2FwZXJ0
 dXJlKTsNCisNCisJdGVtcCA9IHBjaV9yZWFkX2NvbmZpZyhkZXYsIGFwc2l6ZV9yZWcsIDQpOw0K
 KwlwY2lfd3JpdGVfY29uZmlnKGRldiwgYXBzaXplX3JlZywgdGVtcCAmIH4xLCA0KTsNCisNCisJ
 ZnJlZShzYy0+YWdfdmRpciwgTV9BR1ApOw0KKwlmcmVlKHNjLT5hZ192aXJ0dWFsLCBNX0FHUCk7
 DQorDQorCWJ1c19yZWxlYXNlX3Jlc291cmNlKGRldiwgU1lTX1JFU19NRU1PUlksIEFUSV9HQVJU
 X01NQUREUiwgc2MtPnJlZ3MpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHVfaW50
 MzJfdA0KK2FncF9hdGlfZ2V0X2FwZXJ0dXJlKGRldmljZV90IGRldikNCit7DQorCXN0cnVjdCBh
 Z3BfYXRpX3NvZnRjICpzYyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsNCisJaW50IHNpemVfdmFs
 dWU7DQorCQ0KKwlpZiAoc2MtPmlzX3JzMzAwKQ0KKwkJc2l6ZV92YWx1ZSA9IHBjaV9yZWFkX2Nv
 bmZpZyhkZXYsIEFUSV9SUzMwMF9BUFNJWkUsIDQpOw0KKwllbHNlDQorCQlzaXplX3ZhbHVlID0g
 cGNpX3JlYWRfY29uZmlnKGRldiwgQVRJX1JTMTAwX0FQU0laRSwgNCk7DQorDQorCXNpemVfdmFs
 dWUgPSAoc2l6ZV92YWx1ZSAmIDB4MDAwMDAwMGUpID4+IDE7DQorCXNpemVfdmFsdWUgPSAoMzIg
 KiAxMDI0ICogMTAyNCkgPDwgc2l6ZV92YWx1ZTsNCisNCisJcmV0dXJuIHNpemVfdmFsdWU7DQor
 fQ0KKw0KK3N0YXRpYyBpbnQNCithZ3BfYXRpX3NldF9hcGVydHVyZShkZXZpY2VfdCBkZXYsIHVf
 aW50MzJfdCBhcGVydHVyZSkNCit7DQorCXN0cnVjdCBhZ3BfYXRpX3NvZnRjICpzYyA9IGRldmlj
 ZV9nZXRfc29mdGMoZGV2KTsNCisJaW50IHNpemVfdmFsdWU7DQorCXVfaW50MzJfdCBhcHNpemVf
 cmVnOw0KKwkNCisJaWYgKHNjLT5pc19yczMwMCkNCisJCWFwc2l6ZV9yZWcgPSBBVElfUlMzMDBf
 QVBTSVpFOw0KKwllbHNlDQorCQlhcHNpemVfcmVnID0gQVRJX1JTMTAwX0FQU0laRTsNCisNCisJ
 c2l6ZV92YWx1ZSA9IHBjaV9yZWFkX2NvbmZpZyhkZXYsIGFwc2l6ZV9yZWcsIDQpOw0KKw0KKwlz
 aXplX3ZhbHVlICY9IH4weDAwMDAwMDBlOw0KKwlzaXplX3ZhbHVlIHw9IChmZnMoYXBlcnR1cmUg
 LyAoMzIgKiAxMDI0ICogMTAyNCkpIC0gMSkgPDwgMTsNCisNCisJcGNpX3dyaXRlX2NvbmZpZyhk
 ZXYsIGFwc2l6ZV9yZWcsIHNpemVfdmFsdWUsIDQpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor
 c3RhdGljIGludA0KK2FncF9hdGlfYmluZF9wYWdlKGRldmljZV90IGRldiwgaW50IG9mZnNldCwg
 dm1fb2Zmc2V0X3QgcGh5c2ljYWwpDQorew0KKwlzdHJ1Y3QgYWdwX2F0aV9zb2Z0YyAqc2MgPSBk
 ZXZpY2VfZ2V0X3NvZnRjKGRldik7DQorDQorCWlmIChvZmZzZXQgPCAwIHx8IG9mZnNldCA+PSAo
 c2MtPmFnX2VudHJpZXMgPDwgQUdQX1BBR0VfU0hJRlQpKQ0KKwkJcmV0dXJuIEVJTlZBTDsNCisN
 CisJc2MtPmFnX3ZpcnR1YWxbb2Zmc2V0ID4+IEFHUF9QQUdFX1NISUZUXSA9IHBoeXNpY2FsOw0K
 Kw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludA0KK2FncF9hdGlfdW5iaW5kX3BhZ2Uo
 ZGV2aWNlX3QgZGV2LCBpbnQgb2Zmc2V0KQ0KK3sNCisJc3RydWN0IGFncF9hdGlfc29mdGMgKnNj
 ID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOw0KKw0KKwlpZiAob2Zmc2V0IDwgMCB8fCBvZmZzZXQg
 Pj0gKHNjLT5hZ19lbnRyaWVzIDw8IEFHUF9QQUdFX1NISUZUKSkNCisJCXJldHVybiBFSU5WQUw7
 DQorDQorCXNjLT5hZ192aXJ0dWFsW29mZnNldCA+PiBBR1BfUEFHRV9TSElGVF0gPSAwOw0KKwly
 ZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQNCithZ3BfYXRpX2ZsdXNoX3RsYihkZXZpY2Vf
 dCBkZXYpDQorew0KKwlzdHJ1Y3QgYWdwX2F0aV9zb2Z0YyAqc2MgPSBkZXZpY2VfZ2V0X3NvZnRj
 KGRldik7DQorDQorCS8qIFNldCB0aGUgY2FjaGUgaW52YWxpZGF0ZSBiaXQgYW5kIHdhaXQgZm9y
 IHRoZSBjaGlwc2V0IHRvIGNsZWFyICovDQorCVdSSVRFNChBVElfR0FSVF9DQUNIRV9DTlRSTCwg
 MSk7DQorfQ0KKw0KK3N0YXRpYyBkZXZpY2VfbWV0aG9kX3QgYWdwX2F0aV9tZXRob2RzW10gPSB7
 DQorCS8qIERldmljZSBpbnRlcmZhY2UgKi8NCisJREVWTUVUSE9EKGRldmljZV9wcm9iZSwJCWFn
 cF9hdGlfcHJvYmUpLA0KKwlERVZNRVRIT0QoZGV2aWNlX2F0dGFjaCwJYWdwX2F0aV9hdHRhY2gp
 LA0KKwlERVZNRVRIT0QoZGV2aWNlX2RldGFjaCwJYWdwX2F0aV9kZXRhY2gpLA0KKwlERVZNRVRI
 T0QoZGV2aWNlX3NodXRkb3duLAlidXNfZ2VuZXJpY19zaHV0ZG93biksDQorCURFVk1FVEhPRChk
 ZXZpY2Vfc3VzcGVuZCwJYnVzX2dlbmVyaWNfc3VzcGVuZCksDQorCURFVk1FVEhPRChkZXZpY2Vf
 cmVzdW1lLAlidXNfZ2VuZXJpY19yZXN1bWUpLA0KKw0KKwkvKiBBR1AgaW50ZXJmYWNlICovDQor
 CURFVk1FVEhPRChhZ3BfZ2V0X2FwZXJ0dXJlLAlhZ3BfYXRpX2dldF9hcGVydHVyZSksDQorCURF
 Vk1FVEhPRChhZ3Bfc2V0X2FwZXJ0dXJlLAlhZ3BfYXRpX3NldF9hcGVydHVyZSksDQorCURFVk1F
 VEhPRChhZ3BfYmluZF9wYWdlLAlhZ3BfYXRpX2JpbmRfcGFnZSksDQorCURFVk1FVEhPRChhZ3Bf
 dW5iaW5kX3BhZ2UsCWFncF9hdGlfdW5iaW5kX3BhZ2UpLA0KKwlERVZNRVRIT0QoYWdwX2ZsdXNo
 X3RsYiwJYWdwX2F0aV9mbHVzaF90bGIpLA0KKwlERVZNRVRIT0QoYWdwX2VuYWJsZSwJCWFncF9n
 ZW5lcmljX2VuYWJsZSksDQorCURFVk1FVEhPRChhZ3BfYWxsb2NfbWVtb3J5LAlhZ3BfZ2VuZXJp
 Y19hbGxvY19tZW1vcnkpLA0KKwlERVZNRVRIT0QoYWdwX2ZyZWVfbWVtb3J5LAlhZ3BfZ2VuZXJp
 Y19mcmVlX21lbW9yeSksDQorCURFVk1FVEhPRChhZ3BfYmluZF9tZW1vcnksCWFncF9nZW5lcmlj
 X2JpbmRfbWVtb3J5KSwNCisJREVWTUVUSE9EKGFncF91bmJpbmRfbWVtb3J5LAlhZ3BfZ2VuZXJp
 Y191bmJpbmRfbWVtb3J5KSwNCisNCisJeyAwLCAwIH0NCit9Ow0KKw0KK3N0YXRpYyBkcml2ZXJf
 dCBhZ3BfYXRpX2RyaXZlciA9IHsNCisJImFncCIsDQorCWFncF9hdGlfbWV0aG9kcywNCisJc2l6
 ZW9mKHN0cnVjdCBhZ3BfYXRpX3NvZnRjKSwNCit9Ow0KKw0KK3N0YXRpYyBkZXZjbGFzc190IGFn
 cF9kZXZjbGFzczsNCisNCitEUklWRVJfTU9EVUxFKGFncF9hdGksIHBjaSwgYWdwX2F0aV9kcml2
 ZXIsIGFncF9kZXZjbGFzcywgMCwgMCk7DQorTU9EVUxFX0RFUEVORChhZ3BfYXRpLCBhZ3AsIDEs
 IDEsIDEpOw0KK01PRFVMRV9ERVBFTkQoYWdwX2F0aSwgcGNpLCAxLCAxLCAxKTsNCkluZGV4OiBh
 Z3ByZWcuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9wY2kvYWdw
 cmVnLmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEzDQpkaWZmIC11IC1yMS4xMyBhZ3ByZWcu
 aA0KLS0tIGFncHJlZy5oCTE2IEF1ZyAyMDA0IDEyOjI1OjQ4IC0wMDAwCTEuMTMNCisrKyBhZ3By
 ZWcuaAkxOSBEZWMgMjAwNCAwNjoyMjoyNiAtMDAwMA0KQEAgLTI2Miw0ICsyNjIsMTYgQEANCiAj
 ZGVmaW5lCUFHUF9BTUQ2NF9DQUNIRUNUUkxfSU5WR0FSVAkweDAwMDAwMDAxDQogI2RlZmluZQlB
 R1BfQU1ENjRfQ0FDSEVDVFJMX1BURUVSUgkweDAwMDAwMDAyDQogDQorLyoNCisgKiBBVEkgSUdQ
 IHJlZ2lzdGVycw0KKyAqLw0KKyNkZWZpbmUgQVRJX0dBUlRfTU1BRERSCQkweDE0DQorI2RlZmlu
 ZSBBVElfUlMxMDBfQVBTSVpFCTB4YWMNCisjZGVmaW5lIEFUSV9SUzEwMF9JR19BR1BNT0RFCTB4
 YjANCisjZGVmaW5lIEFUSV9SUzMwMF9BUFNJWkUJMHhmOA0KKyNkZWZpbmUgQVRJX1JTMzAwX0lH
 X0FHUE1PREUJMHhmYw0KKyNkZWZpbmUgQVRJX0dBUlRfRkVBVFVSRV9JRAkweDAwDQorI2RlZmlu
 ZSBBVElfR0FSVF9CQVNFCQkweDA0DQorI2RlZmluZSBBVElfR0FSVF9DQUNIRV9DTlRSTAkweDBj
 DQorDQogI2VuZGlmIC8qICFfUENJX0FHUFJFR19IXyAqLw0K
 
 
 --=-7rp8sXwKvJllJ3cFMcr2--

From: Aurelien Nephtali <aurelien.nephtali@wanadoo.fr>
To: Eric Anholt <eta@lclark.edu>
Cc: gnats <freebsd-gnats-submit@FreeBSD.ORG>
Subject: Re: i386/75251
Date: Thu, 30 Dec 2004 19:53:58 +0100

 Eric Anholt wrote:
 > Here's a new version.  It's also at
 > http://people.freebsd.org/~anholt/ati-agp-2.diff for your fetching
 > pleasure.
 > 
 
 Hi,
 
 Same behaviour : hard reboot if Xorg is started with 'dri' enabled.
 And always the same relevant lines (among hundreds) :
 
 [drm:pid567:radeon_irq_install] radeon_irq_install: irq=255
 pci_link7: Unable to choose an IRQ
 [drm:pid567:radeon_ioctl] pid=567, cmd=0x800c6455, nr=0x55, dev
 0xc1099e80, auth=1
 
 and the three lines before the system reboots :
 
 [drm:pid567:radeon_ioctl] pid=567, cmd=0xc010644d, nr=0x4d, dev
 0xc1099e80, auth=1
 [drm:pid567:radeon_cp_indirect] indirect: idx=8 s=11776 e=11792 d=1
 [drm:pid567:radeon_cp_dispatch_indirect] indirect: buf=8 s=0x2e00 e=0x2e10
 
 -- 
 NEPHTALI 'dak' Aurelien
 
 

From: Eric Anholt <eta@lclark.edu>
To: gnats <freebsd-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: i386/75251
Date: Fri, 31 Dec 2004 12:12:22 -0800

 If you're having complaints about binding at a bad offset, please try
 adding a line:
 	device_printf(dev, "get_aperture: %d\n", size_value);
 right before the "return size_value"; in agp_ati_get_aperture(), then
 send a log of what it says.
 
 -- 
 Eric Anholt                                eta@lclark.edu          
 http://people.freebsd.org/~anholt/         anholt@FreeBSD.org

From: Marian Cerny <jojo@matfyz.cz>
To: freebsd-gnats-submit@FreeBSD.org, anholt@freebsd.org
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Sun, 16 Jan 2005 23:40:27 +0100

  o Compaq EVO N1015v laptop
  o Ati Mobility U1 (IGP 320M) graphics card
  o FreeBSD 5.3
  o Xorg 6.8.1
 
 I have applied the patch ati-agp-2.diff and added line
 "pci/agp_ati.c optional agp" to /usr/src/sys/conf/files.i386. Also added
 the 'get_aperture' debug message.
 
 Computer hangs when xorg is started with dri enabled - with grey screen
 with 'I' cursor in the center. Sometimes the computer reboots.
 
 Relevant parts from logs:
 
 # dmesg | grep agp
 agp0: <ATI RS100 AGP bridge> port 0x8090-0x8093 mem 0xf0400000-0xf0400fff,0xf4000000-0xf7ffffff at device 0.0 on pci0
 agp0: get_aperture: 67108864
 agp0: get_aperture: 67108864
 
 # part of all.log from syslogd (before hang)
 kernel: drm0: <ATI Radeon RS100 Mobility U1> port 0x9000-0x90ff mem 0xf0100000-0xf010ffff,0xf8000000-0xfbffffff irq 10 at device 5.0 on pci1
 kernel: info: [drm] AGP at 0xf4000000 64MB
 kernel: info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
 kernel: agp0: get_aperture: 67108864
 kernel: pid 1301 (xclock), uid 0: exited on signal 11 (core dumped)
 kernel: Jan 16 22:53:19  kernel: pid 1301 (xclock), uid 0: exited on signal 11 (core dumped)
 
 # startx 2>&1
 [...]
 X Window System Version 6.8.1
 Release Date: 17 September 2004
 X Protocol Version 11, Revision 0, Release 6.8.1
 Build Operating System: FreeBSD 5.3 i386 [ELF]
 Current Operating System: FreeBSD  5.3-RELEASE FreeBSD 5.3-RELEASE #2: Sun Jan 16 22:40:00 UTC 2005     root@:/usr/src/sys/i386/compile/ATI_AGP i386
 Build Date: 16 January 2005
         Before reporting problems, check http://wiki.X.Org
         to make sure that you have the latest version.
 Module Loader present
 Markers: (--) probed, (**) from config file, (==) default setting,
         (++) from command line, (!!) notice, (II) informational,
         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
 (==) Log file: "/var/log/Xorg.0.log", Time: Sun Jan 16 22:53:07 2005
 (==) Using config file: "/etc/xorg.conf"
 
 I'm not seeing the errors like "[drm:pid567:radeon_irq_install] ...".
 I'm not sure, if they are written into logs. I have /var mounted with
 sync flag and softupdates turned off. I'm not sure if all messages get
 into a log.
 
 I'm just a normal FreeBSD user, not very advanced. Just would like to
 have 3D support working.
 
 How can I help more? Should I try to compile xclock with debugging
 symlols and examine the core?
 
 Full logs are available at:
 
  o http://artax.karlin.mff.cuni.cz/~cernm0bm/pr75251/Xorg.0.log
  o http://artax.karlin.mff.cuni.cz/~cernm0bm/pr75251/dmesg
 
 -- 
 Marian Cerny <jojo@matfyz.cz>
 Jabber: jojo@njs.netlab.cz

From: Evren Yurtesen <yurtesen@nonexistent.net>
To: bug-followup@FreeBSD.org, anholt@freebsd.org, jojo@matfyz.cz,
  aurelien.nephtali@wanadoo.fr
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Sun, 05 Jun 2005 12:31:52 +0300

 Hi,
 
 I have the same problems with this experimental driver as others 
 mention. However if I boot FreeBSD in safe mode, then X is working up to 
 some point. At least the mouse works but the X freezes while drawing the 
 login window (mouse still works).
 
 AGP is not only required for 3D support, but also the dynamic clocks 
 support which allows GPUs clock freq. to be lowered when it is idle thus 
 power savings...
 
 I dont know how I can help because it seems like others have submitted 
 the debugging info but ... any ideas?
 
 Thanks,
 Evren

From: Evren Yurtesen <eyurtese@tekniikka.turkuamk.fi>
To: bug-followup@FreeBSD.org, anholt@freebsd.org, jojo@matfyz.cz,
  aurelien.nephtali@wanadoo.fr
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Sun, 05 Jun 2005 12:37:06 +0300

 Sorry, my email address at mozilla was mucked up...correct one is 
 eyurtese (at) tekniikka.turkuamk.fi
 
 Evren Yurtesen wrote:
 > Hi,
 > 
 > I have the same problems with this experimental driver as others 
 > mention. However if I boot FreeBSD in safe mode, then X is working up to 
 > some point. At least the mouse works but the X freezes while drawing the 
 > login window (mouse still works).
 > 
 > AGP is not only required for 3D support, but also the dynamic clocks 
 > support which allows GPUs clock freq. to be lowered when it is idle thus 
 > power savings...
 > 
 > I dont know how I can help because it seems like others have submitted 
 > the debugging info but ... any ideas?
 > 
 > Thanks,
 > Evren
 > 

From: Evren Yurtesen <eyurtese@tekniikka.turkuamk.fi>
To: bug-followup@FreeBSD.org, anholt@freebsd.org
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Sun, 05 Jun 2005 15:57:56 +0300

 I have got my laptop agp work with this patch using
         Option      "CPPIOMode" "true"          #
 For my radeon mobility u1 card.
 However I have no idea about what this option does? There is no 
 documentation about it anywhere...I googled and went through man pages etc.
 
 %dmesg |grep agp
 agp0: <ATI RS100 AGP bridge> port 0xa010-0xa013 mem 
 0xf4800000-0xf4800fff,0xf8000000-0xfbffffff at device 0.0 on pci0
 %dmesg | grep drm
 drm0: <ATI Radeon RS100 Mobility U1> port 0xb000-0xb0ff mem 
 0xf4500000-0xf450ffff,0xf6000000-0xf7ffffff irq 3 at device 5.0 on pci1
 info: [drm] AGP at 0xf8000000 64MB
 info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
 %
 
 (II) RADEON(0): [agp] Mode 0x0f000217 [AGP 0x0000/0x0000; Card 
 0x1002/0x4336]
 (II) RADEON(0): [agp] 8192 kB allocated with handle 0xc1cc1240
 (II) RADEON(0): [agp] ring handle = 0xf8000000
 (II) RADEON(0): [agp] Ring mapped at 0x28c7c000
 (II) RADEON(0): [agp] ring read ptr handle = 0xf8101000
 (II) RADEON(0): [agp] Ring read ptr mapped at 0x2831b000
 (II) RADEON(0): [agp] vertex/indirect buffers handle = 0xf8102000
 (II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0x28d7d000
 (II) RADEON(0): [agp] GART texture map handle = 0xf8302000
 (II) RADEON(0): [agp] GART Texture map mapped at 0x28f7d000
 (II) RADEON(0): [drm] register handle = 0xf4500000
 (II) RADEON(0): [dri] Visual configs initialized
 (II) RADEON(0): CP in PIO mode
 (II) RADEON(0): Using 8 MB GART aperture
 (II) RADEON(0): Using 1 MB for the ring buffer
 (II) RADEON(0): Using 2 MB for vertex/indirect buffers
 (II) RADEON(0): Using 5 MB for GART textures
 (II) RADEON(0): Memory manager initialized to (0,0) (1024,4096)
 (II) RADEON(0): Reserved area from (0,768) to (1024,770)
 (II) RADEON(0): Largest offscreen area available: 1024 x 3326

From: Eric Anholt <eta@lclark.edu>
To: gnats <freebsd-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: i386/75251
Date: Mon, 13 Jun 2005 02:03:35 -0700

 It's clear that the driver doesn't work.  I don't find this particularly
 surprising.  Someone with the hardware needs to pick up the patch and
 complete the driver.  Comparing between FreeBSD and Linux drivers is
 probably the best way to go about it, since we lack docs.
 
 CPPIOMode menas that you don't use the ring buffer (in agp) to submit
 commands, you use MMIO.  So you've worked around a broken agp driver by
 not using AGP.
 
 -- 
 Eric Anholt                                     eta@lclark.edu
 http://people.freebsd.org/~anholt/              anholt@FreeBSD.org
State-Changed-From-To: open->suspended 
State-Changed-By: anholt 
State-Changed-When: Mon Jun 13 09:38:03 GMT 2005 
State-Changed-Why:  
Stash this in suspended state until someone can finish off the patch. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=75251 

From: Eric Anholt <eta@lclark.edu>
To: Evren Yurtesen <yurtesen@nonexistent.net>,
        Aurelien Nephtali <aurelien.nephtali@wanadoo.fr>,
        Adam K Kirchhoff <adamk@voicenet.com>,
        gnats <freebsd-gnats-submit@FreeBSD.ORG>
Cc:  
Subject: Re: i386/75251
Date: Thu, 23 Jun 2005 19:17:19 -0700

 Good news, possibly.  While looking at agp_nvidia.c, I figured out
 something I had missed in reading the linux driver.  A new patch is up
 at http://people.freebsd.org/~anholt/agp_ati.c-3.diff
 
 As usual, build and install as a module, and set 'agp_load="YES"' in
 loader.conf is probably the easiest way to try it.
 
 -- 
 Eric Anholt                                     eta@lclark.edu
 http://people.freebsd.org/~anholt/              anholt@FreeBSD.org

From: Adam K Kirchhoff <adamk@voicenet.com>
To: anholt@freebsd.org, bug-followup@FreeBSD.org
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Mon, 29 Aug 2005 13:38:53 -0400

 FYI, I've finally gotten FreeBSD onto another IGP machine.  I'm now
 running 7.0-CURRENT with the latest patch (agp_ati.c-3.diff) from Eric.
 When I start up with DRI enabled, I'm getting crashes.  The full output
 from my serial console is below.  I'm more than willing to test
 anything, but my driver development skills are subpar, so I probably
 won't be able to fix this on my own. 
 
 KDB: debugger backends: ddb
 KDB: current backend: ddb
 SMAP type=01 base=0000000000000000 len=000000000009f800
 SMAP type=02 base=000000000009f800 len=0000000000000800
 SMAP type=02 base=00000000000d0000 len=0000000000030000
 SMAP type=01 base=0000000000100000 len=000000001bdf0000
 SMAP type=03 base=000000001bef0000 len=000000000000f000
 SMAP type=04 base=000000001beff000 len=0000000000001000
 SMAP type=02 base=000000001bf00000 len=0000000000100000
 SMAP type=02 base=00000000fffc0000 len=0000000000040000
 Copyright (c) 1992-2005 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD 7.0-CURRENT #1: Wed Aug 24 17:35:34 EDT 2005
     root@scroll.ashke.com:/usr/obj/usr/src/sys/SCROLL
 Preloaded elf kernel "/boot/kernel/kernel" at 0xc0920000.
 Preloaded elf module "/boot/kernel/linux.ko" at 0xc0920180.
 Preloaded elf module "/boot/kernel/if_ath.ko" at 0xc092022c.
 Preloaded elf module "/boot/kernel/ath_hal.ko" at 0xc09202d8.
 Preloaded elf module "/boot/kernel/wlan.ko" at 0xc0920384.
 Preloaded elf module "/boot/kernel/ath_rate.ko" at 0xc0920430.
 Preloaded elf module "/boot/kernel/if_lnc.ko" at 0xc09204e0.
 Preloaded elf module "/boot/kernel/if_sis.ko" at 0xc092058c.
 Preloaded elf module "/boot/kernel/miibus.ko" at 0xc0920638.
 Preloaded elf module "/boot/kernel/if_wi.ko" at 0xc09206e4.
 Preloaded elf module "/boot/kernel/snd_es137x.ko" at 0xc0920790.
 Preloaded elf module "/boot/kernel/sound.ko" at 0xc0920840.
 Preloaded elf module "/boot/kernel/snd_t4dwave.ko" at 0xc09208ec.
 Preloaded elf module "/boot/kernel/agp.ko" at 0xc092099c.
 Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0920a44.
 Calibrating clock(s) ... i8254 clock: 1193152 Hz
 CLK_USE_I8254_CALIBRATION not specified - using default frequency
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Calibrating TSC clock ... TSC clock: 1523914506 Hz
 CPU: mobile AMD Athlon(tm) XP 1800+ (1523.91-MHz 686-class CPU)
   Origin = "AuthenticAMD"  Id = 0x680  Stepping = 0
 
 Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
   AMD Features=0xc0480800<SYSCALL,MP,MMX+,3DNow+,3DNow>
 Data TLB: 32 entries, fully associative
 Instruction TLB: 16 entries, fully associative
 L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
 L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way
 associative
 L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way
 associative
 real memory  = 468647936 (446 MB)
 Physical memory chunk(s):
 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
 0x0000000000c25000 - 0x000000001b6dbfff, 447442944 bytes (109239 pages)
 avail memory = 449318912 (428 MB)
 bios32: Found BIOS32 Service Directory header at 0xc00f7440
 bios32: Entry = 0xfd730 (c00fd730)  Rev = 0  Len = 1
 pcibios: PCI BIOS entry at 0xfd730+0x14b
 pnpbios: Found PnP BIOS data at 0xc00f74a0
 pnpbios: Entry = f0000:a070  Rev = 1.0
 Other BIOS signatures found:
 wlan: <802.11 Link Layer>
 ath_rate: <Atsushi Onoe's rate control algorithm>
 io: <I/O>
 random: <entropy source, Software, Yarrow>
 nfslock: pseudo-device
 mem: <memory>
 Pentium Pro MTRR support enabled
 null: <null device, zero device>
 ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
 npx0: [FAST]
 npx0: <math processor> on motherboard
 npx0: INT 16 interface
 acpi0: <PTLTD   RSDT> on motherboard
 acpi0: [MPSAFE]
 pci_open(1):	mode 1 addr port (0x0cf8) is 0x80008004
 pci_open(1a):	mode1res=0x80000000 (0x80000000)
 pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=cab01002)
 pcibios: BIOS version 2.10
 Found $PIR table, 11 entries at 0xc00fdf10
 PCI-Only Interrupts: none
 Location  Bus Device Pin  Link  IRQs
 slot 13     1    5    A   0x01  3 4 6 9 10
 embedded    0    2    A   0x09  3 4 6 9 10
 embedded    0   15    A   0x05  3 4 6 9 10
 embedded    0    8    A   0x07  3 4 6 9 10
 embedded    0    6    A   0x08  5 7
 embedded    0    9    A   0x04  3 4 6 9 10
 embedded    0    9    B   0x03  3 4 6 9 10
 embedded    0   10    A   0x06  5 7
 embedded    0   18    A   0x02  7 11
 embedded    0   12    A   0x03  3 4 6 9 10
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 17 func 0
 acpi0: Power Button (fixed)
 AcpiOsDerivePciId: bus 0 dev 0 func 0
 pci_link0: <ACPI PCI Link LNKA> irq 10 on acpi0
 pci_link0: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 10
 pci_link0: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 10
 pci_link0: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link1: <ACPI PCI Link LNKB> irq 11 on acpi0
 pci_link1: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  7 11
 pci_link1: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  7 11
 pci_link1: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  7 11
 pci_link2: <ACPI PCI Link LNKC> irq 9 on acpi0
 pci_link2: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link2: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link2: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: <ACPI PCI Link LNKD> on acpi0
 pci_link3: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: <ACPI PCI Link LNKE> on acpi0
 pci_link4: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link5: <ACPI PCI Link LNKF> irq 11 on acpi0
 pci_link5: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  5 7
 pci_link5: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link5: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link6: <ACPI PCI Link LNKG> irq 3 on acpi0
 pci_link6: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    3   N     0  3 4 6 10
 pci_link6: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    3   N     0  3 4 6 10
 pci_link6: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link7: <ACPI PCI Link LNKH> irq 5 on acpi0
 pci_link7: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    5   N     0  5 7
 pci_link7: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    5   N     0  5 7
 pci_link7: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link8: <ACPI PCI Link LNKU> irq 9 on acpi0
 pci_link8: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link8: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link8: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 unknown: I/O range not supported
 acpi_ec0: <Embedded Controller: GPE 0x18> port 0x62,0x66 on acpi0
 acpi_ec0: info: new max delay is 20 us
 acpi_ec0: info: new max delay is 360 us
 acpi_ec0: info: new max delay is 800 us
 ACPI timer: 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 -> 10
 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0
 cpu0: <ACPI CPU> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 pci0: physical bus=0
 found->	vendor=0x1002, dev=0xcab0, revid=0x13
 	bus=0, slot=0, func=0
 	class=06-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x2230, cachelnsz=0 (dwords)
 	lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[10]: type 3, range 32, base d4000000, size 26, enabled
 	map[14]: type 3, range 32, base d0500000, size 12, enabled
 	map[18]: type 4, range 32, base 00008090, size  2, port disabled
 found->	vendor=0x1002, dev=0x700f, revid=0x01
 	bus=0, slot=1, func=0
 	class=06-04-00, hdrtype=0x01, mfdev=0
 	cmdreg=0x0007, statreg=0x0220, cachelnsz=0 (dwords)
 	lattimer=0x63 (2970 ns), mingnt=0x0c (3000 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x10b9, dev=0x5237, revid=0x03
 	bus=0, slot=2, func=0
 	class=0c-03-10, hdrtype=0x00, mfdev=0
 	cmdreg=0x0017, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x50 (20000 ns)
 	intpin=a, irq=9
 	powerspec 2  supports D0 D3  current D0
 	map[10]: type 1, range 32, base d0004000, size 12, enabled
 pcib0: matched entry for 0.2.INTA (src \_SB_.PCI0.ISA_.LNKU:0)
 pcib0: slot 2 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKU
 found->	vendor=0x10b9, dev=0x5451, revid=0x02
 	bus=0, slot=6, func=0
 	class=04-01-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0xc290, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x18 (6000 ns)
 	intpin=a, irq=5
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 4, range 32, base 00008400, size  8, enabled
 	map[14]: type 1, range 32, base d0005000, size 12, enabled
 pcib0: matched entry for 0.6.INTA (src \_SB_.PCI0.ISA_.LNKH:0)
 pcib0: slot 6 INTA routed to irq 5 via \_SB_.PCI0.ISA_.LNKH
 found->	vendor=0x10b9, dev=0x1533, revid=0x00
 	bus=0, slot=7, func=0
 	class=06-01-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x000f, statreg=0x0210, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	powerspec 1  supports D0 D3  current D0
 found->	vendor=0x10b9, dev=0x5457, revid=0x00
 	bus=0, slot=8, func=0
 	class=07-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=3
 	powerspec 2  supports D0 D3  current D0
 	map[10]: type 1, range 32, base d0006000, size 12, enabled
 	map[14]: type 4, range 32, base 00008800, size  8, enabled
 pcib0: matched entry for 0.8.INTA (src \_SB_.PCI0.ISA_.LNKG:0)
 pcib0: slot 8 INTA routed to irq 3 via \_SB_.PCI0.ISA_.LNKG
 found->	vendor=0x1217, dev=0x6972, revid=0x00
 	bus=0, slot=10, func=0
 	class=06-07-00, hdrtype=0x02, mfdev=0
 	cmdreg=0x0007, statreg=0x0410, cachelnsz=0 (dwords)
 	lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=5
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base 80000000, size 12, enabled
 pcib0: matched entry for 0.10.INTA (src \_SB_.PCI0.ISA_.LNKF:0)
 pci_link5: Picked IRQ 9 with weight 1
 pcib0: slot 10 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKF
 found->	vendor=0x104c, dev=0x8026, revid=0x00
 	bus=0, slot=12, func=0
 	class=0c-00-10, hdrtype=0x00, mfdev=0
 	cmdreg=0x0012, statreg=0x0210, cachelnsz=16 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
 	intpin=a, irq=9
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base d0008000, size 11, enabled
 	map[14]: type 1, range 32, base d0000000, size 14, enabled
 pcib0: matched entry for 0.12.INTA (src \_SB_.PCI0.ISA_.LNKC:0)
 pcib0: slot 12 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKC
 found->	vendor=0x10b9, dev=0x5229, revid=0xc4
 	bus=0, slot=16, func=0
 	class=01-01-b0, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x20 (960 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
 	intpin=a, irq=255
 	powerspec 2  supports D0 D3  current D0
 	map[20]: type 4, range 32, base 00008080, size  4, enabled
 found->	vendor=0x10b9, dev=0x7101, revid=0x00
 	bus=0, slot=17, func=0
 	class=06-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0000, statreg=0x0200, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x100b, dev=0x0020, revid=0x00
 	bus=0, slot=18, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x5a (2700 ns), mingnt=0x0b (2750 ns), maxlat=0x34 (13000 ns)
 	intpin=a, irq=11
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 4, range 32, base 00008c00, size  8, enabled
 	map[14]: type 1, range 32, base d0009000, size 12, enabled
 pcib0: matched entry for 0.18.INTA (src \_SB_.PCI0.ISA_.LNKB:0)
 pcib0: slot 18 INTA routed to irq 11 via \_SB_.PCI0.ISA_.LNKB
 agp0: <ATI RS100 AGP bridge> port 0x8090-0x8093 mem
 0xd4000000-0xd7ffffff,0xd0500000-0xd0500fff at device 0.0 on pci0
 agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0xd4000000
 agp0: Reserved 0x1000 bytes for rid 0x14 type 3 at 0xd0500000
 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
 pcib1:   secondary bus     1
 pcib1:   subordinate bus   1
 pcib1:   I/O decode        0x9000-0x9fff
 pcib1:   memory decode     0xd0100000-0xd01fffff
 pcib1:   prefetched decode 0xe0000000-0xefffffff
 pci1: <ACPI PCI bus> on pcib1
 pci1: physical bus=1
 found->	vendor=0x1002, dev=0x4336, revid=0x00
 	bus=1, slot=5, func=0
 	class=03-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0287, statreg=0x02b0, cachelnsz=16 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=10
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 3, range 32, base e0000000, size 28, enabled
 pcib1: (null) requested memory range 0xe0000000-0xefffffff: good
 	map[14]: type 4, range 32, base 00009000, size  8, enabled
 pcib1: (null) requested I/O range 0x9000-0x90ff: in range
 	map[18]: type 1, range 32, base d0100000, size 16, enabled
 pcib1: (null) requested memory range 0xd0100000-0xd010ffff: good
 pcib1: matched entry for 1.5.INTA (src \_SB_.PCI0.ISA_.LNKC:0)
 pcib1: slot 5 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKC
 pci1: <display, VGA> at device 5.0 (no driver attached)
 ohci0: <AcerLabs M5237 (Aladdin-V) USB controller> mem
 0xd0004000-0xd0004fff irq 9 at device 2.0 on pci0
 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xd0004000
 ohci0: [GIANT-LOCKED]
 usb0: OHCI version 1.0, legacy support
 usb0: SMM does not respond, resetting
 usb0: <AcerLabs M5237 (Aladdin-V) USB controller> on ohci0
 usb0: USB revision 1.0
 uhub0: AcerLabs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 4 ports with 4 removable, self powered
 pcm0: <Acer Labs M5451> port 0x8400-0x84ff mem 0xd0005000-0xd0005fff irq
 5 at device 6.0 on pci0
 pcm0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x8400
 pcm0: <Conexant CX20468 AC97 Codec (id = 0x43585429)>
 pcm0: Codec features reserved, headphone, 18 bit DAC, 18 bit ADC, 5 bit
 master volume, no 3D Stereo Enhancement
 pcm0: Primary codec extended features variable rate PCM, AMAP
 pcm0: ac97 codec dac ready count: 0
 pcm0: [GIANT-LOCKED]
 pcm0: sndbuf_setmap 1b4a3000, 1000; 0xc194f000 -> 1b4a3000
 pcm0: sndbuf_setmap 1b481000, 1000; 0xc194d000 -> 1b481000
 pcm0: sndbuf_setmap 1b485000, 1000; 0xc1951000 -> 1b485000
 pcm0: sndbuf_setmap 1e7000, 1000; 0xc1953000 -> 1e7000
 pcm0: sndbuf_setmap 1f6000, 1000; 0xc1962000 -> 1f6000
 isab0: <PCI-ISA bridge> at device 7.0 on pci0
 isa0: <ISA bus> on isab0
 pci0: <simple comms, generic modem> at device 8.0 (no driver attached)
 pci0:8:0: Transition from D0 to D3
 cbb0: <O2Micro OZ6912/6972 PCI-CardBus Bridge> mem 0x80000000-0x80000fff
 irq 9 at device 10.0 on pci0
 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x80000000
 cardbus0: <CardBus bus> on cbb0
 pccard0: <16-bit PCCard bus> on cbb0
 cbb0: [MPSAFE]
 cbb0: PCI Configuration space:
   0x00: 0x69721217 0x04100007 0x06070000 0x00022000 
   0x10: 0x80000000 0x220000a0 0x20030200 0xfffff000 
   0x20: 0x00000000 0xfffff000 0x00000000 0x0000fffd 
   0x30: 0x00000001 0x0000fffd 0x00000001 0x04000109 
   0x40: 0x0024103c 0x00000001 0x00000000 0x00000000 
   0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x80: 0x00000000 0x00000000 0x00000000 0x01281282 
   0x90: 0x00008002 0x00000000 0x00000000 0x00000000 
   0xa0: 0xfe020001 0x00c04100 0x00000000 0x00000011 
   0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xd0: 0x08004000 0x028203ea 0x00000000 0x00000000 
   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
 fwohci0: <Texas Instruments TSB43AB21/A/AI/A-EP> mem
 0xd0008000-0xd00087ff,0xd0000000-0xd0003fff irq 9 at device 12.0 on pci0
 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xd0008000
 fwohci0: [MPSAFE]
 fwohci0: OHCI version 1.10 (ROM=1)
 fwohci0: No. of Isochronous channels is 4.
 fwohci0: EUI64 00:0b:cd:00:9e:33:43:72
 fwohci0: Phy 1394a available S400, 1 ports.
 fwohci0: Link S400, max_rec 2048 bytes.
 firewire0: <IEEE1394(FireWire) bus> on fwohci0
 sbp0: <SBP-2/SCSI over FireWire> on firewire0
 fwe0: <Ethernet over FireWire> on firewire0
 if_fwe0: Fake Ethernet address: 02:0b:cd:33:43:72
 fwe0: bpf attached
 fwe0: Ethernet address: 02:0b:cd:33:43:72
 fwe0: if_start running deferred for Giant
 fwohci0: Initiate bus reset
 fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
 firewire0: bus manager 0 (me)
 atapci0: <AcerLabs M5229 UDMA100 controller> port
 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x8080-0x808f at device 16.0 on pci0
 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x8080
 atapci0: using PIO transfers above 137GB as workaround for 48bit DMA
 access bug, expect reduced performance
 ata0: <ATA channel 0> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
 ata0: reset tp1 mask=03 ostat0=50 ostat1=00
 ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
 ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
 ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
 ata0: [MPSAFE]
 ata1: <ATA channel 1> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
 ata1: reset tp1 mask=03 ostat0=50 ostat1=00
 ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
 ata1: stat1=0x00 err=0x04 lsb=0x00 msb=0x00
 ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
 ata1: [MPSAFE]
 pci0: <bridge> at device 17.0 (no driver attached)
 sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0x8c00-0x8cff mem
 0xd0009000-0xd0009fff irq 11 at device 18.0 on pci0
 sis0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x8c00
 sis0: Silicon Revision: DP83816A
 miibus0: <MII bus> on sis0
 ukphy0: <Generic IEEE 802.3u media interface> on miibus0
 ukphy0: OUI 0x080017, model 0x0002, rev. 1
 ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 sis0: bpf attached
 sis0: Ethernet address: 00:0b:cd:18:a4:ff
 sis0: [MPSAFE]
 acpi_button0: <Power Button> on acpi0
 acpi_lid0: <Control Method Lid Switch> on acpi0
 acpi_acad0: <AC Adapter> on acpi0
 battery0: <ACPI Control Method Battery> on acpi0
 acpi_tz0: <Thermal Zone> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 atkbd: the current kbd controller command byte 0047
 atkbd: keyboard ID 0x41ab (2)
 kbdc: RESET_KBD return code:00fa
 kbdc: RESET_KBD status:00aa
 kbd0 at atkbd0
 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x1d0000
 atkbd0: [GIANT-LOCKED]
 psm0: unable to allocate IRQ
 psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
 psm0: current command byte:0047
 kbdc: TEST_AUX_PORT status:0000
 kbdc: RESET_AUX return code:00fa
 kbdc: RESET_AUX status:00aa
 kbdc: RESET_AUX ID:0000
 kbdc: RESET_AUX return code:00fa
 kbdc: RESET_AUX status:00aa
 kbdc: RESET_AUX ID:0000
 psm: status 00 02 64
 psm: status 00 00 64
 psm: status 00 03 64
 psm: status 00 03 64
 psm: data 08 00 00
 psm: status 08 02 64
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model IntelliMouse, device ID 3-00, 3 buttons
 psm0: config:00000000, flags:00000008, packet size:4
 psm0: syncmask:08, syncbits:00
 ppc0: using extended I/O port range
 ppc0: ECP SPP ECP+EPP SPP
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 drq
 0 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/16 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 plip0: <PLIP network interface> on ppbus0
 plip0: bpf attached
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 sio0: irq maps: 0x201 0x211 0x201 0x201
 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on
 acpi0
 sio0: type 16550A, console
 ahc_isa_probe 8: ioport 0x8c00 alloc failed
 ata: ata0 already exists; skipping it
 ata: ata1 already exists; skipping it
 atkbdc: atkbdc0 already exists; skipping it
 ppc: ppc0 already exists; skipping it
 sc: sc0 already exists; skipping it
 sio: sio0 already exists; skipping it
 vga: vga0 already exists; skipping it
 pnp_identify: Trying Read_Port at 203
 pnp_identify: Trying Read_Port at 243
 pnp_identify: Trying Read_Port at 283
 pnp_identify: Trying Read_Port at 2c3
 pnp_identify: Trying Read_Port at 303
 pnp_identify: Trying Read_Port at 343
 pnp_identify: Trying Read_Port at 383
 pnp_identify: Trying Read_Port at 3c3
 PNP Identify complete
 isa_probe_children: disabling PnP devices
 isa_probe_children: probing non-PnP devices
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem
 0xc0000-0xcefff,0xcf000-0xcf7ff,0xdf000-0xdffff,0xe0000-0xe3fff pnpid
 ORM0000 on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x100>
 sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on
 isa0
 adv0: not probed (disabled)
 aha0: not probed (disabled)
 aic0: not probed (disabled)
 bt0: not probed (disabled)
 cs0: not probed (disabled)
 ed0: not probed (disabled)
 fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
 fe0: not probed (disabled)
 ie0: not probed (disabled)
 lnc0: not probed (disabled)
 sio1: configured irq 3 not in bitmap of probed irqs 0
 sio1: port may not be enabled
 sio1: irq maps: 0x201 0x201 0x201 0x201
 sio1: probe failed test(s): 0 1 2 4 6 7 9
 sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0
 sio2: not probed (disabled)
 sio3: not probed (disabled)
 sn0: not probed (disabled)
 vt0: not probed (disabled)
 isa_probe_children: probing PnP devices
 Device configuration finished.
 procfs registered
 Timecounter "TSC" frequency 1523914506 Hz quality 800
 Timecounters tick every 1.000 msec
 Linux ELF exec handler installed
 lo0: bpf attached
 acpi_acabd0: aclinattery0: be iInterrupt storm detected on "irq9: cbb0
 fwohci0*"; throttling interrupt source
 naitializattery inittiialization start
 on start
 acpi_ec0: info: new max delay is 11000 found->	vendor=0x168c,
 dev=0x0013, revid=0x01
 	bus=2, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0000, statreg=0x0290, cachelnsz=8 (dwords)
 	lattimer=0xa8 (5040 ns), mingnt=0x0a (2500 ns), maxlat=0x1c (7000 ns)
 	intpin=a, irq=9
 	powerspec 2  supports D0 D3  current D0
 ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 9 at device 0.0 on
 cardbus0
 ath0: [MPSAFE]
 ath0: bpf attached
 ath0: Ethernet address: 00:0c:41:16:07:89
 ath0: bpf attached
 ath0: bpf attached
 ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps
 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps
 54Mbps
 ath0: mac 5.6 phy 4.1 5ghz radio 1.7 2ghz radio 2.3
 ath0: Use hw queue 1 for WME_AC_BE traffic
 ath0: Use hw queue 0 for WME_AC_BK traffic
 ath0: Use hw queue 2 for WME_AC_VI traffic
 ath0: Use hw queue 3 for WME_AC_VO traffic
 ath0: Use hw queue 8 for CAB traffic
 ath0: Use hw queue 9 for beacons
 us
 acpi_acad0: On Line
 acpi_acad0: acline initialization done, tried 1 times
 ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
 ad0: setting PIO4 on AcerLabs M5229 chip
 ad0: setting UDMA100 on AcerLabs M5229 chip
 ad0: 28615MB <FUJITSU MHS2030AT 8006> at ata0-master UDMA100
 ad0: 58605120 sectors [58140C/16H/63S] 16 sectors/interrupt 1 depth
 queue
 GEOM: new disk ad0
 ad0: Adaptec check1 failed
 ad0: LSI (v3) check1 failed
 ad0: LSI (v2) check1 failed
 ad0: FreeBSD check1 failed
 ata1-master: pio=PIO4 wdma=WDMA2 udma=BIOSDMA cable=80 wire
 acd0: setting PIO4 on AcerLabs M5229 chip
 acd0: <TOSHIBA DVD-ROM SD-R2312/1905> CDRW drive at ata1 as master
 acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer,
 PIO4
 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet
 acd0: Writes: CDR, CDRW, test write, burnproof
 acd0: Audio: play, 16 volume levels
 acd0: Mechanism: ejectable tray, unlocked
 acd0: Medium: no/blank disc
 (probe7:ata1:0:0:0): error 22
 (probe7:ata1:0:0:0): Unretryable Error
 (probe1:sbp0:0:1:0): error 22
 (probe1:sbp0:0:1:0): Unretryable Error
 (probe2:sbp0:0:2:0): error 22
 (probe2:sbp0:0:2:0): Unretryable Error
 (probe4:sbp0:0:4:0): error 22
 (probe4:sbp0:0:4:0): Unretryable Error
 (probe5:sbp0:0:5:0): error 22
 (probe5:sbp0:0:5:0): Unretryable Error
 (probe6:sbp0:0:6:0): error 22
 (probe6:sbp0:0:6:0): Unretryable Error
 (probe0:sbp0:0:0:0): error 22
 (probe0:sbp0:0:0:0): Unretryable Error
 (probe3:sbp0:0:3:0): error 22
 (probe3:sbp0:0:3:0): Unretryable Error
 pass0 at ata1 bus 0 target 0 lun 0
 pass0: <TOSHIBA DVD-ROM SD-R2312 1905> Removable CD-ROM SCSI-0 device 
 pass0: 16.000MB/s transfers
 GE(cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 cd0 at ata1 bus 0 target 0 lun 0
 cd0: <TOSHIBA DVD-ROM SD-R2312 1905> Removable CD-ROM SCSI-0 device 
 cd0: 16.000MB/s transfers
 cd0: Attempt to query device size failed: NOT READY, Medium not present
 OM: new disk cd0
 ATA PseudoRAID loaded
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 Trying to mount root from ufs:/dev/ad0s3a
 start_init: trying /sbin/init
 Loading configuration files.
 kenv: unable to get dumpdev
 kernel dumps on /dev/ad0s3b
 Entropy harvesting: interrupts ethernet point_to_point kickstart.
 swapon: adding /dev/ad0s3b as swap device
 Starting file system checks:
 /dev/ad0s3a: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3a: clean, 96527 free (727 frags, 11975 blocks, 0.6%
 fragmentation)
 /dev/ad0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s1a: clean, 1784115 free (995 frags, 222890 blocks, 0.0%
 fragmentation)
 /dev/ad0s3e: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3e: clean, 126504 free (24 frags, 15810 blocks, 0.0%
 fragmentation)
 /dev/ad0s3f: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3f: clean, 1996759 free (69271 frags, 240936 blocks, 1.5%
 fragmentation)
 /dev/ad0s3d: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3d: clean, 84328 free (1736 frags, 10324 blocks, 1.4%
 fragmentation)
 Setting hostname: scroll.ashke.com.
 kern.elf32.fallback_brand: -1 -> -3
 kern.ipc.shmmax: 33554432 -> 67108864
 kern.ipc.shmall: 8192 -> 32768
 hw.snd.maxautovchans: 0 -> 4
 hw.snd.pcm0.vchans: 1 -> 4
 sis0: link state changed to DOWN
 sis0: no link ......battery0: battery initialization done, tried 2 times
 ........ giving up
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8
 ath0: link state changed to UP
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 5
 DHCPOFFER from 192.168.0.99
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.99
 bound to 192.168.0.104 -- renewal in 300 seconds.
 sis0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 	options=8<VLAN_MTU>
 	ether 00:0b:cd:18:a4:ff
 	media: Ethernet autoselect (none)
 	status: no carrier
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
 	inet 127.0.0.1 netmask 0xff000000 
 	inet6 ::1 prefixlen 128 
 	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 	inet6 fe80::20c:41ff:fe16:789%ath0 prefixlen 64 scopeid 0x5 
 	inet 192.168.0.104 netmask 0xffffff00 broadcast 192.168.0.255
 	ether 00:0c:41:16:07:89
 	media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
 	status: associated
 	ssid ashke channel 11 bssid 00:30:bd:fb:ca:31
 	authmode OPEN privacy OFF txpowmax 28 protmode CTS bintval 100
 Creating and/or trimming log files:.
 Starting syslogd.
 Additional routing options:.
 Starting devd.
 hw.acpi.cpu.cx_lowest: C1 -> C1
 Mounting NFS file systems:.
 Checking for core dump on /dev/ad0s3b...
 savecore: unable to open bounds file, using 0
 savecore: no dumps found
 Starting rpcbind.
 NFS access cache time=2
 ELF ldconfig
 path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib /usr/local/lib
 a.out ldconfig
 path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
 Starting mountd.
 Starting nfsd.
 Starting usbd.
 Starting local daemons:.
 Updating motd.
 Configuring syscons: font8x16 font8x8 blanktime.
 Starting sshd.
 Initial i386 initialization:.
 Additional ABI support: linux.
 Starting cron.
 Local package initialization:pg_ctl: Another postmaster may be running.
 Trying to start postmaster anyway.
 Aug 28 08:02:54 scroll postgres[636]: [1-1] FATAL:  the database system
 is starting up
 Aug 28 08:02:56 scroll postgres[640]: [1-1] FATAL:  the database system
 is starting up
 cups: started scheduler.
  Samba.
 Additional TCP options:.
 Starting default moused:.
 Starting background file system checks in 60 seconds.
 
 Sun Aug 28 08:03:04 EDT 2005
 
 FreeBSD/i386 (scroll.ashke.com) (ttyd0)
 
 login: pci0: driver added
 found->	vendor=0x10b9, dev=0x5457, revid=0x00
 	bus=0, slot=8, func=0
 	class=07-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=3
 	powerspec 2  supports D0 D3  current D3
 pci0:8:0: reprobing on driver added
 pci0:8:0: Transition from D3 to D0
 pci0:8:0: Transition from D0 to D3
 found->	vendor=0x10b9, dev=0x7101, revid=0x00
 	bus=0, slot=17, func=0
 	class=06-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0000, statreg=0x0200, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 pci0:17:0: reprobing on driver added
 pci1: driver added
 found->	vendor=0x1002, dev=0x4336, revid=0x00
 	bus=1, slot=5, func=0
 	class=03-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0287, statreg=0x02b0, cachelnsz=16 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=9
 	powerspec 2  supports D0 D1 D2 D3  current D0
 pci1:5:0: reprobing on driver added
 drm0: <ATI Radeon RS100 Mobility U1> port 0x9000-0x90ff mem
 0xe0000000-0xefffffff,0xd0100000-0xd010ffff irq 9 at device 5.0 on pci1
 info: [drm] AGP at 0xd4000000 64MB
 info: [drm] Initialized radeon 1.16.0 20050311 on minor 0
 agp0: Setting AGP v2 mode 4
 drm0: [MPSAFE]
 
 
 Fatal trap 12: page fault while in kernel mode
 fault virtual address	= 0x9
 fault code		= supervisor write, page not present
 instruction pointer	= 0x20:0xc050200a
 stack pointer	        = 0x28:0xd8331c00
 frame pointer	        = 0x28:0xd8331c60
 code segment		= base 0x0, limit 0xfffff, type 0x1b
 			= DPL 0, pres 1, def32 1, gran 1
 processor eflags	= interrupt enabled, resume, IOPL = 0
 current process		= 808 (xkbcomp)
 [thread pid 808 tid 100069 ]
 Stopped at      fdfree+0x4da:   addb    %al,0(%eax)
 db> trace
 Tracing pid 808 tid 100069 td 0xc1c83900
 fdfree(c1c83900,c1c82d94) at fdfree+0x4da
 exit1(c1c83900,0,d8331d30,c06882ef,c1c83900) at exit1+0x4c6
 exit1(c1c83900,d8331d04,1,2,292) at exit1
 syscall(3b,3b,3b,bfbfeb8c,bfbfeb54) at syscall+0x2b3
 Xint0x80_syscall() at Xint0x80_syscall+0x1f
 --- syscall (1, FreeBSD ELF32, sys_exit), eip = 0x281c3517, esp =
 0xbfbfeb00, ebp = 0xbfbfeb1c ---
 db> reset
 
 

From: Adam K Kirchhoff <adamk@voicenet.com>
To: bug-followup@FreeBSD.org, anholt@freebsd.org
Cc:  
Subject: Re: i386/75251: Beginnings of an ATI AGP driver.
Date: Wed, 31 Aug 2005 19:59:49 -0400

 And here's the serial console output with hw.dri.0.debug=1 (which is 
 what I originally meant to send):
 
 OK boot -v
 GDB: no debug ports present
 KDB: debugger backends: ddb
 KDB: current backend: ddb
 SMAP type=01 base=0000000000000000 len=000000000009f800
 SMAP type=02 base=000000000009f800 len=0000000000000800
 SMAP type=02 base=00000000000d0000 len=0000000000030000
 SMAP type=01 base=0000000000100000 len=000000001bdf0000
 SMAP type=03 base=000000001bef0000 len=000000000000f000
 SMAP type=04 base=000000001beff000 len=0000000000001000
 SMAP type=02 base=000000001bf00000 len=0000000000100000
 SMAP type=02 base=00000000fffc0000 len=0000000000040000
 Copyright (c) 1992-2005 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
     The Regents of the University of California. All rights reserved.
 FreeBSD 7.0-CURRENT #2: Mon Aug 29 10:20:57 EDT 2005
     root@scroll.ashke.com:/usr/obj/usr/src/sys/SCROLL
 Preloaded elf kernel "/boot/kernel/kernel" at 0xc0920000.
 Preloaded elf module "/boot/kernel/linux.ko" at 0xc0920180.
 Preloaded elf module "/boot/kernel/if_ath.ko" at 0xc092022c.
 Preloaded elf module "/boot/kernel/ath_hal.ko" at 0xc09202d8.
 Preloaded elf module "/boot/kernel/wlan.ko" at 0xc0920384.
 Preloaded elf module "/boot/kernel/ath_rate.ko" at 0xc0920430.
 Preloaded elf module "/boot/kernel/if_lnc.ko" at 0xc09204e0.
 Preloaded elf module "/boot/kernel/if_sis.ko" at 0xc092058c.
 Preloaded elf module "/boot/kernel/miibus.ko" at 0xc0920638.
 Preloaded elf module "/boot/kernel/if_wi.ko" at 0xc09206e4.
 Preloaded elf module "/boot/kernel/snd_es137x.ko" at 0xc0920790.
 Preloaded elf module "/boot/kernel/sound.ko" at 0xc0920840.
 Preloaded elf module "/boot/kernel/snd_t4dwave.ko" at 0xc09208ec.
 Preloaded elf module "/boot/kernel/agp.ko" at 0xc092099c.
 Preloaded elf module "/boot/kernel/acpi.ko" at 0xc0920a44.
 Calibrating clock(s) ... i8254 clock: 1193154 Hz
 CLK_USE_I8254_CALIBRATION not specified - using default frequency
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Calibrating TSC clock ... TSC clock: 1523913402 Hz
 CPU: mobile AMD Athlon(tm) XP 1800+ (1523.91-MHz 686-class CPU)
   Origin = "AuthenticAMD"  Id = 0x680  Stepping = 0
   
 Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
   AMD Features=0xc0480800<SYSCALL,MP,MMX+,3DNow+,3DNow>
 Data TLB: 32 entries, fully associative
 Instruction TLB: 16 entries, fully associative
 L1 data cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way associative
 L1 instruction cache: 64 kbytes, 64 bytes/line, 1 lines/tag, 2-way 
 associative
 L2 internal cache: 256 kbytes, 64 bytes/line, 1 lines/tag, 8-way associative
 real memory  = 468647936 (446 MB)
 Physical memory chunk(s):
 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
 0x0000000000c25000 - 0x000000001b6dbfff, 447442944 bytes (109239 pages)
 avail memory = 449318912 (428 MB)
 bios32: Found BIOS32 Service Directory header at 0xc00f7440
 bios32: Entry = 0xfd730 (c00fd730)  Rev = 0  Len = 1
 pcibios: PCI BIOS entry at 0xfd730+0x14b
 pnpbios: Found PnP BIOS data at 0xc00f74a0
 pnpbios: Entry = f0000:a070  Rev = 1.0
 Other BIOS signatures found:
 wlan: <802.11 Link Layer>
 ath_rate: <Atsushi Onoe's rate control algorithm>
 io: <I/O>
 random: <entropy source, Software, Yarrow>
 nfslock: pseudo-device
 mem: <memory>
 Pentium Pro MTRR support enabled
 null: <null device, zero device>
 ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
 npx0: [FAST]
 npx0: <math processor> on motherboard
 npx0: INT 16 interface
 acpi0: <PTLTD   RSDT> on motherboard
 acpi0: [MPSAFE]
 pci_open(1):    mode 1 addr port (0x0cf8) is 0x80008004
 pci_open(1a):    mode1res=0x80000000 (0x80000000)
 pci_cfgcheck:    device 0 [class=060000] [hdr=00] is there (id=cab01002)
 pcibios: BIOS version 2.10
 Found $PIR table, 11 entries at 0xc00fdf10
 PCI-Only Interrupts: none
 Location  Bus Device Pin  Link  IRQs
 slot 13     1    5    A   0x01  3 4 6 9 10
 embedded    0    2    A   0x09  3 4 6 9 10
 embedded    0   15    A   0x05  3 4 6 9 10
 embedded    0    8    A   0x07  3 4 6 9 10
 embedded    0    6    A   0x08  5 7
 embedded    0    9    A   0x04  3 4 6 9 10
 embedded    0    9    B   0x03  3 4 6 9 10
 embedded    0   10    A   0x06  5 7
 embedded    0   18    A   0x02  7 11
 embedded    0   12    A   0x03  3 4 6 9 10
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 7 func 0
 AcpiOsDerivePciId: bus 0 dev 17 func 0
 acpi0: Power Button (fixed)
 AcpiOsDerivePciId: bus 0 dev 0 func 0
 pci_link0: <ACPI PCI Link LNKA> irq 10 on acpi0
 pci_link0: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 10
 pci_link0: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 6 10
 pci_link0: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link1: <ACPI PCI Link LNKB> irq 11 on acpi0
 pci_link1: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  7 11
 pci_link1: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  7 11
 pci_link1: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  7 11
 pci_link2: <ACPI PCI Link LNKC> irq 9 on acpi0
 pci_link2: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link2: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link2: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: <ACPI PCI Link LNKD> on acpi0
 pci_link3: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link3: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: <ACPI PCI Link LNKE> on acpi0
 pci_link4: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link4: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link5: <ACPI PCI Link LNKF> irq 11 on acpi0
 pci_link5: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  5 7
 pci_link5: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link5: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link6: <ACPI PCI Link LNKG> irq 3 on acpi0
 pci_link6: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    3   N     0  3 4 6 10
 pci_link6: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    3   N     0  3 4 6 10
 pci_link6: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 pci_link7: <ACPI PCI Link LNKH> irq 5 on acpi0
 pci_link7: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    5   N     0  5 7
 pci_link7: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    5   N     0  5 7
 pci_link7: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  5 7
 pci_link8: <ACPI PCI Link LNKU> irq 9 on acpi0
 pci_link8: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link8: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0    9   N     0  3 4 6 10
 pci_link8: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 6 10
 unknown: I/O range not supported
 acpi_ec0: <Embedded Controller: GPE 0x18> port 0x62,0x66 on acpi0
 acpi_ec0: info: new max delay is 11000 us
 ACPI timer: 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 1/2 -> 10
 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x8008-0x800b on acpi0
 cpu0: <ACPI CPU> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 pci0: physical bus=0
 found->    vendor=0x1002, dev=0xcab0, revid=0x13
     bus=0, slot=0, func=0
     class=06-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0006, statreg=0x2230, cachelnsz=0 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     map[10]: type 3, range 32, base d4000000, size 26, enabled
     map[14]: type 3, range 32, base d0500000, size 12, enabled
     map[18]: type 4, range 32, base 00008090, size  2, port disabled
 found->    vendor=0x1002, dev=0x700f, revid=0x01
     bus=0, slot=1, func=0
     class=06-04-00, hdrtype=0x01, mfdev=0
     cmdreg=0x0007, statreg=0x0220, cachelnsz=0 (dwords)
     lattimer=0x63 (2970 ns), mingnt=0x0c (3000 ns), maxlat=0x00 (0 ns)
 found->    vendor=0x10b9, dev=0x5237, revid=0x03
     bus=0, slot=2, func=0
     class=0c-03-10, hdrtype=0x00, mfdev=0
     cmdreg=0x0017, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x50 (20000 ns)
     intpin=a, irq=9
     powerspec 2  supports D0 D3  current D0
     map[10]: type 1, range 32, base d0004000, size 12, enabled
 pcib0: matched entry for 0.2.INTA (src \_SB_.PCI0.ISA_.LNKU:0)
 pcib0: slot 2 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKU
 found->    vendor=0x10b9, dev=0x5451, revid=0x02
     bus=0, slot=6, func=0
     class=04-01-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0007, statreg=0xc290, cachelnsz=0 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x18 (6000 ns)
     intpin=a, irq=5
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 4, range 32, base 00008400, size  8, enabled
     map[14]: type 1, range 32, base d0005000, size 12, enabled
 pcib0: matched entry for 0.6.INTA (src \_SB_.PCI0.ISA_.LNKH:0)
 pcib0: slot 6 INTA routed to irq 5 via \_SB_.PCI0.ISA_.LNKH
 found->    vendor=0x10b9, dev=0x1533, revid=0x00
     bus=0, slot=7, func=0
     class=06-01-00, hdrtype=0x00, mfdev=0
     cmdreg=0x000f, statreg=0x0210, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     powerspec 1  supports D0 D3  current D0
 found->    vendor=0x10b9, dev=0x5457, revid=0x00
     bus=0, slot=8, func=0
     class=07-03-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=3
     powerspec 2  supports D0 D3  current D0
     map[10]: type 1, range 32, base d0006000, size 12, enabled
     map[14]: type 4, range 32, base 00008800, size  8, enabled
 pcib0: matched entry for 0.8.INTA (src \_SB_.PCI0.ISA_.LNKG:0)
 pcib0: slot 8 INTA routed to irq 3 via \_SB_.PCI0.ISA_.LNKG
 found->    vendor=0x1217, dev=0x6972, revid=0x00
     bus=0, slot=10, func=0
     class=06-07-00, hdrtype=0x02, mfdev=0
     cmdreg=0x0007, statreg=0x0410, cachelnsz=0 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=5
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 1, range 32, base 80000000, size 12, enabled
 pcib0: matched entry for 0.10.INTA (src \_SB_.PCI0.ISA_.LNKF:0)
 pci_link5: Picked IRQ 9 with weight 1
 pcib0: slot 10 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKF
 found->    vendor=0x104c, dev=0x8026, revid=0x00
     bus=0, slot=12, func=0
     class=0c-00-10, hdrtype=0x00, mfdev=0
     cmdreg=0x0012, statreg=0x0210, cachelnsz=16 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
     intpin=a, irq=9
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 1, range 32, base d0008000, size 11, enabled
     map[14]: type 1, range 32, base d0000000, size 14, enabled
 pcib0: matched entry for 0.12.INTA (src \_SB_.PCI0.ISA_.LNKC:0)
 pcib0: slot 12 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKC
 found->    vendor=0x10b9, dev=0x5229, revid=0xc4
     bus=0, slot=16, func=0
     class=01-01-b0, hdrtype=0x00, mfdev=0
     cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x20 (960 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns)
     intpin=a, irq=255
     powerspec 2  supports D0 D3  current D0
     map[20]: type 4, range 32, base 00008080, size  4, enabled
 found->    vendor=0x10b9, dev=0x7101, revid=0x00
     bus=0, slot=17, func=0
     class=06-80-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0000, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->    vendor=0x100b, dev=0x0020, revid=0x00
     bus=0, slot=18, func=0
     class=02-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x5a (2700 ns), mingnt=0x0b (2750 ns), maxlat=0x34 (13000 ns)
     intpin=a, irq=11
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 4, range 32, base 00008c00, size  8, enabled
     map[14]: type 1, range 32, base d0009000, size 12, enabled
 pcib0: matched entry for 0.18.INTA (src \_SB_.PCI0.ISA_.LNKB:0)
 pcib0: slot 18 INTA routed to irq 11 via \_SB_.PCI0.ISA_.LNKB
 agp0: <ATI RS100 AGP bridge> port 0x8090-0x8093 mem 
 0xd4000000-0xd7ffffff,0xd0500000-0xd0500fff at device 0.0 on pci0
 agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0xd4000000
 agp0: Reserved 0x1000 bytes for rid 0x14 type 3 at 0xd0500000
 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
 pcib1:   secondary bus     1
 pcib1:   subordinate bus   1
 pcib1:   I/O decode        0x9000-0x9fff
 pcib1:   memory decode     0xd0100000-0xd01fffff
 pcib1:   prefetched decode 0xe0000000-0xefffffff
 pci1: <ACPI PCI bus> on pcib1
 pci1: physical bus=1
 found->    vendor=0x1002, dev=0x4336, revid=0x00
     bus=1, slot=5, func=0
     class=03-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0287, statreg=0x02b0, cachelnsz=16 (dwords)
     lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=10
     powerspec 2  supports D0 D1 D2 D3  current D0
     map[10]: type 3, range 32, base e0000000, size 28, enabled
 pcib1: (null) requested memory range 0xe0000000-0xefffffff: good
     map[14]: type 4, range 32, base 00009000, size  8, enabled
 pcib1: (null) requested I/O range 0x9000-0x90ff: in range
     map[18]: type 1, range 32, base d0100000, size 16, enabled
 pcib1: (null) requested memory range 0xd0100000-0xd010ffff: good
 pcib1: matched entry for 1.5.INTA (src \_SB_.PCI0.ISA_.LNKC:0)
 pcib1: slot 5 INTA routed to irq 9 via \_SB_.PCI0.ISA_.LNKC
 pci1: <display, VGA> at device 5.0 (no driver attached)
 ohci0: <AcerLabs M5237 (Aladdin-V) USB controller> mem 
 0xd0004000-0xd0004fff irq 9 at device 2.0 on pci0
 ohci0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xd0004000
 ohci0: [GIANT-LOCKED]
 usb0: OHCI version 1.0, legacy support
 usb0: SMM does not respond, resetting
 usb0: <AcerLabs M5237 (Aladdin-V) USB controller> on ohci0
 usb0: USB revision 1.0
 uhub0: AcerLabs OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 4 ports with 4 removable, self powered
 pcm0: <Acer Labs M5451> port 0x8400-0x84ff mem 0xd0005000-0xd0005fff irq 
 5 at device 6.0 on pci0
 pcm0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x8400
 pcm0: <Conexant CX20468 AC97 Codec (id = 0x43585429)>
 pcm0: Codec features reserved, headphone, 18 bit DAC, 18 bit ADC, 5 bit 
 master volume, no 3D Stereo Enhancement
 pcm0: Primary codec extended features variable rate PCM, AMAP
 pcm0: ac97 codec dac ready count: 0
 pcm0: [GIANT-LOCKED]
 pcm0: sndbuf_setmap 1b4a3000, 1000; 0xc194f000 -> 1b4a3000
 pcm0: sndbuf_setmap 1b481000, 1000; 0xc194d000 -> 1b481000
 pcm0: sndbuf_setmap 1b485000, 1000; 0xc1951000 -> 1b485000
 pcm0: sndbuf_setmap 1e7000, 1000; 0xc1953000 -> 1e7000
 pcm0: sndbuf_setmap 1f6000, 1000; 0xc1962000 -> 1f6000
 isab0: <PCI-ISA bridge> at device 7.0 on pci0
 isa0: <ISA bus> on isab0
 pci0: <simple comms, generic modem> at device 8.0 (no driver attached)
 pci0:8:0: Transition from D0 to D3
 cbb0: <O2Micro OZ6912/6972 PCI-CardBus Bridge> mem 0x80000000-0x80000fff 
 irq 9 at device 10.0 on pci0
 cbb0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x80000000
 cardbus0: <CardBus bus> on cbb0
 pccard0: <16-bit PCCard bus> on cbb0
 cbb0: [MPSAFE]
 cbb0: PCI Configuration space:
   0x00: 0x69721217 0x04100007 0x06070000 0x00022000
   0x10: 0x80000000 0x220000a0 0x20030200 0xfffff000
   0x20: 0x00000000 0xfffff000 0x00000000 0x0000fffd
   0x30: 0x00000001 0x0000fffd 0x00000001 0x04000109
   0x40: 0x0024103c 0x00000001 0x00000000 0x00000000
   0x50: 0x00000000 0x00000000 0x00000000 0x00000000
   0x60: 0x00000000 0x00000000 0x00000000 0x00000000
   0x70: 0x00000000 0x00000000 0x00000000 0x00000000
   0x80: 0x00000000 0x00000000 0x00000000 0x01281282
   0x90: 0x00008002 0x00000000 0x00000000 0x00000000
   0xa0: 0xfe020001 0x00c04100 0x00000000 0x00000011
   0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
   0xd0: 0x08004000 0x028203ea 0x00000000 0x00000000
   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000
 fwohci0: <Texas Instruments TSB43AB21/A/AI/A-EP> mem 
 0xd0008000-0xd00087ff,0xd0000000-0xd0003fff irq 9 at device 12.0 on pci0
 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xd0008000
 fwohci0: [MPSAFE]
 fwohci0: OHCI version 1.10 (ROM=1)
 fwohci0: No. of Isochronous channels is 4.
 fwohci0: EUI64 00:0b:cd:00:9e:33:43:72
 fwohci0: Phy 1394a available S400, 1 ports.
 fwohci0: Link S400, max_rec 2048 bytes.
 firewire0: <IEEE1394(FireWire) bus> on fwohci0
 sbp0: <SBP-2/SCSI over FireWire> on firewire0
 fwe0: <Ethernet over FireWire> on firewire0
 if_fwe0: Fake Ethernet address: 02:0b:cd:33:43:72
 fwe0: bpf attached
 fwe0: Ethernet address: 02:0b:cd:33:43:72
 fwe0: if_start running deferred for Giant
 fwohci0: Initiate bus reset
 fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
 firewire0: bus manager 0 (me)
 atapci0: <AcerLabs M5229 UDMA100 controller> port 
 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x8080-0x808f at device 16.0 on pci0
 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x8080
 atapci0: using PIO transfers above 137GB as workaround for 48bit DMA 
 access bug, expect reduced performance
 ata0: <ATA channel 0> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
 ata0: reset tp1 mask=03 ostat0=50 ostat1=00
 ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
 ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
 ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
 ata0: [MPSAFE]
 ata1: <ATA channel 1> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
 ata1: reset tp1 mask=03 ostat0=50 ostat1=00
 ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb
 ata1: stat1=0x00 err=0x04 lsb=0x00 msb=0x00
 ata1: reset tp2 stat0=00 stat1=00 devices=0x4<ATAPI_MASTER>
 ata1: [MPSAFE]
 pci0: <bridge> at device 17.0 (no driver attached)
 sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0x8c00-0x8cff mem 
 0xd0009000-0xd0009fff irq 11 at device 18.0 on pci0
 sis0: Reserved 0x100 bytes for rid 0x10 type 4 at 0x8c00
 sis0: Silicon Revision: DP83816A
 miibus0: <MII bus> on sis0
 ukphy0: <Generic IEEE 802.3u media interface> on miibus0
 ukphy0: OUI 0x080017, model 0x0002, rev. 1
 ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 sis0: bpf attached
 sis0: Ethernet address: 00:0b:cd:18:a4:ff
 sis0: [MPSAFE]
 acpi_button0: <Power Button> on acpi0
 acpi_lid0: <Control Method Lid Switch> on acpi0
 acpi_acad0: <AC Adapter> on acpi0
 battery0: <ACPI Control Method Battery> on acpi0
 acpi_tz0: <Thermal Zone> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 atkbd: the current kbd controller command byte 0047
 atkbd: keyboard ID 0x41ab (2)
 kbdc: RESET_KBD return code:00fa
 kbdc: RESET_KBD status:00aa
 kbd0 at atkbd0
 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x1d0000
 atkbd0: [GIANT-LOCKED]
 psm0: unable to allocate IRQ
 psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
 psm0: current command byte:0047
 kbdc: TEST_AUX_PORT status:0000
 kbdc: RESET_AUX return code:00fa
 kbdc: RESET_AUX status:00aa
 kbdc: RESET_AUX ID:0000
 kbdc: RESET_AUX return code:00fa
 kbdc: RESET_AUX status:00aa
 kbdc: RESET_AUX ID:0000
 psm: status 00 02 64
 psm: status 00 00 64
 psm: status 00 03 64
 psm: status 00 03 64
 psm: data 08 00 00
 psm: status 08 02 64
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model IntelliMouse, device ID 3-00, 3 buttons
 psm0: config:00000000, flags:00000008, packet size:4
 psm0: syncmask:08, syncbits:00
 ppc0: using extended I/O port range
 ppc0: ECP SPP ECP+EPP SPP
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77f irq 7 drq 
 0 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/16 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 plip0: <PLIP network interface> on ppbus0
 plip0: bpf attached
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 sio0: irq maps: 0x201 0x211 0x201 0x201
 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on 
 acpi0
 sio0: type 16550A, console
 ahc_isa_probe 8: ioport 0x8c00 alloc failed
 ata: ata0 already exists; skipping it
 ata: ata1 already exists; skipping it
 atkbdc: atkbdc0 already exists; skipping it
 ppc: ppc0 already exists; skipping it
 sc: sc0 already exists; skipping it
 sio: sio0 already exists; skipping it
 vga: vga0 already exists; skipping it
 pnp_identify: Trying Read_Port at 203
 pnp_identify: Trying Read_Port at 243
 pnp_identify: Trying Read_Port at 283
 pnp_identify: Trying Read_Port at 2c3
 pnp_identify: Trying Read_Port at 303
 pnp_identify: Trying Read_Port at 343
 pnp_identify: Trying Read_Port at 383
 pnp_identify: Trying Read_Port at 3c3
 PNP Identify complete
 isa_probe_children: disabling PnP devices
 isa_probe_children: probing non-PnP devices
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 
 0xc0000-0xcefff,0xcf000-0xcf7ff,0xdf000-0xdffff,0xe0000-0xe3fff pnpid 
 ORM0000 on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x100>
 sc0: fb0, kbd0, terminal emulator: sc (syscons terminal)
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 adv0: not probed (disabled)
 aha0: not probed (disabled)
 aic0: not probed (disabled)
 bt0: not probed (disabled)
 cs0: not probed (disabled)
 ed0: not probed (disabled)
 fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
 fe0: not probed (disabled)
 ie0: not probed (disabled)
 lnc0: not probed (disabled)
 sio1: configured irq 3 not in bitmap of probed irqs 0
 sio1: port may not be enabled
 sio1: irq maps: 0x201 0x201 0x201 0x201
 sio1: probe failed test(s): 0 1 2 4 6 7 9
 sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0
 sio2: not probed (disabled)
 sio3: not probed (disabled)
 sn0: not probed (disabled)
 vt0: not probed (disabled)
 isa_probe_children: probing PnP devices
 Device configuration finished.
 procfs registered
 Timecounter "TSC" frequency 1523913402 Hz quality 800
 Timecounters tick every 1.000 msec
 Linux ELF exec handler installed
 lo0: bpf attached
 acpi_acabattery0: d0: battery inaclinInterrupt storm detected on "irq9: 
 cbb0 fwohci0*"; throttling interrupt source
 ei initialtializatioizn start
 ation star
 t
 acpi_acad0: On Line
 acpi_acad0: acline initialization done, tried 1 times
 ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
 found->    vendor=0x168c, dev=0x0013, revid=0x01
     bus=2, slot=0, func=0
     class=02-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0000, statreg=0x0290, cachelnsz=8 (dwords)
     lattimer=0xa8 (5040 ns), mingnt=0x0a (2500 ns), maxlat=0x1c (7000 ns)
     intpin=a, irq=9
     powerspec 2  supports D0 D3  current D0
 ath0: <Atheros 5212> mem 0x88000000-0x8800ffff irq 9 at device 0.0 on 
 cardbus0
 ath0: [MPSAFE]
 ath0: bpf attached
 ath0: Ethernet address: 00:12:17:63:2d:a9
 ath0: bpf attached
 ath0: bpf attached
 ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 
 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: turboA rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: turboG rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 ath0: mac 5.9 phy 4.3 radio 3.6
 ath0: Use hw queue 1 for WME_AC_BE traffic
 ath0: Use hw queue 0 for WME_AC_BK traffic
 ath0: Use hw queue 2 for WME_AC_VI traffic
 ath0: Use hw queue 3 for WME_AC_VO traffic
 ath0: Use hw queue 8 for CAB traffic
 ath0: Use hw queue 9 for beacons
 ad0: setting PIO4 on AcerLabs M5229 chip
 ad0: setting UDMA100 on AcerLabs M5229 chip
 ad0: 28615MB <FUJITSU MHS2030AT 8006> at ata0-master UDMA100
 ad0: 58605120 sectors [58140C/16H/63S] 16 sectors/interrupt 1 depth queue
 GEOM: new disk ad0
 ad0: Adaptec check1 failed
 ad0: LSI (v3) check1 failed
 ad0: LSI (v2) check1 failed
 ad0: FreeBSD check1 failed
 ata1-master: pio=PIO4 wdma=WDMA2 udma=BIOSDMA cable=80 wire
 acd0: setting PIO4 on AcerLabs M5229 chip
 acd0: <TOSHIBA DVD-ROM SD-R2312/1905> CDRW drive at ata1 as master
 acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, 
 PIO4
 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet
 acd0: Writes: CDR, CDRW, test write, burnproof
 acd0: Audio: play, 16 volume levels
 acd0: Mechanism: ejectable tray, unlocked
 acd0: Medium: no/blank disc
 (probe7:ata1:0:0:0): error 22
 (probe7:ata1:0:0:0): Unretryable Error
 (probe1:sbp0:0:1:0): error 22
 (probe1:sbp0:0:1:0): Unretryable Error
 (probe2:sbp0:0:2:0): error 22
 (probe2:sbp0:0:2:0): Unretryable Error
 (probe4:sbp0:0:4:0): error 22
 (probe4:sbp0:0:4:0): Unretryable Error
 (probe5:sbp0:0:5:0): error 22
 (probe5:sbp0:0:5:0): Unretryable Error
 (probe6:sbp0:0:6:0): error 22
 (probe6:sbp0:0:6:0): Unretryable Error
 (probe0:sbp0:0:0:0): error 22
 (probe0:sbp0:0:0:0): Unretryable Error
 (probe3:sbp0:0:3:0): error 22
 (probe3:sbp0:0:3:0): Unretryable Error
 pass0 at ata1 bus 0 target 0 lun 0
 pass0: <TOSHIBA DVD-ROM SD-R2312 1905> Removable CD-ROM SCSI-0 device
 pass0: 16.000MB/s transfers
 GE(cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 cd0 at ata1 bus 0 target 0 lun 0
 cd0: <TOSHIBA DVD-ROM SD-R2312 1905> Removable CD-ROM SCSI-0 device
 cd0: 16.000MB/s transfers
 cd0: Attempt to query device size failed: NOT READY, Medium not present
 OM: new disk cd0
 ATA PseudoRAID loaded
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 (cd0:ata1:0:0:0): error 6
 (cd0:ata1:0:0:0): Unretryable Error
 Trying to mount root from ufs:/dev/ad0s3a
 start_init: trying /sbin/init
 Loading configuration files.
 kenv: unable to get dumpdev
 kernel dumps on /dev/ad0s3b
 Entropy harvesting: interrupts ethernet point_to_point kickstart.
 swapon: adding /dev/ad0s3b as swap device
 Starting file system checks:
 /dev/ad0s3a: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3a: clean, 96450 free (738 frags, 11964 blocks, 0.6% fragmentation)
 /dev/ad0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s1a: clean, 2380859 free (1547 frags, 297414 blocks, 0.0% 
 fragmentation)
 /dev/ad0s3e: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3e: clean, 107557 free (37 frags, 13440 blocks, 0.0% fragmentation)
 /dev/ad0s3f: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3f: clean, 1194717 free (77373 frags, 139668 blocks, 1.7% 
 fragmentation)
 /dev/ad0s3d: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ad0s3d: clean, 79619 free (2323 frags, 9662 blocks, 1.8% fragmentation)
 Setting hostname: scroll.ashke.com.
 kern.elf32.fallback_brand: -1 -> -3
 kern.ipc.shmmax: 33554432 -> 67108864
 kern.ipc.shmall: 8192 -> 32768
 hw.snd.maxautovchans: 0 -> 4
 hw.snd.pcm0.vchans: 1 -> 4
 sis0: link state changed to DOWN
 sis0: no link ....battery0: battery initialization done, tried 2 times
 .......... giving up
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 14
 ath0: link state changed to UP
 DHCPDISCOVER on ath0 to 255.255.255.255 port 67 interval 8
 DHCPOFFER from 192.168.0.99
 DHCPREQUEST on ath0 to 255.255.255.255 port 67
 DHCPACK from 192.168.0.99
 bound to 192.168.0.104 -- renewal in 300 seconds.
 sis0: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
     options=8<VLAN_MTU>
     ether 00:0b:cd:18:a4:ff
     media: Ethernet autoselect (none)
     status: no carrier
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
     inet 127.0.0.1 netmask 0xff000000
     inet6 ::1 prefixlen 128
     inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
 ath0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
     inet6 fe80::212:17ff:fe63:2da9%ath0 prefixlen 64 scopeid 0x5
     inet 192.168.0.104 netmask 0xffffff00 broadcast 192.168.0.255
     ether 00:12:17:63:2d:a9
     media: IEEE 802.11 Wireless Ethernet autoselect (OFDM/36Mbps)
     status: associated
     ssid ashke channel 11 bssid 00:30:bd:fb:ca:31
     authmode OPEN privacy OFF txpowmax 48 protmode CTS bintval 100
 Creating and/or trimming log files:.
 Starting syslogd.
 Additional routing options:.
 Starting devd.
 hw.acpi.cpu.cx_lowest: C1 -> C1
 Mounting NFS file systems:.
 Checking for core dump on /dev/ad0s3b...
 savecore: unable to open bounds file, using 0
 savecore: no dumps found
 Starting rpcbind.
 NFS access cache time=2
 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/X11R6/lib 
 /usr/local/lib /usr/local/lib/compat/pkg
 a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout /usr/X11R6/lib/aout
 Starting mountd.
 Starting nfsd.
 Starting usbd.
 Starting local daemons:.
 Updating motd.
 Configuring syscons: font8x16 font8x8 blanktime.
 Starting sshd.
 Initial i386 initialization:.
 Additional ABI support: linux.
 Starting cron.
 Local package initialization:pg_ctl: Another postmaster may be running.  
 Trying to start postmaster anyway.
 Aug 31 19:55:57 scroll postgres[640]: [1-1] FATAL:  the database system 
 is starting up
 
 Aug 31 19:55:58 scroll postgres[644]: [1-1] FATAL:  the database system 
 is starting up
 
 cups: started scheduler.
  Samba.
 Additional TCP options:.
 Starting default moused:.
 Starting background file system checks in 60 seconds.
 
 Wed Aug 31 19:56:07 EDT 2005
 
 
 FreeBSD/i386 (scroll.ashke.com) (ttyd0)
 
 
 
 login: pci0: driver added
 found->    vendor=0x10b9, dev=0x5457, revid=0x00
     bus=0, slot=8, func=0
     class=07-03-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0003, statreg=0x0290, cachelnsz=0 (dwords)
     lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=3
     powerspec 2  supports D0 D3  current D3
 pci0:8:0: reprobing on driver added
 pci0:8:0: Transition from D3 to D0
 pci0:8:0: Transition from D0 to D3
 found->    vendor=0x10b9, dev=0x7101, revid=0x00
     bus=0, slot=17, func=0
     class=06-80-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0000, statreg=0x0200, cachelnsz=0 (dwords)
     lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 pci0:17:0: reprobing on driver added
 pci1: driver added
 found->    vendor=0x1002, dev=0x4336, revid=0x00
     bus=1, slot=5, func=0
     class=03-00-00, hdrtype=0x00, mfdev=0
     cmdreg=0x0287, statreg=0x02b0, cachelnsz=16 (dwords)
     lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
     intpin=a, irq=9
     powerspec 2  supports D0 D1 D2 D3  current D0
 pci1:5:0: reprobing on driver added
 drm0: <ATI Radeon RS100 Mobility U1> port 0x9000-0x90ff mem 
 0xe0000000-0xefffffff,0xd0100000-0xd010ffff irq 9 at device 5.0 on pci1
 info: [drm] AGP at 0xd4000000 64MB
 info: [drm] Initialized radeon 1.17.0 20050720
 [drm:pid813:drm_open] open_count = 0
 [drm:pid813:drm_open_helper] pid = 813, minor = 0
 [drm:pid813:radeon_driver_open]
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
 [drm:pid813:drm_addmap] 8192 13 0xc1fd5000
 [drm:pid813:drm_addmap] Added map 2 0xc1fd5000/0x2000
 drm0: Reserved 0x10000 bytes for rid 0x18 type 3 at 0xd0100000
 [drm:pid813:drm_addmap] offset = 0xd0100000, size = 0x00010000, type = 1
 [drm:pid813:drm_addmap] Added map 1 0xd0100000/0x10000
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00000000, type = 0
 [drm:pid813:drm_addmap] Added map 0 0x0/0x0
 [drm:pid813:drm_firstopen]
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_close] open_count = 1
 [drm:pid813:drm_close] pid = 813, device = 0xc1929c00, open_count = 1
 [drm:pid813:drm_lastclose]
 [drm:pid813:radeon_do_cleanup_cp]
 [drm:pid813:drm_open] open_count = 0
 [drm:pid813:drm_open_helper] pid = 813, minor = 0
 [drm:pid813:radeon_driver_open]
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
 [drm:pid813:drm_addmap] 8192 13 0xc1fd5000
 [drm:pid813:drm_addmap] Added map 2 0xc1fd5000/0x2000
 pcib1: drm0 requested memory range 0xd0100000-0xd010ffff: good
 [drm:pid813:drm_addmap] offset = 0xd0100000, size = 0x00010000, type = 1
 [drm:pid813:drm_addmap] Added map 1 0xd0100000/0x10000
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00000000, type = 0
 [drm:pid813:drm_addmap] Added map 0 0x0/0x0
 [drm:pid813:drm_firstopen]
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_close] open_count = 1
 [drm:pid813:drm_close] pid = 813, device = 0xc1929c00, open_count = 1
 [drm:pid813:drm_lastclose]
 [drm:pid813:radeon_do_cleanup_cp]
 [drm:pid813:drm_open] open_count = 0
 [drm:pid813:drm_open_helper] pid = 813, minor = 0
 [drm:pid813:radeon_driver_open]
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
 [drm:pid813:drm_addmap] 8192 13 0xc1fd5000
 [drm:pid813:drm_addmap] Added map 2 0xc1fd5000/0x2000
 pcib1: drm0 requested memory range 0xd0100000-0xd010ffff: good
 [drm:pid813:drm_addmap] offset = 0xd0100000, size = 0x00010000, type = 1
 [drm:pid813:drm_addmap] Added map 1 0xd0100000/0x10000
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 pcib1: drm0 requested memory range 0xe0000000-0xefffffff: good
 error: [drm:pid813:drm_alloc_resource] *ERROR* Couldn't find resource 0x0
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00000000, type = 0
 [drm:pid813:drm_addmap] Added map 0 0x0/0x0
 [drm:pid813:drm_firstopen]
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0106407, nr=0x07, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086401, nr=0x01, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086401, nr=0x01, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0106407, nr=0x07, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00002000, type = 2
 [drm:pid813:drm_addmap] Found kernel map 2
 [drm:pid813:drm_addmap] Added map 2 0xc1fd5000/0x2000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0xe0000000, size = 0x04000000, type = 0
 [drm:pid813:drm_addmap] Added map 0 0xe0000000/0x4000000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086426, nr=0x26, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086426, nr=0x26, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0246400, nr=0x00, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x20006430, nr=0x30, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x40206433, nr=0x33, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x40206433, nr=0x33, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x40206433, nr=0x33, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80046432, nr=0x32, dev 0xc1929c00, 
 auth=1
 agp0: Setting AGP v2 mode 4
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0106434, nr=0x34, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80086436, nr=0x36, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_agp_bind] agp_bind, page_size=1000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0x00000000, size = 0x00101000, type = 3
 [drm:pid813:drm_addmap] Added map 3 0xd4000000/0x101000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0x00101000, size = 0x00001000, type = 3
 [drm:pid813:drm_addmap] Added map 3 0xd4101000/0x1000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0x00102000, size = 0x00200000, type = 3
 [drm:pid813:drm_addmap] Added map 3 0xd4102000/0x200000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0x00302000, size = 0x004e0000, type = 3
 [drm:pid813:drm_addmap] Added map 3 0xd4302000/0x4e0000
 [drm:pid813:drm_ioctl] pid=813, cmd=0x40206433, nr=0x33, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0186415, nr=0x15, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_addmap] offset = 0xd0100000, size = 0x00080000, type = 1
 [drm:pid813:drm_addmap] Found kernel map 1
 [drm:pid813:drm_addmap] Added map 1 0xd0100000/0x80000
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086420, nr=0x20, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ctxbitmap_next] drm_ctxbitmap_next bit : 1
 [drm:pid813:drm_addctx] 1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80086422, nr=0x22, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8008642a, nr=0x2a, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_lock] 1 (pid 813) requests lock (0x00000000), flags = 
 0x00000000
 [drm:pid813:drm_lock] 1 has lock
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8004667e, nr=0x7e, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8004667d, nr=0x7d, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8004667c, nr=0x7c, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80546440, nr=0x40, dev 0xc1929c00, 
 auth=1
 [drm:pid813:radeon_do_init_cp]
 [drm:pid813:radeon_do_init_cp] BAD cp_mode (f0000000)!
 [drm:pid813:radeon_do_cleanup_cp]
 [drm:pid813:drm_ioctl]     returning 22
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80546440, nr=0x40, dev 0xc1929c00, 
 auth=1
 [drm:pid813:radeon_do_cleanup_cp]
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80086437, nr=0x37, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x80106435, nr=0x35, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x20006431, nr=0x31, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8004667e, nr=0x7e, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8004667d, nr=0x7d, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086421, nr=0x21, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_rmctx] 1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086426, nr=0x26, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0xc0086426, nr=0x26, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_ioctl] pid=813, cmd=0x8008642b, nr=0x2b, dev 0xc1929c00, 
 auth=1
 [drm:pid813:drm_close] open_count = 1
 [drm:pid813:drm_close] pid = 813, device = 0xc1929c00, open_count = 1
 [drm:pid813:drm_lastclose]
 [drm:pid813:radeon_do_cleanup_cp]
 
 
 Fatal trap 12: page fault while in kernel mode
 fault virtual address    = 0xbff61000
 fault code        = supervisor write, page not present
 instruction pointer    = 0x20:0xc0685ba1
 stack pointer            = 0x28:0xd83a7aa8
 frame pointer            = 0x28:0xd83a7ab4
 code segment        = base 0x0, limit 0xfffff, type 0x1b
             = DPL 0, pres 1, def32 1, gran 1
 processor eflags    = interrupt enabled, resume, IOPL = 3
 current process        = 813 (Xorg)
 [thread pid 813 tid 100098 ]
 Stopped at      pmap_unmapdev+0x4d:     movl    $0,PTmap(,%eax,4)
 db> trace
 Tracing pid 813 tid 100098 td 0xc1d48180
 pmap_unmapdev(d83cd000,80000,d83a7ad8,c1f8b95a,c1d472c0) at 
 pmap_unmapdev+0x4d
 drm_ioremapfree(c1d472c0,c1b20880,0,d83a7af4,c1f8e1ca) at 
 drm_ioremapfree+0x11
 drm_rmmap(c189a400,c1d472c0,c189a400,c1d47140,c1f94e80) at drm_rmmap+0x76
 drm_lastclose(c189a4ec,32d,0,c1c88500,0) at drm_lastclose+0x132
 drm_close(c1c88500,3,2000,c1d48180,c1fca440) at drm_close+0x263
 giant_close(c1c88500,3,2000,c1d48180,c1c88500) at giant_close+0x4b
 devfs_close(d83a7b7c) at devfs_close+0x34f
 VOP_CLOSE_APV(c06e5ec0,d83a7b7c) at VOP_CLOSE_APV+0x38
 vn_close(c1fca440,3,c1cba000,c1d48180,d83a7c08) at vn_close+0x5a
 vn_closefile(c1cb5c18,c1d48180,d83a7c34,c0504a2c,c1cb5c18) at 
 vn_closefile+0xe6
 devfs_close_f(c1cb5c18,c1d48180) at devfs_close_f+0xf
 fdrop_locked(c1cb5c18,c1d48180,c1d3a200,d83a7cb4,c0503053) at 
 fdrop_locked+0xa4
 fdrop(c1cb5c18,c1d48180,d83a7d04,c1d48180,1) at fdrop+0x41
 closef(c1cb5c18,c1d48180,0,c1d48180,8) at closef+0x40f
 close(c1d48180,d83a7d04,1,4c0,3282) at close+0x201
 syscall(3b,3b,3b,81fa940,8706000) at syscall+0x2b3
 Xint0x80_syscall() at Xint0x80_syscall+0x1f
 --- syscall (6, FreeBSD ELF32, close), eip = 0x282a8dbb, esp = 
 0xbfbfe89c, ebp = 0xbfbfe8b8 ---
 db> reset
 
State-Changed-From-To: suspended->closed 
State-Changed-By: anholt 
State-Changed-When: Sat Sep 17 03:36:55 GMT 2005 
State-Changed-Why:  
All committed now. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=75251 
>Unformatted:
