<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">


<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 11">
<meta name=Originator content="Microsoft Word 11">
<link rel=File-List href="cid:filelist.xml@01C4A7D9.EE16A5E0">
<!--[if gte mso 9]><xml>
 <o:OfficeDocumentSettings>
  <o:DoNotRelyOnCSS/>
 </o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:DocumentKind>DocumentEmail</w:DocumentKind>
  <w:EnvelopeVis/>
  <w:PunctuationKerning/>
  <w:DrawingGridVerticalSpacing>7.8 磅</w:DrawingGridVerticalSpacing>
  <w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
  <w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:Compatibility>
   <w:SpaceForUL/>
   <w:BalanceSingleByteDoubleByteWidth/>
   <w:DoNotLeaveBackslashAlone/>
   <w:ULTrailSpace/>
   <w:DoNotExpandShiftReturn/>
   <w:AdjustLineHeightInTable/>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:UseWord2002TableStyleRules/>
   <w:UseFELayout/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" LatentStyleCount="156">
 </w:LatentStyles>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-alt:SimSun;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
        {font-family:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;
        mso-font-charset:134;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        mso-pagination:none;
        font-size:10.5pt;
        mso-bidi-font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:SimSun;
        mso-font-kerning:1.0pt;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;
        text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;
        text-underline:single;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
        {margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:none;
        font-size:9.0pt;
        mso-bidi-font-size:10.5pt;
        font-family:SimSun;
        mso-hansi-font-family:"Courier New";
        mso-bidi-font-family:"Courier New";
        mso-font-kerning:1.0pt;}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
 /* Page Definitions */
 @page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:72.0pt 126.65pt 72.0pt 126.65pt;
        mso-header-margin:42.55pt;
        mso-footer-margin:49.6pt;
        mso-paper-source:0;
        layout-grid:15.6pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */ 
 table.MsoNormalTable
        {mso-style-name:\666E\901A\8868\683C;
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";
        mso-ansi-language:#0400;
        mso-fareast-language:#0400;
        mso-bidi-language:#0400;}
</style>
<![endif]-->
</head>

<body lang=ZH-CN link=blue vlink=purple style='tab-interval:21.0pt;text-justify-trim:
punctuation'>

<div class=Section1 style='layout-grid:15.6pt'>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>> 4. <span
class=GramE>better</span> <span class=SpellE>ht_setup_chainx</span>() in <span
class=SpellE>incoherent_ht.c</span> ---> change share bus 0 to<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'> </span><span class=GramE>different</span> bus
for different incoherent HT link.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>For s2885 there
are two incoherent links in CPU0, one for 8151 and one for 8131/8111.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>For AMD/quartet
are incoherent link in CPU0, and another link in CPU1<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>For S2895 there
are two incoherent links in CPU0 and another link in CPU1.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>For S2885, in
old <span class=SpellE>ht_setup_chains</span>, I let the two links share bus 0,
<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>So <o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-tab-count:2'>         </span><span
style='mso-bidi-font-size:10.5pt'>PCI_<span class=GramE>ADDR(</span>0, 0x18, 1,
0xE0), 0x0000FC88, 0x06010207,<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-tab-count:2'>         </span><span
style='mso-bidi-font-size:10.5pt'>PCI_<span class=GramE>ADDR(</span>0, 0x18, 1,
0xE4), 0x0000FC88, 0x00000007,<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>But if there is
too much link, will <span class=GramE>used</span> the device num.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>So update the <span
class=SpellE>ht_setup_chains</span><o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><span class=GramE><font size=1 face=宋体><span
lang=EN-US style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>static</span></span></font></span><span
lang=EN-US> <span class=SpellE>int</span> <span class=SpellE>ht_setup_chains</span>(const
<span class=SpellE>struct</span> <span class=SpellE>ht_chain</span> *<span
class=SpellE>ht_c</span>, <span class=SpellE>int</span> <span class=SpellE>ht_c_num</span>)<o:p></o:p></span></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>{<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>/*
Assumption the HT chain that is bus 0 has the HT I/O Hub on it. <o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        
</span>* On most boards this just happens.<span style='mso-spacerun:yes'> 
</span>If a <span class=SpellE><span class=GramE>cpu</span></span> has multiple<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        
</span>* <span class=GramE>non</span> Coherent links the appropriate bus
registers for the<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        
</span>* <span class=GramE>links</span> needs to be <span class=SpellE>programed</span>
to point at bus 0.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        
</span>*/<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=SpellE><span class=GramE>int</span></span> <span class=SpellE>reset_needed</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>unsigned</span> <span class=SpellE>upos</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=SpellE><span class=GramE>device_t</span></span> <span class=SpellE>udev</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=SpellE><span class=GramE>int</span></span> <span class=SpellE>i</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=SpellE>reset_needed</span> = 0;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>for</span> (<span class=SpellE>i</span> = 0; <span class=SpellE>i</span>
< <span class=SpellE>ht_c_num</span>; <span class=SpellE>i</span>++) {<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>uint32_t</span> <span class=SpellE>reg</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>unsigned</span> <span class=SpellE>devpos</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>unsigned</span> <span class=SpellE>regpos</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>uint32_t</span> <span class=SpellE>dword</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>unsigned</span> <span class=SpellE>busn</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>reg</span></span> =
pci_read_config32(PCI_DEV(0,0x18,1), <span class=SpellE>ht_c</span>[<span
class=SpellE>i</span>].<span class=SpellE>devreg</span>);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span>//We <span class=GramE>need</span> setup 0x94, 0xb4, and 0xd4 according
to the <span class=SpellE>reg</span><o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>devpos</span></span> = ((<span
class=SpellE>reg</span> & 0xf0)>>4)+0x18; // <span class=SpellE>nodeid</span>;
it will decide 0x18 or 0x19<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>regpos</span></span> = ((<span
class=SpellE>reg</span> & 0xf00)>>8) * 0x20 + 0x94; // link n; it
will decide 0x94 or 0xb4, 0x0xd4;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>busn</span></span> = (<span
class=SpellE>reg</span> & 0xff0000)>>16;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>dword</span></span> =
pci_read_config32( PCI_DEV(0, <span class=SpellE>devpos</span>, 0), <span
class=SpellE>regpos</span>) ;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>dword</span></span> &=
~(0xffff<<8);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>dword</span></span> |= (<span
class=SpellE>reg</span> & 0xffff0000)>>8;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span>pci_write_<span class=GramE>config32(</span> PCI_DEV(0, devpos,0), <span
class=SpellE>regpos</span> , <span class=SpellE>dword</span>);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span>/* Make certain the HT bus is not enumerated */<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE>ht_collapse_previous_<span class=GramE>enumeration</span></span><span
class=GramE>(</span><span class=SpellE>busn</span>);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>upos</span></span> = <span
class=SpellE>ht_c</span>[<span class=SpellE>i</span>].<span class=SpellE>upos</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=SpellE><span class=GramE>udev</span></span> = <span
class=SpellE>ht_c</span>[<span class=SpellE>i</span>].<span class=SpellE>udev</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>              
</span><span class=SpellE>reset_needed</span> |= <span class=SpellE>ht_setup_<span
class=GramE>chainx</span></span><span class=GramE>(</span><span class=SpellE>udev,upos,busn</span>
);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>return</span> <span class=SpellE>reset_needed</span>;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>}<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>> 5. <span
class=GramE>fix</span> one bug about <span class=SpellE>io</span> and <span
class=SpellE>mem</span> allocation for multi ht links. --- <span class=GramE>in</span><o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>> <span
class=SpellE>northbridge.c</span><o:p></o:p></span></span></font></p>

<p class=MsoPlainText><span class=GramE><font size=1 face=宋体><span
lang=EN-US style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>Should
mark some <span class=SpellE>reg</span> to prevent the overlap.</span></span></font></span><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>Because amdk8_find_mempair
and amdk8_find_iopair are called several times (for the incoherent links), before
the registers are set.<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><span class=GramE><font size=1 face=宋体><span
lang=EN-US style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>So same
<span class=SpellE>reg</span> will be assigned to different link.</span></span></font></span><span
lang=EN-US> That is bug, <span class=GramE>So</span> add some thing in the PCI
reg.<o:p></o:p></span></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>/*
Mark <span class=SpellE>reg</span> has been used now */<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>base</span> = f1_read_config32(<span class=SpellE>reg</span>);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>if(</span> (base & 3) != 3 ) {<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>base</span> |= 0x01fff000;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span>f1_write_<span class=GramE>config32(</span><span class=SpellE>reg</span>,
base);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>/*
Mark <span class=SpellE>reg</span> has been used now */<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>base</span> = f1_read_config32(<span class=SpellE>reg</span>);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span><span
class=GramE>if(</span> (base & 3) != 3 ) {<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span><span class=GramE>base</span> |= 0xffffff00;<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>               
</span>f1_write_<span class=GramE>config32(</span><span class=SpellE>reg</span>,
base);<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'><span
style='mso-spacerun:yes'>        </span>}<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>Regards<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US
style='font-size:9.0pt'><span style='mso-bidi-font-size:10.5pt'>YH<o:p></o:p></span></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

<p class=MsoPlainText><font size=1 face=宋体><span lang=EN-US><o:p> </o:p></span></font></p>

</div>

</body>

</html>