From owner-freebsd-smp Mon Sep 2 12:44:19 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA08915 for smp-outgoing; Mon, 2 Sep 1996 12:44:19 -0700 (PDT) Received: from clem.systemsix.com (clem.systemsix.com [198.99.86.131]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id MAA08904 for ; Mon, 2 Sep 1996 12:44:15 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by clem.systemsix.com (8.6.12/8.6.12) with SMTP id NAA06348; Mon, 2 Sep 1996 13:42:45 -0600 Message-Id: <199609021942.NAA06348@clem.systemsix.com> X-Authentication-Warning: clem.systemsix.com: Host localhost didn't use HELO protocol X-Mailer: exmh version 1.6.5 12/11/95 From: Steve Passe To: Terry Lambert cc: freebsd-smp@FreeBSD.ORG, rv@groa.uct.ac.za, erich@uruk.org Subject: Re: SMP on Intel MG15 In-reply-to: Your message of "Mon, 02 Sep 1996 12:20:41 PDT." <199609021920.MAA02683@phaeton.artisoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 02 Sep 1996 13:42:45 -0600 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Terry, >B.4.1 specifically applies only to the 82489DX APIC. Is this a 486 >MP box you are trying to get running? I am using document "Intel MP spec 1.4, July 1995, rev -004" section B.4.1 says: INIT IPIs can be used with systems based on the 82489DX APIC, or on systems that are based on multiple Pentium (735/90, 815/100) processors. THis board has 2: CPU: Pentium (129.33-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x52b Stepping=11 Features=0x3bf these looks like 815@ parts to me... I wrote code to parse the MP config table and print the results. It finds the table in the BIOS: -------------------------------------------------------------------------- FreeBSD/SMP: boot CPU:0, 1 CPUs found 2nd CPU: p1: 5, p2: 10, p3: 15, p4,0:, p5:0 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ <<< test points added to code ------------------------------------------------------------------------- MP Floating Pointer Structure found in BIOS @ physical address 0x000f7ba0: signature: '_MP_, length: 16 bytes version: 1.4, checksum: 0x66 MP Virtual Wire Mode -------------------------------------------------------------------------- MP Config Table Header found @ physical address 0x000f7bb0: signature: 'PCMP, base table length: 268 version: 1.4, checksum: 0xdd OEM ID: 'INTEL ', Product ID: 'XXPRESS ' OEM table pointer: 0x00000000, OEM table size: 0 entry count: 25 local APIC address: 0xfee00000 extended table length: 220, extended table checksum: 190 -------------------------------------------------------------------------- Processor apic ID: 0, version: 16 CPU is usable, CPU is is the bootstrap processor family: 5, model: 2, stepping: 11 feature flags: 0x000003bf Processor apic ID: 2, version: 16 CPU is usable, CPU is is NOT the bootstrap processor family: 5, model: 2, stepping: 11 feature flags: 0x000003bf Bus bus ID: 0, bus type: PCI Bus bus ID: 1, bus type: PCI Bus bus ID: 18, bus type: XPRESS Bus bus ID: 19, bus type: EISA I/O APIC apic ID: 14, version: 17 APIC is usable apic address: 0xfec00000 Local INT INT type: 3, flags: 0x0005 source bus ID: 19, IRQ: 0 destination APIC ID: 255, INT: 0 Local INT INT type: 1, flags: 0x0005 source bus ID: 0, IRQ: 0 destination APIC ID: 255, INT: 1 -------------------------------------------------------------------------- FreeBSD 2.2-CURRENT #15: Sat Aug 31 08:59:12 1996 root@erroll.its.uct.ac.za:/usr/src/sys/compile/SMP Calibrating clock(s) relative to mc146818A clock... i586 clock: 133335509 Hz, i8254 clock: 1193190 Hz CPU: Pentium (129.33-MHz 586-class CPU) Origin = "GenuineIntel" Id = 0x52b Stepping=11 Features=0x3bf real memory = 67108864 (65536K bytes) [ etc .... ] -------------------------------------------------------------------------- >I think it's more likely that the problem is the system default state >doesn't match one of the allowable configurations, and is maybe using >a defaul configuration that we aren't handling properly. See chapter >5 of the spec, "Default Configurations". As the above printout shows, the system is using an MP configuration table. we have changed the cpu_nmbr to reflect the fact that the AP is #2, NOT #1. this change allows the kernel to boot without hanging, (default AP #1 hangs...). we are monitoring the APIC error registors and they seem happy. -- Steve Passe | powered by smp@csn.net | FreeBSD -----BEGIN PGP PUBLIC KEY BLOCK----- Version: 2.6.2 mQCNAzHe7tEAAAEEAM274wAEEdP+grIrV6UtBt54FB5ufifFRA5ujzflrvlF8aoE 04it5BsUPFi3jJLfvOQeydbegexspPXL6kUejYt2OeptHuroIVW5+y2M2naTwqtX WVGeBP6s2q/fPPAS+g+sNZCpVBTbuinKa/C4Q6HJ++M9AyzIq5EuvO0a8Rr9AAUR tBlTdGV2ZSBQYXNzZSA8c21wQGNzbi5uZXQ+ =ds99 -----END PGP PUBLIC KEY BLOCK-----