nfs@notecnirp.Princeton.EDU (Norbert Schlenker) (03/13/90)
I need a large variety of testers for the enclosed routines, so I'm posting them here. The routines identify the type of Intel CPU and math coprocessor in use by a program. My intention is to modify /usr/lib/crtso.s to execute equivalent code at program startup, so that programs can take advantage of the expanded instruction set in 80186+ processors. This would be particularly useful in the library. Andy Tanenbaum has expressed interest in this, but he insists that the code work on every 80x86. I have tested this on quite a number of machines, and Bruce Evans has helped me out with some machines to which he has access. There are still gaps in the test coverage. To run these routines, you must: - Pull the posting apart (uud, compress -d, unshar). There will be three files: test.c, cpuid.s, and fpuid.s. - Edit the constants at the top of test.c to reflect (approximately) your machine and your patience. They are currently set up for 30 second tests for (each of) the CPU and FPU on my Toshiba 5100, which is about the limit of my patience. :-) - Compile with: cc -o test test.c cpuid.s fpuid.s - Run test. Send me the results, please, by email. I am particularly interested in reports of failures, but would also like confirmation that the successful tests that Bruce and I have run are not flukes. When sending a result, please describe your system (CPU/FPU) and whether the result was seen in real mode or protected mode. If the test fails, either because it misdetected the type of chip(s) you run or because the test program detected an inconsistency, please describe the failure. Thanks for your help. Norbert --------------------------------------------------------------------------- table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 id.shar.Z M'YV-9<:@>0,"#X@6(.B4F4/'Q1@%<\J0 7'BA1<L+^:\V'@"A(^$"QN. <&#z M!\47)Q1@5 &""IHR(,R\8</FS9TT;LZ &//&#<,P;NC, 3%G8!TV$\7 #$-&y M31V&$HD2I(,F#!T084#(*1-F3L\P8MB440F"I9LZ;93* ?'&#$B&0\-LU5K'x M#0L08NI<]9JPZE6J,.'(>3-FX= T<]R<N%I7J5RP;/*095DSIPL0()*X8>L&w M9AN<>LO<S1K#!H@F2/2 P %C!@[3-VG2W0SVC=[5(#[33-,3Q! H52:_%;H#v M*XC2IU.O;HWC!HC8;&9C%6/[:@P7IG6SX;W9"/#A<UQ,?J%2Y0@R9<S@A/F[u MRA<J1:90F8*9!HS["1*\,(M6+5NW"L$% @HX]67;'$"1,4<*99&'Q7GIK0>"t M=^[!)Q]]R\&0WWX@G)56&6NU!=Z !5)U8((+-EC>@SB-P48=Z)'$$!F\N8"&s M#RN6@8="<FQFQQMI3#0&''4$B4(*.ZBD(X^;"207"%]\,60=26*Q)(@^ CF1r M&40:B:22.V*Y4U5K1<DEE2O^1$<:(SFYE@I3;M$%"#V L$<"(E3AQAINV-0Dq M&FG (0(+*N6'IV8*1<?::R_@,&BA^8G@1!%#@&"%##"\8,4,,#R*A:$B(%J&p MHC#$P*BCA'X:J:BDRO":IZ"RNIQK-L"Z:E"C+D?#JY!BYFL?5:JD)IMC/JG"o MF7+2:2>>3A#$DV"$&?:&'+8>BBNIS54;ZK7+N7J#MK*RYMJWJ8)Z11EI*+0&n M"#^T^X,(O?H* K KXG15&V'@=*1*>Y %@KTQI2$'0U(2625F *LW,!U?G'GPm MOT'M5(<<6P55,)I8(!SQ&!-7S+##_@*L8[I?J/F4LC \O-49B/$(\55IW*5&l ML!GOU"491SZL,,%3*AOEE \+9J\9*(C0G@X@E# 4"F' 8=<900560J#VES'k M%CLS/&477]9LAADO%H7"C-5UC9E,:Q&H;'OOQ3=?<2VTD(9'=:8, H/]UGSVj MM .JH6P,]]D=M]\^U%T<WO[*.Z67#\N;AELH_$PD""'4F?7%B'\J=%!$5YW7i M57W> 4)-;ZPQU'9K++69T@/6@48+;Z 10@J7R6N[O+;&*7D=7%>9P,@,FSQ4h MG3'X+L968:S1^*^)S^MO'R%#/K=),*10Z.9T=,Z%'$<G/=3MMW/A1M5Q7KZUg MV3&!_10:8]-!1MDTGWUSSOY>?J;/#1OL+_:=4X@TZTQS&M2DE@>JW059]B-2f M[^JG/K&132_H0QN)E$6AMET(;G*C&PCLECEY21 %?B->X#!(.,/=S4[-DU^1e M<(8^QT'.3).K7, 6EK\Z9"X!_"O:73[7(9N,[@VE.UT:4H>5U2W-=;"3'>W d M!SY;(0N&O.O:[_! ,N']S7C(4UX*G:<W+F(&>C5[W 2I9SW-R6%H1=N>_[S'c M1-N)KVH(%!C!SK1 KS60?0^D0]?\!3P4 *]D=+#*4[H&/?($9" %.8C5@N2"b M.4 D*A6Y2$8V@A*/+)(,C22)22J2$BSPX9*-5 D?$G"%,])!(9N)00YR (,6a ME*H%G,)+'D#0+#FHY2I3$(A8]@0B\7A2E GX49 NB0)ADJ%KHW03E"Y6)3X z M\PEZ(1(==) #=6%3WX"9@)BD )+LH&C8(!#G"@31ETDV^7RM2F8*#-&9QSy M+:PQ%3CC.4YMTN"=W7J--FN 3W'ITY/YL4$_8; K@:* AX#9R@F&TJ>=O"%&x M+YF+!*F"F#*.TE ).&A PO 4F"0!!.]3S%6P*;J!B(X.!'G?O_2H34.AX"8Fw MN@T=SN@TG.C$*VV B;U )(<ZP.$J=Q,E,(D0DL'D80Y($P,>[C*&I8(4#ROZv MI!3*0(>)^2@,+UJ(2JK@A"4XX0E7<$("ZJ:2)'QSK,<I:SK1*H.RTE.@=9J!u M6V'@*KB"@ 9SI15::S#7@J+5!E'-#*YZA%6'^B2007$D%I"0A",@00A)H +*t M\,":^ZS(!>A13V>@M#@RW"5*%U,)9JT2!I6 =DK4=($8\J"0:HI6(3LR;6=Us M$%@CR/$O@,K)4+)6N_8L% 1<D<-V0-07H/0%)JRI*PBJ8@>8 &:Y:3@#&F)Br MF[6((5V*_:2(C,"$(!R!/C?9RD0 )=W:N02Y='U-$2?B3],P%R;7M4X-GB.Pq MJ-3D#K[$X?K,<+TWP"$!9(#JIP)$!P O=02,=2QDJ5 H-;A!#[^32V2D!"@Xp M!#8(FTFN>L=@7*6 M&4V+5)1HF*&P;2AB+-2[VJ/"UWIRE(A1$&I>&4I2A1/o MX0A$D"Q.&-+3,:RI)^9]23Y-PY!I+>0X>,%N<9[;7I"^82$B;=T<ZH#5J?GRn MDRY!S$Z,:X9\14>"66FN'&9)WNFB9PYCH*F,.8/B]N:W#6^P@Q@2@%46J,"Lm MZ17H)^\ D_=BY2IBZ<I5C*MAP'X*SG9(@%)9, <+?VK*<VZTG06:@$]N)2)Rl M:"Y1GE88ZJX%QY*% Y &6RC5LK8,U<0##,S ABH.@:MQ@,-;A#K+H/@DW,Xk M QFNT@(;'!0/9:0S&<B0 $FKX)Z5_C":Y;*EVR;D#@2!MAP4U-__!C@_EJ;Jj M&<N@Z3(_9UID*-08V@"'.9,!#79V]=<:C&K@%0K1<SXMD>R,9UH5:BMTJ*V)i MEPLBF/3D+GS&RERDO0:;TI<JQA%(H(I[%0Z[H4]7\3!.:@PMA?@X*G!&3^W.h MM>7-)#0]1G8R5M@ 9X84D;6YU4G 45<&7P9WP@J' VVQ4&,,+T>>C<I-5TQ'g M%$"9H>&V26Q"IB+D^[)EVL2=;WS#\^XXS[G.=WYKTQ,=8!:,0-U?X^^AG9X f M%Z5;UMS\)$_: &<W1&:#>)!!#!3I%)/?(5]7D: -:)#DJ[0G!(4J"AL,S (7e M%6I:? ]P@Q\\Q71=.,/BG"=]9=/E-$1'C,;=*<5\>A7"<&Q@SP&46+12!CAPd M94TY,0Z/;5IC_X+(*MPY^'2S$I$SY#1B<>9ID%J.&11H)B9A\/%=^ *=D4='c M5C'/+@B$QC>4LMC-# )!$"R%J1?$\GU07LQRPZ!IB@X%6F$I0QOR2Z2B%#L-b MU]MOWM=DJ$]&;<ISH8I5G@,3A^-%IX/MZ4\E,O6N'QCKZ_[45AQ=[#*<X7>*a ME0 U009B4&U:AT/^]7U3]W1L0&_I]'=R8']])V )H 80YFY;)V=TUH!1EWA@z MDBXSEP#PE@#R5@<L@%7W1E4*8$@"01 &@1!GPDB.%!$3$4D8H1$<84DQB$E#y M41(GT4F?M(.A!%"EE"ZH=!RKU$JO%$LK5DNW! *YA :[E#IR<&7 9$PQ,3_&x MA$Q=1R;+!#*_!%#01 ?21$T:TE#/,AB%,0=>(0?:Q$W>)$XW4$X#Y2WM-%#Cw M8D_X="[I4@9KD%$(%5%E\%MH^%!]UF^>UA<5U5+YH5$<UE&9X6111E++Y4/&v MIU+I8E%#551O<%1)Y515!UQ!45\Q9A7^YA9 ,4NR0B&^5&-3554] @)V@%5Uu MH%58\%63@E;LA 5XUAQH%0-SY2ULE5>^&%=E=05%$%E%L 1HA5<TYTF"Q22%t MQ1.'!11"H1)0, 2ZJ&KNE&R"$1"(D7K4.%,S459%L(WWP1K))GGR=Q51 QF>s ML7-UIQ)?105?D 3G6#=X\#4W8 ;)Y@?X>%F9)2$U%"2?!46B10:D95I0E%JKr MU5J[Z *PE6]84)!D$(*05FQP8&?FE&R=$16#\08G)D$48ECD&!W2-A&]\5P_q M,09K4'^+UF@7YE#0LH9MV''O!U)4%1 *D12S)$V@=U,B"1-<,0>S-';XX@8*p MPF;/E1?"9WP1 1-W\!()=5QD1GVJ,TOI808\N7%P!S$\5@<^QAUQ43'25V4Vo M07_06!=K$AT] 1,D%1<TJ8;2LA9:1GU>!H^[%VU+@86 <6)VD :LEP;D)A8Un MMB:?$7KHP09A<%171DM/ !](<UX)09@&MYB-.12"B!5.$UQ@60=?PR9I$#5Qm MQS>$QASSQ!QS"%!C=UUN@'J]@0*>MQ9-"41KD ([=!M-XWE/8GP$%S";52""l MD7MK4ABMF($,:&>X6 2E]I"HYFI$( 2Q5@3N%(0X87B?@@> 5W6"EX& "&PLk M<&W)I@<@XBP]<9+?-FT0DQO:-RV2\2FF!I%X0 0Y$&LS8 3)9@8,,0:B\VO!j MUB?\!Z"%(J"?0J )8* &BFA\YY_B1F[FAFXJD(V#UVY41)$UAWC-@9,>1B,,i M$6*(\1))L5&0F"[3)Y<9]SB"F7TOPU.45V/OJ*+X,@=K$&2(J&4-Q8Z4)XKPh MJ',RRI1"IF'.D2 I=@/'26=*R7<C4(_W>(YB%VAV&7\Y^J*;%Z,OZ9W^&9X4g M^';8F0#Q^9SS69^N)@/X&81(P9\#HE3!IJ44R:7.F6K1.9UA%Q,<"GZ?HJ;-f M>6IN"J9X<)_YN9_]B:8+N('TMBBKF0!VZIU5YY_8QGDS-9J:-HZ#@9+@5B@$e MAJ3XN*ABA(\E^GY10Q14-71(=E"S9 9SBIN#=X$5NJB887W_$A<8NIH7FD_.d MX7X;"F(Y(6(@^GZ/&!$K-129Q5%L #-NH%GI,DL9IU-#07&#H08\F0;-=1<0c MAQ6AV1FU,P5\Z5#D!C4L-HM9-10BL@(X0:QT,$L)4F-R,ZS7.:Y(\R]N409Qb M0&4-R'[3IVFGZ2W%(480!W!]AI5MIIJ/68]%,)D_FEY!JI1#BA>@R96T^1("a M Y8S)98_YA/%\1)N4!@ !W? M&,/.Y8]498PT1DV*1>SU!-G-Y6=:I05BP:#z MX09IH <&!U/3]5SM4:1=ZJ;2Z6K4F9_I>J?R29_3B0/YB13 ")]M"IUZ6@1,y M&A-(H0<\ZZ5$4 2Q9@0YD)\TDF@)P -Q X/3<F+@BJXL.ZY-FZ>Q-@0:0J83x MP1!A:[336;8Q(1!SD!]8&S>>=F+G*J[OR:9X"IU0:[3Y.79.<[59BZU/DWY"w M1@?0EK;S203V.:8Q 1=_"FR%<J@B&&=TME2*FFQG\*EI&"ULR#=6E))Y%P9Hv MX(^+6F1S08TT$K%U=QB; 39A< 8!.()0AV=V^"D66'@%MHYN$:[I.II#X:[Pu M>A>L>I>(5[N3JX&SZT\WH+L]1 ?""RB'X:I#^H'3%*B@=28GR :%PA3$9FP=t 0:9T&X5,LUI)5F@#XMH(* +L]s r end
nfs@notecnirp.Princeton.EDU (Norbert Schlenker) (03/19/90)
In article <24855@princeton.Princeton.EDU> nfs@notecnirp.UUCP (me) writes: >I need a large variety of testers for the enclosed routines, so I'm >posting them here. The routines identify the type of Intel CPU and >math coprocessor in use by a program... What an uncommunicative bunch! Are you all too busy upgrading to 1.5.x, or doesn't anyone run Minix on Intel CPU's any more? My plea for testers garnered exactly 4 (!) replies. Let's try this once more. The current list of CPU/FPU combinations for which the detection routines work looks like this, but I sure would like more Y's and fewer ?'s. CPU FPU Real Protected ----- ----- ---- --------- 8088 None Y N/A 8088 8087 Y N/A 8086 None Y N/A 8086 8087 ? N/A V20 None ? N/A V20 8087 ? N/A V30 None Y N/A V30 8087 ? N/A 80188 None ? N/A 80186 None ? N/A 80286 None Y Y 80286 80287 Y ? 80386 None Y Y 80386 80287 ? ? 80386 80387 Y Y I would particularly like to fill in the holes for 8086/8087, V20/none, and 80286/80287 (protected mode). Somebody on the net has to be running these combinations, surely (nudge nudge). Thanks for any help you can give me. Norbert