mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-26 14:05:46 +07:00
fd659cc095
The system call tables have diverged a bit over the years, and a number of the recent additions never made it into all architectures, for one reason or another. This is an attempt to clean it up as far as we can without breaking compatibility, doing a number of steps: - Add system calls that have not yet been integrated into all architectures but that we definitely want there. This includes {,f}statfs64() and get{eg,eu,g,p,u,pp}id() on alpha, which have been missing traditionally. - The s390 compat syscall handling is cleaned up to be more like what we do on other architectures, while keeping the 31-bit pointer extension. This was merged as a shared branch by the s390 maintainers and is included here in order to base the other patches on top. - Add the separate ipc syscalls on all architectures that traditionally only had sys_ipc(). This version is done without support for IPC_OLD that is we have in sys_ipc. The new semtimedop_time64 syscall will only be added here, not in sys_ipc - Add syscall numbers for a couple of syscalls that we probably don't need everywhere, in particular pkey_* and rseq, for the purpose of symmetry: if it's in asm-generic/unistd.h, it makes sense to have it everywhere. I expect that any future system calls will get assigned on all platforms together, even when they appear to be specific to a single architecture. - Prepare for having the same system call numbers for any future calls. In combination with the generated tables, this hopefully makes it easier to add new calls across all architectures together. All of the above are technically separate from the y2038 work, but are done as preparation before we add the new 64-bit time_t system calls everywhere, providing a common baseline set of system calls. I expect that glibc and other libraries that want to use 64-bit time_t will require linux-5.1 kernel headers for building in the future, and at a much later point may also require linux-5.1 or a later version as the minimum kernel at runtime. Having a common baseline then allows the removal of many architecture or kernel version specific workarounds. Signed-off-by: Arnd Bergmann <arnd@arndb.de> -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJcXf6XAAoJEGCrR//JCVInIm4P/AlkMmQRa/B2ziWMW6PifPoI v18r44017rA1BPENyZvumJUdM5mDvNofOW8F2DYQ7Uiys2YtXenwe/Cf8LHn2n6c TMXGQryQpvNmfDCyU+0UjF8m2+poFMrL4aRTXtjODh1YTsPNgeDC+KFMCAAtZmZd cVbXFudtbdYKD/pgCX4SI1CWAMBiXe2e+ukPdJVr+iqusCMTApf+GOuyvDBZY9s/ vURb+tIS87HZ/jehWfZFSuZt+Gu7b3ijUXNC8v9qSIxNYekw62vBNl6F09HE79uB Bv4OujAODqKvI9gGyydBzLJNzaMo0ryQdusyqcJHT7MY/8s+FwcYAXyTlQ3DbbB4 2u/c+58OwJ9Zk12p4LXZRA47U+vRhQt2rO4+zZWs2txNNJY89ZvCm/Z04KOiu5Xz 1Nnj607KGzthYRs2gs68AwzGGyf0uykIQ3RcaJLIBlX1Nd8BWO0ZgAguCvkXbQMX XNXJTd92HmeuKKpiO0n/M4/mCeP0cafBRPCZbKlHyTl0Jeqd/HBQEO9Z8Ifwyju3 mXz9JCR9VlPCkX605keATbjtPGZf3XQtaXlQnezitDudXk8RJ33EpPcbhx76wX7M Rux37ByqEOzk4wMGX9YQyNU7z7xuVg4sJAa2LlJqYeKXHtym+u3gG7SGP5AsYjmk 6mg2+9O2yZuLhQtOtrwm =s4wf -----END PGP SIGNATURE----- Merge tag 'y2038-syscall-cleanup' of git://git.kernel.org:/pub/scm/linux/kernel/git/arnd/playground into timers/2038 Pull preparatory work for y2038 changes from Arnd Bergmann: System call unification and cleanup The system call tables have diverged a bit over the years, and a number of the recent additions never made it into all architectures, for one reason or another. This is an attempt to clean it up as far as we can without breaking compatibility, doing a number of steps: - Add system calls that have not yet been integrated into all architectures but that we definitely want there. This includes {,f}statfs64() and get{eg,eu,g,p,u,pp}id() on alpha, which have been missing traditionally. - The s390 compat syscall handling is cleaned up to be more like what we do on other architectures, while keeping the 31-bit pointer extension. This was merged as a shared branch by the s390 maintainers and is included here in order to base the other patches on top. - Add the separate ipc syscalls on all architectures that traditionally only had sys_ipc(). This version is done without support for IPC_OLD that is we have in sys_ipc. The new semtimedop_time64 syscall will only be added here, not in sys_ipc - Add syscall numbers for a couple of syscalls that we probably don't need everywhere, in particular pkey_* and rseq, for the purpose of symmetry: if it's in asm-generic/unistd.h, it makes sense to have it everywhere. I expect that any future system calls will get assigned on all platforms together, even when they appear to be specific to a single architecture. - Prepare for having the same system call numbers for any future calls. In combination with the generated tables, this hopefully makes it easier to add new calls across all architectures together. All of the above are technically separate from the y2038 work, but are done as preparation before we add the new 64-bit time_t system calls everywhere, providing a common baseline set of system calls. I expect that glibc and other libraries that want to use 64-bit time_t will require linux-5.1 kernel headers for building in the future, and at a much later point may also require linux-5.1 or a later version as the minimum kernel at runtime. Having a common baseline then allows the removal of many architecture or kernel version specific workarounds. |
||
---|---|---|
.. | ||
xen | ||
acenv.h | ||
acpi.h | ||
alternative.h | ||
arch_gicv3.h | ||
arch_timer.h | ||
arm_dsu_pmu.h | ||
arm-cci.h | ||
asm-bug.h | ||
asm-offsets.h | ||
asm-prototypes.h | ||
asm-uaccess.h | ||
assembler.h | ||
atomic_ll_sc.h | ||
atomic_lse.h | ||
atomic.h | ||
barrier.h | ||
bitops.h | ||
bitrev.h | ||
boot.h | ||
brk-imm.h | ||
bug.h | ||
cache.h | ||
cacheflush.h | ||
checksum.h | ||
clocksource.h | ||
cmpxchg.h | ||
compat.h | ||
cpu_ops.h | ||
cpu.h | ||
cpucaps.h | ||
cpufeature.h | ||
cpuidle.h | ||
cputype.h | ||
current.h | ||
daifflags.h | ||
dcc.h | ||
debug-monitors.h | ||
device.h | ||
dma-mapping.h | ||
dmi.h | ||
efi.h | ||
elf.h | ||
esr.h | ||
exception.h | ||
exec.h | ||
extable.h | ||
fb.h | ||
fixmap.h | ||
fpsimd.h | ||
fpsimdmacros.h | ||
ftrace.h | ||
futex.h | ||
hardirq.h | ||
hugetlb.h | ||
hw_breakpoint.h | ||
hwcap.h | ||
hypervisor.h | ||
image.h | ||
insn.h | ||
io.h | ||
irq_work.h | ||
irq.h | ||
irqflags.h | ||
jump_label.h | ||
kasan.h | ||
Kbuild | ||
kernel-pgtable.h | ||
kexec.h | ||
kgdb.h | ||
kprobes.h | ||
kvm_arm.h | ||
kvm_asm.h | ||
kvm_coproc.h | ||
kvm_emulate.h | ||
kvm_host.h | ||
kvm_hyp.h | ||
kvm_mmio.h | ||
kvm_mmu.h | ||
linkage.h | ||
lse.h | ||
memblock.h | ||
memory.h | ||
mmu_context.h | ||
mmu.h | ||
mmzone.h | ||
module.h | ||
neon-intrinsics.h | ||
neon.h | ||
numa.h | ||
page-def.h | ||
page.h | ||
paravirt.h | ||
pci.h | ||
percpu.h | ||
perf_event.h | ||
pgalloc.h | ||
pgtable-hwdef.h | ||
pgtable-prot.h | ||
pgtable-types.h | ||
pgtable.h | ||
pointer_auth.h | ||
preempt.h | ||
probes.h | ||
proc-fns.h | ||
processor.h | ||
ptdump.h | ||
ptrace.h | ||
sdei.h | ||
seccomp.h | ||
sections.h | ||
shmparam.h | ||
signal32.h | ||
simd.h | ||
smp_plat.h | ||
smp.h | ||
sparsemem.h | ||
spinlock_types.h | ||
spinlock.h | ||
stack_pointer.h | ||
stackprotector.h | ||
stacktrace.h | ||
stage2_pgtable.h | ||
stat.h | ||
string.h | ||
suspend.h | ||
sync_bitops.h | ||
syscall_wrapper.h | ||
syscall.h | ||
sysreg.h | ||
system_misc.h | ||
thread_info.h | ||
timex.h | ||
tlb.h | ||
tlbflush.h | ||
topology.h | ||
traps.h | ||
uaccess.h | ||
unistd32.h | ||
unistd.h | ||
uprobes.h | ||
vdso_datapage.h | ||
vdso.h | ||
virt.h | ||
vmap_stack.h | ||
word-at-a-time.h | ||
xor.h |