From 9bebad476595a74861b072539982e3fcdabd179c Mon Sep 17 00:00:00 2001 From: Andre Richter Date: Tue, 29 Oct 2019 08:54:03 +0100 Subject: [PATCH] Misspell run --- 01_wait_forever/kernel | Bin 66080 -> 66080 bytes 01_wait_forever/src/arch/aarch64/start.S | 2 +- 02_runtime_init/README.md | 4 ++-- 02_runtime_init/kernel | Bin 68568 -> 68560 bytes 02_runtime_init/kernel8.img | Bin 368 -> 368 bytes 02_runtime_init/src/arch/aarch64/start.S | 2 +- 03_hacky_hello_world/kernel | Bin 79144 -> 79144 bytes 03_hacky_hello_world/kernel8.img | Bin 6629 -> 6629 bytes 03_hacky_hello_world/src/arch/aarch64/start.S | 2 +- 04_zero_overhead_abstraction/README.md | 2 +- 04_zero_overhead_abstraction/kernel | Bin 79032 -> 79032 bytes 04_zero_overhead_abstraction/kernel8.img | Bin 6613 -> 6613 bytes 05_safe_globals/kernel | Bin 79608 -> 79608 bytes 05_safe_globals/kernel8.img | Bin 6837 -> 6837 bytes 06_drivers_gpio_uart/README.md | 2 +- 06_drivers_gpio_uart/kernel | Bin 83384 -> 83376 bytes 06_drivers_gpio_uart/kernel8.img | Bin 7920 -> 7920 bytes .../src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs | 2 +- 07_uart_chainloader/kernel | Bin 85224 -> 85224 bytes 07_uart_chainloader/kernel8.img | Bin 8824 -> 8824 bytes .../src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs | 2 +- 08_timestamps/README.md | 6 +++--- 08_timestamps/kernel | Bin 90936 -> 90928 bytes 08_timestamps/kernel8.img | Bin 13856 -> 13856 bytes 08_timestamps/src/arch/aarch64/time.rs | 2 +- .../src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs | 2 +- 08_timestamps/src/interface.rs | 2 +- 08_timestamps/src/main.rs | 2 +- 09_hw_debug_JTAG/kernel | Bin 90936 -> 90928 bytes 09_hw_debug_JTAG/kernel8.img | Bin 13856 -> 13856 bytes 09_hw_debug_JTAG/src/arch/aarch64/time.rs | 2 +- .../src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs | 2 +- 09_hw_debug_JTAG/src/interface.rs | 2 +- 09_hw_debug_JTAG/src/main.rs | 2 +- X1_JTAG_boot/src/arch/aarch64/time.rs | 2 +- .../src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs | 2 +- X1_JTAG_boot/src/interface.rs | 2 +- 37 files changed, 23 insertions(+), 23 deletions(-) diff --git a/01_wait_forever/kernel b/01_wait_forever/kernel index 34cf93dce3988a5b64cd5a83a2cbf73eb019dc17..25548b7e73ef5f9d38e28d546d9705da781c21b4 100755 GIT binary patch delta 37 lcmZ3`!m^-+rC|!=N{&>cielr!N|UJ@8HM4Tt!EfR7y7J`VSNJLRk())oiRY1?(n>`_6;}-LqdFGk-nRoUBw!Oi&JBJ|m z^zg3+Y@6Q$`{hz0^RCfo3>N`9@UsL*uq;6VFG!Hf+8IJ52}ltiNN}+00Es^!r-|I0wT4k- zQ6ZEwK>vBBH+dFtC?EYrsbr@r1h%D?J*-IEKM_oZ)3ida+pWj=-5al7%#aK zBbA#Y)w<$L4u`{&uGW0xxRd`HSlreYjuWCr+~gJxVTiB0l>uMN(3?{|$MsZ?a>I9g zQ}uCOhVCIJjGrX6D<2hgFni)8rV^hcV9RpXguy1D& fhM}!-hibN}2SzwJH#@L&xf9ADz0cr!C-nRUtkY7p delta 1180 zcmZva&1(}u7{=$_v?WoHD#bKnF|7qH=(;mIyOTkb9*iHLMNfj4G@H!UrRla!6I)B6 z?a`C%p$;DO(vzS_5$sh_ym(MVK|J_T{0G{4@gQ+Gvqe*O5A$Q5_j%uEW_RDqw$HL{ z={R(+4Qw|cwbBDeS1!Vd&do+cW>NNIA)ENrXf)C*b1;$Kh{PAq?|sNVd%X31@ZA=g z-j)e~Kk!C^25H!m84XU!B@Mdej0V|E4JFb4&rkv(O#@VuYZ@GbF^M&}Ad?9&G7pq%)7A^6OpYr*bhU!_RP18h$J6lRrYSPk||1Rv1>ODcn(bASc^`kdf$k zzoL+?=-*VizoY?NTyVB+*t(dSl%~rm{E%~gqS@t9$leDWNw<#yH@@&hlkc313 zYKuW_V8_{f^ZY@HP4^YcMS4XGWh=GlEF)yU{1MU#KQUDqYT;VH^5l2 z;Q3w+vzx*Z)HS&yh-+J%nt4?8$9&|Nj@C=%B;#{{R2!3JeNYCe{>)0|mkC1f_YG9Ja6j Rv|#V;PYzf9O=f1y1ps?x9$EkZ delta 62 zcmeys^nq!D3?t`6S>=fyIsza6|DUeFpl~H#f%)qH|Nq4&))a_8f{Gp3Htmwa<~5%l PIGq2)Q2u!`Gh;3QdZ->l diff --git a/02_runtime_init/src/arch/aarch64/start.S b/02_runtime_init/src/arch/aarch64/start.S index 41395e3b..d3bf43b3 100644 --- a/02_runtime_init/src/arch/aarch64/start.S +++ b/02_runtime_init/src/arch/aarch64/start.S @@ -11,7 +11,7 @@ _start: and x1, x1, #3 // Clear all bits except [1:0], which hold core id cbz x1, 2f // Jump to label 2 if we are core 0 1: wfe // Wait for event - b 1b // In case an event happend, jump back to 1 + b 1b // In case an event happened, jump back to 1 2: // If we are here, we are core0 ldr x1, =_start // Load address of function "_start()" mov sp, x1 // Set start of stack to before our code, aka first diff --git a/03_hacky_hello_world/kernel b/03_hacky_hello_world/kernel index 80375823955bef8a275b49262c940bf3fb3b06b3..7d3ed9dcebde0eaaade406d9ba91d4bf39501bd8 100755 GIT binary patch delta 3424 zcma)8U2IiJ9iRWbU0PN?ZWm~23#Aoow-hcjbLMm7N6FdCc3-X%gi}*;D%DL zEgu^n3fZSkG`lweC!45&xGFWQf|_*wAg+lICMN4*h!5%miW-E66&_4T3^?cBb0BT5 z$+pRvncx5a`+v{07jJi5yxnp7ENm+E!nr|sW_1ssvk0Nf=*EUdb+HaGP}=a_4s;d* zcH<^$44>|4{H=@{KU;jO32K4hp<7`sqr9-n_LHHO6+YZ`^(jH8S4A z`SQYz@1TV}==A=7twr~P&gC)K*toq5-4FK8-GRQ+OW;=kY*}%pH*?{~0XCQRf!_x( z*!8Pmdk76(KQ{+E^vwqkeRg=ST>In0GF-bAg86G1{oqDeODj(Af3UT@u&zzOqy8Tq zFkX2pw}sHe{gr^$`;AY)FX80k)lN7Jexeg9YY%+<+kco?{L#JhSO0u(;`)QdS|{vY zvwI44g}R{p`*?l3)WVPDlBxXsc{eldriPB0>3Tf;BtjqfD;r?Tz`r-N)YmkPA@m?W zhdTLz9^i0k@%bM3UD>mKSl_p)sZ~OIa;=<%hP~;B-oBAsoGufO`$iB0_6z;+IWYci zcH$nw;=2X{erNzThW(jA=v|4MMl%1e55OqA?XL_#@BBiJ7HJorf0*M%x&{7|LO)Nx zz~9aBqD%#THEc=H^c z&ui046QTbEc?Y`tFsDCSdYiiv`k<-r2RFf!^F{e@EUWKuu3I#-FjDlRXlj9v=lZCp z)%*f4N`JY$6#qgvmP+sxDg?jH8LNC_GxT;Byi*-H&wphz$VbyMw9L)0|8-#Lf_152 zLKo1wMoq{IxA%uAATBES7;)gHqJ(gw46t2Q#7wn&eZ2zZFX*k$U}+dCblAV&Po;= zJ=rz@-WC;YQP~z%sP^J>EIvBp{P)LTfMaF3#F2{=in&&#y!bbl6C8rO^q5rY0dk6IGDm0sQ7a{T^$LdpVre=@Vr{?O@ zv(+UE+7A<0=cjhS%1_eR*qFvx^TZ^ACX?BWh}In2$zC#97bGd#Tnz8p(E}{eC$QP?E;dT53&_Mo}z6#QISv zQs^iQlcEt9A`(3)3xK%C+pJ*s@3f5Y|TB|&CZ#b zIsf`Dcy=wP7IPbGn>v|N<`;It-fpLGVuTYsynAVk`J}(O3%2c-j)&s#I95rTy?uGU z0!y9>tC8p~owc!ZVXxEkd%!6T|MQITX^MNEYe@n6QUzk-#a#Mnf{M3N{@ z{Vy=QP>B_$f+tK98;az(A0pwOXsptR62)vn(*Rok5&=;OT9I%jHVOwjhWiTyo~dY; zq)c&V!Z9;NEM3o*f6ui+4uRz5W~J z#gzyaZx0kM??M;GZ$F0ock%Ma&!ffd1-H2fy(90mFILlTZAAB4;KKNdPgz@Nx_oD6 z;qtA8G<8$Km$|>j-Q6Oz75&=h-b|pY&=wcbMeq%;{1w$WK5jyb=aw%OpbOlUB6PR4 zHb~gv{#1mK7KhRex@}*8w+nCHU;b4yd=K3IW+-jB@$;Ad(D%lbPgnN;?o)L3-^&xt zaA0%m6Upp!GSxQ|PESVtUqt8?_m?*4ed0!2ix&-{&9x^&A7uZ1W3}H5r1A8LQ2t(O zO26i__)Jra>uLu9*Ow2s!+TAx*a=%Z_SQHG2xqJrDWZ;aLb*d_;Unw9`&?KJAIQSz z)`btc#ZGv<)jWg{6bdL0?{Z!_1qa==E-1JD)JF>iKvP-EEsk_S?}mdlPC)bSR2S?F z^9Em8SAu4xudc)Mj&s>+Y5uV<%g^P@@dNHB-B2cZ)ujjer3r6%5vxt+_`BJi( z;H~uadw0{5EPPZ80?J2{*Z5s+k{l@>nk9oYxGoQJZXFOqspUe1vSknQa@29vsy8~J~ zewigrWqUZ1Eq>qK+~K#_>%}Q~?gs*A;U75|^3GpNU$G-YaA{E6Q%Q1Ko!lE8KV8A- znc7uWsY8kTa0rGL>aoVDv>^d&i1LQ0XoyNQ=%StQl@g7kNX8oDP$ov2#Qkh1e6_>_ zWd+m zfNF>a?&V<^6iK8-qLc}+j)X7Mm_noIXT|yA+!;Q>p|DI8@4UvX1EnVLFtqQWHSzOWKpV@3lkmHeCpyhhO3kil<) zbJx${5%*6F&F;6OuyKowtW^P4HVC*0WA}qmIMg4?2n%HuPXrZOgmrKzha_6&P3`oKs6eFNmg=#r~|+1PQFR zJP^{xEDmfE#bInzpt!a&pn|gsP6gpI2((s2c&l*9mC_<5u+&&TBpfq?vGylk_-leO zX#;5}#wsINs4&Jc6GBlMkbni;Z|ie1YPYUL^ID; z{UX@J;MboTta-WO4vhjWbAMg=9Vm)rV2Smr&drCj^KNw%2FGI>3SvVd6vjp|mMP?~ zJQnJ}yGx6h^3Y#6QWB+oD%VEw3QH9d*l&pjOiD@>B~mEuj$#-uasO#0VK|AEU?OmD zWB69dDoGm(Z* z=A9Jlgfb!`_jdxrBaDRgX_|xSr7l=S&EWEa|dNJ&3)e2K@13_aU zsKs`y3YXmr6q-xQ2tqlJ2#L7$ziQK4-CGnM9=9wpCZsCVnqq4Gbzbuqx5hih#6}7l zg_>Dov7vE{RV>tdi<{j}nk5keD2j9_+b@wvxe>V)F* Q6$Zzk@aiV_H4Z)h1xynI_W%F@ diff --git a/03_hacky_hello_world/kernel8.img b/03_hacky_hello_world/kernel8.img index 5e10e7c5b379fcf6264d1dcfeb8bed755065d01d..12c713ae4ada05e77d5c3da1a6d3a9429e189e4b 100755 GIT binary patch delta 390 zcmaEA{M2}Y43jwHL^&&7F-C?d3=9k#7#@gD)Z3iND9t3gl!ajmBT(qUV}^-}4Pp}? zF*8iuxp^kDG^6wXX2y&Ev>ATBW&rA9X4t~Xz%b#3GQ&hoN0EuIni(d7wEeGVUin}# z!%7c^hM<@H3_pQtHfSs4q@@$RbAoC|{Gs-e~F;4bkl;hYB zG*^K^;mX7k9m~i6{!a(74=~4H`_IgH@deNs51AQOJpj^7Yz;yGl$lowV{xkb3(~;Mu!WO>VZsY#hKZUR87H4+mQ!^UpZH3j;iuvO@re(T87IC} zW?HGi&=B;}nE}XVS^21$VWKS4WIh&o?So;n7;woSXFuzAg=2M*^yF_eGa9MA5^ zC+MA8l$V;LP>`6HnXJggz_4KQLs5C}1EL(jaAIKK1CtC4=b(I`gTSDG5h4#E85m&n Z3T6na1S(&^%rRM7%#?A<=0LG2%m8Z$c0m9D diff --git a/03_hacky_hello_world/src/arch/aarch64/start.S b/03_hacky_hello_world/src/arch/aarch64/start.S index 41395e3b..d3bf43b3 100644 --- a/03_hacky_hello_world/src/arch/aarch64/start.S +++ b/03_hacky_hello_world/src/arch/aarch64/start.S @@ -11,7 +11,7 @@ _start: and x1, x1, #3 // Clear all bits except [1:0], which hold core id cbz x1, 2f // Jump to label 2 if we are core 0 1: wfe // Wait for event - b 1b // In case an event happend, jump back to 1 + b 1b // In case an event happened, jump back to 1 2: // If we are here, we are core0 ldr x1, =_start // Load address of function "_start()" mov sp, x1 // Set start of stack to before our code, aka first diff --git a/04_zero_overhead_abstraction/README.md b/04_zero_overhead_abstraction/README.md index 371650b3..985756b9 100644 --- a/04_zero_overhead_abstraction/README.md +++ b/04_zero_overhead_abstraction/README.md @@ -43,7 +43,7 @@ diff -uNr 03_hacky_hello_world/src/arch/aarch64/start.S 04_zero_overhead_abstrac - and x1, x1, #3 // Clear all bits except [1:0], which hold core id - cbz x1, 2f // Jump to label 2 if we are core 0 -1: wfe // Wait for event -- b 1b // In case an event happend, jump back to 1 +- b 1b // In case an event happened, jump back to 1 -2: // If we are here, we are core0 - ldr x1, =_start // Load address of function "_start()" - mov sp, x1 // Set start of stack to before our code, aka first diff --git a/04_zero_overhead_abstraction/kernel b/04_zero_overhead_abstraction/kernel index f06bc3af22c0bf54928d4f67dafb052b982087b7..082ff40a4a60d28b511ce2e0b80162829b41d272 100755 GIT binary patch delta 3637 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 delta 413 zcmca=eARe@jJ`et!xRMug)0mU4nJL(7(@;*$6x#J%y^NDfnmc7XNHMhjbalSfox5N zh9JcR@yYv{Ri&MnfO?o1Of`UFoIp9SyrTF-ko;s-<~CbBjJB{zsp zd;~OUIU~fTi8?wgr~m(-zA;9ENwk)QVG2n5gU1XY?Gqm{GfbSgxsyqTk)xUM;y-PM zpQe*TSq!)yN=$sE&+rpuLqCfoqw(aGEDCIi5@0LOv&fn&0S#yP_uqs8XcjXNGay^u z%rJ2})SCykO}nJ9dCjK>4(C5Hlz*PA&U%t@#^#T#_WYAM#0;2p7$#eZ$xTiWRbXtG z+$gFZv_X^uXe0xJFqmXu;9-RDAtVC>jCNs$umqs;JW#%OYEfQljzU3VUS_f)Fibhb bCZ7_OlhzP}DCdJ3YX;>5gJN^ASQ9e7f5E{BMQ9|o4wv7Ghxf0&h`gah_ z5cn!>_+2YHixGNh_HU@(eQ{&`Y745*&OFeH_u=08*YK5+ibw!1uZP@urf%=e~)p=HBytSTYkw$b4qDeFEfrw`RGcSrr8UwK| z5PNYMex>w-`I$$S<5PIufu0}!erV>W@1OtGpWh#P>!XKIvP%l z$K9(Cnsf5CPVM9JTf0`FN=I(Ckl*a~P_&uPcHlQ#?Aa}Ny`9^F%WZuPku!T`Gw!fo z-HOY#*$qWLxud<=QbHBy-?>MF*#}0u7V^&}_rOv@i+HP3IKKiRTq>c${(!@;I^5Y` zg}R*Ji7cq+w%}H9g%N4+b1#HhDlOt^ebe!LriOoR@7{_#YQM~|7WDGwrCGh2;TRP) z%(gJS?(m{^1^%YPPrBL`_$7xIH81c#zz48UTX0a&P=

^b`&%rCjBJ!wUz>S^9;; z3kO56PsgV++7=Tl(i?MhlB`^-5%89eHTIoO+<|+tC1ut2ZN=-c%Hh5Fl4Q%KQ&~_Y zbfBT;BercD^vTdR=#w)IvYOL*p#gu~;V(AePddEldlx2p+TpVe=Zk)uYspgmc5xmJ zxJGb-v{$mR8eWpL;ijCSiqp8u;YC1Q4*$Nx3&+LzXERP}1t)V2agAi^5VX5*&Kg>{ zHw}2fQ*l3w^94^`4d-3n{b;VWsBx~+0*^v^0Sf%GvoxK>YiB$0$&W zg~#y27I)*0O{d{OPP_2s23O~7n2I-m;f%PAxx>Qk9$N>oz1WRk#Q&Tb@4-7trAx>@ z(+3WO?cNUE^@t6&yXW!Y5?`xY~nVTGP5o`PTTR{1H_5oN%UR@5| z4a!eA<&Eytlb}>VE$CvyResjtjaU46dm**@V|xV_dI_qVT3u7ledjYmPeHON{`m47 zIqtgWvZXtKi zDna*WPkMC;N>Sg*|0N=*FR8M0;`T57xbJqViJ>Y=5=mnj5^uP6-_;(Xqd#52xWA%AX-s7c6^fh z2V)^((A9|`u}>1xJSyHaDA5#^O;N8A{YJ*CpArN#CRLG6GM&71@*B@*$5m4_K=F}D zUG=4>L~?}KANAvJ)rb@{NHhhehzWEwy!23JjRi6SG0?K8WfjkO{P^tLC1h?eSZ8Hp#2)Pu7FcNveufXZh77mcvjpE>ixpv>OhiB z7J~b#OG5cRWuE6zKkz*U5pc)CCmIkL3ty}L{}#NQ$0i1Bxr(<}q9~R^`Ch1ec(%!~ zo!Sjq|BK?TQC~|H3K_>LF`|Z(VtO(^1 zPs>Cy%8W|z~>Y?-uKep7R**S{3O1Y W;B}Qq01Q=%q*ejd(F~FJ4g6o;#b@UL delta 4140 zcmbtVYiwLc6`omdl5LVEYx1!3XtGY?I*#LI-gB>8L7=sosL%)_q^MG3-)G`Bc7x-P z2Nmn6s325P7KO|Y{y-5DR{0SLii-%yH2etsfs}$21jq>za)64^^hY9xQ*v;Maaqq_^Ww&|{YTkCTHuHW2QnBI-1hHgHF;D2%Y#*3(aq=3$k z6p$RQwEb>jVWFdh(8XTxDP7-F$M8Q{3;vd8eigcF?WLc0)aQE&(}~LS0?l^Ty=7BF!PKU@4fHFUC?t;1zPkejw0^d2`1cE!@l{CtqD`vz+~)f2 z&o7@|2Xh%uuR$S}YkqB-$j#T#^Z}b}*OvP2tXP|v<$Dhb z+yO~dpt!{tcmx~!J?27rz1l7d#afJb29t>Vrk}) z4*bhD^Y&)EzU%RXv#^+V76cv0@LT3nTX08jo_22jbY{-e&+$XX19$w4!SLGj+6sgU z1&nrO+59GR^Uc-GxPv~EOfhTH2{*|bb8UB!@i*Kc`#|_?w zJ1%U)rP{ZeGRZT{cRE{-a*;1L`5#Ig3g}7`z8o6a=AO4k&a*1Rk-ahys^vJ!B|tcr zI5n+-Q)u^X5l;vZ8UWl%kQY$Sm|n>6JfTX4|186^z$o>H_+=n0qJJ%9ev7Y%?}I;j zAAGTZthsX{D@;;AhTFT&K0}tL)*|pxFj(ozsYG^?JYxyohThoRsL(`$W0aq|-2YUD z=cg^lU&wGcefQ`O)^nL5Kc@MDmjJh2mY%^D^L;znSN)RS9l% z4{qPIYIW-LiS{(uquI_67_SFPIGLG$u`D&G_csDT>OJ_AwZNz2lSe0={@}>TDnZXB zU#DsVN?W4@?Fy^Z4$KbR4#Ex+?K*uws%EZ-(!i``2yXtk2k)wBs)>qxFCdJIIPeEs zI*XPl%b~BLI1GHB1hEr_ko#`DzZ{Urqg0VF zW;_Z4$D*zo>%|Y2eG&RDcSAz8LzRdYO)I)jOioaJR5CyIxQHA@9WQk0APSzJh^pRm zXXU7W_LO;b4?cV#A~NEfdRhw=>d0wwO171<#+4~Z8bNco4|mpb^3;Vlx}+d&0k#Uz za@Q9IrjVPECwXM#IM^ zqImQ)=oTp!%P@+Ga%rf98bqKcG-QK%NiDh&Gk@QUHrzqKkCGc#-3)v52R9lV@2j&PJ0nvp8rS*Aj;n0iD@m&H7E&0niyVD;Fs&y7_b zqB)Z;6)sh-c7^L|d>RlQ210Nyg%eR8#=h?>&0QT-$$ufx0gZL&I*#-_ z8rNdRD9G$+066yq6FGx|^U67K36aEA%5^14Q)pypK|s?KS`kc~JTW=!M@L4-hfj{5 z8Xd=>x!w;4%~Ju9I@ThRP`36=AHh31mG8L@jd|qoDAH~KyKrLCo0v4`tN5`F!F^8> zr5RC9OyfZ`7L5hR&zKR0;d?~zN7`epSU_mx=s5Bn;tyURcuP(3IA9^{8Rr3~AzVm_ zvJgJxR1y;Mz}F5Zf<-|bgxdE5S7=$y%A#DmQaa30k_(~Xr{w?0AgnNl#;X4Zg-W$; z#b6E-+-d$n@s6R8c@i3!N==BbInPQY#N(hSi%rKonnRk*$uRi3g-BA`hf zt`uXMQ6;r&RUIlrsXA7alPJ`ZOUJy)uqu1nC*1K>90v;Y5~jrQKsky%pKFJNZp1*> zzzlKR+Xp?y2#;9+EN~*+tlz1Y)D;e#7wIVII4+1(IxU52iN SZwRF<;?$Qso*@!n!T$lhKzCUH diff --git a/05_safe_globals/kernel8.img b/05_safe_globals/kernel8.img index fe4e6117e7e1723117249bbbe07ed3ed3ae41494..50e0614f945dc027c07190cfbd15d47d0a56076c 100755 GIT binary patch delta 616 zcmdmLy47@oj0h_O!xRMug)0mU4nOml7(@;*$6uSoq{H$QD8AW%Nry@F3=6{)Mh1or z4<0j2R6HOt@ewn_#0Q%TS^OE5{~u<&$O)9vU}y-^WR#ltxteXIFpv*YUi?T4qC`_!)k309CwP&9KrFsFPzMP^Uh_&;RwzD_^KHtpu6&MVVz~ z8Y9qYObn)Q8ycl2f=mWE;(;;)*sRa&3_o8gGp*!cYzPADuV+~q0o0ekz+f7$z1a;*ir&zyEJ$y!cO>;pb5hpP69`(838XfEH*@WSD3# z$JZz`@fFm0Agi+_nM@cbw#oa0oZ-wc5o|3t#7i8EG7~{w06FIc&?zAADgmAI;O~DE zm^08_F&*lP$p={XFwOnHxsI)hkv~Cc-X(|a>pv~nd;62am4BPrId1Y!HV`vl)R~+p zCa;yk01QANfRG4!0~16f11eL&G`UJljWJ>JLNRs031SdQU<`r5;>kC~)T2+JiF&6N u<)!8*6eQ+lCM$9=FnoZ@^FehX%UdaMF$jo5OohqILHWR#+H5Ue#S8$CZnK>L delta 663 zcmZ8dL1@!Z82;W%xfVYV+XH$ zr0CgWaED6lVBn#$n-{65uv@H`)Z^;GfG+!Ak~!Ujy!?N@Ki~g-U#r+Eu4i&jfQA9% zbFjubdl%sUV$>^mdkk3jau9`%VhttE)UT$+kBjhwx?*R`8R6EL=;gS59%iL?4OFXk zcMak$N2AJ7oHvv&K@g-gpjn_9?c1baREPi4yyWqQ;7eS4pAuf4+Zr<~UOnQuO+4bxg^jt?fEfx}HrDmQKa?uB=lXL@Rzr-=#R_4D3+pI&nn^II^^_1v89k9o!mx~{D zCj~9H#?*8CGPg?VM4fC%CT}E?(R&ShPD;(57X8?&lqK1IlD)Ge$slWgH?Yj1r5r-8 z{vdoAi?kA2Bs=3W5*$WyU@3jn((~AoxHP4J(4jQPGh4-S3e4MOT4Xa$fOU z%xWjz@%wwuvw;;h(%yXW$#6Dy-SWp>JnlP#+Rll&n~M*Z7nh6&3(NOv+2eqlq`2t} zhd1yqUNUGv{~sTYduHtNIY diff --git a/06_drivers_gpio_uart/README.md b/06_drivers_gpio_uart/README.md index fd256520..8dd32f70 100644 --- a/06_drivers_gpio_uart/README.md +++ b/06_drivers_gpio_uart/README.md @@ -434,7 +434,7 @@ diff -uNr 05_safe_globals/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs 06_drivers_gp + ] + ], + -+ /// Interupt Clear Register ++ /// Interrupt Clear Register + ICR [ + /// Meta field for all pending interrupts + ALL OFFSET(0) NUMBITS(11) [] diff --git a/06_drivers_gpio_uart/kernel b/06_drivers_gpio_uart/kernel index 7fdc4e818625f3e717c7d74c08c804ae4463d7a6..f1d25a1738e523550abf191f6b16a659073158ab 100755 GIT binary patch delta 3160 zcmb7GTa46a75|?FWC|7rs0G%RgoOom8>Zj=Qn~CxH>FL}3#}$L%J#dK4GRm)E+wYv zYBX9?lZvtZd@x!XA1o%eCdO?{lwy3q7i$|6txZh5Jor$f5{)$`#xwJu(JT(4^YEXU zbNPMeoZmU;`@iz^ikF{W@%dfw@+U@~9f7m3_1PET8!)tZAHd&N0F--H!gmI%YV2<< zsBUU(AA9lF%izM>%NiGcwd{rq85dv9GC`{_Rxf3pg1 zy?L-&T~#nJQ2lOGqiTPeoo7`YSiLy76`q96dsfv3n+9tG(lxlVd}|0c!Y|8@hF}uT zmXU4n%;1w<;|IIOw{?v#u3CI!8(_R&C|if&erS|a!?1C4qfukt)HU0%rm6-8psLFG zVfZTCTgG?b5pOMicn4^Ji{;!-bb9xOc0kLjpKqz1>t|Jcs$4?#;19bAHQrw`K|(^c*ve|egwe}tZ17LRA0KK2V1*uDX*h?-9uQO zcC~)e1;1R@jlxReYBiHtIc1-(zMmFtL~NTopQddo>*I}tExV6 zd)NDm<@L7uO$?~*{ZzA7i)FQbeF1{%@%6R(w_QH&?Rq~^D1nC>@vNJE{KQFJK1bl> zzyB?#aHz?Z%aSR>crwB&T0YX2vSgLf!cgM5=25k!w)~#LjZLkj(MAxHn0AJC96G9% z=G-#Gc;#o{o$I|SHG~MdOwmUpF-=d_ynD!U5 zGAUsDf|5!Lrh<-=`o!opuz7zF(O)e4idi4&!hEYgbbn-7ZI7+~38_Bl^DW(1YW^i% z*<<%%0k^MHNTiTDTcjpwCMP;I+8byhIWQdv$&tG_QO(VSW0SM#v8mH@Y4&tWC@M%k zW;;BPD$LBLmX^whI77-`1ROa+q@Xq?YPBTUCO@&%s3ws06Y_pSx>Q)cEMe0^@5Ej= zED56{>~}z4e6bY2<1DJ}XIm5*z^Cq`FNYKiH+n&oc?E|X%C^l7E3YX~mTBfJBLT~0 zm3DffIz2brx~g8Cv#!D~`!sBBxHCud(KDWx$tC|ju3_+jp04BFPU-l`sp&L3>F1}W z=cZ1aZY?oT*E6u?(m2?rPd;ZVc+fe>Oj6+nKB$8sOvxxL^_WqT6V>D+_lb73c|JZT zAD^9?OH>~&BEPH zp;W*fz)94`GZV@a7H(-Kmz_W(Zju%@u<~`3-sTnIDog7*3sN#S(VCt%>CJ$Jya1s@1T=Y)&S#b8q> zXH~Bu?oXfOvnQv-T@T!SKPH~D<5(d=1y;?cd`;-eotQb%;%G;Lq?)H_rR6N^K(h;x z;>Zc3TBJ3-&`Sn`R@NwsWziaEsfLik@tg&TRyiMp&&e8Gl{q@)DH^vS+6bITDhadH z5K9E^VMYHpfQ1&l4uW-&TZ0S`Ns{+gdrG6TvE4SotJDMN$4DK+e?wU4K=5mmT0=x* zaC1o-eHO@)5Y%a*vCojU;Dzhe0oTw~EML#R2hc6U{}0d&fOS*&j{wT$J@DD4ODx3{ zXcWfE=w)$x;ge0JNT5DuOBls_lb1j5h0(Rn^JF!42_eaHTXye*N7hK@iS)r@3+T+s z#c}vRlhK@UQiDYLLyE4vy$^P*^*%^pv~ot%AW3=Oez>QZBVOE`OS}w?W89UQ{Wyrp z5bUIcK`_k9ZV@TS05fa5vO_HS5Wn4%v!A1MY6phh(=`WCrTOBs>~b&z0M2#jof;fjHP(pp1U-@`0hb?9tOmQ@{2oR G%Rd36`beAr delta 3192 zcmai0Ta2Am75>+h+Mz9;Gg#@&SW%|a%e3iX-!BEGQ<|etwc08s65_b8!`OD(PG@MD z7)N{{62Q_2+$4l(eZs1V4GBXuT5EhECRTXCM-&oGj1j9ms4uQ_gS0uN|HHYg%eU9< zTmSyqldE5Oa`iLY;g!cGo}GZx0MGsqehdRE2LS%J8V;8IYvAS4!SSgd{dpCfe{)h*$NuqQaQT~o&I}s>x@;^A8+qCcRs6Xb-9G<(NA|n82ngAvAv7^#JX~2 z8~h3u%7yK423{(ACt!MH+v=8jp!!4Cx@%nRDz8o8S=+E2t?E3t>FTo{DzF11jHGJ|6MNa!tedRX)7@qacf-l$1X_*!6wA|6$F90pws*_9mij=gqpqsXiQ`@G7s_ib^;;NF z%lkX^j#{kh=r9)0BNGmEl3Md0}R|8AmiUp;wm zQc6-MDNN>}Jk*jZnPN_yh@dhxT(_jQ{GGxrb)S^YAviC!62$WNRBOs*25V|2(BQO; z-etOT#Afmrm_7$@}(&fcQf9U?mvKo(#{t2l*=!*^AS8CpquIV-RO9Jj3a@G+S zytCFarUhxXYjjU=lIRpeA|9JYNwZow77kC(rn!>> zi)#FIgJK6xH|kVhZBX_p*fH3Psw^rvG$?J$)bMgyfwD=lEMv+0Ky z6LXqGqsuoeY^qzUIl*(Om0W9M%8Mx7nM8C_3PFN1HY1T6M~*ylv_X|ogjw7|+DL>Z z%GmM`3u8O24p|e%ybaWQ8hQ@WP|k^D%4$QD(1NS7dpB&aVZbtQ7QJTKI#W*UhTE5^ zHd$uJo%UK7^8p~0n>#kw5W%>VnNmz-#{x?jHBW{aokGS`8}#~d_d!_h2f=RyAtlGG zy)uy#FNk)|a4vGje)z~UZ;%cGH;P&;pu`e#B{{?KZ)ahg)hb2CmZN3J>l6vsQYz(t@ z6gXxKr__|c-2*#n2Db^4LhzUZ%dw14!hVr1I;Lw%zdtiSZ8LGI~o+TO+dX>BfIp|a%5*aU&WYTI^F7AQH>sW<;|vQs6sZLOk1b%8&#qPPp9mRuqs_kyY+5wTTXQ`xioB*=(>31F%W6)?KHwHt>?7tdCwv7M$hTjERk zq;TC?$r#?U^oQEZnU!}mjFmI{pf-dv5+kRSB~HEMxq0@|-j#Ru!4ClLE@zwYiT?w; CRaAKZ diff --git a/06_drivers_gpio_uart/kernel8.img b/06_drivers_gpio_uart/kernel8.img index dd0d3ae507ebfab36759c441b678a6fd721bba38..65c8f80309e34840e314fbdcbea215a2f0787473 100755 GIT binary patch delta 77 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 Cxo3(1 diff --git a/07_uart_chainloader/kernel8.img b/07_uart_chainloader/kernel8.img index bfe918924653bea94541453db22c0e37f7835bb3..3da0bc3fb727290c1ea9dfedabf3bd78d32f5c33 100755 GIT binary patch delta 78 zcmV-U0I~o0MEFFIp#gERqK^RqakDZ4>jwc*lO77T8UO%5`5plP6bK|hsp10xs^9|% ks^J3(ssjYG?h1MW4`3pm(m=Pb@}Rxj@<7!7vv&;v6?sh_v;Y7A delta 78 zcmV-U0I~o0MEFFIp#f2`qK^RqQL{1v>jwd$lO77T8VDpnsp10xs^9|%s^J3(ss#i9 k6aWA~`56JT?h1MW55TsT(jc>}^58(v@&I@9vv&;v6_ooPl>h($ diff --git a/07_uart_chainloader/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs b/07_uart_chainloader/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs index e05a230d..e546e021 100644 --- a/07_uart_chainloader/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs +++ b/07_uart_chainloader/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs @@ -102,7 +102,7 @@ register_bitfields! { ] ], - /// Interupt Clear Register + /// Interrupt Clear Register ICR [ /// Meta field for all pending interrupts ALL OFFSET(0) NUMBITS(11) [] diff --git a/08_timestamps/README.md b/08_timestamps/README.md index 7940c540..d4cf65a4 100644 --- a/08_timestamps/README.md +++ b/08_timestamps/README.md @@ -116,7 +116,7 @@ diff -uNr 07_uart_chainloader/src/arch/aarch64/time.rs 08_timestamps/src/arch/aa +pub struct Timer; + +impl interface::time::Timer for Timer { -+ fn resoultion(&self) -> Duration { ++ fn resolution(&self) -> Duration { + Duration::from_nanos(NS_PER_S / (CNTFRQ_EL0.get() as u64)) + } + @@ -309,7 +309,7 @@ diff -uNr 07_uart_chainloader/src/interface.rs 08_timestamps/src/interface.rs + /// Timer functions. + pub trait Timer { + /// The timer's resolution. -+ fn resoultion(&self) -> Duration; ++ fn resolution(&self) -> Duration; + + /// The uptime since power-on of the device. + /// @@ -382,7 +382,7 @@ diff -uNr 07_uart_chainloader/src/main.rs 08_timestamps/src/main.rs + println!("Booting on: {}", bsp::board_name()); + println!( + "Architectural timer resolution: {} ns", -+ arch::timer().resoultion().as_nanos() ++ arch::timer().resolution().as_nanos() + ); + + println!("Drivers loaded:"); diff --git a/08_timestamps/kernel b/08_timestamps/kernel index 3bfb485adb3cd89f64e2bb3e468e140095015b4d..7501b92fda2f88d105b3ef49668e71e65a2182c3 100755 GIT binary patch delta 3555 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 diff --git a/08_timestamps/kernel8.img b/08_timestamps/kernel8.img index e6f58b22ec662c94ed46f670ccc7f75d593f9130..ffe3d8400e0143287ebf3cf81184b297e3b8b126 100755 GIT binary patch delta 85 zcmV-b0IL6>Y@lqAp#i~>qSFDwvvvVr2LZve)(B$)0im-x3+@CO002PwY@lqAp#h Duration { + fn resolution(&self) -> Duration { Duration::from_nanos(NS_PER_S / (CNTFRQ_EL0.get() as u64)) } diff --git a/08_timestamps/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs b/08_timestamps/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs index c75312c9..78303c49 100644 --- a/08_timestamps/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs +++ b/08_timestamps/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs @@ -102,7 +102,7 @@ register_bitfields! { ] ], - /// Interupt Clear Register + /// Interrupt Clear Register ICR [ /// Meta field for all pending interrupts ALL OFFSET(0) NUMBITS(11) [] diff --git a/08_timestamps/src/interface.rs b/08_timestamps/src/interface.rs index 15fa3c15..55df89cb 100644 --- a/08_timestamps/src/interface.rs +++ b/08_timestamps/src/interface.rs @@ -116,7 +116,7 @@ pub mod time { /// Timer functions. pub trait Timer { /// The timer's resolution. - fn resoultion(&self) -> Duration; + fn resolution(&self) -> Duration; /// The uptime since power-on of the device. /// diff --git a/08_timestamps/src/main.rs b/08_timestamps/src/main.rs index 6730048a..d65a33b3 100644 --- a/08_timestamps/src/main.rs +++ b/08_timestamps/src/main.rs @@ -70,7 +70,7 @@ fn kernel_main() -> ! { println!("Booting on: {}", bsp::board_name()); println!( "Architectural timer resolution: {} ns", - arch::timer().resoultion().as_nanos() + arch::timer().resolution().as_nanos() ); println!("Drivers loaded:"); diff --git a/09_hw_debug_JTAG/kernel b/09_hw_debug_JTAG/kernel index 3bfb485adb3cd89f64e2bb3e468e140095015b4d..7501b92fda2f88d105b3ef49668e71e65a2182c3 100755 GIT binary patch delta 3555 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 diff --git a/09_hw_debug_JTAG/kernel8.img b/09_hw_debug_JTAG/kernel8.img index e6f58b22ec662c94ed46f670ccc7f75d593f9130..ffe3d8400e0143287ebf3cf81184b297e3b8b126 100755 GIT binary patch delta 85 zcmV-b0IL6>Y@lqAp#i~>qSFDwvvvVr2LZve)(B$)0im-x3+@CO002PwY@lqAp#h Duration { + fn resolution(&self) -> Duration { Duration::from_nanos(NS_PER_S / (CNTFRQ_EL0.get() as u64)) } diff --git a/09_hw_debug_JTAG/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs b/09_hw_debug_JTAG/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs index c75312c9..78303c49 100644 --- a/09_hw_debug_JTAG/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs +++ b/09_hw_debug_JTAG/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs @@ -102,7 +102,7 @@ register_bitfields! { ] ], - /// Interupt Clear Register + /// Interrupt Clear Register ICR [ /// Meta field for all pending interrupts ALL OFFSET(0) NUMBITS(11) [] diff --git a/09_hw_debug_JTAG/src/interface.rs b/09_hw_debug_JTAG/src/interface.rs index 15fa3c15..55df89cb 100644 --- a/09_hw_debug_JTAG/src/interface.rs +++ b/09_hw_debug_JTAG/src/interface.rs @@ -116,7 +116,7 @@ pub mod time { /// Timer functions. pub trait Timer { /// The timer's resolution. - fn resoultion(&self) -> Duration; + fn resolution(&self) -> Duration; /// The uptime since power-on of the device. /// diff --git a/09_hw_debug_JTAG/src/main.rs b/09_hw_debug_JTAG/src/main.rs index 6730048a..d65a33b3 100644 --- a/09_hw_debug_JTAG/src/main.rs +++ b/09_hw_debug_JTAG/src/main.rs @@ -70,7 +70,7 @@ fn kernel_main() -> ! { println!("Booting on: {}", bsp::board_name()); println!( "Architectural timer resolution: {} ns", - arch::timer().resoultion().as_nanos() + arch::timer().resolution().as_nanos() ); println!("Drivers loaded:"); diff --git a/X1_JTAG_boot/src/arch/aarch64/time.rs b/X1_JTAG_boot/src/arch/aarch64/time.rs index ba43474f..a6c9d50c 100644 --- a/X1_JTAG_boot/src/arch/aarch64/time.rs +++ b/X1_JTAG_boot/src/arch/aarch64/time.rs @@ -13,7 +13,7 @@ const NS_PER_S: u64 = 1_000_000_000; pub struct Timer; impl interface::time::Timer for Timer { - fn resoultion(&self) -> Duration { + fn resolution(&self) -> Duration { Duration::from_nanos(NS_PER_S / (CNTFRQ_EL0.get() as u64)) } diff --git a/X1_JTAG_boot/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs b/X1_JTAG_boot/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs index c75312c9..78303c49 100644 --- a/X1_JTAG_boot/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs +++ b/X1_JTAG_boot/src/bsp/driver/bcm/bcm2xxx_pl011_uart.rs @@ -102,7 +102,7 @@ register_bitfields! { ] ], - /// Interupt Clear Register + /// Interrupt Clear Register ICR [ /// Meta field for all pending interrupts ALL OFFSET(0) NUMBITS(11) [] diff --git a/X1_JTAG_boot/src/interface.rs b/X1_JTAG_boot/src/interface.rs index 4a660c76..b691d876 100644 --- a/X1_JTAG_boot/src/interface.rs +++ b/X1_JTAG_boot/src/interface.rs @@ -124,7 +124,7 @@ pub mod time { /// Timer functions. pub trait Timer { /// The timer's resolution. - fn resoultion(&self) -> Duration; + fn resolution(&self) -> Duration; /// The uptime since power-on of the device. ///