www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/04/25/06:23:33

Message-Id: <199604251005.GAA29638@mv.mv.com>
Date: Thu, 25 Apr 96 12:45:12 LIT
From: Martynas Kunigelis <martynas DOT kunigelis AT VM DOT KTU DOT LT>
Subject: getvect/setvect
To: djgpp-workers AT delorie DOT com

Hi everyone.

  Eli Zaretskii asked me to do something about hardware interrupts with v2.
I did some analysis and came up with my version of getvect/setvect functions.
They're attached here along with a simple test program. For now, I have a
couple of problems still. (1) I guess that user's handler is not larger than
4096 bytes. (2) If the user doesn't chain, he must call ouportb to issue EOI.
Well, outportb() isn't locked, but it is inlined when optimizing. I also
thought of some EOI macro expanding to inline asm, but most people would write
keyboard handlers etc., so they would need in/outport anyway, so I think the
easiest way out is to force kids to optimize when compling handler code. Is
that acceptable? Anyway, would someone who cares take a look at the code and
mail me any ideas? The code here is a draft, no error checking etc., but it
works. Also ignore the silly warning, just was lazy to put the cast in.
Basically what I am asking for is some way for finding out user handler's size
and opinions if that stuff is worth including in v2 libc. Thanks.

P.S. can't find an exclamation symbol on this terminal, so maybe my message
     looks kinda cold... :)

Martynas

begin 644 hwint.zip
M4$L#!!0``@`(`-B&F2#WRG<,(````"4````)````8G5I;&0N8F%T2T].5M#U
M-U;035<H22TNT4M6R"C/S`/1NOD0D=2*5`!02P,$%``"``@`S8:9('S AT  DOT 3JJ
M!```ZQ$```<```!H=VEN="YCM5=M;]LV$/[L`OT/AQ;()%>S)6=UXWG9,'CK
M$"#[L+5`@1:#0$N4K4T6!5%.DP7^[SN*+Z)D*W;23D%D1[R'O'ONN3OE99I'
MV3:F\&+].<VKT?K%\V<O];,?>!5GZ7*T_K']L$SS5>?ABIU/NG9W?$QO(UI4
M>;V":S%-TIS"+V^OWX?OKC[^"M_YLZF]\O;J^AK\6]\7#WE%JC2";<[354YC
MB-:DA*L__P AT K%BX^_067<"_,QD/P?1B.$3?U/>B]T`ZO8LO71#X8#,<2'4AT
M0$]"0\S-4[/%1&[A3T_;@A[8XEQMD7AX)X<CL;9(^,!`7[>@%\>@*POZ1C$W
M%=#E0]`-NP$@MUZ#G0FL2)FG[KU8<Y&B"&-N=EC:IU]0<8^[/C2GQ]Q#!PR8
M[H,COQ=,6^!`Y9Q>'$U81++,Q!Q,NC$?B-^.>4WR.*.EP4];J9H]E"I6V)D*
M+EK(X`C2DD=`%/+-<7$BDEI(E9\@.0D96\A()2<X!4D:7"QQR?(HCE=I`U-:
MB!(X!DM+6DG<\V>[N;CW=)J%Z#/8;@YVFEETP+]!4V/)H-M=9J0?(20&"2D'
M[7[2*[.!I3"6))Q6YQ,#G1ZI2AO,:4:CBAEY^DID">FC7WN<I9T^@.2?[X,&
MRMZ0+NR)]A"7M4&\%/>?NIG1 AT V&!B7CW$7CZ+V6)HU/C-@;XUZ(QT%/"W=\E
M_/WGWZX6=4)F41MOE@(Z]27RAJ4Q.,,5K6Z0*`=').!OF3/7=7!SE`5T9#/\
M7&*3H^5<+(5A7&S2L"!Q7,)-3;7]?$,W:9XP9&>5LKP.&4#A470;E`6+'!F[
M6P,1$15WCK+QC$@]L*VL(]#SL"A9A6?3.-RPF(88`"W+;5&%TB-'1N3!F?Q;
M[C%T^)J5%0Q=?1J\JB><BYY)PY&6CP)D+%_!'F!B`;18%:`F;`]`!*!><Q79
MBAE)TTB023D71N)$%QHT!OWW"D?,DG`:*KNY!17R$#J[5'39R4"J_PDSU`(I
M0VGNG,G/AE24\;;,P1&R<-!OUQR.)CLI&?DCE,+W5..!$I0:"V*')ZG(`Y;%
MX0F*$GY+]M($SW7,,2:[RA7)O8_<7]IU<G8FL.*RL"9O+2RIL:H\!.I>TR9Z
MK]IF"!_H-R5%!SFZCB^24*TI&$FJ\*!BP-F&5FNT,$C)/IZ_O`-=D>X(%ADE
M.8Z#;9+`MAAI<_TYEN$_K2(:EMVYWJ<IT`XC0U>/>V/;*13$]-?5O`71I5)#
M^BIKWHJ,/[76=9:^H,#:)=:J+^/?-C]68]J1I*14Q]H0+Q3<),0B]1+"S5T8
M<<>U]-IJ819,$UNKM6G[KL3=Z\,LS0KMO4>5XB9:GP5#(KF0*=$Y%^4NE*FK
MWK70&&^6TE)K-:U0J-\WZ\VWL?[:_7Q(=`>"FS=A:/>,CCHR"I")5^#LI1I7
MIJZUSQ>)HRL/.:[-XB,$TE#2%4E[M<_=IF4]PEWS'^M3/-Y)#G?B1C-.36L\
M,.LE+QK9G?;ZM<:#MEU?3YF)2:K#C'E(LI1P AT SG85()Z7'>X^O8!>?P/W:,>
MT"V%G#BBCWG2=.>#1W:S_,A3]WN][DJ]G;W-T%?JYCO]ME2_J_CZS>0_4$L#
M!!0``@`(`+.%F2"B`\KS,P$``$0#```'````:'=I;G0N:-V3_TK#,!#'_VZA
M[W!L,-HIVP-4A3G\0QP*@OXEA-A<NVA[*4D[?XR]NTG;;<7-/8`'(>'N\[WD
M+LE0IB0P!;;D6GQPC4Q2A5K79658X`]M3!+^%;:`I"2O!<*%^3)30J[+2D^6
M5_V(*`O9N)PS;79C29G7QHW`QT^;D6`P'\#:$DA"IH[M_"LE!83C#*L5)E5H
M]P<[-*DH"J-XASF_.6#.M_(E)Y&CMA*GV1>V>)C?L>?9X^WL>G$3\LBS]A+X
M`&LX95L*;"FN/%9@(2E5H#&3BN(NC==:A[:Q"1="HS%P"6&N*(M AT Q.',Y7G+
MRI*]<H.L0^)?2B._T<K<I%)[V-@[.$>NDG>62W<1K%6%HW9NZ`;>]!OP=/_?
M6E#3Z2;L>W#\/6[ZC[!=>=/Q\2\`XVG AT _P!02P,$%``"``@`]H69(#Z>><#D
M````O0$```8```!T97-T+F-]4,N*PC`4W0?R#Y>*DHPBQ5E)G0$5%Z(X(#BK
M`9$FG01B(FVJ AT OCO-NF#.L(LLL@]][QN1^I8Y8Q#("Y2VZ$(,.K4LTEFF31#
M\8D11F<C&9`WH]B9QY82&F%4,"`VN;8\C9H=<=!,\910C&X80;W0[T?N5_$]
M_=YPC@>I&\+Z:[[:?T^WR^ELO2"U8?0*5<K4>S?2\`&_W'J3\!J.2V+6F AT R@
M5V4L,?<N0BH.M2),8!12-_>!`$YI434A03=\ES]I,("6M<.31.69(,6]3%Y%
MO9>AGHU;91RXV_S3]2_X9.F/]P!02P$"%``4``(`"`#8AID@]\IW#"`````E
M````"0`````````!````````````8G5I;&0N8F%T4$L!`A0`%``"``@`S8:9
M('S AT  DOT 3JJ!```ZQ$```<``````````0``````1P```&AW:6YT+F-02P$"%``4
M``(`"`"SA9D AT H@/*\S,!``!$`P``!P`````````!```````6!0``:'=I;G0N
M:%!+`0(4`!0``@`(`/:%F2`^GGG`Y````+T!```&``````````$``````&X&
>``!T97-T+F-02P4&``````0`!`#5````=@<`````
`
end

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019