From 7c94d21e311f25a0a348b679fefa22647df4adb1 Mon Sep 17 00:00:00 2001 From: SpookyDervish Date: Wed, 28 Jan 2026 17:46:17 +1100 Subject: [PATCH] i fixed your code bro :/ --- OVMFbin/OVMF_VARS-pure-efi.fd | Bin 131072 -> 131072 bytes kernel/bin/CustomOS.img | Bin 48000000 -> 48000000 bytes kernel/bin/kernel.elf | Bin 10976 -> 11816 bytes kernel/lib/Bitmap.o | Bin 0 -> 1568 bytes kernel/lib/PageFrameAllocator.o | Bin 0 -> 2168 bytes kernel/lib/kernel.o | Bin 2264 -> 1656 bytes kernel/lib/memory.o | Bin 0 -> 1680 bytes kernel/src/Bitmap.cpp | 2 +- kernel/src/Bitmap.h | 2 +- kernel/src/PageFrameAllocator.cpp | 20 ++++++++++---------- kernel/src/PageFrameAllocator.h | 7 ++++--- 11 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 kernel/lib/Bitmap.o create mode 100644 kernel/lib/PageFrameAllocator.o create mode 100644 kernel/lib/memory.o diff --git a/OVMFbin/OVMF_VARS-pure-efi.fd b/OVMFbin/OVMF_VARS-pure-efi.fd index e260ef4753a569751433d537e231ccb47fc28e04..e326b2059e1ec050b0e9e0dda1b969f132f01176 100644 GIT binary patch delta 45 zcmV+|0Mh?}fCzwq2(UJelYTlvvv`iq3A2tw^oSUtd9rN65u<8qM(}!gr7zF?e01x>9 diff --git a/kernel/bin/CustomOS.img b/kernel/bin/CustomOS.img index d0ba7dd01b0a49e9354a5920225c2d801a008579..5aed5b1588e166d6bd24013e8d7b0986fab72eb0 100644 GIT binary patch delta 6175 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 DPjADM literal 0 HcmV?d00001 diff --git a/kernel/lib/PageFrameAllocator.o b/kernel/lib/PageFrameAllocator.o new file mode 100644 index 0000000000000000000000000000000000000000..43229dfe5e3c08662ca93dc729e34926a0c63e36 GIT binary patch literal 2168 zcmbtUPiPZe5T9+;R;{+m2P%392%_M(BoU>b|A=3|*S?C;m>N+*>b8AqG24XAMp{9> zL-d0sAU%5Q(VLz`#6wjuibZ-19zKE~6!cI}7A)w@?wfR7qZbDrGxMAI&Aj*K?fxrH z^tTxXuo!R@Ry;-ldRMR5Dc?-N2IzvE^xn(L$4k@s8Rk&ifXuFsMZD7n2#xpb`{vQ}4F>YkRnCvmOcXf15WAYBfXpyWV^0AFQ z|F!jPSku1Rz!X1r*pC97CC%}+(-i)xP^ne$>1(Tm_U0~EqFd42&yMBopWlr$zcy_WbZaVyG`Wm^pJQYui{Pv2Q@RLGBRN{bg?JhH=`}-{Y>0t?bNo zIwQ*VK;gRrSc7Z%Yan|f_!o`8);PUEng!>-4du6oaQ^jB{@M^8Lz{&9(qc(zgK?e< zn58M(wMJ08PN1){<*2-6x@yt|bIfurFh@!yFh>ivttJqgD7ebRZ|BdFYmHvh{*{Tc zS#%0T<+xK|`W4jG;mb5|-pX(37_#Y2(w&ASrJYOsV6`8<1A=HSbZ04CVTlolG8rgX zhnh<9cfsGoE{)SH!ZH)-%dsfD7XwuDXZ&qU)SCM`}4nu!`z?sK@70X zIi#Po0$b!BN2~)^^j>E*Kf15z{zr7pD1TA&&tW_)QT{~?wwm8vJwNVG^CK?vd4AL; v+8ZH|8eAj?Wj!vMQIt>LT6A^@L9YhikrR^WwQj;#EB;Hp|9pr`W|aR8fCE%9 literal 0 HcmV?d00001 diff --git a/kernel/lib/kernel.o b/kernel/lib/kernel.o index 494a35972f02e8967d02104d252941b3ec8eebfe..b335d422b6068255f0cd66434410444f5ec8557d 100644 GIT binary patch delta 619 zcmZ8dJ4gdT5Z(Lb)_4(PB5JUR5H%9iyZ9y5X$&qRVv|x)iJwB77)!Abgd+-pX;Rq< zb|N-nA%cYw#L6P27J`MfrgZjhPsD*`X6JqG?bX8#qmn$BRLF1H?qrh?F-V>{@0F!{ z-q_)%&7A#OftA(XByyOOYgl)zoU5_&BK10DC%ISVJTvFvgWGspyOWjk$STHf+~xNd zYU>pQ8wHj^Hxt(-%~d?!a|$7|*=#1BoL$Hd#I3QR^pF)#o9S`WGDkQH7t&taHlL=F12cm+WU3`klAJarrO>DNs HzcPLRjg)I+ literal 2264 zcmbtU-%Aux6h5!j#b&=Jn0tR=lzH{X+mXXuV?!@7&sbny zq9M=?Y|bb%_Y-rMzfzh2jT~m)FtVxRp8!KdeE8)g@VdgG+#tKWXazJIx zFWxcb1M=4pTJyjyvANdw6v*cMrkU3oqN;B{M`3&MyBhJ}#-CUW)?s z_Vip(+k4}~CsqBd)~V@gXGiC`4!xrb>M^B?i+&jrAOuQ@FflVlvRlzdqTEY@G96ah z8uv8JBl!qov`F^QcI80$QK+YBcN7U|lJ64XD7}#HRzc<8=;R@rDWe|Z{cy8zO^&zhOk#3YbyJ7C_5>s`@QaUz|x@}rh***&_E(Dj&|%2^|KGa1WHbSDO5x)~dY z4}lTuGy9GHf#gkd=w`w&2Zxe<@!r82Y0f6>iM(UnNnA^#x7#UTK}5!KTQj0Jup8Ge zdgLh2@k|oJMRz6eR|KLEpXMy^Hw2;(zYdqc{Vx!0ng1Cv62kZ568sGUQDnY&5F-EY zpv}!Nf4DNARpI0l`Bh4eLV0KjiSUEK#rpuQIFoZyBd8ra(BtA{Tazixv8El+MpI4- zw2@*FG`kQO=|V1N<$#_JeMIjd)kW~IJ-FLM2E9^XMhRq})r#ebi0iFl!-=n!YYA^oxzSc98HjNYK! zzlfLn68DcGzTCl`O3CqMUjIfwtL$<-y~0}ae@P&Us892!?^nc&`PZsVap!qM;{DM7 kG^Lc|DW^PpgrJ>+Psykf`C1R6uU34S_wQ82(ov580}qK@s{jB1 diff --git a/kernel/lib/memory.o b/kernel/lib/memory.o new file mode 100644 index 0000000000000000000000000000000000000000..f775d83a6a4fdf2b9fe2b59e7be3f2d421d4772c GIT binary patch literal 1680 zcmbtU&ubG=5PqA~)@rKp$DvTcoJ2t%*_4V@k!XC)s~Q_pgIXwI6IUyCld!wRq@W%| zVacUO{|nDvBefZ)!R4jb^d z{OCK@)Y=|w{?BYePT*{i7$~mH@7+L7BM746_XGGZyt)tG+6PZXaGVheb=sC|R0(xlJFsig zv(0sbx@OBI^r7JzgjOAg&|1T?%sOE8hHFyTnG23<)Sim?aead}?MBnI-8P|q2Xn3R z$Tlo99Qi*^3dp!K<4TjPh{O98vD{->J_8Q!cUA(z7R5`E@9z-c$d!9EE$Yq)Jo35w znGYhb8g>48D8Qa7zblAxo(RMFGSB}0l-=jgqS8H!V zZUS^@ham2QqNwLmpQj2n*i+>v#h^>rBqAz*6>_8Q@2hAi?+Nb@xsosOQL}Lz7xT9; p067eb|A{Jp5-|1d03toXe}+Ls1RNsAz#GNyi}SCCm4T!3{{RG?#S;Jk literal 0 HcmV?d00001 diff --git a/kernel/src/Bitmap.cpp b/kernel/src/Bitmap.cpp index 2f5daaa..2165f2f 100644 --- a/kernel/src/Bitmap.cpp +++ b/kernel/src/Bitmap.cpp @@ -8,7 +8,7 @@ bool Bitmap::operator[](uint64_t index){ return true; } return false; -}; +} void Bitmap::Set(uint64_t index, bool value){ diff --git a/kernel/src/Bitmap.h b/kernel/src/Bitmap.h index eb14c36..fc5512b 100644 --- a/kernel/src/Bitmap.h +++ b/kernel/src/Bitmap.h @@ -2,7 +2,7 @@ #include #include -class Bitmap{ +class Bitmap { public: size_t Size; uint8_t* Buffer; diff --git a/kernel/src/PageFrameAllocator.cpp b/kernel/src/PageFrameAllocator.cpp index cfef239..83adc6c 100644 --- a/kernel/src/PageFrameAllocator.cpp +++ b/kernel/src/PageFrameAllocator.cpp @@ -13,32 +13,32 @@ void PageFrameAllocator::ReadEFIMemoryMap(EFI_MEMORY_DESCRIPTOR* mMap, size_t mM uint64_t mMapEntries = mMapSize / mMapDescSize; void* largestFreeMemSeg = NULL; - size_t largestFreeMemSegSize = 0 + size_t largestFreeMemSegSize = 0; - for (int i = 0; i < mMapEntries; i++){ + for (int i = 0; i < mMapEntries; i++) { EFI_MEMORY_DESCRIPTOR* desc = (EFI_MEMORY_DESCRIPTOR*)((uint64_t)mMap + (i * mMapDescSize)); - if (desc->type == 7){ - if (desc -> numPages * 4096 > largestFreeMemSegSize); { + if (desc->type == 7) { + if (desc -> numPages * 4096 > largestFreeMemSegSize) { largestFreeMemSeg = desc-> physAddr; largestFreeMemSegSize = desc -> numPages * 4096; } } } - uint64_t memorySize = GetMemorySize(mMap, mMapEntries, mMapDescSize) + uint64_t memorySize = GetMemorySize(mMap, mMapEntries, mMapDescSize); freeMemory = memorySize; - uint64_t bitmap = memorySize / 4096 / 8 + 1 + uint64_t bitmapSize = memorySize / 4096 / 8 + 1; - InitBitmap(bitmapSize, largestFreeMemSeg) + InitBitmap(bitmapSize, largestFreeMemSeg); //lock pages of bitmap //reserve pages of unsable/reserverd memory } -void PageFrameAllocator::InitBitmap(size_t bitmap, void* bufferAddress){ +void PageFrameAllocator::InitBitmap(size_t bitmapSize, void* bufferAddress){ PageBitmap.Size = bitmapSize; - PageBitmap.Buffter = (uint8_t*)bufferAddress; + PageBitmap.Buffer = (uint8_t*)bufferAddress; for (int i = 0; i < bitmapSize; i++){ - *(uint8_t)(PageBitmap.Buffer + t) = 0; + *(uint8_t*)(PageBitmap.Buffer + i) = 0; } } \ No newline at end of file diff --git a/kernel/src/PageFrameAllocator.h b/kernel/src/PageFrameAllocator.h index efe5110..634fe33 100644 --- a/kernel/src/PageFrameAllocator.h +++ b/kernel/src/PageFrameAllocator.h @@ -5,10 +5,11 @@ #include "Bitmap.h" #include "memory.h" -class pageFrameAllocator { +class PageFrameAllocator { public: void ReadEFIMemoryMap(EFI_MEMORY_DESCRIPTOR* mMap, size_t mMapSize, size_t mMapDescSize); + Bitmap PageBitmap; private: - void InitBitmap(size_t bitmap, void* bufferAddress); -} \ No newline at end of file + void InitBitmap(size_t bitmapSize, void* bufferAddress); +}; \ No newline at end of file