[U-Boot-Users] 83xx, FSL_UEC reducing boot latency, printf causing crash
Joakim Tjernlund
joakim.tjernlund at transmode.se
Fri Dec 21 13:44:09 CET 2007
> -----Original Message-----
> From: u-boot-users-bounces at lists.sourceforge.net
> [mailto:u-boot-users-bounces at lists.sourceforge.net] On Behalf
> Of Joakim Tjernlund
> Sent: den 21 december 2007 13:35
> To: rmcguire at videopresence.com; u-boot-users at lists.sourceforge.net
> Cc: 'Kim Phillips'
> Subject: Re: [U-Boot-Users] 83xx, FSL_UEC reducing boot
> latency,printf causing crash
>
> > -----Original Message-----
> > From: Russell McGuire [mailto:rmcguire at videopresence.com]
> > Sent: den 21 december 2007 11:46
> > To: u-boot-users at lists.sourceforge.net
> > Cc: 'Kim Phillips'; joakim.tjernlund at transmode.se
> > Subject: RE: 83xx, FSL_UEC reducing boot latency, printf
> causing crash
> >
> > All,
> >
> > Maybe somebody can help me understand what I am seeing
> > Dealing with the printf causing crashes problem.
> >
> > This only occurs if printfs are caleed from within the
> > uec_phy.c file, and
> > only them within functions that are mapped as part of a phy
> > specific call,
> > i.e. a function that was within a specific part, marvell,
> > national, etc...
> >
> > So when a read_status call is called, of course depending on your
> > configuration it might get redirected to call genmii_read_status or
> > equivlant.
>
> Just to add, as I recall, it is the use of function pointers that
> is the probem. These doesn't get relocated with normal u-boot
> relocation. Full relocation adds stuff to __fixup_entries
> which will relocate function ptrs that normal relocation doesn't do.
>
> Jocke
BTW, the marwell entry looks bad:
static struct phy_info phy_info_marvell = {
.phy_id = 0x01410c00,
.phy_id_mask = 0xffffff00,
.name = "Marvell 88E11x1",
.features = MII_GBIT_FEATURES,
.config_aneg = &marvell_config_aneg,
.read_status = &marvell_read_status,
.ack_interrupt = &marvell_ack_interrupt,
.config_intr = &marvell_config_intr,
};
Those & should not be there I think.
Futhermore I think each specific PHY type should have its own CONFIG_ #define
to reduce code.
Jocke
More information about the U-Boot
mailing list