Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Uninitialized variable heathrow_FCR?



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

On Sep 11, 2008, at 7:21 AM, Marco Trillo wrote:

src/sys/arch/macppc/dev/if_bm.c function bmac_reset_chip() uses extern
symbol 'heathrow_FCR' to toggle some bits in the FCR (EnetEnable,
ResetEnetCell, etc.).

However such 'heathrow_FCR' symbol does not seem to be initialized
anywhere in arch/macppc/ nor in arch/powerpc/:

$ grep -r heathrow_FCR macppc
macppc/dev/if_bm.c:extern volatile uint32_t *heathrow_FCR;
macppc/dev/if_bm.c:     v = in32rb(heathrow_FCR);
macppc/dev/if_bm.c:     out32rb(heathrow_FCR, v);
macppc/dev/if_bm.c:     out32rb(heathrow_FCR, v);
macppc/dev/if_bm.c:     out32rb(heathrow_FCR, v);
macppc/dev/if_bm.c:     out32rb(heathrow_FCR, v);
macppc/macppc/machdep.c:volatile uint32_t *heathrow_FCR = NULL;
$ grep -r heathrow_FCR powerpc
$ ^D

Previously to ppcoea-renovation, the symbol was initialized on
arch/macppc/macppc/extintr.c.

A simple fix (rather ugly) would be to use 'ca->ca_baseaddr + 0x38',
where 'ca' is the struct confargs passed by obio, and drop the
heathrow_FCR variable.

Hmm, I'm pretty sure I at least tried to preserve it - guess it fell under the table. Also, at least my beige G3 doesn't need its bm enabled by hand - the firmware already does that. ( and hardly anybody really wants to use bm anyway if there's any alternative, at least the 10MBit/s variant sucks pretty badly )

If obio exported accessor functions for the FCRs, this would be another
candidate to use them.

Absolutely.

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBSMkanspnzkX8Yg2nAQIOzwf/YpCrWwpnGoE22lFs7+NSWLzoV7/2QEaO
Di3l9XhqTJkZVvrp5PlMhjtIRpgs1aUszVkAYUfBIMx0JHxnWOH3g1yXYZXAuI7E
xocwrw0y7hUb4yoi7GD42Y2BJ7LPkyll+egpNTWqZDXhOC002HTAsGM2YivbIzlk
trBd+O5KQtOIF8BGLTjzkEMB+nDCfoGP+NLIk8+/LSe5zsO0Zs8OYq6Akhr8bO0T
BwwZBk2bzz5Bui87hTzakaSVUU8MjvFaQZV0pRK0YeuMC7fpROgLKTU7p66KYYAH
8QSDIMgKIBGvi7YiINmCBcALK74oGPYelTgjn1HL949Qdp7AUOSEJQ==
=XbLX
-----END PGP SIGNATURE-----


Home | Main Index | Thread Index | Old Index