RE: Psim and kickstart

Jan Stoess <[email protected]> Wed, 9 Feb 2011 09:08:37 +0000
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Message-ID <[email protected]>
--_000_0453D4730CA16449B61476A072CC48BC0568ECA9i30s6osukade_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi Nils,

Kickstart is less a real boot loader, more a trampoline loader for pistachi=
o. In the embedded world, we use the "das u-boot " Bootloader, and then loa=
d kickstart from there, which eventually boots the kernel.

I cannot comment on psim, since I'm totally lacking experience with non-emb=
edded versions of ppc; I suspect, however, that you're in need of a real bo=
ot loader. There once was one for L4 on openfirmware powerpcs, which is sti=
ll in the pistachio tree, under piggybacker. Since the name says piggybacke=
r, I suspect it'll somehow glue together all binaries into a single image (=
the Makefile there suggests that, too). Try to resurrect and compile that; =
it may need some fuzzing with source code and dependency paths. Then give t=
his a try:
  powerpc-unknown-eabi-run -e chirp -m 604 -f psim.tree ofppc-loader

-Jan
--
Dr.-Ing. Jan Stoess
KIT/UKa System Architecture Group
Phone: +49 (721) 6084 4056
Fax: +49 (721) 6084 7664
http://os.ibds.kit.edu/stoess

From: [email protected] [mailto:[email protected]=
uhe.de] On Behalf Of Nils Ole Timm
Sent: Monday, February 07, 2011 18:49
To: [email protected]
Subject: Psim and kickstart

I have managed to compile the kernel and the user level applications for l4=
ka:pistachio for powerpc now.
When I tried to run it on the p2020 machine I have here it didn't work, whi=
ch didn't really surprise me.
Then however I decided that I wanted to set up psim and check what is going=
 on inside the machine, but it turns out that kickstart crashes on the very=
 first instruction in the binary, which should be:

mfspr    %r24, 0x11e


Here is the log from my attempt to run kickstart in psim, I build psim as s=
uggested in ppc-build.txt and used the psim.tree that was specified there.
I did not apply the patches to psim though, since with the most recent gdb =
distribution they seem to have been fixed.
Here is the log from what I ran and what the results were.

powerpc-unknown-eabi-run -e chirp -i2 -f psim.tree user/util/kickstart/kick=
start

cpu 1, cia 0x700: double interrupt - MSR[RI] bit clear when attempting to d=
eliver interrupt, cia=3D0x700, msr=3D0x1000; srr0=3D0x400000(cia), srr1=3D0=
x89032(msr); trap-vector=3D0x700, trap-msr=3D0x1000
CPU #1 executed 1 Move from Special Purpose Register instruction.

CPU #1 executed 2 icache misses.
CPU #1 executed 1 instructions in total.

CPU #2 executed 1 Branch instruction.

CPU #2 executed 1 icache miss.
CPU #2 executed 1 instructions in total.

CPU #3 executed 1 Branch instruction.

CPU #3 executed 1 icache miss.
CPU #3 executed 1 instructions in total.

CPU #4 executed 1 Branch instruction.

CPU #4 executed 1 icache miss.
CPU #4 executed 1 instructions in total.

All CPUs executed 4 instructions in total.
Simulator speed was 111 instructions/second.
user/util/kickstart/kickstart: Caught signal -1 at address 0x700

I hope somebody can offer some advice on this issue.

Best regards,
Nils Ole Timm

--_000_0453D4730CA16449B61476A072CC48BC0568ECA9i30s6osukade_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri","sans-serif";}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"blue" vlink=3D"purple">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Hi Nils,
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Kickstart is less a real =
boot loader, more a trampoline loader for pistachio. In the embedded world,=
 we use the &#8220;das u-boot &#8220; Bootloader, and then load kickstart
 from there, which eventually boots the kernel.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">I cannot comment on psim,=
 since I&#8217;m totally lacking experience with non-embedded versions of p=
pc; I suspect, however, that you&#8217;re in need of a real boot loader.
 There once was one for L4 on openfirmware powerpcs, which is still in the =
pistachio tree, under piggybacker. Since the name says piggybacker, I suspe=
ct it&#8217;ll somehow glue together all binaries into a single image (the =
Makefile there suggests that, too). Try
 to resurrect and compile that; it may need some fuzzing with source code a=
nd dependency paths. Then give this a try:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">&nbsp; powerpc-unknown-ea=
bi-run -e chirp -m 604 -f psim.tree ofppc-loader<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">-Jan<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">--<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Dr.-Ing. Jan Stoess<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">KIT/UKa System Architectu=
re Group<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Phone: &#43;49 (721) 6084=
 4056<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D">Fax: &#43;49 (721) 6084 7=
664<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><a href=3D"http://os.ibds=
.kit.edu/stoess"><span style=3D"color:blue">http://os.ibds.kit.edu/stoess</=
span></a>
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;font-family:&quot;Ca=
libri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span><=
/p>
<div style=3D"border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in =
4.0pt">
<div>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in =
0in 0in">
<p class=3D"MsoNormal"><b><span style=3D"font-size:10.0pt;font-family:&quot=
;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style=3D"font-s=
ize:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> l4ka-bou=
[email protected] [mailto:[email protected]]
<b>On Behalf Of </b>Nils Ole Timm<br>
<b>Sent:</b> Monday, February 07, 2011 18:49<br>
<b>To:</b> [email protected]<br>
<b>Subject:</b> Psim and kickstart<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt">I have managed to com=
pile the kernel and the user level applications for l4ka:pistachio for powe=
rpc now.<br>
When I tried to run it on the p2020 machine I have here it didn't work, whi=
ch didn't really surprise me.<br>
Then however I decided that I wanted to set up psim and check what is going=
 on inside the machine, but it turns out that kickstart crashes on the very=
 first instruction in the binary, which should be:<br>
<br>
mfspr&nbsp;&nbsp;&nbsp; %r24, 0x11e<br>
<br>
<br>
Here is the log from my attempt to run kickstart in psim, I build psim as s=
uggested in ppc-build.txt and used the psim.tree that was specified there.<=
br>
I did not apply the patches to psim though, since with the most recent gdb =
distribution they seem to have been fixed.<br>
Here is the log from what I ran and what the results were.<br>
<br>
powerpc-unknown-eabi-run -e chirp -i2 -f psim.tree user/util/kickstart/kick=
start <br>
<br>
cpu 1, cia 0x700: double interrupt - MSR[RI] bit clear when attempting to d=
eliver interrupt, cia=3D0x700, msr=3D0x1000; srr0=3D0x400000(cia), srr1=3D0=
x89032(msr); trap-vector=3D0x700, trap-msr=3D0x1000<br>
CPU #1 executed 1 Move from Special Purpose Register instruction.<br>
<br>
CPU #1 executed 2 icache misses.<br>
CPU #1 executed 1 instructions in total.<br>
<br>
CPU #2 executed 1 Branch instruction.<br>
<br>
CPU #2 executed 1 icache miss.<br>
CPU #2 executed 1 instructions in total.<br>
<br>
CPU #3 executed 1 Branch instruction.<br>
<br>
CPU #3 executed 1 icache miss.<br>
CPU #3 executed 1 instructions in total.<br>
<br>
CPU #4 executed 1 Branch instruction.<br>
<br>
CPU #4 executed 1 icache miss.<br>
CPU #4 executed 1 instructions in total.<br>
<br>
All CPUs executed 4 instructions in total.<br>
Simulator speed was 111 instructions/second.<br>
user/util/kickstart/kickstart: Caught signal -1 at address 0x700<br>
<br>
I hope somebody can offer some advice on this issue.<br>
<br>
Best regards,<br>
Nils Ole Timm<o:p></o:p></p>
</div>
</div>
</body>
</html>

--_000_0453D4730CA16449B61476A072CC48BC0568ECA9i30s6osukade_--