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