diff --git a/doc/CHANGES b/doc/CHANGES index 77e3b99c630a..fa577a395150 100644 --- a/doc/CHANGES +++ b/doc/CHANGES @@ -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] diff --git a/sys/arch/i386/conf/DISKLESS b/sys/arch/i386/conf/DISKLESS index ef093c431016..7e6b94548cc4 100644 --- a/sys/arch/i386/conf/DISKLESS +++ b/sys/arch/i386/conf/DISKLESS @@ -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 diff --git a/sys/arch/i386/conf/GENERIC b/sys/arch/i386/conf/GENERIC index 9a396997f9cb..9ca909af1785 100644 --- a/sys/arch/i386/conf/GENERIC +++ b/sys/arch/i386/conf/GENERIC @@ -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 diff --git a/sys/arch/i386/conf/GENERIC.MPACPI b/sys/arch/i386/conf/GENERIC.MPACPI index 5e556d3f4629..c397812a959b 100644 --- a/sys/arch/i386/conf/GENERIC.MPACPI +++ b/sys/arch/i386/conf/GENERIC.MPACPI @@ -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 diff --git a/sys/arch/i386/conf/GENERIC_LAPTOP b/sys/arch/i386/conf/GENERIC_LAPTOP index 59294030d85e..ca4d4bc34e80 100644 --- a/sys/arch/i386/conf/GENERIC_LAPTOP +++ b/sys/arch/i386/conf/GENERIC_LAPTOP @@ -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 diff --git a/sys/arch/i386/conf/INSTALL b/sys/arch/i386/conf/INSTALL index a7d819a4684b..f53134019427 100644 --- a/sys/arch/i386/conf/INSTALL +++ b/sys/arch/i386/conf/INSTALL @@ -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 diff --git a/sys/arch/i386/conf/INSTALL.MP b/sys/arch/i386/conf/INSTALL.MP index 29a38a548d64..f6dd5d32843a 100644 --- a/sys/arch/i386/conf/INSTALL.MP +++ b/sys/arch/i386/conf/INSTALL.MP @@ -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 ? diff --git a/sys/arch/i386/conf/INSTALL_LAPTOP b/sys/arch/i386/conf/INSTALL_LAPTOP index 83619453ea7f..5961b2b05312 100644 --- a/sys/arch/i386/conf/INSTALL_LAPTOP +++ b/sys/arch/i386/conf/INSTALL_LAPTOP @@ -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 diff --git a/sys/arch/i386/conf/INSTALL_XEN2_DOMU b/sys/arch/i386/conf/INSTALL_XEN2_DOMU index daceb265bcbe..84391e5142d2 100644 --- a/sys/arch/i386/conf/INSTALL_XEN2_DOMU +++ b/sys/arch/i386/conf/INSTALL_XEN2_DOMU @@ -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 diff --git a/sys/arch/i386/conf/INSTALL_XEN3_DOMU b/sys/arch/i386/conf/INSTALL_XEN3_DOMU index d9e4e36fc6f6..cff166dcccce 100644 --- a/sys/arch/i386/conf/INSTALL_XEN3_DOMU +++ b/sys/arch/i386/conf/INSTALL_XEN3_DOMU @@ -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 diff --git a/sys/arch/i386/conf/NET4501 b/sys/arch/i386/conf/NET4501 index 259e6a890e33..fac929329bd0 100644 --- a/sys/arch/i386/conf/NET4501 +++ b/sys/arch/i386/conf/NET4501 @@ -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 diff --git a/sys/arch/i386/conf/PARALLELS b/sys/arch/i386/conf/PARALLELS index 19770ef91b3c..de677cc8c5e8 100644 --- a/sys/arch/i386/conf/PARALLELS +++ b/sys/arch/i386/conf/PARALLELS @@ -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 diff --git a/sys/arch/i386/conf/QEMU b/sys/arch/i386/conf/QEMU index c86c3ecbc1a3..34c5959f7ec3 100644 --- a/sys/arch/i386/conf/QEMU +++ b/sys/arch/i386/conf/QEMU @@ -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 diff --git a/sys/arch/i386/conf/SWINGER b/sys/arch/i386/conf/SWINGER index 291f12e09d53..0d5bd4b9b471 100644 --- a/sys/arch/i386/conf/SWINGER +++ b/sys/arch/i386/conf/SWINGER @@ -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 diff --git a/sys/arch/i386/conf/VIRTUALPC b/sys/arch/i386/conf/VIRTUALPC index a5234017bd4a..13dd34f529c7 100644 --- a/sys/arch/i386/conf/VIRTUALPC +++ b/sys/arch/i386/conf/VIRTUALPC @@ -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