#497 closed defect (fixed)

PPCBug fails to shut down ethernet interface after loading RTEMS.

Reported by: strauman Owned by: Joel Sherrill
Priority: normal Milestone: 2
Component: bsps Version: 4.6
Severity: major Keywords:
Cc: bugs@…, strauman@… Blocked By:


PPCBug's NBO/NBH commands that are normally used to boot the MVME23xx series of boards does NOT stop the ethernet interface after loading the new system. This means that the RX can still write into its descriptor and buffer memory when RTEMS already took over. Obscure crashes and mysterious, non-reproducable problems are the result.

Note that this is really a PPCBug bug. It should be fixed/worked around in its realm but unfortunately, PPCBug doesn't provide scripting capability.

This patch lets the RTEMS bootloader stop the ethernet chip
prior to relocating the loaded image.

NOTE: since this must be done during a very early stage, we must resort to a PPCBug system call! This means that the RTEMS bootloader is likely to crash if anything else but PPCBug is used for booting (#undef USE_PPCBUG in bootloader/head.S and rebuild...)

The second patch (to be applied after and in addition to the
first one) fixes a detail I missed when cutting the first diff.


powerpc-shared BSP on mvme2307.

watch the high memory area for corruption (hard to reproduce).

Attachments (2)

ppcbug-netifshutdown.diff (9.1 KB) - added by strauman on Dec 3, 2006 at 1:31:12 PM.
ppc-shared-bootloader-nodebug.diff1 (1.1 KB) - added by strauman on Dec 3, 2006 at 1:31:12 PM.

Download all attachments as: .zip

Change History (4)

comment:1 Changed on Sep 26, 2003 at 7:23:52 PM by Joel Sherrill

Status: assignedclosed

comment:2 Changed on Sep 27, 2003 at 12:57:58 AM by strauman

Status: closedassigned

comment:3 Changed on Sep 29, 2003 at 8:43:50 PM by Joel Sherrill

Status: assignedclosed

State-Changed-From-To: open->closed
State-Changed-Why: 2nd patch also applied to 4.6 branch and trunk

Changed on Dec 3, 2006 at 1:31:12 PM by strauman

Attachment: ppcbug-netifshutdown.diff added


Note: See TracTickets for help on using tickets.