Date: Sun, 4 Jul 2010 18:10:19 -0700 (PDT) From: Doug Barton <dougb@FreeBSD.org> To: Alexander Motin <mav@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r209634 - head/sys/x86/isa Message-ID: <alpine.BSF.2.00.1007041807230.2565@yncgbc.qbhto.arg> In-Reply-To: <201007011851.o61IpI9r054345@svn.freebsd.org> References: <201007011851.o61IpI9r054345@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This commit results in a panic at boot time for me very early on. Screenshots at: http://people.freebsd.org/~dougb/panic-01.jpg http://people.freebsd.org/~dougb/panic-02.jpg http://people.freebsd.org/~dougb/panic-03.jpg Not sure if it's relevant or not, but after the trace is done I typed 'call reboot()' and it said "panic: privcheck td != curthread" This is on -current, Core 2 Duo, i386, SMP. Updating to the revision immediately before this one is fine, so I'm sure this is the change that is causing the panic. Doug On Thu, 1 Jul 2010, Alexander Motin wrote: > Author: mav > Date: Thu Jul 1 18:51:18 2010 > New Revision: 209634 > URL: http://svn.freebsd.org/changeset/base/209634 > > Log: > Rework r209456: > Instead of using fake rid (which ISA doesn't like), delete untrusted > IRQ resource and let it be recreated. > > Modified: > head/sys/x86/isa/atrtc.c > head/sys/x86/isa/clock.c > > Modified: head/sys/x86/isa/atrtc.c > ============================================================================== > --- head/sys/x86/isa/atrtc.c Thu Jul 1 17:46:12 2010 (r209633) > +++ head/sys/x86/isa/atrtc.c Thu Jul 1 18:51:18 2010 (r209634) > @@ -259,7 +259,8 @@ atrtc_attach(device_t dev) > if (!atrtcclock_disable && > (resource_int_value(device_get_name(dev), device_get_unit(dev), > "clock", &i) != 0 || i != 0)) { > - sc->intr_rid = -1; > + sc->intr_rid = 0; > + bus_delete_resource(dev, SYS_RES_IRQ, sc->intr_rid); > if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ, > &sc->intr_rid, 8, 8, 1, RF_ACTIVE))) { > device_printf(dev,"Can't map interrupt.\n"); > > Modified: head/sys/x86/isa/clock.c > ============================================================================== > --- head/sys/x86/isa/clock.c Thu Jul 1 17:46:12 2010 (r209633) > +++ head/sys/x86/isa/clock.c Thu Jul 1 18:51:18 2010 (r209634) > @@ -535,7 +535,8 @@ attimer_attach(device_t dev) > tc_init(&sc->tc); > if (resource_int_value(device_get_name(dev), device_get_unit(dev), > "clock", &i) != 0 || i != 0) { > - sc->intr_rid = -1; > + sc->intr_rid = 0; > + bus_delete_resource(dev, SYS_RES_IRQ, sc->intr_rid); > if (!(sc->intr_res = bus_alloc_resource(dev, SYS_RES_IRQ, > &sc->intr_rid, 0, 0, 1, RF_ACTIVE))) { > device_printf(dev,"Can't map interrupt.\n"); > > -- Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/ Computers are useless. They can only give you answers. -- Pablo Picasso
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1007041807230.2565>