aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Chagin <dchagin@FreeBSD.org>2021-06-22 05:32:39 +0000
committerDmitry Chagin <dchagin@FreeBSD.org>2021-06-22 05:32:39 +0000
commite013e36939ac87b53195370fb5e29f29c1a4b5c6 (patch)
tree42640682541640c4a546293182d862263e85a478
parent135dd0cab51e89739416d8f924ea984e364a110e (diff)
downloadsrc-e013e36939ac87b53195370fb5e29f29c1a4b5c6.tar.gz
src-e013e36939ac87b53195370fb5e29f29c1a4b5c6.zip
linux(4): Get rid of Linuxulator kernel build options.
Stop confusing people, retire COMPAT_LINUX and COMPAT_LINUX32 kernel build options. Since we have 32 and 64 bit Linux emulators, we can't build both emulators together into the kernel. I don't think it matters, Linux emulation depends on loadable modules (via rc). Cut LINPROCFS and LINSYSFS for consistency. PR: 215061 Reviewed by: bcr (manpages), trasz Differential Revision: https://reviews.freebsd.org/D30751 MFC after: 2 weeks
-rw-r--r--share/man/man4/aac.44
-rw-r--r--share/man/man4/aacraid.44
-rw-r--r--share/man/man4/linux.415
-rw-r--r--share/man/man4/tdfx.413
-rw-r--r--sys/amd64/conf/NOTES17
-rw-r--r--sys/conf/NOTES4
-rw-r--r--sys/conf/files5
-rw-r--r--sys/conf/files.amd6462
-rw-r--r--sys/conf/files.i38658
-rw-r--r--sys/conf/files.x861
-rw-r--r--sys/conf/options.amd642
-rw-r--r--sys/i386/conf/NOTES16
12 files changed, 16 insertions, 185 deletions
diff --git a/share/man/man4/aac.4 b/share/man/man4/aac.4
index e0ffcaa5407d..eec5bc1671ca 100644
--- a/share/man/man4/aac.4
+++ b/share/man/man4/aac.4
@@ -75,9 +75,7 @@ and
.Pa /dev/hpn?
exist for compatibility with the Dell and HP versions of management tools,
respectively.
-If the kernel is compiled with the
-.Dv COMPAT_LINUX
-option, or the
+If the
.Pa aac_linux.ko
and
.Pa linux.ko
diff --git a/share/man/man4/aacraid.4 b/share/man/man4/aacraid.4
index 91725911602b..3f2e023a7a00 100644
--- a/share/man/man4/aacraid.4
+++ b/share/man/man4/aacraid.4
@@ -70,9 +70,7 @@ The
.Pa /dev/aacraid?
device nodes provide access to the management interface of the controller.
One node exists per installed card.
-If the kernel is compiled with the
-.Dv COMPAT_LINUX
-option, or the
+If the
.Pa aacraid_linux.ko
and
.Pa linux.ko
diff --git a/share/man/man4/linux.4 b/share/man/man4/linux.4
index b2d36158c622..ce0240dd9f92 100644
--- a/share/man/man4/linux.4
+++ b/share/man/man4/linux.4
@@ -31,20 +31,7 @@
.Nm linux
.Nd Linux ABI support
.Sh SYNOPSIS
-To compile support for this ABI into an i386 kernel
-place the following line in your
-kernel configuration file:
-.Bd -ragged -offset indent
-.Cd "options COMPAT_LINUX"
-.Ed
-.Pp
-for an amd64 kernel use:
-.Bd -ragged -offset indent
-.Cd "options COMPAT_LINUX32"
-.Ed
-.Pp
-Alternatively, to load the ABI as a
-module at boot time, place the following line in
+To load the ABI at boot time, place the following line in
.Xr loader.conf 5 :
.Bd -literal -offset indent
linux_load="YES"
diff --git a/share/man/man4/tdfx.4 b/share/man/man4/tdfx.4
index 2a09a71cf6ce..76dbdd3d2f29 100644
--- a/share/man/man4/tdfx.4
+++ b/share/man/man4/tdfx.4
@@ -9,7 +9,6 @@
.Nd Voodoo Graphics and VoodooII Memory Access GLIDE device driver
.Sh SYNOPSIS
.Cd device tdfx
-.Cd device tdfx_linux
.Sh DESCRIPTION
This driver creates an entry in
.Pa /dev
@@ -50,9 +49,11 @@ It also does not currently support the Voodoo Rush.
It also does not yet handle the SLI feature of the Voodoo II boards.
You can only use each of them separately.
.Pp
-By including
-.Nm tdfx_linux ,
-you can enable the linux ioctl code for this driver, where the only supported
+By loading the
+.Nm tdfx_linux.ko
+and
+.Nm linux.ko
+modules, you can enable the linux ioctl code for this driver, where the only supported
applications currently reside.
.Sh FILES
.Bl -tag -width /dev/voodoo* -compact
@@ -70,6 +71,10 @@ Mirrors of above interfaces
(Some apps use
.Pa /dev/voodoo )
.El
+.Sh SEE ALSO
+.Xr kld 4 ,
+.Xr linux 4 ,
+.Xr kldload 8
.Sh HISTORY
The
.Nm
diff --git a/sys/amd64/conf/NOTES b/sys/amd64/conf/NOTES
index aa5a09475ef3..79c92a679414 100644
--- a/sys/amd64/conf/NOTES
+++ b/sys/amd64/conf/NOTES
@@ -261,11 +261,8 @@ device s3pci
# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
# the tdfx DRI module from XFree86 and is completely unrelated.
#
-# To enable Linuxulator support, one must also include COMPAT_LINUX in the
-# config as well. The other option is to load both as modules.
device tdfx # Enable 3Dfx Voodoo support
-#XXX#device tdfx_linux # Enable Linuxulator support
#
# ACPI support using the Intel ACPI Component Architecture reference
@@ -630,20 +627,6 @@ options COMPAT_CLOUDABI32
# Enable 64-bit runtime support for CloudABI binaries.
options COMPAT_CLOUDABI64
-# Enable Linux ABI emulation
-#XXX#options COMPAT_LINUX
-
-# Enable 32-bit Linux ABI emulation (requires COMPAT_FREEBSD32).
-options COMPAT_LINUX32
-
-# Enable the linux-like proc filesystem support (requires COMPAT_LINUX32
-# and PSEUDOFS)
-options LINPROCFS
-
-#Enable the linux-like sys filesystem support (requires COMPAT_LINUX32
-# and PSEUDOFS)
-options LINSYSFS
-
#####################################################################
# ZFS support
diff --git a/sys/conf/NOTES b/sys/conf/NOTES
index 1cf7f85fd11f..d7972c4a7e7a 100644
--- a/sys/conf/NOTES
+++ b/sys/conf/NOTES
@@ -1321,8 +1321,8 @@ envvar hint.sa.1.target="6"
# The pt driver drives SCSI Processor devices.
#
# The sg driver provides a passthrough API that is compatible with the
-# Linux SG driver. It will work in conjunction with the COMPAT_LINUX
-# option to run linux SG apps. It can also stand on its own and provide
+# Linux SG driver. It will work in conjunction with the Linuxulator
+# to run linux SG apps. It can also stand on its own and provide
# source level API compatibility for porting apps to FreeBSD.
#
# Target Mode support is provided here but also requires that a SIM
diff --git a/sys/conf/files b/sys/conf/files
index 2b37d7f4e83e..ef58ba895d2b 100644
--- a/sys/conf/files
+++ b/sys/conf/files
@@ -786,12 +786,10 @@ dev/aac/aac.c optional aac
dev/aac/aac_cam.c optional aacp aac
dev/aac/aac_debug.c optional aac
dev/aac/aac_disk.c optional aac
-dev/aac/aac_linux.c optional aac compat_linux
dev/aac/aac_pci.c optional aac pci
dev/aacraid/aacraid.c optional aacraid
dev/aacraid/aacraid_cam.c optional aacraid scbus
dev/aacraid/aacraid_debug.c optional aacraid
-dev/aacraid/aacraid_linux.c optional aacraid compat_linux
dev/aacraid/aacraid_pci.c optional aacraid pci
dev/acpi_support/acpi_wmi.c optional acpi_wmi acpi
dev/acpi_support/acpi_asus.c optional acpi_asus acpi
@@ -914,7 +912,6 @@ dev/amdsmb/amdsmb.c optional amdsmb pci
dev/amr/amr.c optional amr
dev/amr/amr_cam.c optional amrp amr
dev/amr/amr_disk.c optional amr
-dev/amr/amr_linux.c optional amr compat_linux
dev/amr/amr_pci.c optional amr pci
#
dev/ata/ata_if.m optional ata | atacore
@@ -2419,7 +2416,6 @@ dev/mfi/mfi_pci.c optional mfi pci
dev/mfi/mfi_disk.c optional mfi
dev/mfi/mfi_syspd.c optional mfi
dev/mfi/mfi_tbolt.c optional mfi
-dev/mfi/mfi_linux.c optional mfi compat_linux
dev/mfi/mfi_cam.c optional mfip scbus
dev/mii/acphy.c optional miibus | acphy
dev/mii/amphy.c optional miibus | amphy
@@ -3219,7 +3215,6 @@ dev/syscons/syscons.c optional sc
dev/syscons/sysmouse.c optional sc
dev/syscons/warp/warp_saver.c optional warp_saver
dev/tcp_log/tcp_log_dev.c optional tcp_blackbox inet | tcp_blackbox inet6
-dev/tdfx/tdfx_linux.c optional tdfx_linux tdfx compat_linux
dev/tdfx/tdfx_pci.c optional tdfx pci
dev/ti/if_ti.c optional ti pci
dev/twa/tw_cl_init.c optional twa \
diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64
index 1dd3a51a3af3..0a2e0f1d9f72 100644
--- a/sys/conf/files.amd64
+++ b/sys/conf/files.amd64
@@ -36,30 +36,6 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \
no-implicit-rule \
clean "cloudabi64_vdso_blob.o"
#
-linux32_genassym.o optional compat_linux32 \
- dependency "$S/amd64/linux32/linux32_genassym.c offset.inc" \
- compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \
- no-obj no-implicit-rule \
- clean "linux32_genassym.o"
-#
-linux32_assym.h optional compat_linux32 \
- dependency "$S/kern/genassym.sh linux32_genassym.o" \
- compile-with "sh $S/kern/genassym.sh linux32_genassym.o > ${.TARGET}" \
- no-obj no-implicit-rule before-depend \
- clean "linux32_assym.h"
-#
-linux32_locore.o optional compat_linux32 \
- dependency "linux32_assym.h $S/amd64/linux32/linux32_locore.asm" \
- compile-with "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S ${WERROR} -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
- no-obj no-implicit-rule \
- clean "linux32_locore.o"
-#
-linux32_vdso.so optional compat_linux32 \
- dependency "linux32_locore.o" \
- compile-with "${OBJCOPY} --input-target binary --output-target elf64-x86-64-freebsd --binary-architecture i386 linux32_locore.o ${.TARGET}" \
- no-implicit-rule \
- clean "linux32_vdso.so"
-#
ia32_genassym.o standard \
dependency "$S/compat/ia32/ia32_genassym.c offset.inc" \
compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \
@@ -401,44 +377,6 @@ amd64/ia32/ia32_sigtramp.S optional compat_freebsd32
amd64/ia32/ia32_syscall.c optional compat_freebsd32
amd64/ia32/ia32_misc.c optional compat_freebsd32
compat/ia32/ia32_sysvec.c optional compat_freebsd32
-compat/linprocfs/linprocfs.c optional linprocfs
-compat/linsysfs/linsysfs.c optional linsysfs
-#
-# Linux/i386 binary support
-#
-amd64/linux32/linux32_dummy_machdep.c optional compat_linux32
-amd64/linux32/linux32_machdep.c optional compat_linux32
-amd64/linux32/linux32_support.s optional compat_linux32 \
- dependency "linux32_assym.h"
-amd64/linux32/linux32_sysent.c optional compat_linux32
-amd64/linux32/linux32_sysvec.c optional compat_linux32
-compat/linux/linux_dummy.c optional compat_linux32
-compat/linux/linux_emul.c optional compat_linux32
-compat/linux/linux_errno.c optional compat_linux32
-compat/linux/linux_file.c optional compat_linux32
-compat/linux/linux_fork.c optional compat_linux32
-compat/linux/linux_futex.c optional compat_linux32
-compat/linux/linux_getcwd.c optional compat_linux32
-compat/linux/linux_ioctl.c optional compat_linux32
-compat/linux/linux_ipc.c optional compat_linux32
-compat/linux/linux_mib.c optional compat_linux32
-compat/linux/linux_misc.c optional compat_linux32
-compat/linux/linux_mmap.c optional compat_linux32
-compat/linux/linux_signal.c optional compat_linux32
-compat/linux/linux_socket.c optional compat_linux32
-compat/linux/linux_stats.c optional compat_linux32
-compat/linux/linux_sysctl.c optional compat_linux32
-compat/linux/linux_time.c optional compat_linux32
-compat/linux/linux_timer.c optional compat_linux32
-compat/linux/linux_uid16.c optional compat_linux32
-compat/linux/linux_util.c optional compat_linux32
-compat/linux/linux_vdso.c optional compat_linux32
-compat/linux/linux_common.c optional compat_linux32
-compat/linux/linux_event.c optional compat_linux32
-compat/linux/linux.c optional compat_linux32
-x86/linux/linux_dummy_x86.c optional compat_linux32
-dev/amr/amr_linux.c optional compat_linux32 amr
-dev/mfi/mfi_linux.c optional compat_linux32 mfi
#
# x86 real mode BIOS emulator, required by dpms/pci/vesa
#
diff --git a/sys/conf/files.i386 b/sys/conf/files.i386
index 10e286dae271..d0148f280903 100644
--- a/sys/conf/files.i386
+++ b/sys/conf/files.i386
@@ -22,59 +22,9 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \
compile-with "${OBJCOPY} --input-target binary --output-target elf32-i386-freebsd --binary-architecture i386 cloudabi32_vdso.o ${.TARGET}" \
no-implicit-rule \
clean "cloudabi32_vdso_blob.o"
-#
-linux_genassym.o optional compat_linux \
- dependency "$S/i386/linux/linux_genassym.c offset.inc" \
- compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \
- no-obj no-implicit-rule \
- clean "linux_genassym.o"
-#
-linux_assym.h optional compat_linux \
- dependency "$S/kern/genassym.sh linux_genassym.o" \
- compile-with "sh $S/kern/genassym.sh linux_genassym.o > ${.TARGET}" \
- no-obj no-implicit-rule before-depend \
- clean "linux_assym.h"
-#
-linux_locore.o optional compat_linux \
- dependency "linux_assym.h $S/i386/linux/linux_locore.asm" \
- compile-with "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S ${WERROR} -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \
- no-obj no-implicit-rule \
- clean "linux_locore.o"
-#
-linux_vdso.so optional compat_linux \
- dependency "linux_locore.o" \
- compile-with "${OBJCOPY} --input-target binary --output-target elf32-i386-freebsd --binary-architecture i386 linux_locore.o ${.TARGET}" \
- no-implicit-rule \
- clean "linux_vdso.so"
-#
cddl/contrib/opensolaris/common/atomic/i386/opensolaris_atomic.S optional zfs | dtrace compile-with "${ZFS_S}"
cddl/dev/dtrace/i386/dtrace_asm.S optional dtrace compile-with "${DTRACE_S}"
cddl/dev/dtrace/i386/dtrace_subr.c optional dtrace compile-with "${DTRACE_C}"
-compat/linprocfs/linprocfs.c optional linprocfs
-compat/linsysfs/linsysfs.c optional linsysfs
-compat/linux/linux_dummy.c optional compat_linux
-compat/linux/linux_event.c optional compat_linux
-compat/linux/linux_emul.c optional compat_linux
-compat/linux/linux_errno.c optional compat_linux
-compat/linux/linux_file.c optional compat_linux
-compat/linux/linux_fork.c optional compat_linux
-compat/linux/linux_futex.c optional compat_linux
-compat/linux/linux_getcwd.c optional compat_linux
-compat/linux/linux_ioctl.c optional compat_linux
-compat/linux/linux_ipc.c optional compat_linux
-compat/linux/linux_mib.c optional compat_linux
-compat/linux/linux_misc.c optional compat_linux
-compat/linux/linux_mmap.c optional compat_linux
-compat/linux/linux_signal.c optional compat_linux
-compat/linux/linux_socket.c optional compat_linux
-compat/linux/linux_stats.c optional compat_linux
-compat/linux/linux_sysctl.c optional compat_linux
-compat/linux/linux_time.c optional compat_linux
-compat/linux/linux_timer.c optional compat_linux
-compat/linux/linux_uid16.c optional compat_linux
-compat/linux/linux_util.c optional compat_linux
-compat/linux/linux_vdso.c optional compat_linux
-compat/linux/linux.c optional compat_linux
crypto/aesni/aeskeys_i386.S optional aesni
crypto/des/arch/i386/des_enc.S optional netsmb
crypto/openssl/i386/chacha-x86.S optional ossl
@@ -198,13 +148,6 @@ i386/i386/trap.c standard
i386/i386/uio_machdep.c standard
i386/i386/vm86.c standard
i386/i386/vm_machdep.c standard
-i386/linux/imgact_linux.c optional compat_linux
-i386/linux/linux_copyout.c optional compat_linux
-i386/linux/linux_dummy_machdep.c optional compat_linux
-i386/linux/linux_machdep.c optional compat_linux
-i386/linux/linux_ptrace.c optional compat_linux
-i386/linux/linux_sysent.c optional compat_linux
-i386/linux/linux_sysvec.c optional compat_linux
i386/pci/pci_cfgreg.c optional pci
i386/pci/pci_pir.c optional pci
isa/syscons_isa.c optional sc
@@ -235,7 +178,6 @@ x86/isa/atpic.c optional atpic
x86/isa/elcr.c optional atpic | apic
x86/isa/isa.c optional isa
x86/isa/isa_dma.c optional isa
-x86/linux/linux_dummy_x86.c optional compat_linux
x86/x86/io_apic.c optional apic
x86/x86/local_apic.c optional apic
x86/x86/mptable.c optional apic
diff --git a/sys/conf/files.x86 b/sys/conf/files.x86
index b8d1e5a17048..2e30e33b4c48 100644
--- a/sys/conf/files.x86
+++ b/sys/conf/files.x86
@@ -153,7 +153,6 @@ dev/ipmi/ipmi_smbus.c optional ipmi smbus
dev/ipmi/ipmi_smbios.c optional ipmi
dev/ipmi/ipmi_ssif.c optional ipmi smbus
dev/ipmi/ipmi_pci.c optional ipmi pci
-dev/ipmi/ipmi_linux.c optional ipmi compat_linux32
dev/isci/isci.c optional isci
dev/isci/isci_controller.c optional isci
dev/isci/isci_domain.c optional isci
diff --git a/sys/conf/options.amd64 b/sys/conf/options.amd64
index 608bcd117e2f..bc809553f841 100644
--- a/sys/conf/options.amd64
+++ b/sys/conf/options.amd64
@@ -18,7 +18,7 @@ PV_STATS opt_pmap.h
COMPAT_AOUT opt_dontuse.h
COMPAT_FREEBSD32 opt_global.h
#COMPAT_LINUX opt_dontuse.h
-COMPAT_LINUX32 opt_compat.h
+COMPAT_LINUX32 opt_dontuse.h
LINPROCFS opt_dontuse.h
LINSYSFS opt_dontuse.h
diff --git a/sys/i386/conf/NOTES b/sys/i386/conf/NOTES
index e02426df2df2..21bdbd668f61 100644
--- a/sys/i386/conf/NOTES
+++ b/sys/i386/conf/NOTES
@@ -429,11 +429,9 @@ device s3pci
# linked to /dev/3dfx and /dev/voodoo. Note that this is not the same as
# the tdfx DRI module from XFree86 and is completely unrelated.
#
-# To enable Linuxulator support, one must also include COMPAT_LINUX in the
-# config as well. The other option is to load both as modules.
+# To enable Linuxulator support, one must also load linux.ko and tdfx_linux.ko.
device tdfx # Enable 3Dfx Voodoo support
-device tdfx_linux # Enable Linuxulator support
options IOMMU # Enable IOMMU support
@@ -873,18 +871,6 @@ options COMPAT_AOUT
# Enable 32-bit runtime support for CloudABI binaries.
options COMPAT_CLOUDABI32
-# Enable Linux ABI emulation
-options COMPAT_LINUX
-
-# Enable the linux-like proc filesystem support (requires COMPAT_LINUX
-# and PSEUDOFS)
-options LINPROCFS
-
-#Enable the linux-like sys filesystem support (requires COMPAT_LINUX
-# and PSEUDOFS)
-options LINSYSFS
-
-
#####################################################################
# VM OPTIONS