mirror_zfs/include/os/linux/zfs/sys
crass bc00d2c711
Add support for ARCH=um for x86 sub-architectures
When building modules (as well as the kernel) with ARCH=um, the options
-Dsetjmp=kernel_setjmp and -Dlongjmp=kernel_longjmp are passed to the C
preprocessor for C files. This causes the setjmp and longjmp used in
module/lua/ldo.c to be kernel_setjmp and kernel_longjmp respectively in
the object file. However, the setjmp and longjmp that is intended to be
called is defined in an architecture dependent assembly file under the
directory module/lua/setjmp. Since it is an assembly and not a C file,
the preprocessor define is not given and the names do not change. This
becomes an issue when modpost is trying to create the Module.symvers
and sees no defined symbol for kernel_setjmp and kernel_longjmp. To fix
this, if the macro CONFIG_UML is defined, then setjmp and longjmp
macros are undefined.

When building with ARCH=um for x86 sub-architectures, CONFIG_X86 is not
defined. Instead, CONFIG_UML_X86 is defined. Despite this, the UML x86
sub-architecture can use the same object files as the x86 architectures
because the x86 sub-architecture UML kernel is running with the same
instruction set as CONFIG_X86. So the modules/Kbuild build file is
updated to add the same object files that CONFIG_X86 would add when
CONFIG_UML_X86 is defined.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Glenn Washburn <development@efficientek.com>
Closes #13547
2022-06-15 14:22:52 -07:00
..
policy.h Share zfs_fsync, zfs_read, zfs_write, et al between Linux and FreeBSD 2020-10-21 14:08:06 -07:00
sha2.h module: icp: remove unused (and mostly faked) cm_{{min,max}_key_length,mech_flags} 2022-02-15 16:25:52 -08:00
trace_acl.h Speed up WB_SYNC_NONE when a WB_SYNC_ALL occurs simultaneously 2022-05-03 13:23:26 -07:00
trace_arc.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_common.h OpenZFS restructuring - move linux tracing code to platform directories 2019-09-11 14:25:53 -07:00
trace_dbgmsg.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_dbuf.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_dmu.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_dnode.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_multilist.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_rrwlock.h OpenZFS restructuring - move linux tracing code to platform directories 2019-09-11 14:25:53 -07:00
trace_txg.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_vdev.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_zfs.h Enable use of DTRACE_PROBE* macros in "spl" module 2019-11-01 13:13:43 -07:00
trace_zil.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
trace_zio.h OpenZFS restructuring - move linux tracing code to platform directories 2019-09-11 14:25:53 -07:00
trace_zrlock.h Clean up CSTYLEDs 2022-01-26 11:38:52 -08:00
zfs_bootenv_os.h zfs label bootenv should store data as nvlist 2020-09-15 15:42:27 -07:00
zfs_context_os.h Add support for ARCH=um for x86 sub-architectures 2022-06-15 14:22:52 -07:00
zfs_ctldir.h Throw const on some strings 2020-10-02 17:44:10 -07:00
zfs_dir.h Eliminate Linux specific inode usage from common code 2019-12-11 11:53:57 -08:00
zfs_vfsops_os.h Remove unimplemented virus scanning hooks 2021-05-10 22:02:25 -07:00
zfs_vnops_os.h Speed up WB_SYNC_NONE when a WB_SYNC_ALL occurs simultaneously 2022-05-03 13:23:26 -07:00
zfs_znode_impl.h module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00
zpl.h module/*.ko: prune .data, global .rodata 2022-01-14 15:37:55 -08:00