In the MB Config.lb
The device apic_cluster 0 should be put before other pci devices
YH
________________________________
From: linuxbios-bounces@linuxbios.org [mailto:linuxbios-bounces@linuxbios.org] On Behalf Of Vincente Tsou Sent: Sunday, June 25, 2006 11:58 PM To: yhlu Cc: Stefan Reinauer; linuxbios@linuxbios.org Subject: Re: [LinuxBIOS] New guy in LinuxBios
Hi,
Excuse me....
I don't know how to move the CPU init before other pci device init call....
sorry.
I have tried to find it, but .... :(
2006/6/26, yhlu yinghailu@gmail.com:
the snow screen only happened when I was debugging the onboard VGA support. So i move the CPU init before other pci device init call. That is something related to mtrr setting around [0xa0000-0xb0000) the font buffer. the halt_sys display is normal...it means the vga option rom is executed successfully. you can use filo in etherboot to boot from usb stick.
YH
On 6/25/06, Vincente Tsou vincentetsou@nexcom.com.tw wrote:
Hi YH,
Thanks again for your help.
Now I can active all devices in my LinuxBios, it almost done except
VGA
function.
I appended a 36k VGA option rom to LinuxBios, and enable Options about
VGA.
And I got the halt_sys message:
PCI: 04:02.0 init rom address for PCI: 04: 02.0 = fff80000 copying VGA ROM Image from 0xfff80000 to 0xc0000, 0x9000 bytes entering emulator halt_sys: file
/home/vincente/LinuxBIOS/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c,
line 4387 PCI: 01:04.0 init
then, I can see something output, but the output is like snow screen
and I
can't read anything. I think it is working in the wrong mode.
When I made a blind type 'root' and password, I can login the Linux,
and
then the screen became clear. (work fine)
I wonder how to fix the problem? is the halt_sys message normal ?
I also got another question, could it possible boot to MS-DOS
floppy/USB
disk. The MS-DOS needs a lot INT function in BIOS, does LinuxBios able to
support
it?
2006/6/21, Vincente Tsou <vincentetsou@nexcom.com.tw >:
Dear YH,
got it.
Thanks for the information and your help.
2006/6/21, Lu, Yinghai < yinghai.lu@amd.com>:
Actually the irqtable entries is only for peer root pci bus scan
when
mptable is used.
So you need to make sure mptable is right, and put entries for
hypertransport chain other than on bus0.
YH
From: vincente.tsou@gmail.com [mailto:vincente.tsou@gmail.com] On
Behalf
Of Vincente Tsou
Sent: Tuesday, June 20, 2006 7:05 PM To: Lu, Yinghai Cc: Stefan Reinauer; linuxbios@linuxbios.org
Subject: Re: [LinuxBIOS] New guy in LinuxBios
Dear YH,
excuse me, how about the irq_tables.c?
should I modify it like tyan/s2882 did.
printk_debug("setting Onboard Broadcom NIC\n"); static const unsigned char slotIrqs_8131_1_9[4] = { 5, 9,
0, 0
};
pci_assign_irqs(bus_8131_1, 9, slotIrqs_8131_1_9); write_pirq_info(pirq_info, bus_8131_1,(9<<3)|0, 0x1,
0xdef8,
0x2, 0xdef8, 0, 0, 0, 0, 0, 0);
pirq_info++; slot_num++;
2006/6/20, Lu, Yinghai < yinghai.lu@amd.com >:
You need to update the entries at mptable.c for your slots or
onboard
pci device.
YH
-- Best Regards, Vincente Tsou
Engineer R/D, S/W Dept. NEXCOM International Co. Tel: 886-2-82280606 Ext. 3205 Fax: 886-2-82280506 E-mail: vincentetsou@nexcom.com.tw Web: http://www.nexcom.com.tw/
-- Best Regards, Vincente Tsou
Engineer R/D, S/W Dept. NEXCOM International Co. Tel: 886-2-82280606 Ext. 3205 Fax: 886-2-82280506 E-mail: vincentetsou@nexcom.com.tw Web: http://www.nexcom.com.tw/
-- Best Regards, Vincente Tsou
Engineer R/D, S/W Dept. NEXCOM International Co. Tel: 886-2-82280606 Ext. 3205 Fax: 886-2-82280506 E-mail: vincentetsou@nexcom.com.tw Web: http://www.nexcom.com.tw/ -- linuxbios mailing list linuxbios@linuxbios.org http://www.openbios.org/mailman/listinfo/linuxbios
Dear YH,
thanks for your reply.
you are my light in the dark ...
I'm trying to modify dev_initialize() in devices/device.c ... how fool I am.
2006/6/27, Lu, Yinghai yinghai.lu@amd.com:
In the MB Config.lb http://config.lb/
The device apic_cluster 0 should be put before other pci devices
YH
Hi,
My target board is similar to Tyan s2882, I base on s2882's code to fit my target board.
My target board also got an onboard Intel 10/100 NIC, and I assign the irq like s2882 done. printk_debug("setting Onboard Intel NIC\n"); static const unsigned char slotIrqs_8111_1_8[4] = { 9, 0, 0, 0 }; pci_assign_irqs(bus_8111_1, 4, slotIrqs_8111_1_8); write_pirq_info(pirq_info, bus_8111_1,(4<<3)|0, 0x1, 0xdef8, 0, 0, 0, 0, 0, 0, 0, 0); pirq_info++; slot_num++;
It can works fine on unique processor platform, but when I boot into smp kernel it's interrupts is not going.
[root@iSCSI h412]# cat /proc/interrupts CPU0 CPU1 0: 1235644 1223971 IO-APIC-edge timer 1: 0 8 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 3: 5 3 IO-APIC-edge serial 4: 1209 1984 IO-APIC-edge serial 8: 0 1 IO-APIC-edge rtc 12: 0 66 IO-APIC-edge i8042 14: 3144 759 IO-APIC-edge ide0 137: 0 0 IO-APIC-level eth0 <-- It not works. 145: 0 0 IO-APIC-level ohci_hcd, ohci_hcd 193: 10622 1 IO-APIC-level eth2 NMI: 0 0 LOC: 2459674 2459668 ERR: 0 MIS: 0
Is it possible cause by IO-APIC ??
The other question, my VGA still has snow screen when linuxbios booting, even I moved the CPU init before other pci device init call. But after I login the system, it will become clear. following is part of my log....
--- part of linuxbios boot message --
Initializing devices... Root Device init APIC_CLUSTER: 0 init Initializing CPU #0 CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 0 done. Clearing memory 2048K - 262144K: --- done CPU #0 Initialized Initializing CPU #1 Waiting for 1 CPUS to stop CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 1 done. Clearing memory 262144K - 524288K: ---- done CPU #1 Initialized All AP CPUs stopped PCI: 00:18.0 init PCI: 01:02.0 init PCI: 03:04.0 init PCI: 03:04.1 init PCI: 01:03.0 init PCI: 04:04.0 init PCI: 04:02.0 init rom address for PCI: 04:02.0 = fff80000 copying VGA ROM Image from 0xfff80000 to 0xc0000, 0x9000 bytes entering emulator halt_sys: file /home/vincente/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c, line 4387
--- end of linuxbios boot message ---
you need to update the entry in mptable.c for your eth0. try to read the schematic to figure out how the io apic is conntected.
YH
On 8/1/06, Vincente Tsou vincentetsou@nexcom.com.tw wrote:
Hi,
My target board is similar to Tyan s2882, I base on s2882's code to fit my target board.
My target board also got an onboard Intel 10/100 NIC, and I assign the irq like s2882 done. printk_debug("setting Onboard Intel NIC\n"); static const unsigned char slotIrqs_8111_1_8[4] = { 9, 0, 0, 0 }; pci_assign_irqs(bus_8111_1, 4, slotIrqs_8111_1_8); write_pirq_info(pirq_info, bus_8111_1,(4<<3)|0, 0x1, 0xdef8, 0, 0, 0, 0, 0, 0, 0, 0); pirq_info++; slot_num++;
It can works fine on unique processor platform, but when I boot into smp kernel it's interrupts is not going.
[root@iSCSI h412]# cat /proc/interrupts CPU0 CPU1 0: 1235644 1223971 IO-APIC-edge timer 1: 0 8 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 3: 5 3 IO-APIC-edge serial 4: 1209 1984 IO-APIC-edge serial 8: 0 1 IO-APIC-edge rtc 12: 0 66 IO-APIC-edge i8042 14: 3144 759 IO-APIC-edge ide0 137: 0 0 IO-APIC-level eth0 <-- It not works. 145: 0 0 IO-APIC-level ohci_hcd, ohci_hcd 193: 10622 1 IO-APIC-level eth2 NMI: 0 0 LOC: 2459674 2459668 ERR: 0 MIS: 0
Is it possible cause by IO-APIC ??
The other question, my VGA still has snow screen when linuxbios booting,
even I moved the CPU init before other pci device init call. But after I login the system, it will become clear. following is part of my log....
--- part of linuxbios boot message --
Initializing devices... Root Device init APIC_CLUSTER: 0 init Initializing CPU #0 CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 0 done. Clearing memory 2048K - 262144K: --- done CPU #0 Initialized Initializing CPU #1 Waiting for 1 CPUS to stop CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 1 done. Clearing memory 262144K - 524288K: ---- done CPU #1 Initialized All AP CPUs stopped PCI: 00:18.0 init PCI: 01:02.0 init PCI: 03:04.0 init PCI: 03:04.1 init PCI: 01:03.0 init PCI: 04:04.0 init
PCI: 04:02.0 init rom address for PCI: 04:02.0 = fff80000 copying VGA ROM Image from 0xfff80000 to 0xc0000, 0x9000 bytes entering emulator halt_sys: file /home/vincente/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c, line 4387
--- end of linuxbios boot message ---
Yeah, it works now.
Thanks a lot.
How about the snow screen issue? Do you have any idea?
2006/8/2, yhlu yinghailu@gmail.com:
you need to update the entry in mptable.c for your eth0. try to read the schematic to figure out how the io apic is conntected.
YH
On 8/1/06, Vincente Tsou vincentetsou@nexcom.com.tw wrote:
Hi,
My target board is similar to Tyan s2882, I base on s2882's code to fit
my
target board.
My target board also got an onboard Intel 10/100 NIC, and I assign the
irq
like s2882 done. printk_debug("setting Onboard Intel NIC\n"); static const unsigned char slotIrqs_8111_1_8[4] = { 9, 0, 0, 0
};
pci_assign_irqs(bus_8111_1, 4, slotIrqs_8111_1_8); write_pirq_info(pirq_info, bus_8111_1,(4<<3)|0, 0x1, 0xdef8, 0,
0,
0, 0, 0, 0, 0, 0); pirq_info++; slot_num++;
It can works fine on unique processor platform, but when I boot into smp kernel it's interrupts is not going.
[root@iSCSI h412]# cat /proc/interrupts CPU0 CPU1 0: 1235644 1223971 IO-APIC-edge timer 1: 0 8 IO-APIC-edge i8042 2: 0 0 XT-PIC cascade 3: 5 3 IO-APIC-edge serial 4: 1209 1984 IO-APIC-edge serial 8: 0 1 IO-APIC-edge rtc 12: 0 66 IO-APIC-edge i8042 14: 3144 759 IO-APIC-edge ide0 137: 0 0 IO-APIC-level eth0 <-- It not works. 145: 0 0 IO-APIC-level ohci_hcd, ohci_hcd 193: 10622 1 IO-APIC-level eth2 NMI: 0 0 LOC: 2459674 2459668 ERR: 0 MIS: 0
Is it possible cause by IO-APIC ??
The other question, my VGA still has snow screen when linuxbios booting,
even I moved the CPU init before other pci device init call. But after I login the system, it will become clear. following is part of my log....
--- part of linuxbios boot message --
Initializing devices... Root Device init APIC_CLUSTER: 0 init Initializing CPU #0 CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 0 done. Clearing memory 2048K - 262144K: --- done CPU #0 Initialized Initializing CPU #1 Waiting for 1 CPUS to stop CPU: vendor AMD device f5a Enabling cache
Setting fixed MTRRs(0-88) type: UC Setting fixed MTRRs(0-16) Type: WB, RdMEM, WrMEM Setting fixed MTRRs(24-88) Type: WB, RdMEM, WrMEM DONE fixed MTRRs Setting variable MTRR 0, base: 0MB, range: 512MB, type WB DONE variable MTRRs Clear out the extra MTRR's
MTRR check Fixed MTRRs : Enabled Variable MTRRs: Enabled
microcode: equivalent processor rev id = 0x004a, patch id = 0x00000000 microcode: patch id that want to apply= 0x00000047 microcode: updated to patch id = 0x00000047 success
Setting up local apic... apic_id: 1 done. Clearing memory 262144K - 524288K: ---- done CPU #1 Initialized All AP CPUs stopped PCI: 00:18.0 init PCI: 01:02.0 init PCI: 03:04.0 init PCI: 03:04.1 init PCI: 01:03.0 init PCI: 04:04.0 init
PCI: 04:02.0 init rom address for PCI: 04:02.0 = fff80000 copying VGA ROM Image from 0xfff80000 to 0xc0000, 0x9000 bytes entering emulator halt_sys: file /home/vincente/LinuxBIOSv2/src/devices/emulator/x86emu/ops.c, line 4387
--- end of linuxbios boot message ---