From owner-cvs-sys Sun Nov 10 09:16:08 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id JAA19989 for cvs-sys-outgoing; Sun, 10 Nov 1996 09:16:08 -0800 (PST) Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.19]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id JAA19974; Sun, 10 Nov 1996 09:16:01 -0800 (PST) Received: (from bde@localhost) by godzilla.zeta.org.au (8.7.6/8.6.9) id EAA12879; Mon, 11 Nov 1996 04:14:53 +1100 Date: Mon, 11 Nov 1996 04:14:53 +1100 From: Bruce Evans Message-Id: <199611101714.EAA12879@godzilla.zeta.org.au> To: cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-sys@freefall.freebsd.org, nate@freefall.freebsd.org Subject: Re: cvs commit: src/sys/i386/isa syscons.c syscons.h Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Modified: sys/i386/isa syscons.c syscons.h Log: Allow us to enable the 'XT_KEYBOARD' code using a configuration flag. This allows the user to add modify syscons's configuration flags using UserConfig that will allow older/quirky hardware (most notably older IBM ThinkPad laptops) to work with the standard boot kernel. Please nuke the XT_KEYBOARD option and document the flag next to the syscons flags in LINT and in keyboard.4. The other new syscons flags are also undocumented. I'm going to replace the i586 optimized copying options (including the one for copyin/copyout that went away) by negative-logic npx flags. This is mainly for 2.2. I don't trust copying through the FPU to work on i586 clones. The flags should be somewhere else (maybe in a `cpu' or `misc' "driver", but npx is more convenient and not wrong for things involving the FPU. npxattach() also avoids attaching the FPU-based copy routines if a h/w FPU with a working exception 16 interface is not being used. There are tricky context switching problems if IRQ13 is being used. I also hacked away the need for MAXMEM: --- diff -c2 machdep.c~ machdep.c *** machdep.c~ Fri Nov 8 03:51:22 1996 --- machdep.c Mon Nov 11 03:39:12 1996 *************** *** 973,976 **** --- 1003,1007 ---- struct gate_descriptor *gdp; int gsel_tss; + struct isa_device *idp; /* table descriptors - used to load tables by microp */ struct region_descriptor r_gdt, r_idt; *************** *** 1176,1179 **** --- 1212,1219 ---- #endif + idp = find_isadev(isa_devtab_null, &npxdriver, 0); + if (idp != NULL && idp->id_msize != 0) + Maxmem = idp->id_msize / 4; + /* call pmap initialization to make new kernel address space */ pmap_bootstrap (first, 0); ---- This doesn't work until the system is rebooted with the new "memory" size in effect after changing it with userconfig (`id_msize' is actually normally the i/o size). Bruce