[Barrelfish-users] M5 bi-directional serial console

Tim Harris (RESEARCH) tharris at microsoft.com
Tue Sep 13 20:44:41 CEST 2011


Hi Georgios,

For debugging I've tended to use QEMU -- getting everything working correctly from a functional point of view, given QEMU's better perf and debugger integration, before changing to M5.

When modelling new architecture features I've usually provided a functional model that can be used in QEMU, using the "CPU_IS_M5_SIMULATOR" macro to select whether to use a new instruction (present in M5), or the basic functional alternative (using ordinary x86 instructions and able to execute in QEMU or on real hardware).

Would that approach work for you?

I've not tried checkpoints with Barrelfish on M5... but in principle they should work.  I think that taking a checkpoint is triggered by one of the M5 pseudo-instructions, so you could place this instruction directly in a program started from menu.lst.m5.  You'll need a way to control what happens when resuming from the checkpoint -- without a console you could do this by adding a new pseudo instruction that will return an integer value supplied from the simulation driver script (then just use 0 => experiment 0, 1 => experiment 1, etc.).

Let me know if you'd like me to look into more details about how to do this... or we could talk on the phone when I'm back in Cambridge next week (Tuesday).

Cheers,

Tim




-----Original Message-----
From: Georgios Varisteas [mailto:yorgos at kth.se] 
Sent: 13 September 2011 09:38
To: barrelfish-users at lists.inf.ethz.ch
Subject: Re: [Barrelfish-users] M5 bi-directional serial console

Hi Tim,

I saw that menu.lst.m5 is quite slim and amended it accordingly. I even tried the full blown version (fish/serial/skb/pci/no bootapic), In all cases everything seems to run smoothly and m5 is not complaining. I just do not get the terminal.

Running my simulations from the menu.lst is obviously possible but extremely slow. In all my runs it takes up to 10' (!) in order for barrelfish to boot. When it is a matter of arguments this is no problem as I can have consecutive runs in menu.lst. But for actually debugging the code it becomes very frustrating.

>From what I saw in the m5 tutorials, checkpoints can only be created from inside the OS' terminal. I tried looking into the interactive console but got really lost.

Any hints will be quite helpful.

cheers,

Georgios

________________________________________
From: Tim Harris (RESEARCH) [tharris at microsoft.com]
Sent: Tuesday, September 13, 2011 18:15
To: Georgios Varisteas; barrelfish-users at lists.inf.ethz.ch
Subject: RE: M5 bi-directional serial console

Hi,

I've never tried this... I don't think that the menu.lst.m5 file starts the serial domain, and I guess that Fish relies on this for bi-directional use?

I tried to slim down menu.lst.m5 as far as possible because (i) running things on the simulated machine is slow, and (ii) interactions with different devices were the usual place where I ran into differences between how barreflish exercises the devices, and how M5 models them.  (e.g., I never looked at the PCI domain at all).

I've normally run experiments directly from menu.lst.m5 -- is that possible for you?

 --Tim




-----Original Message-----
From: Georgios Varisteas [mailto:yorgos at kth.se]
Sent: 12 September 2011 06:16
To: barrelfish-users at lists.inf.ethz.ch
Subject: [Barrelfish-users] M5 bi-directional serial console

Hi,

Is there a way to get a bi-directional serial terminal in m5 for barrelfish?

I've tried telnet, m5term and socat to no avail. I do get all output but can't find a way to input commands. Specifically, I do not even see the shell, although fish and all other necessary modules are spawned normally.

Thanks in advance,
Georgios Varisteas
_______________________________________________
Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch
https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users


_______________________________________________
Barrelfish-users mailing list
Barrelfish-users at lists.inf.ethz.ch
https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users




More information about the Barrelfish-users mailing list