From f34d5029dff0e23d8175b9728729d7e83a453a3b Mon Sep 17 00:00:00 2001 From: pjht Date: Sun, 5 May 2019 13:30:01 -0500 Subject: [PATCH] Add createTaskCr3 --- cpu/i386/isr.c | 2 ++ cpu/tasking.h | 1 + initrd/init | Bin 18316 -> 18080 bytes libc/tasking.c | 7 +++++++ libc/tasking.h | 1 + 5 files changed, 11 insertions(+) diff --git a/cpu/i386/isr.c b/cpu/i386/isr.c index 5cbc1a5..346c48c 100644 --- a/cpu/i386/isr.c +++ b/cpu/i386/isr.c @@ -185,6 +185,8 @@ void isr_handler(registers_t r) { tasking_send_msg(r.ebx,(void*)r.ecx,r.edx); } else if (r.eax==8) { r.ebx=(uint32_t)paging_new_address_space(); + } else if (r.eax==9) { + tasking_createTaskCr3((void*)r.ebx,(void*)r.ecx); } break; } diff --git a/cpu/tasking.h b/cpu/tasking.h index a0c9f80..d917d46 100644 --- a/cpu/tasking.h +++ b/cpu/tasking.h @@ -6,6 +6,7 @@ void tasking_init(); void tasking_yield(); Task* tasking_createTask(void* eip); +Task* tasking_createTaskCr3(void* eip,void* cr3); char isPrivleged(uint32_t pid); void tasking_send_msg(uint32_t pid,void* msg,uint32_t size); void* tasking_get_msg(uint32_t* sender); diff --git a/initrd/init b/initrd/init index 49ef7a777c53f1ca71e2e08e04e68d3fe60c44b1..5c0354b9e8c6b5d79ec765c736d739483b3716a0 100755 GIT binary patch delta 4954 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 delta 5141 zcmZu#3vg8B75?wtdw1_mQW6TbMbQj z#_#Mn-sRV%_oYE;sMCL|UG7^3!SM@9`%vE!Q0;%RpXl-#7W`wWCW8!1{I|A#7V+Qi zs}|t)*3&)1Czf`6-f}Ggj(L^bP__UPs@*BI_AW&Z-GWDhkQ8J0lk+aWv!5Jy`91yB z1N=+*aL{znNA?x{^uC(yKDO{imyhT^l0W=N?Z~@#B9WH&oB~($6SvDpZ;@fiP{4Oe z{Xeb@CnEl#K-{Q~8E=rWi2o)gBofd@eukOG443$Cy0_OxB9Sp6U|tc#XCerXSp_}1 zw!x-S5mvPk*4?7!0h*Fu!(w)B1{ zD;{d{cKHk;pQ9D#5`9V~O{#7mK}0cL5Va%cZ&Rt1jv@HsuW76NWBoGsu|XtL8wuPT z*^9mNaMa=H@{v- zMe6{MapWu{1GL%k3uyH*(p|d0WFugj<*T=T7;=vYxsS9e`kPPl9gbW%t%twusFRxq zxW{=;Zay9U(pfDLERMe7WHpOwmZUxQU}Y4G;w|ocwe0Iiy?4JmzuR;swc z?~hBd-UL~GgD(e}fVDc~27fVbf;|aJWq`SSeN3WS2daj5fZ7V`34Rb%FQ}jMVNgdw z{eoWsbq>@?A-xSs;ge$%)g){x0bT>D4Ae}%J~q)>2WtMm_y;i))U6Q+z}`9UwdfJ)}W-bqF8 zgKGOO5}5-fRvE3e$yF{jc+yFpD7_JUUx$40Sh+l(^SIpL7sN9j(v{gblnDlSeu6Ff zprG`ZF26A!-(e~g zcA^c$k)V6g5jnDsk)vhc;2?Pni^DVA^h-o0;S=Fl~E|w=qkS(_4tKR0|yh zj#b2Q85}wgT(=>V7Fn;gD%t`Xpf|d_kdz9nZm|9)ShK)zKOnf7M9U%O@j)sIwVp|Z z?n-!(L-n5YR=#CImR#Dx_fN=@hWW_}4@_)Dhxmmb>KaccU>P7q>l4w+p(YRKxrwQA z>UKUqF+Vd3-V_#wwoxr=urq*WGreX(wU!1afh~D$eel-UrfAd|QZFIvn#P$-in9|f zhZ>ko(eA)pa#|mU-gu$+3Ep-$d2puFqCisiTS6&cH&a;D5MhfLfQC*NhPsg@c`<)! zVtnR{=t6~UfgdB*KO3>4u|;1$s_^u*B`LCIdz(g4Y*aOMISsr%ZXeN>I_#QBzU70& zd&W(jr&{O$&^n0|u*FJ@E$UFT%aBODgzTbe0~5#|fk&+sic@r`IGQ$YVA2bA(!{K& z+j(=6FSmqr>RqqExnhl*}pKh<#N`i}oDDMdch&i|g2Yd=C(E3Et4d2Di# z{nvyZvL4yVA4#4peap8dPqBxHS7OcC$qyyppL~hXEc*i@um+|L5Y7`R4DaBUlzEAd z5+_@5T6QSfJP}7Mm{E=Vsgx_7lfiN^X$~A!A6pM9D4o@u1}4*bD&paV#qOC4y~xTPm`imIHLKY5v1NNn9``r zLJ~(#slb~AoJ=A)q}c1%J_oy5x+_innxr;!JT*p)uNk=BwZDyDOwCN{p;pnC{{Tp8 zXmfMB!_(3>7gmBRMcL0G3TAzofWx^7v|_apa0;MV!vtIcIISD`hiOT2yuz=gB~B|K zNv!u<*r*md`5jY;v<8PC3G~%n0F^x z<+!viMXN^|QtuTiRfgbZ>0>g-9qQA`W{vg0r-^=(Lr>{(=NZzK(ckkwX2uuZBo7&` zL7c+X7+310Y-2>q85xu^&Fm@in=xG?8sBr*GAZpI%cQ(f z%Z99!pqr-N=c0np0`ZG+^)Y?-TKYyUX|!=h@D1+O>zlA;7_eUN+yqT8@dm~Y!llBl zVjN>Z=7XdKNwq(n2>r2S)L1^we4|4W8El=ctv)ytD4j$ z+W?q>J^Y#Mq_{=Ik!@>*S`)*)u3Y7dax?e`6PFiAUTowA%o1JdnB^#O)Oh6tY&>9S zV;K%fs)3?2oz-~nbHKQaFP`cQzcA@r3B+z*JgFqyH2F1I`i!5S`qq?q)vc{lT>&*Z zpjrZQhF7)UR6U@VY4f#o)qZ0X@cq-ea5V`}%hMzrz2Tz!@+3aHXs2A<#!nUH*nWjs zwXi1s*0ea@Jbj(KyDj{W>4zX*^kXF-F2uF~B>^-xT*B%qD*SD=ZIR zy8W1#{#rnH9}{-~)7{6!KJ-4_eM~$Ha=Q7LcrGyAdrZ6#nC@U=hA<+osxlkqM`ovD zQR$DuzKJ{!l76_EW-kKM32ovoVDnIw;pSD{RJ_TaE|9bzvm8CG1B9^~oA!r+%~mJ- zlZ*wKxpIhc77FGXBzzIrTMGF}YS_xB$#Q+NH0X8oOq`wc?{2@TN7nm;b zW&j6)KLk!S`~}|uBhogS@iE}g7==Fo({?e(FgOc5Hh@ooTQSFGK<9xE!9K;%zY4q$ z7qMak{}b4}b0feXF$-475oCDYQ1Ae+z!YQ~cm@p4z=4V5AvZ7Elwmrsc`qhB6Bx(- z8n;Ww&eS>Ea9Z_Z7z(h}7?{OsHeE3M8f5C0Bi1?pPi;~D;ma*mHb zginc&H~J^4p#b5Dfs!vQ}Y$-np>d-XCrt<6lO!-_fkDWJBo<5tG;