
13 Jun
2009
13 Jun
'09
12:02 a.m.
On Friday 12 June 2009, Jean-Christophe PLAGNIOL-VILLARD wrote:
On 11:14 Tue 09 Jun , David Brownell wrote:
I'm not really a fan of this but ok if I see the csn337 board patch
I meant to send that in before, thanks for the reminder. The email I just sent has that.
If you don't like it, what would you propose instead? Remember that *EVERY* Linux kernel (for example) is expecting these boards to work this way. I don't think it's realistic, or desirable, to change Linux in this way. It's not supposed to matter what boot loader gets used.
- /* The CSB337 originally used a version of the MicroMonitor bootloader
* which saved Ethernet addresses in the "wrong" order. Operating
* systems (like Linux) know this, and apply a workaround. Replicate
* that MicroMonitor behavior so we avoid needing to make such OS code
* care about which bootloader was used.
*/
- if (machine_is_csb337()) {
please use ifdef to avoid other people size impact due this
The machine_is_X() macros are automatically #ifdeffed in the header; no size impact. Read <asm/mach-types.h> ...
p_mac->EMAC_SA2H = (enetaddr[0] << 8) | (enetaddr[1]);
p_mac->EMAC_SA2L = (enetaddr[2] << 24) | (enetaddr[3] << 16)
| (enetaddr[4] << 8) | (enetaddr[5]);
- } else {
p_mac->EMAC_SA2L = (enetaddr[3] << 24) | (enetaddr[2] << 16)
| (enetaddr[1] << 8) | (enetaddr[0]);
p_mac->EMAC_SA2H = (enetaddr[5] << 8) | (enetaddr[4]);
- }
Best Regards, J.