From owner-freebsd-smp Fri Apr 21 17:24:24 2000 Delivered-To: freebsd-smp@freebsd.org Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by hub.freebsd.org (Postfix) with ESMTP id EEBCC37B653 for ; Fri, 21 Apr 2000 17:24:20 -0700 (PDT) (envelope-from dillon@apollo.backplane.com) Received: (from dillon@localhost) by apollo.backplane.com (8.9.3/8.9.1) id RAA49064; Fri, 21 Apr 2000 17:24:12 -0700 (PDT) (envelope-from dillon) Date: Fri, 21 Apr 2000 17:24:12 -0700 (PDT) From: Matthew Dillon Message-Id: <200004220024.RAA49064@apollo.backplane.com> To: Luoqi Chen Cc: mihara@prd.fc.nec.co.jp, freebsd-smp@FreeBSD.ORG, smp@csn.net Subject: Patch appears to work (was Re: Multiple APIC support) Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hey Luoqi, the patch works over here! I forwarded it to a friend who has a duel-cpu DELL box which is running FreeBSD which we couldn't get working in SMP before. With the patch applied it appears to work! I think you should commit it (if you haven't already). Also MFCing it to 4.x (A 4.x box is what we tested it under) would be good. -Matt Matthew Dillon : (Luoqi Chen writes) : :My fault, I made a mistake in the patch. Here's the correct one :(the offset should be added before typecasting), : :Index: pmap.c :=================================================================== :RCS file: /home/ncvs/src/sys/i386/i386/pmap.c,v :retrieving revision 1.252 :diff -u -r1.252 pmap.c :--- pmap.c 2000/03/16 08:51:49 1.252 :+++ pmap.c 2000/04/20 03:14:48 :@@ -426,9 +426,10 @@ : for (j = 0; j < mp_napics; j++) { : /* same page frame as a previous IO apic? */ : if (((vm_offset_t)SMPpt[NPTEPG-2-j] & PG_FRAME) == :- (io_apic_address[0] & PG_FRAME)) { :+ (io_apic_address[i] & PG_FRAME)) { : ioapic[i] = (ioapic_t *)((u_int)SMP_prvspace :- + (NPTEPG-2-j)*PAGE_SIZE); :+ + (NPTEPG-2-j)*PAGE_SIZE :+ + (io_apic_address[i] & PAGE_MASK)); : break; : } : /* use this slot if available */ :@@ -436,7 +437,8 @@ : SMPpt[NPTEPG-2-j] = (pt_entry_t)(PG_V | PG_RW | : pgeflag | (io_apic_address[i] & PG_FRAME)); : ioapic[i] = (ioapic_t *)((u_int)SMP_prvspace :- + (NPTEPG-2-j)*PAGE_SIZE); :+ + (NPTEPG-2-j)*PAGE_SIZE :+ + (io_apic_address[i] & PAGE_MASK)); : break; : } : } : : :-lq To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message