Home of the L4 community
         Home )   About L4hq )  

Pistachio for the M5 Simulator

© 2002-2004 University of New South Wales
page maintained by Philip Derrin (phi lipd@cse.unsw.edu.au)

Supported Kernels

The patches on this page add experimental support for the M5 simulator to the L4Ka::Pistachio kernel. See l4ka.org for more information about L4Ka::Pistachio. See m5sim.sourceforge.net for more information about M5.

These patches have not been extensively tested yet - in particular the ethernet and scsi devices. Please mail me if you have problems with them.


It is presently necessary to patch both M5 and Pistachio to get things to work. The patch for M5, against the 1.0 beta 1 sources, is: m5.patch.

The patch for Pistachio is: pistachio-m5.patch. This patch applies to the current (as of 16/01/04) public CVS tree.

When configuring Pistachio, select the "M5 Simulator" platform; for M5 use the KERNEL or KERNEL.GCC3 config. Also build m5term, which is in the M5 distribution's m5/util/term directory.


You will need console and osfpal binaries. These cannot be publically distributed. Please refer to the M5 simulator page.

Place the following files in a new directory:

  • the console and osfpal binaries;
  • an empty file called blank.img (because M5 needs a disk image for its simulated SCSI drive);
  • kernel.ini; and
  • Pistachio's alpha-loader (not alpha-loader.bin).

Then run m5.opt kernel.ini, and attach an m5term from another terminal with m5term localhost 3456. If you need to use gdb, you can attach it to M5 with target remote localhost:7000. The port numbers for gdb and m5term may vary; M5 will print the correct port numbers as it starts.