Notice: We have migrated to GitLab launching 2024-05-01 see here:

#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 12/03/06 at 13:31:12.
ppc-shared-bootloader-nodebug.diff1 (1.1 KB) - added by strauman on 12/03/06 at 13:31:12.

Download all attachments as: .zip

Change History (4)

comment:1 Changed on 09/26/03 at 19:23:52 by Joel Sherrill

Status: assignedclosed

comment:2 Changed on 09/27/03 at 00:57:58 by strauman

Status: closedassigned

comment:3 Changed on 09/29/03 at 20:43:50 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 12/03/06 at 13:31:12 by strauman

Attachment: ppcbug-netifshutdown.diff added


Note: See TracTickets for help on using tickets.