From owner-freebsd-hackers Mon May 22 12:16:33 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from verdi.nethelp.no (verdi.nethelp.no [158.36.41.162]) by hub.freebsd.org (Postfix) with SMTP id 2292137B784 for ; Mon, 22 May 2000 12:16:24 -0700 (PDT) (envelope-from sthaug@nethelp.no) Received: (qmail 58378 invoked by uid 1001); 22 May 2000 19:15:29 +0000 (GMT) To: joy@niksun.com Cc: freebsd-hackers@freeBSD.org Subject: Re: SMP and APIC??? From: sthaug@nethelp.no In-Reply-To: Your message of "Mon, 22 May 2000 14:56:02 -0400" References: <392982C1.674000DD@falcon.niksun.com> X-Mailer: Mew version 1.05+ on Emacs 19.34.2 Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Date: Mon, 22 May 2000 21:15:29 +0200 Message-ID: <58375.959022929@verdi.nethelp.no> Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > i have compiled freeBSD 3.4 SMP. but when i try to boot it the kernel > shows "Testing APIC 8254" and then it hangs. earlier i had run mptable > and it showed:I/O APICs: > ---------------------- > {Lots of stuff}.... > > APIC ID Version State Address > 2 0x20 usable 0xfec00000 > 3 0x20 usable 0xfd8df000 You seem to have two IO APICs. You need options NAPIC=2 # number of IO APICs in the kernel config, *and* the following patch to sys/i386/i386/pmap.c (this patch is in 3.4-STABLE, but not in 3.4-RELEASE). Steinar Haug, Nethelp consulting, sthaug@nethelp.no ---------------------------------------------------------------------- *** pmap.c.orig Sat Apr 1 23:58:17 2000 --- pmap.c Tue Apr 25 23:59:29 2000 *************** *** 434,441 **** for (j = 0; j < 16; j++) { /* same page frame as a previous IO apic? */ if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) == ! (io_apic_address[0] & PG_FRAME)) { ! ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE]; break; } /* use this slot if available */ --- 434,442 ---- for (j = 0; j < 16; j++) { /* same page frame as a previous IO apic? */ if (((vm_offset_t)SMP_prvpt[j + 16] & PG_FRAME) == ! (io_apic_address[i] & PG_FRAME)) { ! ioapic[i] = (ioapic_t *)&SMP_ioapic[j * PAGE_SIZE ! + (io_apic_address[i] & PAGE_MASK)]; break; } /* use this slot if available */ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message