svn commit: r196945 - projects/ppc64/sys/boot/common
Rafal Jaworowski
raj at semihalf.com
Mon Sep 7 19:46:52 UTC 2009
On 2009-09-07, at 21:33, Nathan Whitehorn wrote:
> Rafal Jaworowski wrote:
>>
>> On 2009-09-07, at 21:01, Nathan Whitehorn wrote:
>>
>>> Author: nwhitehorn
>>> Date: Mon Sep 7 19:01:34 2009
>>> New Revision: 196945
>>> URL: http://svn.freebsd.org/changeset/base/196945
>>>
>>> Log:
>>> r60506 broke netbooting on PowerPC/OFW completely. We need a way of
>>> reverting this in a way that doesn't break Book-E.
>>>
>>> Modified:
>>> projects/ppc64/sys/boot/common/dev_net.c
>>>
>>> Modified: projects/ppc64/sys/boot/common/dev_net.c
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> =
>>> ====================================================================
>>> --- projects/ppc64/sys/boot/common/dev_net.c Mon Sep 7
>>> 18:54:55 2009 (r196944)
>>> +++ projects/ppc64/sys/boot/common/dev_net.c Mon Sep 7
>>> 19:01:34 2009 (r196945)
>>> @@ -145,7 +145,7 @@ net_open(struct open_file *f, ...)
>>> return (error);
>>> }
>>> }
>>> -#if defined(__sparc64__)
>>> +#if defined(__sparc64__) || defined(__powerpc__)
>>> netdev_opens++;
>>> #endif
>>> }
>>
>> In general it's not a Book-E thing at all. It's clearly a bug not
>> to update the open counter (with the above change the loader will
>> not reach netif_close(), which is bad); I know some firmware
>> versions have had problems here, that lead to unresponsiveness or
>> so, but it shouldn't really depend on powerpc/sparc64 define: it's
>> rather a broken firmware/platform thing and should be handled as a
>> platform workaround (build option?), not something arch-related.
>>
>> Rafal
>>
> True. Basically, we should never try to reopen the net device on
> Open Firmware platforms. Maybe a new define so that the common
> loader code can check for OF? This firmware bug is *very* prevalent
> on Apple hardware.
> -Nathan
It would be ideal to push this workaround down to the Open Firmware
netif_init() routine, so that it would ignore re-opening (and not
pollute common loader code). Wouldn't this work?
Rafal
More information about the svn-src-projects
mailing list