From f11c9d02c84a3bfda75ce852bcd316f4446d7772 Mon Sep 17 00:00:00 2001 From: user Date: Tue, 17 Feb 2026 16:28:36 +0100 Subject: [PATCH] header foo --- kernel/main.cc | 4 ++-- kernel/memory/pageframealloc.h | 4 ++++ libsys/build/libc.d | 1 + libsys/build/libc.o | Bin 0 -> 7240 bytes libsys/build/libsys.a | Bin 0 -> 46166 bytes libsys/build/outputstream.d | 2 ++ libsys/build/outputstream.o | Bin 0 -> 19096 bytes libsys/build/string.d | 1 + libsys/build/string.o | Bin 0 -> 12224 bytes libsys/build/stringbuffer.d | 1 + libsys/build/stringbuffer.o | Bin 0 -> 5904 bytes libsys/build/stub.asm.d | 2 ++ libsys/build/stub.asm.o | Bin 0 -> 576 bytes user/app1/build/app | Bin 0 -> 14096 bytes user/app1/build/app.img | Bin 0 -> 466 bytes user/app1/build/appl.d | 2 ++ user/app1/build/appl.o | Bin 0 -> 7792 bytes user/app2/build/app | Bin 0 -> 17192 bytes user/app2/build/app.img | Bin 0 -> 4102 bytes user/app2/build/kappl.d | 2 ++ user/app2/build/kappl.o | Bin 0 -> 6968 bytes 21 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 libsys/build/libc.d create mode 100644 libsys/build/libc.o create mode 100644 libsys/build/libsys.a create mode 100644 libsys/build/outputstream.d create mode 100644 libsys/build/outputstream.o create mode 100644 libsys/build/string.d create mode 100644 libsys/build/string.o create mode 100644 libsys/build/stringbuffer.d create mode 100644 libsys/build/stringbuffer.o create mode 100644 libsys/build/stub.asm.d create mode 100644 libsys/build/stub.asm.o create mode 100755 user/app1/build/app create mode 100755 user/app1/build/app.img create mode 100644 user/app1/build/appl.d create mode 100644 user/app1/build/appl.o create mode 100755 user/app2/build/app create mode 100755 user/app2/build/app.img create mode 100644 user/app2/build/kappl.d create mode 100644 user/app2/build/kappl.o diff --git a/kernel/main.cc b/kernel/main.cc index 1bae156..fdf2b05 100644 --- a/kernel/main.cc +++ b/kernel/main.cc @@ -34,7 +34,7 @@ OutputStream* copyout = ©stream; #include "./interrupt/guard.h" #include "./boot/multiboot/data.h" #include "./sync/semaphore.h" - +#include "./memory/pageframealloc.h" //Semaphore koutsem(1); //TextStream kout(0, 80, 1, 17, true); @@ -52,10 +52,10 @@ alignas(4096) four_lvl_paging_t paging_tree; // Main function extern "C" int main() { PageFrameAllocator::stats(); - Multiboot::Module* initrd = Multiboot::getModule(0); DBG << "initrd address: " << hex << initrd->getStartAddress() << endl << "initrd size: " << initrd->getSize() << endl; memcpy((void *)0x4000000, initrd->getStartAddress(), initrd->getSize()); + mark_pageframes(0x400000, 0x4000000 + initrd->getSize(), false); memset(&paging_tree, 0, sizeof(four_lvl_paging_t)); create_basic_page_table(&paging_tree); diff --git a/kernel/memory/pageframealloc.h b/kernel/memory/pageframealloc.h index c97c4ea..2c62450 100644 --- a/kernel/memory/pageframealloc.h +++ b/kernel/memory/pageframealloc.h @@ -16,4 +16,8 @@ namespace PageFrameAllocator { void free (PageFrame *frame); void free (uintptr_t addr); } + + +void mark_pageframes(uintptr_t start, uintptr_t end, bool available); + #endif diff --git a/libsys/build/libc.d b/libsys/build/libc.d new file mode 100644 index 0000000..848caf6 --- /dev/null +++ b/libsys/build/libc.d @@ -0,0 +1 @@ +build/libc.o: libc.cc libc.h types.h diff --git a/libsys/build/libc.o b/libsys/build/libc.o new file mode 100644 index 0000000000000000000000000000000000000000..74b83a974124c16edcd7939b8a38a06a41c47cdf GIT binary patch literal 7240 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 literal 0 HcmV?d00001 diff --git a/libsys/build/libsys.a b/libsys/build/libsys.a new file mode 100644 index 0000000000000000000000000000000000000000..7b8a512d8d4c15d7504f60d8a695931c65899bd6 GIT binary patch literal 46166 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

rV_5@}Qp#n~iA7F~=kl#<~T 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 literal 0 HcmV?d00001 diff --git a/libsys/build/outputstream.d b/libsys/build/outputstream.d new file mode 100644 index 0000000..7b1d3a0 --- /dev/null +++ b/libsys/build/outputstream.d @@ -0,0 +1,2 @@ +build/outputstream.o: outputstream.cc outputstream.h stringbuffer.h \ + types.h diff --git a/libsys/build/outputstream.o b/libsys/build/outputstream.o new file mode 100644 index 0000000000000000000000000000000000000000..99c4cafdd2ad488168458a1bd35e13b2692aead7 GIT binary patch literal 19096 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 b25^H4sZetbWBOD7aBX3y$E3bcr1t+G994Ru literal 0 HcmV?d00001 diff --git a/libsys/build/stringbuffer.d b/libsys/build/stringbuffer.d new file mode 100644 index 0000000..9e00c33 --- /dev/null +++ b/libsys/build/stringbuffer.d @@ -0,0 +1 @@ +build/stringbuffer.o: stringbuffer.cc stringbuffer.h types.h diff --git a/libsys/build/stringbuffer.o b/libsys/build/stringbuffer.o new file mode 100644 index 0000000000000000000000000000000000000000..0f54d08147d408d63d3a7914742d0d52a158f44a GIT binary patch literal 5904 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 W(D3@HlWaVDG0gwA)avse-2OlHaN|$_ literal 0 HcmV?d00001 diff --git a/libsys/build/stub.asm.d b/libsys/build/stub.asm.d new file mode 100644 index 0000000..8a0dadc --- /dev/null +++ b/libsys/build/stub.asm.d @@ -0,0 +1,2 @@ +build/stub.asm.o : stub.asm + diff --git a/libsys/build/stub.asm.o b/libsys/build/stub.asm.o new file mode 100644 index 0000000000000000000000000000000000000000..4641a8c78c54c5420ce5076c393aefa94a4a98c4 GIT binary patch literal 576 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 SvY7towoAr?ny7N8{{I5LQ)jsV literal 0 HcmV?d00001 diff --git a/user/app1/build/app.img b/user/app1/build/app.img new file mode 100755 index 0000000000000000000000000000000000000000..03c3e8035f9340b41f2c8e2d188787c478851a73 GIT binary patch literal 466 zcmey&FZU~SFM|LBORz`dTM+GW@GrAR^Ba!VwG8|AFo3{+k-K0; z&4(F1EMJ#?0Bc3k3DhM6(S=?8i`zg$uxJv8T7_=DtKmsk!vlsV4KEpf+s_Hq`=Sd- zy#5Ds&u5_f4ya{wI-3{Z&|7ykeMzbgXBJMN;wRgzj<(tN-mtusW0ufs)!k6*q4D8t~< z8=}IslMTq)#|R`mj~@hT`tN!C0EpTT5_-`IWWkNUwC@Eo1H*nGW_VEmlz6=l0E4@! ASpWb4 literal 0 HcmV?d00001 diff --git a/user/app1/build/appl.d b/user/app1/build/appl.d new file mode 100644 index 0000000..1041d02 --- /dev/null +++ b/user/app1/build/appl.d @@ -0,0 +1,2 @@ +build/appl.o: appl.cc ../../libsys/../libsys/stub.h \ + ../../libsys/../libsys/types.h diff --git a/user/app1/build/appl.o b/user/app1/build/appl.o new file mode 100644 index 0000000000000000000000000000000000000000..2feb8f43ea66acc2c45237a70c9a244fdb841e62 GIT binary patch literal 7792 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 literal 0 HcmV?d00001 diff --git a/user/app2/build/app b/user/app2/build/app new file mode 100755 index 0000000000000000000000000000000000000000..ad16117fba58b9dd5fad9f400fe7e70b35dc1a76 GIT binary patch literal 17192 zcmeHOe{5UFeZPCud!$5Jq(sS*ZP}(1+p#T^5@k!a8_SjyF*divmMtm%F=PxyK1ysT zk|U{D4!X%re`L;9pzW{*SkNU)+6@TW?vD*y?5(MTtjUUINYJflu^?H1E?7_}Yq|{G z)@;*0-@A8@kIzi%V%t9j59ZzXKKJ>4@9ukd?|XcrSL1ixsd3I!(%2DZ)mjJ}w;J9$ zY6${6$UJCS$Jzx~r>3CYF7!|ns5Dix1lK?qxVL0Lt+fDH>)rP4d~W;Nrr+HR(( z4eMsuO-|DTO%F6Z(DXpl15FP!J<#+((*sQpG(FJtK+^-im>zg9u;r(7UuR*~GIRXn z?@)RCx&QJU|HRwAPrXyUgxneF-Gm~x?BHe*KK!v_HQmdUvmyzMfRu9lK*6XSLo%)ReG!OEWPqby!hN2 zQsTvHRD6S=x2{0C{yj*|)bv2p15FP!J<#+((*sQpG(FJtK+^+F4>Uc{^uYg@2kuXm zN_qCz_%pjEy72MM_)^-^gY2?LAmY#QBi#D)JRmKM22ZQ^2xLzLSqt~QO!)T*Z}Z+m zc${#}`_F{`lyJYdK={3cw|GMY5ujZrwB7q#R6IzHK5r`;wK)RTN&NGWwO2?b;Qdp= zpOVB5B5otR)B6(Pe?d4mzK=rtKH**7e+fLP!eWIV77vKIIw$ezFp$Xfyjf#?DH5s49qK=uZ{3fUKU0Y+N`^h1<3 z{PZP(7W#CucHc>qT_O6l4EG19Kh8s^sAyNU7{|o1C27ap1(nEXkEv9`G1gf%*7Ozk6j$lNi zG^$-NE=Kf(Rd!=gWN)+JeHolD5^pyRR&g{X{F$Z1x3*=`zDL!+gb57rIeut>&+?%G zeu}cwl%1vQ93NtAFQzPdrp?PDNo3mOfG0{zOw0L()%-)Nq}BREbTW7ijeL#`-AW|r zhOI5U!zzh5I3h{xag-V!;W(!J4Sc{F6MP$uw=G;=GI9VX&{BsxQx!0!OALfH%G#1YCw)edE^i^f_g6ZKjs`-yCJ zgffB9V_Su?4s_KZlnGdc1{KP7y0}&-6R_f{P&P(g+o6nZ7JSVPWlOSJ3uQPT)Gm_> zWfW{}P=&ISt}$4lOu%XkDwKV#&VUul4k!b5C=&>D?NIjj^b~0Ki9PXmkX0xf!v?oP z8Ev8et5Bwb4DAM9Kp&mg(P<}j(I{hGGRXKk5!P|oaBH;67O06Z5gNzYr_8KKXR z+}1{?tot;8`_u_m!owDTDfgs7$ihqppPm9LzYXCLsyv9wRS3^e<o+)G@LA5T9QglN#} zg3xc93&NGgUk_o}0gQr%v+fXAgXE}ov~Z7asr`tbTIJYrmD+{D^`rkF=ZO%}I=5l! zT|LM`PRmEz54U3%METKnWi$~w+)f%jx|sd?D66#*xz|a4cw9JdyzS9Rq12}{k573} zYs2aRuw6>PMw$nf#$_e!r#}0g>bRx2NJQDf`NCpaSwmPs5ExL2;}`r3l^ zIu@)?9l;ITaG(aUP#dH62~LFM#>AbrwnuOdc4BqxgolPm8oS_AGR!C}sAT%SMhUz= zCDV5*O2EQGsLR${wQ;ND?4G)IQNfi~BwT4lYDl7ZP3Z}dV{6@LiGmqEOm%vTMb+5Q z<4QhYtIsI$b_?>b3V&Qx#%nxFvJ2IX8unSMg}PDlLQP$X_gj$YMpbH4p0VxQs&Y1J z;-9f_>PE?r+T0l>K4w9p8&!Ft#ytOq}^JQ*$?G3g4v$JhyUP59;d--a;eu{3`ajzUc{_8wovbTorvC4+c8{ z1octl>k<$(uW>~;-utmW{2su4$MidmE45a9_u~AM@TJC%BX_NeV_BRFB;Lq=_zLx5 zh16zPuWSFJd*B%@h^g%H^l{x2)VmC>-4>9u$#P9Y-^uft)bs;v=G;v3mlJp0#b)An zC(leIX4%Y4;(R=L_rzJ2sT7losX``ivSgArN-|Y0r!FSVLIyyoY&x(?HC3*%WxP7Y zYoKJ6VRI$Tm0Xo2PR#BbPTrk3p$tPxCetgaWU49%q%*o7Ds!O5Mn%t%012hL;_+!Q z%46}_X}qgDb2>2_XEPTo=~O;1Mx8i;Q7;!NxrKt638xoRWtKc&NG%D2WCl~IEEdbv zuuY;jyy#T=|)jsXVv~l}NFWzX+_lTrkH(LoSVKs+?XNTRAuy zA-fCsm${HCXCvt8G9#rT{9u+Pu?p*ve6d)HWO9{iIXAyt1tV1jfows9 z&e&3}0BOOjk>Sz7$(hOF!DHp+QprpX4ecAm zVwT0O78}>z)?~IqW594}*f>P!=X@rQ^Ig|n?U3R~3JM+pOBQvBd~{Hphm$kO6BBpG zYpyDo7hvgz<4z}*4mU|I!@Qw{&hz1ER0Etk#Y1G#c_IhC(b?u6a!8B8x_l6cvXWf#ghoFY3+{hZr*5PxtSW@N}Lmx{QM ze0ZX(Rtx*_nwv#G1#X0QeE_}*co(iZZ&()_d@U7e8}cCC^1|}MW5H|~0`bGvrB;3U zp}SlV__&2D{-njfX4zMKdf7;JhFo^;weVLgKHj^C^ikxE#`EjI$&L#9>Q4EPg`-Ja z*i^stXVpe_e(wWtdOb<@-*x%tg0gSn>PsE{t)-Fu7e4@h&9W18jnlr5+WSe|N>dej zO3`zr?s+CIBJw$Bhj4kfsC&@JM17niE3d6d<%EEko8J5iNI%f(Epnqtw6IlsJs=We#BM6&;XziM@T-J^3x`gE>DQvcsS zEUON?s$G<%LuofYN)~{X8DS|D)td+lcXLO8yD_3J4@iY4N2`}aw$`($C~ZZ179+!&ERX6aAcno@9c>9v9zBj!t%{ucVm=SXfY zJqHN0rfV~QNRCB%)U|+0-&wl45PH8!UssX--6GO5(o(2z+G8|AFo3{+k-K0; z&4(F1EMJ#?0Bc3k3DhM6(S=?8i`zg$uxJv8T7_=DtKmsk!vlsV4KEpf+s_Hq`=Sd- zy#5Ds&u5_f4rE*fF-ue348Rh3qy{hgX5q{nAkq4{ zXV~`lv2;!q9?M$wd5~k4P_5V3HEY<~0iic%7cO7_`$?O2PDJY)PE_mK_1yIQ7oOJl zU;kK_AzM9l;f>^iB=@%X`0L4&hKxJ!B52wB&Nv``(a(ZizQd~59p2}4nrEJ%JTw25 zQLe%9(cc@qvdZN&pKMO6y^)tv)!}#Nu~NL}XlDEI<;Lp{Z(owx{>$ej3)K5uq=$f&AsPfksB@0IlM;L9mT8#grd z3vM~=aIoER@B9&SawJ7-audBu`sECdIqn=(>1#4KC&6=_ZH!ah+j**isy$yd&AO#- z)qfCS-SKlyQs43)PBz8Av|pmHx8lZeuV)7B21y4iiZ7kJu!9|~Hu}P8Puu)(?zG)} z)AUP{1EnUV^QIkZ`ANL@u1cDBbJHA-^6}coJsoT>n7|azS3Zbq z4lceVeX{RzZhdai((x7hm+h1ooNa9?vOipr+O~Xb!und<@+qou@;?&3-)lKd|A_DcaYh@F@>JFqT*?P@tX!N1P?kflF2$R$f}^)O>2 zyLC*i{Y;C(j#5OUv1jP5as7W2P-_VG72iMEffj21o+l zeU@EZoaKMxLH4a@ruv%`c4V|4Fgg$wSzbE1IqrP%qET&^b{%Z5?>=Tz{+na%9^V|> zu(&Ptd2PuX-tYG5k$%5U;&ZF|jO^#k+xB;5{{dHmx3YQ)x0v;CUYVWfyrbA?eZ80O z(jzPU>q={E%3fS)A6)(xH6)aGM;% z%M*=v3HOM@o8J6;yD@W+t8dr&*u9VELfMIV7e%3=p<;$*q8}D|CdHm%OamDisJg6{ zp&mBlhdx=X*CyT2r)HomKHnMrMMa7gNs13Grt>)AOC&g;LK!FKN8k}DlVnmwXOrRD zFh*?Ljf*vx{glgL*m`U;JvMhJ$A-n_m~k!iS?ockdMqwmpA*hvvr*Rf_ciR3^Cd3m zN=&nh<@4Q-=i~~eAD`f$&fF34r!Y0*?m)S{!G5Rsu#xkwmK4n2Qk3sIMz&FLw(@)5 zvNK23cum&LXO|UEo)l0saLv}j7|#{uKWtQXNr3%^^ zuF7(8p6U>hVjn!kQ`K~JaK}|!ff&C`z~7cQ6qQ*UOHynGdU($l7HTS#CtL3KJTOQ_#vJ+197#q7Ya^IIl>WTuNduJK3$K)g ztUaNw%WW7IBHQ56Jz!0+)o6F~-g>4Pk={nTYb391^e0^Q>``ZsHkmm)hwCy=z3)+v zS>bt==7%DWQ?#*Q7~ICz{iMj0FH=<30D z0M_`>B2{NZb2_LYgD&;%#{F9qk(W1hUzCE;jB z_h}DDGg@8T;8TbQhcW7cck6uMT;V1 z7<6ofNJLRlj5S2Y@!lUxsO=6MuU~g`y}{pmP|*jD^>|H5F@^@_cs9t0%_-grNvtTo z2R2MEEv`M=!?m~}v~lI8#c^I9#POy0c*yHd@dD7#rnnOHVv1h_eH_I*K)-tGjBymJ;9 zrkvtjh*L-L65ve~UkRLiVI=e18@Mslgm=deEGo7Xe+6-eP@EirBPbpT_9TigCG$z~ zK9Dz=;ynOBhcR#l69PMe*sNCod>6Z*HK|hkn982iut9 zrl7Z=xB$2f#f4xyP`n22YXHT+0DCCK2SI!nidO>nq__&=`%pX&^fHS70XzXXc88{B zUoD|HdGD;$ibLKJ*da@cB;6kh>cO>uHAw^F_f87BtF?c^C&%;AF|H0KC=t`7A>wlWn}&7I7hVfcz#G;vYxd5b{Bdw zfB61k=`>1meh3Z=ZWjvy_iG*QX$ z!$e9E!xt+Q3|}6L4XkwKyCPE>CE{ZdA|kmmP6jAUDvp~Q5*ZU7i@Y^$kytF3#(&fu z6)XA37Rg01bEP;5j@s#_14Tu~NJ&&Q4u&s@jgCe?br^n3tWwHHKV62S!ARzVJvSzf zFO$d0q;h2vgqB8xgv&+IQkancv%>$cz;jL3m4p+J232FNcIk@@daZE30DtHxwErNa z!F%DOHAS`nUAhYG&qE^2$oFsJBY*~dU&No(ScluR&JX;_z6A4=-!vmp2YwC&L;$q_ zA7-eK^TYOb#C4575Pq<2g8X>A_{<^xWc;a! z>B?^ghm$kv*Dl1Lutlh$E5F*JQ=z?n__rnTC;2xZMop2%(FgK7YOD_*v^EQM>B?{O zS*MS7e*9~l&c7EiIwtlEf&8nmp;c(@PSmF>zaQi$_lawK#?$!^B8FqSkPg(wMGg7I zUF=^nj%uXU_+uxn;t%`QU5nu+@gwyaEv7A91pe9#w}~I&S5N~>sbMlH;2%hYP*bmG1cXt2;+ZE9HFM?{~se3?Y#g1 literal 0 HcmV?d00001