svn commit: r209634 - head/sys/x86/isa
Alexander Motin
mav at FreeBSD.org
Sat Jul 10 18:15:57 UTC 2010
Hi.
Doug Barton wrote:
> Did you see this message from me? Any hope of getting this fixed?
Yes, sorry. I am just not sure how to properly do it. Two previous
attempts appeared to be wrong: one for ISA PNP, another for ACPI. :(
I'll look on it again tomorrow.
> 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");
>>>
>>>
>>
>
>
>
--
Alexander Motin
More information about the svn-src-head
mailing list