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.
This commit is contained in:
phk 2002-10-05 16:35:33 +00:00
parent ca4946005d
commit 951c3e53b2
23 changed files with 78 additions and 34 deletions

View File

@ -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

View File

@ -18,6 +18,8 @@ cpu EV5
ident SIMOS
maxusers 10
options NO_GEOM
options DEC_KN8AE
options SIMOS
options INET #InterNETworking

View File

@ -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

View File

@ -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;

View File

@ -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 \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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 */

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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