Subject: kern/35427: ICH support for piixpm(4)
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <jakllsch@kollasch.net>
List: netbsd-bugs
Date: 01/15/2007 20:10:00
>Number:         35427
>Category:       kern
>Synopsis:       ICH support for piixpm(4)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    kern-bug-people
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Mon Jan 15 20:10:00 +0000 2007
>Originator:     Jonathan A. Kollasch
>Release:        NetBSD 4.99.8
>Organization:
>Environment:
Architecture: i386
Machine: i386
>Description:

The SMBus component of Intel ICH parts can be supported by piixpm(4).

>How-To-Repeat:

Notice how similar the ICH is to the PIIX in the SMBus areas.

>Fix:


Diff to piixpm.c.

begin 644 piixpm.c.diff.bz2
M0EIH.3%!62936=T;><X``;Y_@&HP(`!;_____^__7K_OW_Y0!;CUAKK.[O>!
MK-M>[!/;PDB(FC35/*?BGH*>*83-)ZFFTAZF@#3(&C0:&30T&BI^31)/T4\H
M:&(::`T-``T&@```#0"4R4FT5,U&``1I@3(T`8!#`"9#)B8@;4A3TFA&C33)
MH`T&0&@`T#(```:`)%`C034VFD&1---331M$!D>4``-`R-/2:"KC+`,0F,""
M4)0AMPL*1*0F(3@2E.4*)4B21*7")@34XB9ES(B1RI2'UB<HA@H:&-E3/#.Q
MAFGD_Z;DZ-P7DL82I2JI*3?MDX&3C=6THZN%)EWFZI6C.J<6R,$R^R;B5F,O
M?0I4B$.[@U^7`LI05JOJ,HV;EKD@QR"!1`5B>QR$$3E]*=,!S_0=<W%^L,K]
M!OG`QWVV3,EO:^8+Y.7MT:._=D(>3AX@>D/Q5LY_O)0S28L8F9,E5>U_&[:L
MW1E.\L/6X>SA,AC?IA6*.F#-;'&&@S-+.ZLP[V&$5%K9N8NRM*DE*-UGO%MZ
M\MKFB1N4EI#1&1OP>&6`MGX*SG`Q:-+^P#OK_&&^.6C&-GQ@4@"HM%@3%KDD
M2'\3NDU5,?F9*<@6OC:)BJBO\Z#E)=Y3P-&K%(ABVBJIS/D,Y=.@:E*"6H10
MFG%^@IV@,(`6`0(6#!F=)D=LHPCL]RDL+T^U:+UND4CH_>FIM7`-R>"1WR^+
M8@\@[=JJZNUAH@,DE.>)ZTL^@>?*&[K#"_H4.JZ7JC$(+=YCB#9:+7$S&?>3
M.+<'PS<2R-IV,)7LR*KF773XY[M2320G%98BSCMMMQ2Z=<L*L(FEV5T\](1-
MZLK60]['-`(8>R@3**:!SE>8:,`/D%)+=NPYMO".[%:6,6VQ/=GHW9VV.GCA
MK\,D`)862QAH=/!U*+KUAU)*V#)A@2GI50"+PNH&#5"4W;6/Z-Z8=GH\Y$)K
M."2(M>(8%09A+W!'\`L#T@6`'IID/#K/'C]8%G:QFN7!]6"5P-M]I!OP\$MS
M$*(*Q:!YV!H`6T2N:),V@&2M*I$XA"_O+A4!6W!02"\N@CHNL$22M:(KK;6(
M&LS!&JE#RC$V`=_(Y+8`56$>+@$7*%>:JJF#0!$3"0(Q%B9Y@C<DQE&%L0F+
M`"*FE)?>7+*$@Y>+:;3QKT9!45JNN=F8OQ!%0L$10#M92><`((V#B58V,&)C
M&QS")QT-+*N6PM!9+E0ND8EY)[R96=(*;,!ESI,E"622*(\P=2!*)N3GI,2"
ML."#_R>*$`H#Z*KN2M))Y=,IRTDPFKFJE5,`N&BM?UB$2/P-:FQQ,)3X/7&(
MEJ5PKPM+`4(3C$G.-`#:%Z4YC,D.&I7S91,52"6!&:'V5FG4$PRP0HT["3@5
M)J80*F=4""L('JO7S.!;_UG<-:Q+,O'>@\6*%M.,HDTAMF,M5$.:@Z2HR:TX
M4%8BTIAQ!B*'03A+%!%^\Y?F=&(815CR]4RZM33J%OL06L6PD9F#M%G/$V4B
M0>QEGG3\2Z($3`/WE`HUX)P6I5V\Y=#C2.3=H/;:00Z^!-J<GRA[-P<(C`61
MDL152MI2K#_4IJ`3AW4N`(D3GL$$@OO1'PR"Q@'3S1U2-];<NF>M(./IS31)
M4-8:/EZ6PP8FEZT!D&@&\)"[A2$I1<23YX=Z,MR19'3`#$IPQ[HYJ$!J>,P9
M3<H06BW-2!L3HC.@L3HE0YG(HL.O+_@(Q3,L&<UD7UG&CC$J=Q@&336K`S.[
M)L6:MJB,Y1#.*I?5OZJZ1!DD^+IT1`!"J5$@),1!$V%$JL%`;&H*J"6M8!*4
J3DP0>]S,',%[26.N.W;L,C9OY!P2@H-3$I*[D.!G./\7<D4X4)#=&WG.
`
end


Only a few defines from the following are used, but it may
prove useful if a more capable driver is ever needed and
written in the future.

begin 644 ichsmbreg.h.bz2
M0EIH.3%!629369E,8^\``(_?@``P:7#_Y#_O__"O(0!`0`)#<``&A)IDF3)D
MQ--&FF0R`TT:`P&@-``!IH-`-`&@::4FAC*,C$#"81H&AH`12:"$GIDA,@`T
M`-&1DTUM#YF<F"#%B8HZ:GII%N`!9@2S*4`9E*Q<$[K=663F5,"I#I4RE!QG
MKO]VI:=_=&(%IXP,+N#'V"/=<":\MM%4.AP,@(V1>NL;;X2(A`"E,A7$EFRR
MVU9`;P"!545A$"$<B`B&5F3*\5<+B`D*7V*N)CKK5'X-J;48,1C3T;7'06%#
MZPVM9$E+)>9$DU[2UK>><JUQ69*5F2DS)63J191?<?TCX>_0UGM[/;BG9=NF
M9T3^ZL,$0$(CPX9U^/=TBCWL4*BM=,8*1E,1F762%T)<0GCMD>_%S4VVD*C-
MI,:!D5^V-PXO\Q4<F!6%!A.E0?#1^W/^-L/(Z'>."5C>YHUWTQ2G4;:+@@1=
M!/%H<Z=>?!O0A&'IU-/SSCNUR0UP8SKI!Q;TMRU-X+#M,]&$.+`"R1H$*P6J
MHVP8@I`1'-QNV3M#)XI8JH0!"!`<F,2AXSNYIR"\&P9TTV#BG#,/4Z[N7-8>
M?D94I%"GH@4IYN1!)T<L8Z\O.>&#&N>W2:9G%(A`F$/2TUNVQ$%W#%-:W*[Y
M3-\04;QR2($2\!0J<Q&^*%('*S[7R_P(Q2`1_B(S/EW]T`C2UOTB-:@C]3"I
+_Q=R13A0D)E,8^\J
`
end


Tested on a 371EB, 801AA and 801DBM.  Read the SPD seeprom(4)s
on my RAM on all of them successfully.

The 801AA in my OptiPlex needed the controller activated,
as the BIOS apparently disabled it after it was done with
it.  This is noted in the patch.

I considered matching all SMBus-class devices from Intel,
but that might not be the best/right thing to do at this
point.