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
This commit is contained in:
Dmitry Chagin 2021-06-22 08:32:39 +03:00
parent 135dd0cab5
commit e013e36939
12 changed files with 16 additions and 185 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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