Change GENERIC, GENERIC.MP, GENERIC.MPACPI, GENERIC_LAPTOP, INSTALL,

INSTALL.MP, INSTALL_LAPTOP, and DISKLESS kernels so that they are
smaller and faster by removing support for actual i386 CPUs (which
lack write protection in supervisor mode, which requires a costly
workaround) and math coprocessor emulation.  Coprocessor emulation
is retained in the LAPTOP kernels, but not in the others.  Where
it is known that a configuration cannot be run with particular CPUs
(i486 in *MP kernels) remove that support as well.  Compile all
kernels with appropriate architecture and tuning flags (reduces
size, makes things faster).  Those requiring support for machines
with i386 CPU or lacking coprocessor can use the *SMALL or *TINY
kernels.
This commit is contained in:
tls 2006-11-01 19:33:41 +00:00
parent c04f54e8f4
commit bd4d319d4b
15 changed files with 69 additions and 36 deletions

View File

@ -1,4 +1,4 @@
LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.744 $>
LIST OF CHANGES FROM LAST RELEASE: <$Revision: 1.745 $>
[Note: This file does not mention every change made to the NetBSD source tree.
@ -142,3 +142,17 @@ Changes from NetBSD 4.0 to NetBSD 5.0:
puc(4): Add support for Perle PCI-RAS 4 port multimodem [manu 20061101]
rum(4): Added driver for Ralink 2501/2601 USB 802.11a/b/g
devices from OpenBSD. [joerg 20061101]
i386: Change GENERIC, GENERIC.MP, GENERIC.MPACPI, GENERIC_LAPTOP,
INSTALL, INSTALL.MP, INSTALL_LAPTOP, and DISKLESS kernels
so that they are smaller and faster by removing support
for actual i386 CPUs (which lack write protection in
supervisor mode, which requires a costly workaround) and
math coprocessor emulation. Coprocessor emulation is
retained in the LAPTOP kernels, but not in the others.
Where it is known that a configuration cannot be run
with particular CPUs (i486 in *MP kernels) remove that
support as well. Compile all kernels with appropriate
architecture and tuning flags (reduces size, makes things
faster). Those requiring support for machines with i386
CPU or lacking coprocessor can use the *SMALL or *TINY
kernels. [tls 20061101]

View File

@ -1,4 +1,4 @@
# $NetBSD: DISKLESS,v 1.114 2006/08/26 20:26:45 christos Exp $
# $NetBSD: DISKLESS,v 1.115 2006/11/01 19:33:41 tls Exp $
#
# DISKLESS -- Generic machine setup for diskless boot.
# This kernel can be loaded from a bootable floppy (i.e. kernel-copy)
@ -9,7 +9,7 @@ include "arch/i386/conf/std.i386"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
options I386_CPU # CPU classes; at least one is REQUIRED
#options I386_CPU # CPU classes; at least one is REQUIRED
options I486_CPU
options I586_CPU
options I686_CPU
@ -17,6 +17,9 @@ options MATH_EMULATE # floating point emulation
#options VM86 # virtual 8086 emulation
options USER_LDT # user-settable LDT; used by WINE
makeoptions COPTS="-march=i486 -mtune=pentiumpro" # Assume at least 486,
# tune for more modern
# The following options override the memory sizes passed in from the boot
# block. Use them *only* if the boot block is unable to determine the correct
# values. Note that the BIOS may *correctly* report less that 640k of base

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC,v 1.793 2006/10/31 22:21:16 joerg Exp $
# $NetBSD: GENERIC,v 1.794 2006/11/01 19:33:41 tls Exp $
#
# GENERIC machine description file
#
@ -22,18 +22,21 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.793 $"
#ident "GENERIC-$Revision: 1.794 $"
maxusers 32 # estimated number of users
# CPU support. At least one is REQUIRED.
options I386_CPU
#options I386_CPU
options I486_CPU
options I586_CPU
options I686_CPU
makeoptions COPTS="-march=i486 -mtune=pentiumpro" # Assume at least 486,
# tune for more modern
# CPU-related options.
options MATH_EMULATE # floating point emulation
#options MATH_EMULATE # floating point emulation
options VM86 # virtual 8086 emulation
options USER_LDT # user-settable LDT; used by WINE
# insert delay no-ops in interrupts; recommended on very old machines

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC.MPACPI,v 1.59 2006/07/04 00:30:22 christos Exp $
# $NetBSD: GENERIC.MPACPI,v 1.60 2006/11/01 19:33:41 tls Exp $
#
# GENERIC.MP -- Generic, plus enable Multiprocessor support.
#
@ -47,8 +47,10 @@ wss* at acpi? # NeoMagic 256AV in wss mode
#sony* at acpi? # Sony Miscellaneous Controller
# Remove support for old cpus
no options I386_CPU, I486_CPU, I586_CPU
no options MATH_EMULATE
no options I486_CPU, I586_CPU
#no options MATH_EMULATE
no makeoptions COPTS
makeoptions COPTS="-march=pentiumpro -mtune=pentiumpro"
# It is doubtful that an EISA system supports ACPI
no options EISAVERBOSE

View File

@ -1,4 +1,4 @@
# $NetBSD: GENERIC_LAPTOP,v 1.211 2006/10/31 22:21:17 joerg Exp $
# $NetBSD: GENERIC_LAPTOP,v 1.212 2006/11/01 19:33:41 tls Exp $
# From: NetBSD: GENERIC,v 1.414 2001/07/30 19:59:05 ad Exp
#
# GENERIC_LAPTOP -- GENERIC with cardbus and some USB devices enabled
@ -8,16 +8,19 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "GENERIC-$Revision: 1.211 $"
#ident "GENERIC-$Revision: 1.212 $"
maxusers 32 # estimated number of users
# CPU support. At least one is REQUIRED.
options I386_CPU
#options I386_CPU
options I486_CPU
options I586_CPU
options I686_CPU
makeoptions COPTS="-march=i486 -mtune=pentiumpro" # Assume at least 486,
# tune for more modern
# CPU-related options.
options MATH_EMULATE # floating point emulation
options VM86 # virtual 8086 emulation

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL,v 1.291 2006/10/21 14:10:33 bouyer Exp $
# $NetBSD: INSTALL,v 1.292 2006/11/01 19:33:41 tls Exp $
#
# INSTALL - Installation kernel.
#
@ -13,7 +13,7 @@ include "arch/i386/conf/std.i386"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
makeoptions COPTS="-Os" # Optimise for space. Implies -O2
makeoptions COPTS="-Os -march=i486 -mtune=i486" # i486 is densest code
# Enable the hooks used for initializing the root memory-disk.
options MEMORY_DISK_HOOKS
@ -24,13 +24,13 @@ options MEMORY_DISK_ROOT_SIZE=10000 # size of memory disk, in blocks
maxusers 2 # estimated number of users
# CPU support. At least one is REQUIRED.
options I386_CPU
#options I386_CPU
options I486_CPU
options I586_CPU
options I686_CPU
# CPU-related options.
options MATH_EMULATE # floating point emulation
#options MATH_EMULATE # floating point emulation
#options VM86 # virtual 8086 emulation
#options USER_LDT # user-settable LDT; used by WINE

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL.MP,v 1.6 2006/07/04 00:30:22 christos Exp $
# $NetBSD: INSTALL.MP,v 1.7 2006/11/01 19:33:41 tls Exp $
#
# INSTALL.MP -- Install, plus enable Multiprocessor support.
# Mostly to let people test-boot MP systems.
@ -15,4 +15,8 @@ options MPVERBOSE
options DEBUG
options MPBIOS # configure CPUs and APICs using MPBIOS
no options I486_CPU
no makeoptions COPTS
makeoptions COPTS="-Os -march=pentium -mtune=i486"
ioapic* at mainbus? apid ?

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_LAPTOP,v 1.104 2006/10/21 14:10:33 bouyer Exp $
# $NetBSD: INSTALL_LAPTOP,v 1.105 2006/11/01 19:33:41 tls Exp $
#
# INSTALL - Installation kernel.
#
@ -19,12 +19,12 @@ options MEMORY_DISK_IS_ROOT # force root on memory disk
options MEMORY_DISK_SERVER=0 # no userspace memory disk support
options MEMORY_DISK_ROOT_SIZE=10000 # size of memory disk, in blocks
makeoptions COPTS="-Os" # generates smaller code than -O2, -O1
makeoptions COPTS="-Os -march=i486 -mtune=i486" # i486 is densest code
maxusers 32 # estimated number of users
# CPU support. At least one is REQUIRED.
options I386_CPU
#options I386_CPU
options I486_CPU
options I586_CPU
options I686_CPU

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_XEN2_DOMU,v 1.3 2006/10/02 03:28:30 chs Exp $
# $NetBSD: INSTALL_XEN2_DOMU,v 1.4 2006/11/01 19:33:41 tls Exp $
include "arch/xen/conf/std.xen"
@ -6,7 +6,7 @@ options XEN
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
makeoptions COPTS="-Os" # Optimise for space. Implies -O2
makeoptions COPTS="-Os -march=pentiumpro -mtune=i486"
# Enable the hooks used for initializing the root memory-disk.
options MEMORY_DISK_HOOKS

View File

@ -1,4 +1,4 @@
# $NetBSD: INSTALL_XEN3_DOMU,v 1.6 2006/10/17 19:57:24 bouyer Exp $
# $NetBSD: INSTALL_XEN3_DOMU,v 1.7 2006/11/01 19:33:41 tls Exp $
include "arch/xen/conf/std.xen"
@ -9,7 +9,7 @@ options MAXPHYS=32768
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
makeoptions COPTS="-Os" # Optimise for space. Implies -O2
makeoptions COPTS="-Os -march=pentiumpro -mtune=i486"
# Enable the hooks used for initializing the root memory-disk.
options MEMORY_DISK_HOOKS

View File

@ -1,4 +1,4 @@
# $NetBSD: NET4501,v 1.50 2006/08/26 20:26:45 christos Exp $
# $NetBSD: NET4501,v 1.51 2006/11/01 19:33:41 tls Exp $
#
# NET4501 -- kernel configuration for a Soekris Engineering net4501
# single-board computer.
@ -10,7 +10,7 @@ include "arch/i386/conf/std.i386"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "NET4501-$Revision: 1.50 $"
#ident "NET4501-$Revision: 1.51 $"
maxusers 32 # estimated number of users
@ -23,7 +23,7 @@ options I486_CPU
# AMD Elan SC520's timer runs at a different frequency
options TIMER_FREQ=1189200
makeoptions COPTS="-Os -mtune=i486"
makeoptions COPTS="-Os -march=i486 -mtune=i486"
# CPU-related options.
#options MATH_EMULATE # floating point emulation

View File

@ -1,4 +1,4 @@
# $NetBSD: PARALLELS,v 1.2 2006/10/29 09:34:35 minskim Exp $
# $NetBSD: PARALLELS,v 1.3 2006/11/01 19:33:41 tls Exp $
#
# PARALLELS machine description file
#
@ -14,9 +14,10 @@ maxusers 32
# CPU support.
options I686_CPU
makeoptions COPTS="-march=pentiumpro -mtune=pentiumpro"
# CPU-related options.
options MATH_EMULATE # floating point emulation
#options MATH_EMULATE # floating point emulation
options VM86 # virtual 8086 emulation
options USER_LDT # user-settable LDT; used by WINE

View File

@ -1,4 +1,4 @@
# $NetBSD: QEMU,v 1.3 2006/10/25 13:56:15 jmmv Exp $
# $NetBSD: QEMU,v 1.4 2006/11/01 19:33:41 tls Exp $
#
# QEMU machine description file
#
@ -11,7 +11,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "QEMU-$Revision: 1.3 $"
#ident "QEMU-$Revision: 1.4 $"
maxusers 32 # estimated number of users
@ -20,6 +20,7 @@ maxusers 32 # estimated number of users
#options I486_CPU
#options I586_CPU
options I686_CPU
makeoptions COPTS="-march=pentiumpro -mtune=pentiumpro"
# CPU-related options.
#options MATH_EMULATE # floating point emulation

View File

@ -1,4 +1,4 @@
# $NetBSD: SWINGER,v 1.84 2006/08/26 20:26:45 christos Exp $
# $NetBSD: SWINGER,v 1.85 2006/11/01 19:33:41 tls Exp $
# from NetBSD: GENERIC,v 1.325 2000/04/14 14:53:32 augustss Exp
#
# SWINGER -- thorpej's Abit BP6+dual Celeron
@ -8,7 +8,7 @@ include "arch/i386/conf/std.i386"
#options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "SWINGER-$Revision: 1.84 $"
#ident "SWINGER-$Revision: 1.85 $"
maxusers 64 # estimated number of users
@ -17,6 +17,7 @@ maxusers 64 # estimated number of users
#options I486_CPU
#options I586_CPU
options I686_CPU
makeoptions COPTS="-march=pentiumpro -mtune=pentiumpro"
# CPU-related options.
#options MATH_EMULATE # floating point emulation

View File

@ -1,4 +1,4 @@
# $NetBSD: VIRTUALPC,v 1.46 2006/08/26 20:26:45 christos Exp $
# $NetBSD: VIRTUALPC,v 1.47 2006/11/01 19:33:41 tls Exp $
#
# VIRTUALPC machine description file --
#
@ -11,7 +11,7 @@ include "arch/i386/conf/std.i386"
options INCLUDE_CONFIG_FILE # embed config file in kernel binary
#ident "VIRTUALPC-$Revision: 1.46 $"
#ident "VIRTUALPC-$Revision: 1.47 $"
maxusers 32 # estimated number of users
@ -20,6 +20,7 @@ maxusers 32 # estimated number of users
#options I486_CPU
options I586_CPU
options I686_CPU
makeoptions COPTS="-march=pentium -mtune=pentiumpro"
# CPU-related options.
#options MATH_EMULATE # floating point emulation