From owner-freebsd-smp Sat Nov 23 20:54:13 1996 Return-Path: owner-smp Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id UAA27954 for smp-outgoing; Sat, 23 Nov 1996 20:54:13 -0800 (PST) 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 UAA27948 for ; Sat, 23 Nov 1996 20:54:09 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by clem.systemsix.com (8.6.12/8.6.12) with SMTP id VAA21729 for ; Sat, 23 Nov 1996 21:54:03 -0700 Message-Id: <199611240454.VAA21729@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: freebsd-smp@freefall.freebsd.org Subject: Re: SMP -current merge In-reply-to: Your message of "Sun, 24 Nov 1996 11:09:44 +0800." <199611240309.LAA24845@spinner.DIALix.COM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sat, 23 Nov 1996 21:54:03 -0700 Sender: owner-smp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Hi gang, I found it!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --- The problem was in machdep.c: someone realized that r_gdt and r_idt were only used locally and moved them from global scope to local scope. Unfortunately rcsmerge (I assumme) retained the global copy. mp_machdep.c:init_secondary() uses the global ones, which are now NOT initialized by init386()! this patch fixes the problem: ------------------------------------ cut -------------------------------- *** i386/i386/machdep.c~ 1996/11/24 03:55:31 --- i386/i386/machdep.c 1996/11/24 03:57:18 *************** *** 989,996 **** --- 989,998 ---- struct gate_descriptor *gdp; int gsel_tss; struct isa_device *idp; + #if 0 /** FIXME: this is what broke the 11-20 merge */ /* table descriptors - used to load tables by microp */ struct region_descriptor r_gdt, r_idt; + #endif /** 0 */ int pagesinbase, pagesinext; int target_page, pa_indx; #ifdef SMP ------------------------------------ cut -------------------------------- In addition to this patch you do need to replace syscons.c and console.h to make the 11-21 sources work. These files can be found in freefall:/incoming/files1.tar.gz. Ignore the icu.s and vector.s files in that tar, I don't think they're needed. Alternately you can revert to rev 1.186 of i386/isa/syscons.c and rev 1.25 of i386/include/console.h I have tested non-APIC_IO, APIC_IO, & APIC_IO-LAZY, all seem to work. I need to do a lot of cleanup and further testing b4 I officially commit this stuff, but the above changes should get you back in business. I will hit it hard tomorrow and try to get everything properly tested and committed by the end of the day. -- 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-----