<div>Hi, </div>
<div> </div>
<div>My target board is similar to Tyan s2882, I base on s2882's code to fit my target board.</div>
<div> </div>
<div>My target board also got an onboard Intel 10/100 NIC, and I assign the irq like s2882 done.</div>
<div>        printk_debug("setting Onboard Intel NIC\n");<br>        static const unsigned char slotIrqs_8111_1_8[4] = { 9, 0, 0, 0 };<br>        pci_assign_irqs(bus_8111_1, 4, slotIrqs_8111_1_8);<br>        write_pirq_info(pirq_info, bus_8111_1,(4<<3)|0, 0x1, 0xdef8, 0, 0, 0, 0, 0, 0, 0, 0);
<br>        pirq_info++; slot_num++;<br> </div>
<div>It can works fine on unique processor platform, but when I boot into smp kernel it's interrupts is not going.</div>
<div> </div>
<div>[root@iSCSI h412]# cat /proc/interrupts<br>           CPU0       CPU1<br>  0:    1235644    1223971    IO-APIC-edge  timer<br>  1:          0          8    IO-APIC-edge  i8042<br>  2:          0          0          XT-PIC  cascade
<br>  3:          5          3    IO-APIC-edge  serial<br>  4:       1209       1984    IO-APIC-edge  serial<br>  8:          0          1    IO-APIC-edge  rtc<br> 12:          0         66    IO-APIC-edge  i8042<br> 14:       3144        759    IO-APIC-edge  ide0
<br>137:          0          0   IO-APIC-level  <font color="#ff0000">eth0     <-- It not works.<br></font>145:          0          0   IO-APIC-level  ohci_hcd, ohci_hcd<br>193:      10622          1   IO-APIC-level  eth2
<br>NMI:          0          0<br>LOC:    2459674    2459668<br>ERR:          0<br>MIS:          0<br> </div>
<div>Is it possible cause by IO-APIC ??</div>
<div> </div>
<div> </div>
<div> </div>
<div>The other question, my VGA still has snow screen when linuxbios booting,</div>
<div>
<div>even I moved the CPU init before other pci device init call.</div>
<div>But after I login the system, it will become clear. </div></div>
<div>following is part of my log....</div>
<div> </div>
<div>--- part of linuxbios boot message --</div>
<div>
<p>Initializing devices...<br>Root Device init<br>APIC_CLUSTER: 0 init<br>Initializing CPU #0<br>CPU: vendor AMD device f5a<br>Enabling cache</p>
<p>Setting fixed MTRRs(0-88) type: UC<br>Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM<br>Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM<br>DONE fixed MTRRs<br>Setting variable MTRR 0, base:    0MB, range:  512MB, type WB
<br>DONE variable MTRRs<br>Clear out the extra MTRR's</p>
<p>MTRR check<br>Fixed MTRRs   : Enabled<br>Variable MTRRs: Enabled</p>
<p>microcode: equivalent processor rev id  = 0x004a, patch id = 0x00000000<br>microcode: patch id that want to apply= 0x00000047<br>microcode: updated to patch id = 0x00000047  success</p>
<p>Setting up local apic... apic_id: 0 done.<br>Clearing memory 2048K - 262144K: --- done<br>CPU #0 Initialized<br>Initializing CPU #1<br>Waiting for 1 CPUS to stop<br>CPU: vendor AMD device f5a<br>Enabling cache</p>
<p>Setting fixed MTRRs(0-88) type: UC<br>Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM<br>Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM<br>DONE fixed MTRRs<br>Setting variable MTRR 0, base:    0MB, range:  512MB, type WB
<br>DONE variable MTRRs<br>Clear out the extra MTRR's</p>
<p>MTRR check<br>Fixed MTRRs   : Enabled<br>Variable MTRRs: Enabled</p>
<p>microcode: equivalent processor rev id  = 0x004a, patch id = 0x00000000<br>microcode: patch id that want to apply= 0x00000047<br>microcode: updated to patch id = 0x00000047  success</p>
<p>Setting up local apic... apic_id: 1 done.<br>Clearing memory 262144K - 524288K: ---- done<br>CPU #1 Initialized<br>All AP CPUs stopped<br>PCI: 00:18.0 init<br>PCI: 01:02.0 init<br>PCI: 03:04.0 init<br>PCI: 03:04.1 init
<br>PCI: 01:03.0 init<br>PCI: 04:04.0 init<br>PCI: 04:02.0 init<br>rom address for PCI: 04:02.0 = fff80000<br>copying VGA ROM Image from 0xfff80000 to 0xc0000, 0x9000 bytes<br>entering emulator<br>halt_sys: file /home/vincente/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c, line 4387
</p>
<p>--- end of linuxbios boot message ---</p></div>