Procedure:
1) Load Intel L440GX Standard BIOS 2) Switch the BIOS recovery jumper on (while system is running) 3) Get to the LILO prompt and reboot processor 0 (leave proc 1 running!) 4) Load LinuxBIOS SMP kernel 5) Switch the BIOS recovery jumper off (while system is running) 6) Reboot processor 1 7) Get Linux to 0010:00100000 and set BX to 0x0 (workaround -- this should be in LinuxBIOS). 8) Run hit F5 and look at the (framebuffer's) penguins!!! (For the ACL guys, check out the VA slate on my workbench.)
Ron: We are good to go!! It is pretty obvious to me that processor 2 needs to run the MTRR init code; how do you want to do this? Perhaps an #ifdef LINUXBIOS in the kernel, or do you want to do a startup IPI?
{Free,Open}BIOS lists: Does anyone know why we have to set BX to 0x0? Does anyone know why we get 'unexpected IRQ trap at vector 31.' when we calibrate the delay loops (on both processors)?
Cheers.
- James
Linux version 2.4.0-test2 (jimi@rockhopper1) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #18 SMP Sun Jul 2 18:07:05 MDT 2000. BIOS-provided physical RAM map:. e820: 000000000009f000 @ 0000000000000000 (usable). e820: 0000000003e00000 @ 0000000000100000 (usable). Scan SMP from c0000000 for 1024 bytes.. found SMP MP-table at 00000000. hm, page 00000000 reserved twice.. On node 0 totalpages: 16128. zone(0): 4096 pages.. zone(1): 12032 pages.. zone(2): 0 pages.. Intel MultiProcessor Specification v1.4. Virtual Wire compatibility mode.. Default MP configuration #5. Processor #0 Pentium(tm) Pro APIC version 16. Floating point unit present.. Machine Exception supported.. 64 bit compare & exchange supported.. Internal APIC present.. Processor #1 Pentium(tm) Pro APIC version 16. Floating point unit present.. Machine Exception supported.. 64 bit compare & exchange supported.. Internal APIC present.. Bus #0 is ISA . Bus #1 is PCI . I/O APIC #2 Version 16 at 0xFEC00000.. Int: type 0, pol 0, trig 0, bus 0, IRQ 00, APIC ID 2, APIC INT 02. Int: type 0, pol 0, trig 0, bus 0, IRQ 01, APIC ID 2, APIC INT 01. Int: type 0, pol 0, trig 0, bus 0, IRQ 03, APIC ID 2, APIC INT 03. Int: type 0, pol 0, trig 0, bus 0, IRQ 04, APIC ID 2, APIC INT 04. Int: type 0, pol 0, trig 0, bus 0, IRQ 05, APIC ID 2, APIC INT 05. Int: type 0, pol 0, trig 0, bus 0, IRQ 06, APIC ID 2, APIC INT 06. Int: type 0, pol 0, trig 0, bus 0, IRQ 07, APIC ID 2, APIC INT 07. Int: type 0, pol 0, trig 0, bus 0, IRQ 08, APIC ID 2, APIC INT 08. Int: type 0, pol 0, trig 0, bus 0, IRQ 09, APIC ID 2, APIC INT 09. Int: type 0, pol 0, trig 0, bus 0, IRQ 0a, APIC ID 2, APIC INT 0a. Int: type 0, pol 0, trig 0, bus 0, IRQ 0b, APIC ID 2, APIC INT 0b. Int: type 0, pol 0, trig 0, bus 0, IRQ 0c, APIC ID 2, APIC INT 0c. Int: type 0, pol 0, trig 0, bus 0, IRQ 0d, APIC ID 2, APIC INT 0d. Int: type 0, pol 0, trig 0, bus 0, IRQ 0e, APIC ID 2, APIC INT 0e. Int: type 0, pol 0, trig 0, bus 0, IRQ 0f, APIC ID 2, APIC INT 0f. Int: type 3, pol 0, trig 0, bus 0, IRQ 00, APIC ID 2, APIC INT 00. Lint: type 3, pol 0, trig 0, bus 0, IRQ 00, APIC ID ff, APIC LINT 00. Lint: type 1, pol 0, trig 0, bus 0, IRQ 00, APIC ID ff, APIC LINT 01. Processors: 2. mapped APIC to ffffe000 (fee00000). mapped IOAPIC to ffffd000 (fec00000). Kernel command line: root=/dev/hda1 single. Initializing CPU#0. Detected 497445265 Hz processor.. Console: colour dummy device 80x25. unexpected IRQ trap at vector 31. Calibrating delay loop... unexpected IRQ trap at vector 31. 989.59 BogoMIPS. unexpected IRQ trap at vector 31. Memory: 61888k/64512k available (723k kernel code, 2236k reserved, 83k data, 72k init, 0k highmem). Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes). Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes). Page-cache hash table entries: 16384 (order: 4, 65536 bytes). kmem_create: Poisoning requested, but con given - bdev_cache. Inode-cache hash table entries: 4096 (order: 3, 32768 bytes). kmem_create: Poisoning requested, but con given - inode_cache. CPU serial number disabled.. Checking 386/387 coupling... OK, FPU using exception 16 error reporting.. Enabling fast FPU save and restore... done.. Enabling unmasked SIMD FPU exception support... done.. Checking SIMD FPU exceptions... OK, SIMD FPU using exception 19 error reporting.. Checking 'hlt' instruction... OK.. POSIX conformance testing by UNIFIX. mtrr: v1.36 (20000221) Richard Gooch (rgooch@atnf.csiro.au). CPU serial number disabled.. CPU0: Intel Pentium III (Katmai) stepping 03. per-CPU timeslice cutoff: 0.00 usecs.. Getting VERSION: 40011. Getting VERSION: 40011. Getting LVT0: 700. Getting LVT1: 400. enabled ExtINT on CPU#0. ESR value before enabling vector: 00000000. ESR value after enabling vector: 00000000. CPU present map: 3. Booting processor 1/0 eip 2000. Setting warm reset code and vector.. 1.. 2.. 3.. Asserting INIT.. Waiting for send to finish.... +Deasserting INIT.. Waiting for send to finish.... +#startup loops: 2.. Sending STARTUP #1.. After apic_write.. Startup point 1.. Waiting for send to finish.... +Initializing CPU#1. Sending STARTUP #2.. After apic_write.. Startup point 1.. Waiting for send to finish.... +CPU#1 (phys ID: 0) waiting for CALLOUT. After Startup.. Before Callout 1.. After Callout 1.. CALLIN, before setup_local_APIC().. masked ExtINT on CPU#1. ESR value before enabling vector: 00000000. ESR value after enabling vector: 00000000. Calibrating delay loop... unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. unexpected IRQ trap at vector 31. 992.87 BogoMIPS. Stack at about c112bfbc. CPU serial number disabled.. unexpected IRQ trap at vector 31. OK.. CPU1: Intel Pentium III (Katmai) stepping 03. CPU has booted.. Before bogomips.. Total of 2 processors activated (1982.46 BogoMIPS).. Before bogocount - setting activated=1.. Boot done.. ENABLING IO-APIC IRQs. ...changing IO-APIC physical APIC ID to 2 ... ok.. Synchronizing Arb IDs.. init IO_APIC IRQs. IO-APIC (apicid-pin) 2-0, 2-16, 2-17, 2-18, 2-19, 2-20, 2-21, 2-22, 2-23 not connected.. ..TIMER: vector=49 pin1=2 pin2=0. activating NMI Watchdog ... done.. number of MP IRQ sources: 16.. number of IO-APIC #2 registers: 24.. testing the IO APIC........................ . IO APIC #2....... .... register #00: 02000000. ....... : physical APIC id: 02. .... register #01: 00170011. ....... : max redirection entries: 0017. ....... : IO APIC version: 0011. .... register #02: 00000000. ....... : arbitration: 00. .... IRQ redirection table:. NR Log Phy Mask Trig IRR Pol Stat Dest Deli Vect: . 00 000 00 1 0 0 0 0 0 0 00. 01 003 03 0 0 0 0 0 1 1 39. 02 003 03 0 0 0 0 0 1 1 31. 03 003 03 0 0 0 0 0 1 1 41. 04 003 03 0 0 0 0 0 1 1 49. 05 003 03 0 0 0 0 0 1 1 51. 06 003 03 0 0 0 0 0 1 1 59. 07 003 03 0 0 0 0 0 1 1 61. 08 003 03 0 0 0 0 0 1 1 69. 09 003 03 0 0 0 0 0 1 1 71. 0a 003 03 0 0 0 0 0 1 1 79. 0b 003 03 0 0 0 0 0 1 1 81. 0c 003 03 0 0 0 0 0 1 1 89. 0d 000 00 1 0 0 0 0 0 0 00. 0e 003 03 0 0 0 0 0 1 1 91. 0f 003 03 0 0 0 0 0 1 1 99. 10 000 00 1 0 0 0 0 0 0 00. 11 000 00 1 0 0 0 0 0 0 00. 12 000 00 1 0 0 0 0 0 0 00. 13 000 00 1 0 0 0 0 0 0 00. 14 000 00 1 0 0 0 0 0 0 00. 15 000 00 1 0 0 0 0 0 0 00. 16 000 00 1 0 0 0 0 0 0 00. 17 000 00 1 0 0 0 0 0 0 00. IRQ to pin mappings:. IRQ0 -> 2. IRQ1 -> 1. IRQ3 -> 3. IRQ4 -> 4. IRQ5 -> 5. IRQ6 -> 6. IRQ7 -> 7. IRQ8 -> 8. IRQ9 -> 9. IRQ10 -> 10. IRQ11 -> 11. IRQ12 -> 12. IRQ13 -> 13. IRQ14 -> 14. IRQ15 -> 15. .................................... done.. calibrating APIC timer .... ..... CPU clock speed is 497.3914 MHz.. ..... host bus clock speed is 99.4782 MHz.. cpu: 0, clocks: 994782, slice: 331594. CPU0T0:994768,T1:663168,D:6,S:331594,C:994782. cpu: 1, clocks: 994782, slice: 331594. CPU1T0:994768,T1:331568,D:12,S:331594,C:994782. checking TSC synchronization across CPUs: passed.. Setting commenced=1, go go go. mtrr: your CPUs had inconsistent fixed MTRR settings. mtrr: your CPUs had inconsistent variable MTRR settings. mtrr: your CPUs had inconsistent MTRRdefType settings. mtrr: probably your BIOS does not setup all CPUs. PCI: Using configuration type 1. PCI: Probing PCI hardware. Linux NET4.0 for Linux 2.3. Based upon Swansea University Computer Society NET3.039. kmem_create: Poisoning requested, but con given - skbuff_head_cache. Starting kswapd v1.6. PCI: No IRQ known for interrupt pin A of device 00:09.0. Probably buggy MP table.. matroxfb: Matrox Millennium II (PCI) detected. matroxfb: MTRR's turned on. matroxfb: 640x480x8bpp (virtual: 640x13081). matroxfb: framebuffer at 0xA5000000, mapped to 0xc4805000, size 8388608. Console: switching to colour frame buffer device 80x30. fb0: MATROX VGA frame buffer device. Uniform Multi-Platform E-IDE driver Revision: 6.31. ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx. hd0: C/H/S=0/0/0 from BIOS ignored. hda: 0MB, CHS=0/0/0. Real Time Clock Driver v1.10c. end_request: I/O error, dev 03:01 (hard disk), sector 2. EXT2-fs: unable to read superblock. Kernel panic: VFS: Unable to mount root fs on 03:01.............
- To unsubscribe: send mail to majordomo@freiburg.linux.de with 'unsubscribe openbios' in the body of the message