From c63a6d94f61f960f595b33e75b630855d6ad972a Mon Sep 17 00:00:00 2001 From: Alexander Boettcher Date: Tue, 20 Nov 2012 10:07:45 +0100 Subject: [PATCH] NOVA: add chain_loader 'bender' 'Bender' can detect serial ports accessible via PCI and writes the I/O ports to the Bios Data area (BDA). Usage together with the PXE bootloader ease life running Genode/NOVA on native hardware, where a standard serial device isn't available anymore anywhere. --- base-nova/run/env | 6 ++++-- tool/boot/bender | Bin 0 -> 11621 bytes 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100755 tool/boot/bender diff --git a/base-nova/run/env b/base-nova/run/env index 091933b80b..ac38eda149 100644 --- a/base-nova/run/env +++ b/base-nova/run/env @@ -11,10 +11,11 @@ # proc install_pxe_bootloader_to_run_dir { } { exec cp [genode_dir]/tool/boot/pulsar [run_dir]/boot/pulsar + exec cp [genode_dir]/tool/boot/bender [run_dir]/boot/bender } ## -# Read the location of the Pistachio user directory from 'etc/pistachio.conf' +# Read the location of the NOVA kernel directory from 'etc/nova.conf' # proc nova_kernel { } { global _nova_kernel @@ -85,7 +86,8 @@ proc build_boot_image {binaries} { # Generate pulsar config file # set fh [open "[run_dir]/config-52-54-00-12-34-56" "WRONLY CREAT TRUNC"] - puts $fh " exec /hypervisor serial spinner" + puts $fh " exec /boot/bender" + puts $fh " load /hypervisor serial" puts $fh " load /genode/core" puts $fh " load /genode/config" foreach binary $binaries { diff --git a/tool/boot/bender b/tool/boot/bender new file mode 100755 index 0000000000000000000000000000000000000000..f8402ea4bdf6feaaad42e73ad7c907895c29298c GIT binary patch literal 11621 zcma)i4|G$!Qi_Zyr7CWD^M#xg>rR{;8+CtN16Ysw?^7=$VVrA-Ra`h=^Csf+DL6 zC2iyA=xBU$uV8zJ)ZU%OSO=LiIF@WHu?c6UNetW};$BMyO|T6U95>*?djbCia8nT( z!a6#@R8l(LM#IrP)@aK_mwFQGxFu%d*E`5<_Y7PcXg)m(NP7c#OQ&+LT4KvWhv(5@ zFZr32XfL2=d>qIzkmGKCnGb90tc<;3Qc`(OUG(f%k@UDT+9O22%8q;#cZj=sApFk| z*1JEB?mv^TMs@sQTB@cqA2q#iu6vzGS`bVK?^3>C= zwcV9!X7pf3+g+-}pD;!DrEuw~?rQ!AeyDN}O@?=C$KgzVi67fDhNkpBFtxxC)7 zy+gPK6sd=Ou3BO%O#CjL(^G8vSAJ~NqWzODahnUqFGel2hO4T1Pi1sy{#9mG#;U~` zSm6v9dx?zw{y4^>eWQc(&2ZsBBqcg*+LS7`5AciH_Yjck3z@qqKKG2tlGy07jMySc zoyyBH)kW6m1c8@HnC5=Wx3yE5h80h*ge+QX8pJ6AvZxhoi_pYZZ+8ly<+4V`=9`r9 z^UY%G&oH^c_t2>>`kZ8rOs-R%lj@?wk11pDZHbJDK9^xq@<{WBJ2XFMXg-5R`ze;Q zgPU%|}~MaNtR+R(d$uR+iMWd3-vpdLbl^U)WQkIcPg-P$A% z?JcK;U>%%RL`KT!g0UVUBjr1dlr7~}bw#FHoc-5EzW(JcBj*`LB0c2V2X@o`)t&)Y zU6M(pJy>GY7oL8;l zA0noXjM%*uPKu`erH2HL86loV}r0=%*)v$ynpSj~D$ds%Pk5dwK>pSmbRjr4V$ z5~7__&i>d++tldki@d6zAC3pqGGWFTZc)punh(jOm^%e~XVddNOnE@9dS5N=S0{9x z7Gf(UDnB34sz6l*X2xL~6Z(P-^KETR5od+LQJHSZ-N+ikHHW zz8Pze#EW4L)(KKG&mRB zg@sk`NA_Z9a9#k1uSACbXK)kJuaopkz}3weYE^%%Y_z$Db`UQ;(sfpV`z(>Z*c!7i zH~^csS6W*Jloa(jA#PEhyNRsYG8Shu(?cMq^c0xi)0f2Mpt{x% zDchEwRF~XTCqtuFn?m?0wd$mr7L8*8Ov8M#X~cq2s|B^%xG@u!JW3XJ-eF-KL?Eeq0{Ol*D8FfF}2VdC$|G&u33 zVWLJR{u{#8F!4Byr*ua;$7ZTZJu4TMbWa2hh^F)%+i0V`WyuXc*U} zNz;xYH|9pn{938l-sSl1rgxCo4nn1I~JMEpVqsn-7r7asf;0n^=PE#@=s^x;|kUlK$Bd>HLHFlJsFp68Eo$0Ez zE_!`bNvU)EF>aMaMFsiR1KgP*I#+G4F1{s7llUmTF!584*=yj9w zou-lLV#`y&G$)*Mr|jSjbZ8p!D@(RbX&T8FUn+xS(}?4RSxqCg%HvHV9ST;oAVK$p&c(-xdrO)2D9B3-k*dQN?FZtk z3_~n1WWX?l(wkvOm-uGC5dBE(Iwx%BuVRJTmSUJvjB$ovAk8xrn-qU7>DAp(d}|rN z&Z4qlyCm-2hqT&Sub+v2J=I5t(!rOIv@^6Eou1y^RCI+(UfMGeDgNN+I~GSWds1{- z{GK}XzN_G31QUx@rVPCyD}RQcj$gq3sovRCsg7sZl!mw|_Kc;Dk0*J4`NB>UKX@Vb zcP4u$q<30C(V^Ir=AC0N#GVv(T1bbl|L5pmxijOe)82Wu*nYr%A}+QaJL^1CoZTh1 zAILe_*3~+&?fg>|tkI#&=y0l%`7`5M()0(hj=#d#57Suj>qLs)NEKfxv5CsKXc6Jd zH_h73aB%E-ttpLlFnsl<5S>0+3}3rn!JlulQQ)EhN2kk5Er0%Co zehfDJCKs-T8HhPL5q^%P(cS>RL≪W?_$a0X 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