summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-10-05 16:35:33 +0000
committerphk <phk@FreeBSD.org>2002-10-05 16:35:33 +0000
commit951c3e53b2ed3b6d204d571d81928a44baf1a85e (patch)
tree281a4e3831a5ca364a19928efbfe097201919121
parentca4946005d763c5181649378e37809110aa0e1b5 (diff)
downloadFreeBSD-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.
-rw-r--r--sys/alpha/conf/GENERIC2
-rw-r--r--sys/alpha/conf/SIMOS2
-rw-r--r--sys/amd64/conf/GENERIC2
-rw-r--r--sys/conf/NOTES8
-rw-r--r--sys/conf/files34
-rw-r--r--sys/conf/files.alpha1
-rw-r--r--sys/conf/files.i3864
-rw-r--r--sys/conf/files.ia641
-rw-r--r--sys/conf/files.pc983
-rw-r--r--sys/conf/files.sparc642
-rw-r--r--sys/conf/options8
-rw-r--r--sys/dev/mcd/mcd.c4
-rw-r--r--sys/dev/mcd/mcd_isa.c5
-rw-r--r--sys/geom/geom_disk.c14
-rw-r--r--sys/i386/conf/GENERIC2
-rw-r--r--sys/i386/conf/OLDCARD2
-rw-r--r--sys/i386/isa/scd.c4
-rw-r--r--sys/ia64/conf/GENERIC2
-rw-r--r--sys/ia64/conf/SKI2
-rw-r--r--sys/kern/subr_disk.c4
-rw-r--r--sys/pc98/conf/GENERIC2
-rw-r--r--sys/powerpc/conf/GENERIC2
-rw-r--r--sys/sparc64/conf/GENERIC2
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
OpenPOWER on IntegriCloud