Date: Sat, 10 Jul 2010 11:09:11 -0700 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: <4C38B747.9020104@FreeBSD.org> In-Reply-To: <alpine.BSF.2.00.1007041807230.2565@yncgbc.qbhto.arg> References: <201007011851.o61IpI9r054345@svn.freebsd.org> <alpine.BSF.2.00.1007041807230.2565@yncgbc.qbhto.arg>
next in thread | previous in thread | raw e-mail | index | archive | help
Alexander, Did you see this message from me? Any hope of getting this fixed? Doug On 07/04/10 18:10, Doug Barton wrote: > 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"); >> >> > > -- ... and that's just a little bit of history repeating. -- Propellerheads Improve the effectiveness of your Internet presence with a domain name makeover! http://SupersetSolutions.com/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4C38B747.9020104>