diff options
author | phk <phk@FreeBSD.org> | 2002-10-05 16:35:33 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2002-10-05 16:35:33 +0000 |
commit | 951c3e53b2ed3b6d204d571d81928a44baf1a85e (patch) | |
tree | 281a4e3831a5ca364a19928efbfe097201919121 /sys | |
parent | ca4946005d763c5181649378e37809110aa0e1b5 (diff) | |
download | FreeBSD-src-951c3e53b2ed3b6d204d571d81928a44baf1a85e.zip FreeBSD-src-951c3e53b2ed3b6d204d571d81928a44baf1a85e.tar.gz |
NB: This commit does *NOT* make GEOM the default in FreeBSD
NB: But it will enable it in all kernels not having options "NO_GEOM"
Put the GEOM related options into the intended order.
Add "options NO_GEOM" to all kernel configs apart from NOTES.
In some order of controlled fashion, the NO_GEOM options will be
removed, architecture by architecture in the coming days.
There are currently three known issues which may force people to
need the NO_GEOM option:
boot0cfg/fdisk:
Tries to update the MBR while it is being used to control
slices. GEOM does not allow this as a direct operation.
SCSI floppy drives:
Appearantly the scsi-da driver return "EBUSY" if no media
is inserted. This is wrong, it should return ENXIO.
PC98:
It is unclear if GEOM correctly recognizes all variants of
PC98 disklabels. (Help Wanted! I have neither docs nor HW)
These issues are all being worked.
Sponsored by: DARPA & NAI Labs.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/alpha/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/alpha/conf/SIMOS | 2 | ||||
-rw-r--r-- | sys/amd64/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/conf/NOTES | 8 | ||||
-rw-r--r-- | sys/conf/files | 34 | ||||
-rw-r--r-- | sys/conf/files.alpha | 1 | ||||
-rw-r--r-- | sys/conf/files.i386 | 4 | ||||
-rw-r--r-- | sys/conf/files.ia64 | 1 | ||||
-rw-r--r-- | sys/conf/files.pc98 | 3 | ||||
-rw-r--r-- | sys/conf/files.sparc64 | 2 | ||||
-rw-r--r-- | sys/conf/options | 8 | ||||
-rw-r--r-- | sys/dev/mcd/mcd.c | 4 | ||||
-rw-r--r-- | sys/dev/mcd/mcd_isa.c | 5 | ||||
-rw-r--r-- | sys/geom/geom_disk.c | 14 | ||||
-rw-r--r-- | sys/i386/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/i386/conf/OLDCARD | 2 | ||||
-rw-r--r-- | sys/i386/isa/scd.c | 4 | ||||
-rw-r--r-- | sys/ia64/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/ia64/conf/SKI | 2 | ||||
-rw-r--r-- | sys/kern/subr_disk.c | 4 | ||||
-rw-r--r-- | sys/pc98/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/powerpc/conf/GENERIC | 2 | ||||
-rw-r--r-- | sys/sparc64/conf/GENERIC | 2 |
23 files changed, 78 insertions, 34 deletions
diff --git a/sys/alpha/conf/GENERIC b/sys/alpha/conf/GENERIC index 7235d2a..a6ce9f2 100644 --- a/sys/alpha/conf/GENERIC +++ b/sys/alpha/conf/GENERIC @@ -31,6 +31,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options NO_GEOM + # Platforms supported options API_UP1000 # UP1000, UP1100 (Nautilus) options DEC_AXPPCI_33 # UDB, Multia, AXPpci33, NoName diff --git a/sys/alpha/conf/SIMOS b/sys/alpha/conf/SIMOS index ff95cf1..b6d0ae2 100644 --- a/sys/alpha/conf/SIMOS +++ b/sys/alpha/conf/SIMOS @@ -18,6 +18,8 @@ cpu EV5 ident SIMOS maxusers 10 +options NO_GEOM + options DEC_KN8AE options SIMOS options INET #InterNETworking diff --git a/sys/amd64/conf/GENERIC b/sys/amd64/conf/GENERIC index f28cef9..a30eef5 100644 --- a/sys/amd64/conf/GENERIC +++ b/sys/amd64/conf/GENERIC @@ -30,6 +30,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options NO_GEOM + options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem diff --git a/sys/conf/NOTES b/sys/conf/NOTES index e01e011..d543354 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -114,8 +114,12 @@ options PQ_CACHESIZE=512 # color for 512k/16k cache # options INCLUDE_CONFIG_FILE # Include this file in kernel -options GEOM # Use the GEOMetry system for - # disk-I/O transformations. +options GEOM_AES +options GEOM_BSD +options GEOM_GPT +options GEOM_MBR +options GEOM_PC98 +options GEOM_SUNLABEL # # The root device and filesystem type can be compiled in; diff --git a/sys/conf/files b/sys/conf/files index bcf0085..6c14ff4 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -458,8 +458,8 @@ dev/nsp/nsp.c optional nsp dev/nsp/nsp_pccard.c optional nsp card #dev/nsp/nsp_pccard.c optional nsp pccard dev/mca/mca_bus.c optional mca -dev/mcd/mcd.c optional mcd isa -dev/mcd/mcd_isa.c optional mcd isa +dev/mcd/mcd.c optional mcd isa nowerror +dev/mcd/mcd_isa.c optional mcd isa nowerror dev/md/md.c optional md dev/mii/amphy.c optional miibus dev/mii/bmtphy.c optional miibus @@ -787,21 +787,21 @@ fs/umapfs/umap_vnops.c optional umapfs fs/unionfs/union_subr.c optional unionfs fs/unionfs/union_vfsops.c optional unionfs fs/unionfs/union_vnops.c optional unionfs -geom/geom_aes.c optional geom -geom/geom_bsd.c optional geom -geom/geom_dev.c optional geom -geom/geom_disk.c optional geom -geom/geom_dump.c optional geom -geom/geom_enc.c optional geom -geom/geom_event.c optional geom -geom/geom_gpt.c optional geom -geom/geom_io.c optional geom -geom/geom_kern.c optional geom -geom/geom_mbr.c optional geom -geom/geom_pc98.c optional geom -geom/geom_slice.c optional geom -geom/geom_subr.c optional geom -geom/geom_sunlabel.c optional geom +geom/geom_aes.c optional geom_aes +geom/geom_bsd.c optional geom_bsd +geom/geom_dev.c standard +geom/geom_disk.c standard +geom/geom_dump.c standard +geom/geom_enc.c standard +geom/geom_event.c standard +geom/geom_gpt.c optional geom_gpt +geom/geom_io.c standard +geom/geom_kern.c standard +geom/geom_mbr.c optional geom_mbr +geom/geom_pc98.c optional geom_pc98 +geom/geom_slice.c standard +geom/geom_subr.c standard +geom/geom_sunlabel.c optional geom_sunlabel crypto/rijndael/rijndael-alg-fst.c optional geom crypto/rijndael/rijndael-api-fst.c optional geom gnu/ext2fs/ext2_alloc.c optional ext2fs \ diff --git a/sys/conf/files.alpha b/sys/conf/files.alpha index 0ea7dae..5849c26 100644 --- a/sys/conf/files.alpha +++ b/sys/conf/files.alpha @@ -193,6 +193,7 @@ dev/syscons/scvidctl.c optional sc dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc +geom/geom_bsd.c standard isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc diff --git a/sys/conf/files.i386 b/sys/conf/files.i386 index 4b58f62..e7ef0aa 100644 --- a/sys/conf/files.i386 +++ b/sys/conf/files.i386 @@ -146,6 +146,8 @@ dev/syscons/scvidctl.c optional sc dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc +geom/geom_bsd.c standard +geom/geom_mbr.c standard gnu/i386/fpemul/div_small.s optional gpl_math_emulate \ warning "kernel contains GPL contaminated math emulator" gnu/i386/fpemul/errors.c optional gpl_math_emulate @@ -285,7 +287,7 @@ i386/isa/pcvt/pcvt_vtf.c optional vt i386/isa/pmtimer.c optional pmtimer i386/isa/prof_machdep.c optional profiling-routine i386/isa/rc.c count rc -i386/isa/scd.c count scd +i386/isa/scd.c count scd nowerror i386/isa/spic.c optional spic i386/isa/spigot.c count spigot i386/isa/spkr.c optional speaker diff --git a/sys/conf/files.ia64 b/sys/conf/files.ia64 index 9b68ea6..935d0e9 100644 --- a/sys/conf/files.ia64 +++ b/sys/conf/files.ia64 @@ -99,6 +99,7 @@ dev/syscons/scvidctl.c optional sc dev/syscons/scvtb.c optional sc dev/syscons/syscons.c optional sc dev/syscons/sysmouse.c optional sc +geom/geom_gpt.c standard isa/atkbd_isa.c optional atkbd isa/atkbdc_isa.c optional atkbdc isa/fd.c optional fdc diff --git a/sys/conf/files.pc98 b/sys/conf/files.pc98 index 1a6a34d..5c1c19e 100644 --- a/sys/conf/files.pc98 +++ b/sys/conf/files.pc98 @@ -135,6 +135,9 @@ dev/syscons/scterm.c optional sc dev/syscons/scterm-dumb.c optional sc dev/syscons/scvidctl.c optional sc dev/syscons/sysmouse.c optional sc +geom/geom_mbr.c standard +geom/geom_bsd.c standard +geom/geom_pc98.c standard gnu/i386/fpemul/div_small.s optional gpl_math_emulate \ warning "kernel contains GPL contaminated math emulator" gnu/i386/fpemul/errors.c optional gpl_math_emulate diff --git a/sys/conf/files.sparc64 b/sys/conf/files.sparc64 index 5ab4d54..d5a6511 100644 --- a/sys/conf/files.sparc64 +++ b/sys/conf/files.sparc64 @@ -16,6 +16,8 @@ dev/ofw/ofw_console.c optional ofw_console dev/ofw/openfirm.c standard dev/sio/sio.c optional sio dev/sio/sio_isa.c optional sio isa +geom/geom_bsd.c standard +geom/geom_sunlabel.c standard libkern/ffs.c standard kern/subr_diskmbr.c standard kern/syscalls.c optional ktr diff --git a/sys/conf/options b/sys/conf/options index 20aa5af..9fef65d 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -86,7 +86,13 @@ DDB_TRACE DDB_UNATTENDED GDB_REMOTE_CHAT opt_ddb.h GDBSPEED opt_ddb.h -GEOM +NO_GEOM opt_geom.h +GEOM_AES opt_geom.h +GEOM_BSD opt_geom.h +GEOM_GPT opt_geom.h +GEOM_MBR opt_geom.h +GEOM_PC98 opt_geom.h +GEOM_SUNLABEL opt_geom.h HW_WDOG KSTACK_PAGES KSTACK_MAX_PAGES diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c index 1952e7c..7fbb3ba 100644 --- a/sys/dev/mcd/mcd.c +++ b/sys/dev/mcd/mcd.c @@ -1,5 +1,7 @@ #include "opt_geom.h" -#ifndef GEOM +#ifndef NO_GEOM +#warning "The mcd driver is currently not compatible with GEOM" +#else /* * Copyright 1993 by Holger Veit (data part) * Copyright 1993 by Brian Moore (audio part) diff --git a/sys/dev/mcd/mcd_isa.c b/sys/dev/mcd/mcd_isa.c index 823dde8..e08a847 100644 --- a/sys/dev/mcd/mcd_isa.c +++ b/sys/dev/mcd/mcd_isa.c @@ -2,6 +2,9 @@ * $FreeBSD$ */ +#include "opt_geom.h" +#ifdef NO_GEOM + #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -209,3 +212,5 @@ static driver_t mcd_isa_driver = { static devclass_t mcd_devclass; DRIVER_MODULE(mcd, isa, mcd_isa_driver, mcd_devclass, NULL, 0); + +#endif /* GEOM */ diff --git a/sys/geom/geom_disk.c b/sys/geom/geom_disk.c index 2353924..212e073 100644 --- a/sys/geom/geom_disk.c +++ b/sys/geom/geom_disk.c @@ -35,6 +35,9 @@ * $FreeBSD$ */ +#include "opt_geom.h" +#ifndef NO_GEOM + #include <sys/param.h> #include <sys/systm.h> #include <sys/kernel.h> @@ -263,15 +266,6 @@ disk_invalidate (struct disk *disk) { } -SYSCTL_INT(_debug_sizeof, OID_AUTO, disklabel, CTLFLAG_RD, - 0, sizeof(struct disklabel), "sizeof(struct disklabel)"); - -SYSCTL_INT(_debug_sizeof, OID_AUTO, diskslices, CTLFLAG_RD, - 0, sizeof(struct diskslices), "sizeof(struct diskslices)"); - -SYSCTL_INT(_debug_sizeof, OID_AUTO, disk, CTLFLAG_RD, - 0, sizeof(struct disk), "sizeof(struct disk)"); - static void g_kern_disks(void *p) { @@ -309,3 +303,5 @@ sysctl_disks(SYSCTL_HANDLER_ARGS) SYSCTL_PROC(_kern, OID_AUTO, disks, CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NOLOCK, 0, 0, sysctl_disks, "A", "names of available disks"); + +#endif diff --git a/sys/i386/conf/GENERIC b/sys/i386/conf/GENERIC index f28cef9..a30eef5 100644 --- a/sys/i386/conf/GENERIC +++ b/sys/i386/conf/GENERIC @@ -30,6 +30,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options NO_GEOM + options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem diff --git a/sys/i386/conf/OLDCARD b/sys/i386/conf/OLDCARD index 87079c7..c094a22 100644 --- a/sys/i386/conf/OLDCARD +++ b/sys/i386/conf/OLDCARD @@ -31,6 +31,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options NO_GEOM + options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem diff --git a/sys/i386/isa/scd.c b/sys/i386/isa/scd.c index b758035..5f859e1 100644 --- a/sys/i386/isa/scd.c +++ b/sys/i386/isa/scd.c @@ -1,5 +1,7 @@ #include "opt_geom.h" -#ifndef GEOM +#ifndef NO_GEOM +#warning "The scd driver is currently incompatible with GEOM" +#else /*- * Copyright (c) 1995 Mikael Hybsch * All rights reserved. diff --git a/sys/ia64/conf/GENERIC b/sys/ia64/conf/GENERIC index 5980d21..5c04ae3 100644 --- a/sys/ia64/conf/GENERIC +++ b/sys/ia64/conf/GENERIC @@ -31,6 +31,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions NO_CPU_COPTFLAGS=true #Ignore any x86 CPUTYPE +options NO_GEOM + #options SKI #Support for HP simulator options INET #InterNETworking options INET6 #IPv6 communications protocols diff --git a/sys/ia64/conf/SKI b/sys/ia64/conf/SKI index 1b96b08..9f90120 100644 --- a/sys/ia64/conf/SKI +++ b/sys/ia64/conf/SKI @@ -33,6 +33,8 @@ maxusers 32 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols makeoptions NO_CPU_COPTFLAGS=true #Ignore any x86 CPUTYPE +options NO_GEOM + options SKI #Support for HP simulator options INET #InterNETworking #options INET6 #IPv6 communications protocols diff --git a/sys/kern/subr_disk.c b/sys/kern/subr_disk.c index d6c6643..d233f3c 100644 --- a/sys/kern/subr_disk.c +++ b/sys/kern/subr_disk.c @@ -20,7 +20,7 @@ #include <sys/disk.h> #include <sys/diskslice.h> #include <sys/disklabel.h> -#ifndef GEOM +#ifdef NO_GEOM #include <sys/kernel.h> #include <sys/sysctl.h> #include <sys/malloc.h> @@ -440,7 +440,7 @@ SYSCTL_INT(_debug_sizeof, OID_AUTO, diskslices, CTLFLAG_RD, SYSCTL_INT(_debug_sizeof, OID_AUTO, disk, CTLFLAG_RD, 0, sizeof(struct disk), "sizeof(struct disk)"); -#endif +#endif /* NO_GEOM */ /*- * Disk error is the preface to plaintive error messages diff --git a/sys/pc98/conf/GENERIC b/sys/pc98/conf/GENERIC index 8b37a1b..fe1eed5 100644 --- a/sys/pc98/conf/GENERIC +++ b/sys/pc98/conf/GENERIC @@ -31,6 +31,8 @@ maxusers 0 makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols +options NO_GEOM + options PC98 #PC98 options MATH_EMULATE #Support for x87 emulation options INET #InterNETworking diff --git a/sys/powerpc/conf/GENERIC b/sys/powerpc/conf/GENERIC index e99835f..89daa89 100644 --- a/sys/powerpc/conf/GENERIC +++ b/sys/powerpc/conf/GENERIC @@ -33,6 +33,8 @@ makeoptions WERROR=-Wno-error #XXX: We don't want -Werror just now options POWERMAC #NewWorld Apple PowerMacs options PSIM #GDB PSIM ppc simulator +options NO_GEOM + options INET #InterNETworking options INET6 #IPv6 communications protocols options GEOM #GEOMetry subsystem diff --git a/sys/sparc64/conf/GENERIC b/sys/sparc64/conf/GENERIC index ab02248..7d75770 100644 --- a/sys/sparc64/conf/GENERIC +++ b/sys/sparc64/conf/GENERIC @@ -33,6 +33,8 @@ makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols # Platforms supported # At this time all platforms are supported, as-is. +options NO_GEOM + options INET #InterNETworking options INET6 #IPv6 communications protocols options FFS #Berkeley Fast Filesystem |