From d232d245f499053d7c37d415ef7bbfd27bdecad9 Mon Sep 17 00:00:00 2001 From: Volker Ruppert Date: Mon, 24 Oct 2005 11:14:37 +0000 Subject: [PATCH] - APM function 0x10 (get capabilities) implemented - stubs for APM functions 0x08 and 0x0f added - rebuild bios images if apmbios.S is modified --- bochs/bios/BIOS-bochs-2-processors | Bin 65536 -> 65536 bytes bochs/bios/BIOS-bochs-4-processors | Bin 65536 -> 65536 bytes bochs/bios/BIOS-bochs-8-processors | Bin 65536 -> 65536 bytes bochs/bios/BIOS-bochs-latest | Bin 65536 -> 65536 bytes bochs/bios/Makefile.in | 8 ++++---- bochs/bios/apmbios.S | 31 +++++++++++++++++++++++++++-- 6 files changed, 33 insertions(+), 6 deletions(-) diff --git a/bochs/bios/BIOS-bochs-2-processors b/bochs/bios/BIOS-bochs-2-processors index 31e67186fb14bea2c7e804dbc0b6160c0017db08..c9693c6db22a918738cb3449bf6873acea89844e 100644 GIT binary patch delta 656 zcma)(PiPZC6vp4oZcN&QCPqc1Py}=7L6cOAB2)Zx5yXoDFZEDC7{!xdMl40LwP4A4 zQ3|`O6fYtks#`JLO415~f`@wZCKbe4=CXod(rBkMNo|fghc|rRn+Lz|jb)jZWiFg` zDzWe(0FXE<(U~?X$HG}9=}gNg52%XE2UJDn9J{qa1E|tk&f#-X%Aev-scRf|_^dL< z#l>x7)Zw=~#%YpZSezvNEc+Vy@|E>M(m+aD2M{@uWagqJ1`m<}wrdeBV38$h^*lu~ zEad}T08BZz!hPro*3TAX?HY?(zqcj*AOjnRfYo zEyp@A#}!QGFN|W*D2KLDhIUAHcSw?oq(A0^Cb{OGue<|-m=V^2V3u9p@75ryM{)_G zMkK?hKnymhEV?}AfSQS@YDO~XwyQu)HT%yf4VPc)MS1V?b30M4R%>f6KkOP^PX3qF!uFBhvysXy}XM1APvBCUsnjQ<~ETzohm z?&4+|{t6wn$G#}yDn;@D$S@92|1Ogu9HPy;FpDH0cG)WM;a5n$)D91g!V6;%Gy=B_ z|2BPE)%e^GE;bFDOqlkIi%*IqWUO9)bFpCR9nEdM;A-qu>P<~;GE{3N^Q31RU`Tz% zEr1aX@1O7-DCJA)8z>!=R51;(k9Ju>yCWsvU_ZUyZXqL{UD_>X#N#V=pEF|kI=dEa z7pULFE*BFOyHcF20MH7|n|d%X#q1UUVAeXaBgnIzQ~Mn>|Lh7wu-mGxVYuoHtsmaA zUT=)=97lpE8h7r0pKH32^V}IEc09{1^tY{fZW#&gxxy!wbRvYQd88 zq7-&lDI$n?sBXn{D@iK|3Lbj&CKbe4=CXod(rBkMNo|fghc|rRn+Lz|jb)jZWzL^= z%CYbv0FXE<(&-i|#ljgS>2%X5^{I+W`&31x9J{$r1E|ny&f&9C%Aev-v11%`_>3~f z#n_fH;_zE-<0MHiERK_2mVJYK`PzCZX&@!70f-z)GIPNa{rgED+p&P=vB;9NdY&Q~ zmhyov0@!bz6J;a3r|C{9ICfiOr8L!U4K={7tt+PLhQps|AX?Na?(zqcj*D|0nRfYo zEl1lhM-@!wFN|W*CtTq&Mb+Cb{aKEx!kXm=V^1V3u9l>sBGEMRF0M zdL+YVKn&KeEV?x6fSQS@YDO~Xv@1YNHT%yfb(df0M)~0KGuu(FRH~~kKlXoFx?AmL zQCn3}1bB_Gr|C6Av#EYsor%N46RTbt09~@Dygbf4@?UsUNZ*5xEsSp1&*un={O@xg z2VZ?UpTa{0f9&(+o=7k*ZB21pY`v4 eZS6r9{X30cG4#%78x~3q74pMJ@`Vxj{d5zzfG;`# delta 564 zcmZo@U}FgJEU;zyqu2P}xjGO;&ZP@rfZP)+*Y5N!$ zUJKc9m$GbWc+F?SSIV`8aRbw9hP1gqCO@2QmBaKp8|Vf{kQ0(XF5m$^2WOrH+i1&Q;+njY%4F&R!)$uljqOz zQeMMg!&u7vaw&riQ>oDI@3VI>eAxHl|4xPv`#=1D+0S6ZTq-r0XRbv3>p~lrQo^ol zpYtLd;kpTPUU(w8ZpNG!R)k!~4|E+jBuwW1cp3F`?$4K@KN%PV7(gK2*eJeXE@3pSfCI;lCiU~#~vGyXhG29}!xZzOVZ z>^QKig6YMk1Cw_>)DvEKVAl_(7qbuSdcpi+Dv)G)(Lee3!+Lh-eJ`Z;zwp@H_~^GN fqw?n3AKzISi#C`3YhdIyu+%p)(Kj$<_)`P`ZzK^+ diff --git a/bochs/bios/BIOS-bochs-8-processors b/bochs/bios/BIOS-bochs-8-processors index bd7222e93aa30fd13259b85c7ca05cc3c390fc8d..0d206bd23bd87c74fbc1d1a7a5fa9a2941efb0a3 100644 GIT binary patch delta 656 zcma)(PiPZC6vp4oZcN&QCXI?np$O*EgC>m@MW*=YB8V3QUh1KOFp4L^j3`C2TCn82 zD23g%1TP{Us#7uDO415~f`=ZxNd_{sm)R6@P_Yu^WgWru`JWF%*8WK zB^Epa01{^|zSTLs~ooyTCAysjCzpAL5V>dUc4^>*vIbvQ)`6K*Y>KTU|F{g~F z@WQq+;fPyZ;}l6S9G)P9Ec+U9`O11BsV^mM0E9V`Wag3;jvOFEY}XQ6#9@}C)$)&eS9u2nF(YUI!7RJ7&#gn$h~zRv z%}54Mff#H=S#)L60W}j*)r_RyYgd7oYWAN|ny$FmkMiCXXLq7psn*wBas2+N3nj-3`Qp)hVFG>?{{YgBFBbp+ delta 564 zcmaiwze}4z9LDc15q~5`8(XLjA}GZUnqV6wa!cFA3W60xNC%s zcxfqIUSit1Ii$Xprf(s>tLPu#REUcgZfJ&r`C&cpnwGkG!*e{(^7-&(%+HuVf1jt2 zT*j?*nyfY;eMVMmzGO%zO7`l6$szi z@)p2|hQFWk0;m)#>Kmx+Ra7|*u#fgxLHlM(zQBHZwcT1q%>TFB$cTrR?A~X@#8q}( z+Ah$%iCrxxYIdzWR|B9Mn743eY=PNb0KmL;U`LQ=J7@MQX#V9aLvX;V=P=xK#y{-e zww`~S**VMxQ8e!4j;^)06+HJP5<8ydmPUJWo?AtNd#><_w>ptXTa8kx^+8ee?TJa} e&2i%f9CTKyr!8>Fq2~++qVdSs-AFVB&eR2qF%l^N diff --git a/bochs/bios/BIOS-bochs-latest b/bochs/bios/BIOS-bochs-latest index cde5f023e302952fafe395dd6b89f76344a9d32d..7a7ec209dcf84130a0d6ab672a4f21dfb11d1191 100644 GIT binary patch delta 652 zcma*jPiPZC6bA4&vm2w?(AKD6DHO$m)Ju~37a37cf(X)pmw1S$LGU7&5k(}c0o$Ax zMciGbc<~sWipf^e9P}o5l7e20r&;#06v3oX$C;!yN4>n|eX|3zgK&yRJPJ|0;rPZEM9#a#SC)Gsd8FpiX22i7oy{>pHrTiZKDhz}Du2@h(F`C~D zW?gY}5S$^~8IDep6wACpT)wtnN*YK>TL94vv6#7RM^pRA7~8gt>Nv`farJweOt3Tu z+5~Xw?&*pV-q*Ub3de41R$8leYt%Hmx}i*sbyqysAX?B{-xUufEk+lHtKo?UdObD3 z99Ni$zZhlFlmnZT=`G35fy7dhRDy$+T=vda-UC6*2wOlf%dA*l1L9UJn-H(YGJFBV zU{flhD|r{xotUb_SO&x68W2<6{bv>KiA$p@Z#{8tt4gWXc;|@||JP;os-rIIRaKP; z{BF3T=l4Rh2T(dZS8Ds?0O-1N&Cg z_KOAo|NsB;`fm_KKymhqexN|qYfGqr=Ij@BU;zyqu2P}xjGO;&ZP@rfZP)+*Y5N!$ zUJKc9m$GbWc+F?SSIV`8aRbw9hP1gqCSRRx1$09;&<&0tCnSMfzyorC2*`f9(!gIp z>vvq5{bC8o?zA8f@Am8$)BdMLy*7n#AJ2Z#4&tf-?G=F83$zy5R$id3oDf^*{y07N z=jpV7wBWSP!+KrpHj|glF;`y0V8d9-{BkLS4O6Mm?$@(-Fnrke;r~vC5Bop-f7#Dq z!(1vgX|6>5>p~lrQo`=7p7SCc;og=xFFcXl+cW2d6(RTX1KrCFbMMQjpL2h{4E@Q# zz{3!4Y!qKGm!E-w@xbKWbM=`v%-#HEZZ#u_&Ya)C#3(TN)j}J_37gdy-O`+#usC2d z;~8~sCIidOTGu;kn21afJOMN2~eFIa5KhglDBNzYx diff --git a/bochs/bios/Makefile.in b/bochs/bios/Makefile.in index c96623bf0..dbf85c366 100644 --- a/bochs/bios/Makefile.in +++ b/bochs/bios/Makefile.in @@ -70,7 +70,7 @@ dist-clean: clean bios-clean: @RMCOMMAND@ BIOS-bochs-* -BIOS-bochs-latest: rombios.c biossums +BIOS-bochs-latest: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=1 $(BIOS_BUILD_DATE) -E -P $< > _rombios_.c $(BCC) -o rombios.s -C-c -D__i86__ -0 -S _rombios_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios.s > _rombios_.s @@ -80,7 +80,7 @@ BIOS-bochs-latest: rombios.c biossums ./biossums BIOS-bochs-latest rm -f _rombios_.s -BIOS-bochs-2-processors: rombios.c biossums +BIOS-bochs-2-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=2 $(BIOS_BUILD_DATE) -E -P $< > _rombios2_.c $(BCC) -o rombios2.s -C-c -D__i86__ -0 -S _rombios2_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios2.s > _rombios2_.s @@ -90,7 +90,7 @@ BIOS-bochs-2-processors: rombios.c biossums ./biossums BIOS-bochs-2-processors rm -f _rombios2_.s -BIOS-bochs-4-processors: rombios.c biossums +BIOS-bochs-4-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=4 $(BIOS_BUILD_DATE) -E -P $< > _rombios4_.c $(BCC) -o rombios4.s -C-c -D__i86__ -0 -S _rombios4_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios4.s > _rombios4_.s @@ -100,7 +100,7 @@ BIOS-bochs-4-processors: rombios.c biossums ./biossums BIOS-bochs-4-processors rm -f _rombios4_.s -BIOS-bochs-8-processors: rombios.c biossums +BIOS-bochs-8-processors: rombios.c apmbios.S biossums $(GCC) -DBX_SMP_PROCESSORS=8 $(BIOS_BUILD_DATE) -E -P $< > _rombios8_.c $(BCC) -o rombios8.s -C-c -D__i86__ -0 -S _rombios8_.c sed -e 's/^\.text//' -e 's/^\.data//' rombios8.s > _rombios8_.s diff --git a/bochs/bios/apmbios.S b/bochs/bios/apmbios.S index d8ac16084..42a113d02 100644 --- a/bochs/bios/apmbios.S +++ b/bochs/bios/apmbios.S @@ -224,7 +224,7 @@ APMSYM(04): ; APM Set Power State APMSYM(07): cmp al, #0x07 - jne APMSYM(0a) + jne APMSYM(08) cmp bx, #1 jne APMSYM(ok) @@ -267,6 +267,14 @@ APMSYM(07_standby): pop edx jmp APMSYM(ok) +;----------------- +; APM Enable / Disable +APMSYM(08): + cmp al, #0x08 + jne APMSYM(0a) + + jmp APMSYM(ok) + ;----------------- ; Get Power Status APMSYM(0a): @@ -297,13 +305,32 @@ APMSYM(0b): ; APM Driver Version APMSYM(0e): cmp al, #0x0e - jne APMSYM(unimplemented) + jne APMSYM(0f) mov ah, #1 mov al, #2 jmp APMSYM(ok) +;----------------- +; APM Engage / Disengage +APMSYM(0f): + cmp al, #0x0f + jne APMSYM(10) + + jmp APMSYM(ok) + +;----------------- +; APM Get Capabilities +APMSYM(10): + cmp al, #0x10 + jne APMSYM(unimplemented) + + mov bl, #0 + mov cx, #0 + + jmp APMSYM(ok) + ;----------------- APMSYM(ok): popf