diff --git a/CMakeLists.txt b/CMakeLists.txt
index a3d06f1a0edde51cc24cc51794b4d190f42f3418..0cb793d830c2f731d6abc44e89fd5c1e5013005a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2961,8 +2961,26 @@ set(ZIG_LIBC_FILES
"glibc/time/bits/types/struct_tm.h"
"glibc/time/bits/types/time_t.h"
"glibc/time/bits/types/timer_t.h"
- "include/aarch64-linux-gnu/asm/bitsperlong.h"
- "include/aarch64-linux-gnu/asm/unistd.h"
+ "include/aarch64-linux-any/asm/auxvec.h"
+ "include/aarch64-linux-any/asm/bitsperlong.h"
+ "include/aarch64-linux-any/asm/bpf_perf_event.h"
+ "include/aarch64-linux-any/asm/byteorder.h"
+ "include/aarch64-linux-any/asm/fcntl.h"
+ "include/aarch64-linux-any/asm/hwcap.h"
+ "include/aarch64-linux-any/asm/kvm.h"
+ "include/aarch64-linux-any/asm/kvm_para.h"
+ "include/aarch64-linux-any/asm/param.h"
+ "include/aarch64-linux-any/asm/perf_regs.h"
+ "include/aarch64-linux-any/asm/posix_types.h"
+ "include/aarch64-linux-any/asm/ptrace.h"
+ "include/aarch64-linux-any/asm/setup.h"
+ "include/aarch64-linux-any/asm/sigcontext.h"
+ "include/aarch64-linux-any/asm/siginfo.h"
+ "include/aarch64-linux-any/asm/signal.h"
+ "include/aarch64-linux-any/asm/stat.h"
+ "include/aarch64-linux-any/asm/statfs.h"
+ "include/aarch64-linux-any/asm/ucontext.h"
+ "include/aarch64-linux-any/asm/unistd.h"
"include/aarch64-linux-gnu/bits/endian.h"
"include/aarch64-linux-gnu/bits/fcntl.h"
"include/aarch64-linux-gnu/bits/fenv.h"
@@ -2992,26 +3010,6 @@ set(ZIG_LIBC_FILES
"include/aarch64-linux-gnu/sys/ptrace.h"
"include/aarch64-linux-gnu/sys/ucontext.h"
"include/aarch64-linux-gnu/sys/user.h"
- "include/aarch64-linux-musleabi/asm/auxvec.h"
- "include/aarch64-linux-musleabi/asm/bitsperlong.h"
- "include/aarch64-linux-musleabi/asm/bpf_perf_event.h"
- "include/aarch64-linux-musleabi/asm/byteorder.h"
- "include/aarch64-linux-musleabi/asm/fcntl.h"
- "include/aarch64-linux-musleabi/asm/hwcap.h"
- "include/aarch64-linux-musleabi/asm/kvm.h"
- "include/aarch64-linux-musleabi/asm/kvm_para.h"
- "include/aarch64-linux-musleabi/asm/param.h"
- "include/aarch64-linux-musleabi/asm/perf_regs.h"
- "include/aarch64-linux-musleabi/asm/posix_types.h"
- "include/aarch64-linux-musleabi/asm/ptrace.h"
- "include/aarch64-linux-musleabi/asm/setup.h"
- "include/aarch64-linux-musleabi/asm/sigcontext.h"
- "include/aarch64-linux-musleabi/asm/siginfo.h"
- "include/aarch64-linux-musleabi/asm/signal.h"
- "include/aarch64-linux-musleabi/asm/stat.h"
- "include/aarch64-linux-musleabi/asm/statfs.h"
- "include/aarch64-linux-musleabi/asm/ucontext.h"
- "include/aarch64-linux-musleabi/asm/unistd.h"
"include/aarch64-linux-musleabi/bfd_stdint.h"
"include/aarch64-linux-musleabi/bits/alltypes.h"
"include/aarch64-linux-musleabi/bits/endian.h"
@@ -3029,8 +3027,26 @@ set(ZIG_LIBC_FILES
"include/aarch64-linux-musleabi/bits/stat.h"
"include/aarch64-linux-musleabi/bits/syscall.h"
"include/aarch64-linux-musleabi/bits/user.h"
- "include/aarch64_be-linux-gnu/asm/bitsperlong.h"
- "include/aarch64_be-linux-gnu/asm/unistd.h"
+ "include/aarch64_be-linux-any/asm/auxvec.h"
+ "include/aarch64_be-linux-any/asm/bitsperlong.h"
+ "include/aarch64_be-linux-any/asm/bpf_perf_event.h"
+ "include/aarch64_be-linux-any/asm/byteorder.h"
+ "include/aarch64_be-linux-any/asm/fcntl.h"
+ "include/aarch64_be-linux-any/asm/hwcap.h"
+ "include/aarch64_be-linux-any/asm/kvm.h"
+ "include/aarch64_be-linux-any/asm/kvm_para.h"
+ "include/aarch64_be-linux-any/asm/param.h"
+ "include/aarch64_be-linux-any/asm/perf_regs.h"
+ "include/aarch64_be-linux-any/asm/posix_types.h"
+ "include/aarch64_be-linux-any/asm/ptrace.h"
+ "include/aarch64_be-linux-any/asm/setup.h"
+ "include/aarch64_be-linux-any/asm/sigcontext.h"
+ "include/aarch64_be-linux-any/asm/siginfo.h"
+ "include/aarch64_be-linux-any/asm/signal.h"
+ "include/aarch64_be-linux-any/asm/stat.h"
+ "include/aarch64_be-linux-any/asm/statfs.h"
+ "include/aarch64_be-linux-any/asm/ucontext.h"
+ "include/aarch64_be-linux-any/asm/unistd.h"
"include/aarch64_be-linux-gnu/bits/endian.h"
"include/aarch64_be-linux-gnu/bits/fcntl.h"
"include/aarch64_be-linux-gnu/bits/fenv.h"
@@ -3060,26 +3076,6 @@ set(ZIG_LIBC_FILES
"include/aarch64_be-linux-gnu/sys/ptrace.h"
"include/aarch64_be-linux-gnu/sys/ucontext.h"
"include/aarch64_be-linux-gnu/sys/user.h"
- "include/aarch64_be-linux-musl/asm/auxvec.h"
- "include/aarch64_be-linux-musl/asm/bitsperlong.h"
- "include/aarch64_be-linux-musl/asm/bpf_perf_event.h"
- "include/aarch64_be-linux-musl/asm/byteorder.h"
- "include/aarch64_be-linux-musl/asm/fcntl.h"
- "include/aarch64_be-linux-musl/asm/hwcap.h"
- "include/aarch64_be-linux-musl/asm/kvm.h"
- "include/aarch64_be-linux-musl/asm/kvm_para.h"
- "include/aarch64_be-linux-musl/asm/param.h"
- "include/aarch64_be-linux-musl/asm/perf_regs.h"
- "include/aarch64_be-linux-musl/asm/posix_types.h"
- "include/aarch64_be-linux-musl/asm/ptrace.h"
- "include/aarch64_be-linux-musl/asm/setup.h"
- "include/aarch64_be-linux-musl/asm/sigcontext.h"
- "include/aarch64_be-linux-musl/asm/siginfo.h"
- "include/aarch64_be-linux-musl/asm/signal.h"
- "include/aarch64_be-linux-musl/asm/stat.h"
- "include/aarch64_be-linux-musl/asm/statfs.h"
- "include/aarch64_be-linux-musl/asm/ucontext.h"
- "include/aarch64_be-linux-musl/asm/unistd.h"
"include/aarch64_be-linux-musl/bfd_stdint.h"
"include/aarch64_be-linux-musl/bits/alltypes.h"
"include/aarch64_be-linux-musl/bits/endian.h"
@@ -3097,7 +3093,830 @@ set(ZIG_LIBC_FILES
"include/aarch64_be-linux-musl/bits/stat.h"
"include/aarch64_be-linux-musl/bits/syscall.h"
"include/aarch64_be-linux-musl/bits/user.h"
- "include/arm-linux-gnueabi/asm/unistd.h"
+ "include/any-linux-any/asm-generic/auxvec.h"
+ "include/any-linux-any/asm-generic/bitsperlong.h"
+ "include/any-linux-any/asm-generic/bpf_perf_event.h"
+ "include/any-linux-any/asm-generic/errno-base.h"
+ "include/any-linux-any/asm-generic/errno.h"
+ "include/any-linux-any/asm-generic/fcntl.h"
+ "include/any-linux-any/asm-generic/hugetlb_encode.h"
+ "include/any-linux-any/asm-generic/int-l64.h"
+ "include/any-linux-any/asm-generic/int-ll64.h"
+ "include/any-linux-any/asm-generic/ioctl.h"
+ "include/any-linux-any/asm-generic/ioctls.h"
+ "include/any-linux-any/asm-generic/ipcbuf.h"
+ "include/any-linux-any/asm-generic/kvm_para.h"
+ "include/any-linux-any/asm-generic/mman-common.h"
+ "include/any-linux-any/asm-generic/mman.h"
+ "include/any-linux-any/asm-generic/msgbuf.h"
+ "include/any-linux-any/asm-generic/param.h"
+ "include/any-linux-any/asm-generic/poll.h"
+ "include/any-linux-any/asm-generic/posix_types.h"
+ "include/any-linux-any/asm-generic/resource.h"
+ "include/any-linux-any/asm-generic/sembuf.h"
+ "include/any-linux-any/asm-generic/setup.h"
+ "include/any-linux-any/asm-generic/shmbuf.h"
+ "include/any-linux-any/asm-generic/shmparam.h"
+ "include/any-linux-any/asm-generic/siginfo.h"
+ "include/any-linux-any/asm-generic/signal-defs.h"
+ "include/any-linux-any/asm-generic/signal.h"
+ "include/any-linux-any/asm-generic/socket.h"
+ "include/any-linux-any/asm-generic/sockios.h"
+ "include/any-linux-any/asm-generic/stat.h"
+ "include/any-linux-any/asm-generic/statfs.h"
+ "include/any-linux-any/asm-generic/swab.h"
+ "include/any-linux-any/asm-generic/termbits.h"
+ "include/any-linux-any/asm-generic/termios.h"
+ "include/any-linux-any/asm-generic/types.h"
+ "include/any-linux-any/asm-generic/ucontext.h"
+ "include/any-linux-any/asm-generic/unistd.h"
+ "include/any-linux-any/asm/a.out.h"
+ "include/any-linux-any/asm/auxvec.h"
+ "include/any-linux-any/asm/bitfield.h"
+ "include/any-linux-any/asm/bitsperlong.h"
+ "include/any-linux-any/asm/boot.h"
+ "include/any-linux-any/asm/bootparam.h"
+ "include/any-linux-any/asm/bootx.h"
+ "include/any-linux-any/asm/bpf_perf_event.h"
+ "include/any-linux-any/asm/break.h"
+ "include/any-linux-any/asm/byteorder.h"
+ "include/any-linux-any/asm/cachectl.h"
+ "include/any-linux-any/asm/cputable.h"
+ "include/any-linux-any/asm/debugreg.h"
+ "include/any-linux-any/asm/e820.h"
+ "include/any-linux-any/asm/eeh.h"
+ "include/any-linux-any/asm/elf.h"
+ "include/any-linux-any/asm/epapr_hcalls.h"
+ "include/any-linux-any/asm/errno.h"
+ "include/any-linux-any/asm/fcntl.h"
+ "include/any-linux-any/asm/hw_breakpoint.h"
+ "include/any-linux-any/asm/hwcap.h"
+ "include/any-linux-any/asm/hwcap2.h"
+ "include/any-linux-any/asm/inst.h"
+ "include/any-linux-any/asm/ioctl.h"
+ "include/any-linux-any/asm/ioctls.h"
+ "include/any-linux-any/asm/ipcbuf.h"
+ "include/any-linux-any/asm/ist.h"
+ "include/any-linux-any/asm/kvm.h"
+ "include/any-linux-any/asm/kvm_para.h"
+ "include/any-linux-any/asm/kvm_perf.h"
+ "include/any-linux-any/asm/ldt.h"
+ "include/any-linux-any/asm/mce.h"
+ "include/any-linux-any/asm/mman.h"
+ "include/any-linux-any/asm/msgbuf.h"
+ "include/any-linux-any/asm/msr.h"
+ "include/any-linux-any/asm/mtrr.h"
+ "include/any-linux-any/asm/nvram.h"
+ "include/any-linux-any/asm/opal-prd.h"
+ "include/any-linux-any/asm/param.h"
+ "include/any-linux-any/asm/perf_event.h"
+ "include/any-linux-any/asm/perf_regs.h"
+ "include/any-linux-any/asm/poll.h"
+ "include/any-linux-any/asm/posix_types.h"
+ "include/any-linux-any/asm/posix_types_32.h"
+ "include/any-linux-any/asm/posix_types_64.h"
+ "include/any-linux-any/asm/posix_types_x32.h"
+ "include/any-linux-any/asm/prctl.h"
+ "include/any-linux-any/asm/processor-flags.h"
+ "include/any-linux-any/asm/ps3fb.h"
+ "include/any-linux-any/asm/ptrace-abi.h"
+ "include/any-linux-any/asm/ptrace.h"
+ "include/any-linux-any/asm/reg.h"
+ "include/any-linux-any/asm/resource.h"
+ "include/any-linux-any/asm/sembuf.h"
+ "include/any-linux-any/asm/setup.h"
+ "include/any-linux-any/asm/sgidefs.h"
+ "include/any-linux-any/asm/shmbuf.h"
+ "include/any-linux-any/asm/sigcontext.h"
+ "include/any-linux-any/asm/sigcontext32.h"
+ "include/any-linux-any/asm/siginfo.h"
+ "include/any-linux-any/asm/signal.h"
+ "include/any-linux-any/asm/socket.h"
+ "include/any-linux-any/asm/sockios.h"
+ "include/any-linux-any/asm/spu_info.h"
+ "include/any-linux-any/asm/stat.h"
+ "include/any-linux-any/asm/statfs.h"
+ "include/any-linux-any/asm/svm.h"
+ "include/any-linux-any/asm/swab.h"
+ "include/any-linux-any/asm/syscalls.h"
+ "include/any-linux-any/asm/sysmips.h"
+ "include/any-linux-any/asm/termbits.h"
+ "include/any-linux-any/asm/termios.h"
+ "include/any-linux-any/asm/tm.h"
+ "include/any-linux-any/asm/types.h"
+ "include/any-linux-any/asm/ucontext.h"
+ "include/any-linux-any/asm/unistd-common.h"
+ "include/any-linux-any/asm/unistd-eabi.h"
+ "include/any-linux-any/asm/unistd-oabi.h"
+ "include/any-linux-any/asm/unistd.h"
+ "include/any-linux-any/asm/unistd_32.h"
+ "include/any-linux-any/asm/unistd_64.h"
+ "include/any-linux-any/asm/unistd_x32.h"
+ "include/any-linux-any/asm/vm86.h"
+ "include/any-linux-any/asm/vmx.h"
+ "include/any-linux-any/asm/vsyscall.h"
+ "include/any-linux-any/linux/a.out.h"
+ "include/any-linux-any/linux/acct.h"
+ "include/any-linux-any/linux/adb.h"
+ "include/any-linux-any/linux/adfs_fs.h"
+ "include/any-linux-any/linux/affs_hardblocks.h"
+ "include/any-linux-any/linux/agpgart.h"
+ "include/any-linux-any/linux/aio_abi.h"
+ "include/any-linux-any/linux/am437x-vpfe.h"
+ "include/any-linux-any/linux/android/binder.h"
+ "include/any-linux-any/linux/apm_bios.h"
+ "include/any-linux-any/linux/arcfb.h"
+ "include/any-linux-any/linux/arm_sdei.h"
+ "include/any-linux-any/linux/aspeed-lpc-ctrl.h"
+ "include/any-linux-any/linux/atalk.h"
+ "include/any-linux-any/linux/atm.h"
+ "include/any-linux-any/linux/atm_eni.h"
+ "include/any-linux-any/linux/atm_he.h"
+ "include/any-linux-any/linux/atm_idt77105.h"
+ "include/any-linux-any/linux/atm_nicstar.h"
+ "include/any-linux-any/linux/atm_tcp.h"
+ "include/any-linux-any/linux/atm_zatm.h"
+ "include/any-linux-any/linux/atmapi.h"
+ "include/any-linux-any/linux/atmarp.h"
+ "include/any-linux-any/linux/atmbr2684.h"
+ "include/any-linux-any/linux/atmclip.h"
+ "include/any-linux-any/linux/atmdev.h"
+ "include/any-linux-any/linux/atmioc.h"
+ "include/any-linux-any/linux/atmlec.h"
+ "include/any-linux-any/linux/atmmpc.h"
+ "include/any-linux-any/linux/atmppp.h"
+ "include/any-linux-any/linux/atmsap.h"
+ "include/any-linux-any/linux/atmsvc.h"
+ "include/any-linux-any/linux/audit.h"
+ "include/any-linux-any/linux/auto_dev-ioctl.h"
+ "include/any-linux-any/linux/auto_fs.h"
+ "include/any-linux-any/linux/auto_fs4.h"
+ "include/any-linux-any/linux/auxvec.h"
+ "include/any-linux-any/linux/ax25.h"
+ "include/any-linux-any/linux/b1lli.h"
+ "include/any-linux-any/linux/batadv_packet.h"
+ "include/any-linux-any/linux/batman_adv.h"
+ "include/any-linux-any/linux/baycom.h"
+ "include/any-linux-any/linux/bcache.h"
+ "include/any-linux-any/linux/bcm933xx_hcs.h"
+ "include/any-linux-any/linux/bfs_fs.h"
+ "include/any-linux-any/linux/binfmts.h"
+ "include/any-linux-any/linux/blkpg.h"
+ "include/any-linux-any/linux/blktrace_api.h"
+ "include/any-linux-any/linux/blkzoned.h"
+ "include/any-linux-any/linux/bpf.h"
+ "include/any-linux-any/linux/bpf_common.h"
+ "include/any-linux-any/linux/bpf_perf_event.h"
+ "include/any-linux-any/linux/bpfilter.h"
+ "include/any-linux-any/linux/bpqether.h"
+ "include/any-linux-any/linux/bsg.h"
+ "include/any-linux-any/linux/bt-bmc.h"
+ "include/any-linux-any/linux/btf.h"
+ "include/any-linux-any/linux/btrfs.h"
+ "include/any-linux-any/linux/btrfs_tree.h"
+ "include/any-linux-any/linux/byteorder/big_endian.h"
+ "include/any-linux-any/linux/byteorder/little_endian.h"
+ "include/any-linux-any/linux/caif/caif_socket.h"
+ "include/any-linux-any/linux/caif/if_caif.h"
+ "include/any-linux-any/linux/can.h"
+ "include/any-linux-any/linux/can/bcm.h"
+ "include/any-linux-any/linux/can/error.h"
+ "include/any-linux-any/linux/can/gw.h"
+ "include/any-linux-any/linux/can/netlink.h"
+ "include/any-linux-any/linux/can/raw.h"
+ "include/any-linux-any/linux/can/vxcan.h"
+ "include/any-linux-any/linux/capability.h"
+ "include/any-linux-any/linux/capi.h"
+ "include/any-linux-any/linux/cciss_defs.h"
+ "include/any-linux-any/linux/cciss_ioctl.h"
+ "include/any-linux-any/linux/cdrom.h"
+ "include/any-linux-any/linux/cec-funcs.h"
+ "include/any-linux-any/linux/cec.h"
+ "include/any-linux-any/linux/cgroupstats.h"
+ "include/any-linux-any/linux/chio.h"
+ "include/any-linux-any/linux/cifs/cifs_mount.h"
+ "include/any-linux-any/linux/cm4000_cs.h"
+ "include/any-linux-any/linux/cn_proc.h"
+ "include/any-linux-any/linux/coda.h"
+ "include/any-linux-any/linux/coda_psdev.h"
+ "include/any-linux-any/linux/coff.h"
+ "include/any-linux-any/linux/connector.h"
+ "include/any-linux-any/linux/const.h"
+ "include/any-linux-any/linux/coresight-stm.h"
+ "include/any-linux-any/linux/cramfs_fs.h"
+ "include/any-linux-any/linux/cryptouser.h"
+ "include/any-linux-any/linux/cuda.h"
+ "include/any-linux-any/linux/cyclades.h"
+ "include/any-linux-any/linux/cycx_cfm.h"
+ "include/any-linux-any/linux/dcbnl.h"
+ "include/any-linux-any/linux/dccp.h"
+ "include/any-linux-any/linux/devlink.h"
+ "include/any-linux-any/linux/dlm.h"
+ "include/any-linux-any/linux/dlm_device.h"
+ "include/any-linux-any/linux/dlm_netlink.h"
+ "include/any-linux-any/linux/dlm_plock.h"
+ "include/any-linux-any/linux/dlmconstants.h"
+ "include/any-linux-any/linux/dm-ioctl.h"
+ "include/any-linux-any/linux/dm-log-userspace.h"
+ "include/any-linux-any/linux/dma-buf.h"
+ "include/any-linux-any/linux/dn.h"
+ "include/any-linux-any/linux/dqblk_xfs.h"
+ "include/any-linux-any/linux/dvb/audio.h"
+ "include/any-linux-any/linux/dvb/ca.h"
+ "include/any-linux-any/linux/dvb/dmx.h"
+ "include/any-linux-any/linux/dvb/frontend.h"
+ "include/any-linux-any/linux/dvb/net.h"
+ "include/any-linux-any/linux/dvb/osd.h"
+ "include/any-linux-any/linux/dvb/version.h"
+ "include/any-linux-any/linux/dvb/video.h"
+ "include/any-linux-any/linux/edd.h"
+ "include/any-linux-any/linux/efs_fs_sb.h"
+ "include/any-linux-any/linux/elf-em.h"
+ "include/any-linux-any/linux/elf-fdpic.h"
+ "include/any-linux-any/linux/elf.h"
+ "include/any-linux-any/linux/elfcore.h"
+ "include/any-linux-any/linux/errno.h"
+ "include/any-linux-any/linux/errqueue.h"
+ "include/any-linux-any/linux/erspan.h"
+ "include/any-linux-any/linux/ethtool.h"
+ "include/any-linux-any/linux/eventpoll.h"
+ "include/any-linux-any/linux/fadvise.h"
+ "include/any-linux-any/linux/falloc.h"
+ "include/any-linux-any/linux/fanotify.h"
+ "include/any-linux-any/linux/fb.h"
+ "include/any-linux-any/linux/fcntl.h"
+ "include/any-linux-any/linux/fd.h"
+ "include/any-linux-any/linux/fdreg.h"
+ "include/any-linux-any/linux/fib_rules.h"
+ "include/any-linux-any/linux/fiemap.h"
+ "include/any-linux-any/linux/filter.h"
+ "include/any-linux-any/linux/firewire-cdev.h"
+ "include/any-linux-any/linux/firewire-constants.h"
+ "include/any-linux-any/linux/flat.h"
+ "include/any-linux-any/linux/fou.h"
+ "include/any-linux-any/linux/fpga-dfl.h"
+ "include/any-linux-any/linux/fs.h"
+ "include/any-linux-any/linux/fsi.h"
+ "include/any-linux-any/linux/fsl_hypervisor.h"
+ "include/any-linux-any/linux/fsmap.h"
+ "include/any-linux-any/linux/fuse.h"
+ "include/any-linux-any/linux/futex.h"
+ "include/any-linux-any/linux/gameport.h"
+ "include/any-linux-any/linux/gen_stats.h"
+ "include/any-linux-any/linux/genetlink.h"
+ "include/any-linux-any/linux/genwqe/genwqe_card.h"
+ "include/any-linux-any/linux/gfs2_ondisk.h"
+ "include/any-linux-any/linux/gigaset_dev.h"
+ "include/any-linux-any/linux/gpio.h"
+ "include/any-linux-any/linux/gsmmux.h"
+ "include/any-linux-any/linux/gtp.h"
+ "include/any-linux-any/linux/hash_info.h"
+ "include/any-linux-any/linux/hdlc.h"
+ "include/any-linux-any/linux/hdlc/ioctl.h"
+ "include/any-linux-any/linux/hdlcdrv.h"
+ "include/any-linux-any/linux/hdreg.h"
+ "include/any-linux-any/linux/hid.h"
+ "include/any-linux-any/linux/hiddev.h"
+ "include/any-linux-any/linux/hidraw.h"
+ "include/any-linux-any/linux/hpet.h"
+ "include/any-linux-any/linux/hsi/cs-protocol.h"
+ "include/any-linux-any/linux/hsi/hsi_char.h"
+ "include/any-linux-any/linux/hsr_netlink.h"
+ "include/any-linux-any/linux/hw_breakpoint.h"
+ "include/any-linux-any/linux/hyperv.h"
+ "include/any-linux-any/linux/hysdn_if.h"
+ "include/any-linux-any/linux/i2c-dev.h"
+ "include/any-linux-any/linux/i2c.h"
+ "include/any-linux-any/linux/i2o-dev.h"
+ "include/any-linux-any/linux/i8k.h"
+ "include/any-linux-any/linux/icmp.h"
+ "include/any-linux-any/linux/icmpv6.h"
+ "include/any-linux-any/linux/if.h"
+ "include/any-linux-any/linux/if_addr.h"
+ "include/any-linux-any/linux/if_addrlabel.h"
+ "include/any-linux-any/linux/if_alg.h"
+ "include/any-linux-any/linux/if_arcnet.h"
+ "include/any-linux-any/linux/if_arp.h"
+ "include/any-linux-any/linux/if_bonding.h"
+ "include/any-linux-any/linux/if_bridge.h"
+ "include/any-linux-any/linux/if_cablemodem.h"
+ "include/any-linux-any/linux/if_eql.h"
+ "include/any-linux-any/linux/if_ether.h"
+ "include/any-linux-any/linux/if_fc.h"
+ "include/any-linux-any/linux/if_fddi.h"
+ "include/any-linux-any/linux/if_frad.h"
+ "include/any-linux-any/linux/if_hippi.h"
+ "include/any-linux-any/linux/if_infiniband.h"
+ "include/any-linux-any/linux/if_link.h"
+ "include/any-linux-any/linux/if_ltalk.h"
+ "include/any-linux-any/linux/if_macsec.h"
+ "include/any-linux-any/linux/if_packet.h"
+ "include/any-linux-any/linux/if_phonet.h"
+ "include/any-linux-any/linux/if_plip.h"
+ "include/any-linux-any/linux/if_ppp.h"
+ "include/any-linux-any/linux/if_pppol2tp.h"
+ "include/any-linux-any/linux/if_pppox.h"
+ "include/any-linux-any/linux/if_slip.h"
+ "include/any-linux-any/linux/if_team.h"
+ "include/any-linux-any/linux/if_tun.h"
+ "include/any-linux-any/linux/if_tunnel.h"
+ "include/any-linux-any/linux/if_vlan.h"
+ "include/any-linux-any/linux/if_x25.h"
+ "include/any-linux-any/linux/if_xdp.h"
+ "include/any-linux-any/linux/ife.h"
+ "include/any-linux-any/linux/igmp.h"
+ "include/any-linux-any/linux/iio/events.h"
+ "include/any-linux-any/linux/iio/types.h"
+ "include/any-linux-any/linux/ila.h"
+ "include/any-linux-any/linux/in.h"
+ "include/any-linux-any/linux/in6.h"
+ "include/any-linux-any/linux/in_route.h"
+ "include/any-linux-any/linux/inet_diag.h"
+ "include/any-linux-any/linux/inotify.h"
+ "include/any-linux-any/linux/input-event-codes.h"
+ "include/any-linux-any/linux/input.h"
+ "include/any-linux-any/linux/ioctl.h"
+ "include/any-linux-any/linux/ip.h"
+ "include/any-linux-any/linux/ip6_tunnel.h"
+ "include/any-linux-any/linux/ip_vs.h"
+ "include/any-linux-any/linux/ipc.h"
+ "include/any-linux-any/linux/ipmi.h"
+ "include/any-linux-any/linux/ipmi_bmc.h"
+ "include/any-linux-any/linux/ipmi_msgdefs.h"
+ "include/any-linux-any/linux/ipsec.h"
+ "include/any-linux-any/linux/ipv6.h"
+ "include/any-linux-any/linux/ipv6_route.h"
+ "include/any-linux-any/linux/ipx.h"
+ "include/any-linux-any/linux/irqnr.h"
+ "include/any-linux-any/linux/isdn.h"
+ "include/any-linux-any/linux/isdn/capicmd.h"
+ "include/any-linux-any/linux/isdn_divertif.h"
+ "include/any-linux-any/linux/isdn_ppp.h"
+ "include/any-linux-any/linux/isdnif.h"
+ "include/any-linux-any/linux/iso_fs.h"
+ "include/any-linux-any/linux/ivtv.h"
+ "include/any-linux-any/linux/ivtvfb.h"
+ "include/any-linux-any/linux/jffs2.h"
+ "include/any-linux-any/linux/joystick.h"
+ "include/any-linux-any/linux/kcm.h"
+ "include/any-linux-any/linux/kcmp.h"
+ "include/any-linux-any/linux/kcov.h"
+ "include/any-linux-any/linux/kd.h"
+ "include/any-linux-any/linux/kdev_t.h"
+ "include/any-linux-any/linux/kernel-page-flags.h"
+ "include/any-linux-any/linux/kernel.h"
+ "include/any-linux-any/linux/kernelcapi.h"
+ "include/any-linux-any/linux/kexec.h"
+ "include/any-linux-any/linux/keyboard.h"
+ "include/any-linux-any/linux/keyctl.h"
+ "include/any-linux-any/linux/kfd_ioctl.h"
+ "include/any-linux-any/linux/kvm.h"
+ "include/any-linux-any/linux/kvm_para.h"
+ "include/any-linux-any/linux/l2tp.h"
+ "include/any-linux-any/linux/libc-compat.h"
+ "include/any-linux-any/linux/lightnvm.h"
+ "include/any-linux-any/linux/limits.h"
+ "include/any-linux-any/linux/lirc.h"
+ "include/any-linux-any/linux/llc.h"
+ "include/any-linux-any/linux/loop.h"
+ "include/any-linux-any/linux/lp.h"
+ "include/any-linux-any/linux/lwtunnel.h"
+ "include/any-linux-any/linux/magic.h"
+ "include/any-linux-any/linux/major.h"
+ "include/any-linux-any/linux/map_to_7segment.h"
+ "include/any-linux-any/linux/matroxfb.h"
+ "include/any-linux-any/linux/max2175.h"
+ "include/any-linux-any/linux/mdio.h"
+ "include/any-linux-any/linux/media-bus-format.h"
+ "include/any-linux-any/linux/media.h"
+ "include/any-linux-any/linux/mei.h"
+ "include/any-linux-any/linux/membarrier.h"
+ "include/any-linux-any/linux/memfd.h"
+ "include/any-linux-any/linux/mempolicy.h"
+ "include/any-linux-any/linux/meye.h"
+ "include/any-linux-any/linux/mic_common.h"
+ "include/any-linux-any/linux/mic_ioctl.h"
+ "include/any-linux-any/linux/mii.h"
+ "include/any-linux-any/linux/minix_fs.h"
+ "include/any-linux-any/linux/mman.h"
+ "include/any-linux-any/linux/mmc/ioctl.h"
+ "include/any-linux-any/linux/mmtimer.h"
+ "include/any-linux-any/linux/module.h"
+ "include/any-linux-any/linux/mpls.h"
+ "include/any-linux-any/linux/mpls_iptunnel.h"
+ "include/any-linux-any/linux/mqueue.h"
+ "include/any-linux-any/linux/mroute.h"
+ "include/any-linux-any/linux/mroute6.h"
+ "include/any-linux-any/linux/msdos_fs.h"
+ "include/any-linux-any/linux/msg.h"
+ "include/any-linux-any/linux/mtio.h"
+ "include/any-linux-any/linux/n_r3964.h"
+ "include/any-linux-any/linux/nbd-netlink.h"
+ "include/any-linux-any/linux/nbd.h"
+ "include/any-linux-any/linux/ncsi.h"
+ "include/any-linux-any/linux/ndctl.h"
+ "include/any-linux-any/linux/neighbour.h"
+ "include/any-linux-any/linux/net.h"
+ "include/any-linux-any/linux/net_dropmon.h"
+ "include/any-linux-any/linux/net_namespace.h"
+ "include/any-linux-any/linux/net_tstamp.h"
+ "include/any-linux-any/linux/netconf.h"
+ "include/any-linux-any/linux/netdevice.h"
+ "include/any-linux-any/linux/netfilter.h"
+ "include/any-linux-any/linux/netfilter/ipset/ip_set.h"
+ "include/any-linux-any/linux/netfilter/ipset/ip_set_bitmap.h"
+ "include/any-linux-any/linux/netfilter/ipset/ip_set_hash.h"
+ "include/any-linux-any/linux/netfilter/ipset/ip_set_list.h"
+ "include/any-linux-any/linux/netfilter/nf_conntrack_common.h"
+ "include/any-linux-any/linux/netfilter/nf_conntrack_ftp.h"
+ "include/any-linux-any/linux/netfilter/nf_conntrack_sctp.h"
+ "include/any-linux-any/linux/netfilter/nf_conntrack_tcp.h"
+ "include/any-linux-any/linux/netfilter/nf_conntrack_tuple_common.h"
+ "include/any-linux-any/linux/netfilter/nf_log.h"
+ "include/any-linux-any/linux/netfilter/nf_nat.h"
+ "include/any-linux-any/linux/netfilter/nf_tables.h"
+ "include/any-linux-any/linux/netfilter/nf_tables_compat.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_acct.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_compat.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_conntrack.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_cthelper.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_cttimeout.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_log.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_osf.h"
+ "include/any-linux-any/linux/netfilter/nfnetlink_queue.h"
+ "include/any-linux-any/linux/netfilter/x_tables.h"
+ "include/any-linux-any/linux/netfilter/xt_AUDIT.h"
+ "include/any-linux-any/linux/netfilter/xt_CHECKSUM.h"
+ "include/any-linux-any/linux/netfilter/xt_CLASSIFY.h"
+ "include/any-linux-any/linux/netfilter/xt_CONNSECMARK.h"
+ "include/any-linux-any/linux/netfilter/xt_CT.h"
+ "include/any-linux-any/linux/netfilter/xt_HMARK.h"
+ "include/any-linux-any/linux/netfilter/xt_IDLETIMER.h"
+ "include/any-linux-any/linux/netfilter/xt_LED.h"
+ "include/any-linux-any/linux/netfilter/xt_LOG.h"
+ "include/any-linux-any/linux/netfilter/xt_NFLOG.h"
+ "include/any-linux-any/linux/netfilter/xt_NFQUEUE.h"
+ "include/any-linux-any/linux/netfilter/xt_SECMARK.h"
+ "include/any-linux-any/linux/netfilter/xt_SYNPROXY.h"
+ "include/any-linux-any/linux/netfilter/xt_TCPOPTSTRIP.h"
+ "include/any-linux-any/linux/netfilter/xt_TEE.h"
+ "include/any-linux-any/linux/netfilter/xt_TPROXY.h"
+ "include/any-linux-any/linux/netfilter/xt_addrtype.h"
+ "include/any-linux-any/linux/netfilter/xt_bpf.h"
+ "include/any-linux-any/linux/netfilter/xt_cgroup.h"
+ "include/any-linux-any/linux/netfilter/xt_cluster.h"
+ "include/any-linux-any/linux/netfilter/xt_comment.h"
+ "include/any-linux-any/linux/netfilter/xt_connbytes.h"
+ "include/any-linux-any/linux/netfilter/xt_connlabel.h"
+ "include/any-linux-any/linux/netfilter/xt_connlimit.h"
+ "include/any-linux-any/linux/netfilter/xt_connmark.h"
+ "include/any-linux-any/linux/netfilter/xt_conntrack.h"
+ "include/any-linux-any/linux/netfilter/xt_cpu.h"
+ "include/any-linux-any/linux/netfilter/xt_dccp.h"
+ "include/any-linux-any/linux/netfilter/xt_devgroup.h"
+ "include/any-linux-any/linux/netfilter/xt_dscp.h"
+ "include/any-linux-any/linux/netfilter/xt_ecn.h"
+ "include/any-linux-any/linux/netfilter/xt_esp.h"
+ "include/any-linux-any/linux/netfilter/xt_hashlimit.h"
+ "include/any-linux-any/linux/netfilter/xt_helper.h"
+ "include/any-linux-any/linux/netfilter/xt_ipcomp.h"
+ "include/any-linux-any/linux/netfilter/xt_iprange.h"
+ "include/any-linux-any/linux/netfilter/xt_ipvs.h"
+ "include/any-linux-any/linux/netfilter/xt_l2tp.h"
+ "include/any-linux-any/linux/netfilter/xt_length.h"
+ "include/any-linux-any/linux/netfilter/xt_limit.h"
+ "include/any-linux-any/linux/netfilter/xt_mac.h"
+ "include/any-linux-any/linux/netfilter/xt_mark.h"
+ "include/any-linux-any/linux/netfilter/xt_multiport.h"
+ "include/any-linux-any/linux/netfilter/xt_nfacct.h"
+ "include/any-linux-any/linux/netfilter/xt_osf.h"
+ "include/any-linux-any/linux/netfilter/xt_owner.h"
+ "include/any-linux-any/linux/netfilter/xt_physdev.h"
+ "include/any-linux-any/linux/netfilter/xt_pkttype.h"
+ "include/any-linux-any/linux/netfilter/xt_policy.h"
+ "include/any-linux-any/linux/netfilter/xt_quota.h"
+ "include/any-linux-any/linux/netfilter/xt_rateest.h"
+ "include/any-linux-any/linux/netfilter/xt_realm.h"
+ "include/any-linux-any/linux/netfilter/xt_recent.h"
+ "include/any-linux-any/linux/netfilter/xt_rpfilter.h"
+ "include/any-linux-any/linux/netfilter/xt_sctp.h"
+ "include/any-linux-any/linux/netfilter/xt_set.h"
+ "include/any-linux-any/linux/netfilter/xt_socket.h"
+ "include/any-linux-any/linux/netfilter/xt_state.h"
+ "include/any-linux-any/linux/netfilter/xt_statistic.h"
+ "include/any-linux-any/linux/netfilter/xt_string.h"
+ "include/any-linux-any/linux/netfilter/xt_tcpmss.h"
+ "include/any-linux-any/linux/netfilter/xt_tcpudp.h"
+ "include/any-linux-any/linux/netfilter/xt_time.h"
+ "include/any-linux-any/linux/netfilter/xt_u32.h"
+ "include/any-linux-any/linux/netfilter_arp.h"
+ "include/any-linux-any/linux/netfilter_arp/arp_tables.h"
+ "include/any-linux-any/linux/netfilter_arp/arpt_mangle.h"
+ "include/any-linux-any/linux/netfilter_bridge.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_802_3.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_among.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_arp.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_arpreply.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_ip.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_ip6.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_limit.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_log.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_mark_m.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_mark_t.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_nat.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_nflog.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_pkttype.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_redirect.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_stp.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebt_vlan.h"
+ "include/any-linux-any/linux/netfilter_bridge/ebtables.h"
+ "include/any-linux-any/linux/netfilter_decnet.h"
+ "include/any-linux-any/linux/netfilter_ipv4.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ip_tables.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_CLUSTERIP.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_LOG.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_REJECT.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_ah.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_ecn.h"
+ "include/any-linux-any/linux/netfilter_ipv4/ipt_ttl.h"
+ "include/any-linux-any/linux/netfilter_ipv6.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6_tables.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_LOG.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_NPT.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_REJECT.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_ah.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_frag.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_hl.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_ipv6header.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_mh.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_opts.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_rt.h"
+ "include/any-linux-any/linux/netfilter_ipv6/ip6t_srh.h"
+ "include/any-linux-any/linux/netlink.h"
+ "include/any-linux-any/linux/netlink_diag.h"
+ "include/any-linux-any/linux/netrom.h"
+ "include/any-linux-any/linux/nfc.h"
+ "include/any-linux-any/linux/nfs.h"
+ "include/any-linux-any/linux/nfs2.h"
+ "include/any-linux-any/linux/nfs3.h"
+ "include/any-linux-any/linux/nfs4.h"
+ "include/any-linux-any/linux/nfs4_mount.h"
+ "include/any-linux-any/linux/nfs_fs.h"
+ "include/any-linux-any/linux/nfs_idmap.h"
+ "include/any-linux-any/linux/nfs_mount.h"
+ "include/any-linux-any/linux/nfsacl.h"
+ "include/any-linux-any/linux/nfsd/cld.h"
+ "include/any-linux-any/linux/nfsd/debug.h"
+ "include/any-linux-any/linux/nfsd/export.h"
+ "include/any-linux-any/linux/nfsd/nfsfh.h"
+ "include/any-linux-any/linux/nfsd/stats.h"
+ "include/any-linux-any/linux/nilfs2_api.h"
+ "include/any-linux-any/linux/nilfs2_ondisk.h"
+ "include/any-linux-any/linux/nl80211.h"
+ "include/any-linux-any/linux/nsfs.h"
+ "include/any-linux-any/linux/nubus.h"
+ "include/any-linux-any/linux/nvme_ioctl.h"
+ "include/any-linux-any/linux/nvram.h"
+ "include/any-linux-any/linux/omap3isp.h"
+ "include/any-linux-any/linux/omapfb.h"
+ "include/any-linux-any/linux/oom.h"
+ "include/any-linux-any/linux/openvswitch.h"
+ "include/any-linux-any/linux/packet_diag.h"
+ "include/any-linux-any/linux/param.h"
+ "include/any-linux-any/linux/parport.h"
+ "include/any-linux-any/linux/patchkey.h"
+ "include/any-linux-any/linux/pci.h"
+ "include/any-linux-any/linux/pci_regs.h"
+ "include/any-linux-any/linux/pcitest.h"
+ "include/any-linux-any/linux/perf_event.h"
+ "include/any-linux-any/linux/personality.h"
+ "include/any-linux-any/linux/pfkeyv2.h"
+ "include/any-linux-any/linux/pg.h"
+ "include/any-linux-any/linux/phantom.h"
+ "include/any-linux-any/linux/phonet.h"
+ "include/any-linux-any/linux/pkt_cls.h"
+ "include/any-linux-any/linux/pkt_sched.h"
+ "include/any-linux-any/linux/pktcdvd.h"
+ "include/any-linux-any/linux/pmu.h"
+ "include/any-linux-any/linux/poll.h"
+ "include/any-linux-any/linux/posix_acl.h"
+ "include/any-linux-any/linux/posix_acl_xattr.h"
+ "include/any-linux-any/linux/posix_types.h"
+ "include/any-linux-any/linux/ppdev.h"
+ "include/any-linux-any/linux/ppp-comp.h"
+ "include/any-linux-any/linux/ppp-ioctl.h"
+ "include/any-linux-any/linux/ppp_defs.h"
+ "include/any-linux-any/linux/pps.h"
+ "include/any-linux-any/linux/pr.h"
+ "include/any-linux-any/linux/prctl.h"
+ "include/any-linux-any/linux/psample.h"
+ "include/any-linux-any/linux/psci.h"
+ "include/any-linux-any/linux/psp-sev.h"
+ "include/any-linux-any/linux/ptp_clock.h"
+ "include/any-linux-any/linux/ptrace.h"
+ "include/any-linux-any/linux/qemu_fw_cfg.h"
+ "include/any-linux-any/linux/qnx4_fs.h"
+ "include/any-linux-any/linux/qnxtypes.h"
+ "include/any-linux-any/linux/qrtr.h"
+ "include/any-linux-any/linux/quota.h"
+ "include/any-linux-any/linux/radeonfb.h"
+ "include/any-linux-any/linux/raid/md_p.h"
+ "include/any-linux-any/linux/raid/md_u.h"
+ "include/any-linux-any/linux/random.h"
+ "include/any-linux-any/linux/raw.h"
+ "include/any-linux-any/linux/rds.h"
+ "include/any-linux-any/linux/reboot.h"
+ "include/any-linux-any/linux/reiserfs_fs.h"
+ "include/any-linux-any/linux/reiserfs_xattr.h"
+ "include/any-linux-any/linux/resource.h"
+ "include/any-linux-any/linux/rfkill.h"
+ "include/any-linux-any/linux/rio_cm_cdev.h"
+ "include/any-linux-any/linux/rio_mport_cdev.h"
+ "include/any-linux-any/linux/romfs_fs.h"
+ "include/any-linux-any/linux/rose.h"
+ "include/any-linux-any/linux/route.h"
+ "include/any-linux-any/linux/rpmsg.h"
+ "include/any-linux-any/linux/rseq.h"
+ "include/any-linux-any/linux/rtc.h"
+ "include/any-linux-any/linux/rtnetlink.h"
+ "include/any-linux-any/linux/rxrpc.h"
+ "include/any-linux-any/linux/scc.h"
+ "include/any-linux-any/linux/sched.h"
+ "include/any-linux-any/linux/sched/types.h"
+ "include/any-linux-any/linux/scif_ioctl.h"
+ "include/any-linux-any/linux/screen_info.h"
+ "include/any-linux-any/linux/sctp.h"
+ "include/any-linux-any/linux/sdla.h"
+ "include/any-linux-any/linux/seccomp.h"
+ "include/any-linux-any/linux/securebits.h"
+ "include/any-linux-any/linux/sed-opal.h"
+ "include/any-linux-any/linux/seg6.h"
+ "include/any-linux-any/linux/seg6_genl.h"
+ "include/any-linux-any/linux/seg6_hmac.h"
+ "include/any-linux-any/linux/seg6_iptunnel.h"
+ "include/any-linux-any/linux/seg6_local.h"
+ "include/any-linux-any/linux/selinux_netlink.h"
+ "include/any-linux-any/linux/sem.h"
+ "include/any-linux-any/linux/serial.h"
+ "include/any-linux-any/linux/serial_core.h"
+ "include/any-linux-any/linux/serial_reg.h"
+ "include/any-linux-any/linux/serio.h"
+ "include/any-linux-any/linux/shm.h"
+ "include/any-linux-any/linux/signal.h"
+ "include/any-linux-any/linux/signalfd.h"
+ "include/any-linux-any/linux/smc.h"
+ "include/any-linux-any/linux/smc_diag.h"
+ "include/any-linux-any/linux/smiapp.h"
+ "include/any-linux-any/linux/snmp.h"
+ "include/any-linux-any/linux/sock_diag.h"
+ "include/any-linux-any/linux/socket.h"
+ "include/any-linux-any/linux/sockios.h"
+ "include/any-linux-any/linux/sonet.h"
+ "include/any-linux-any/linux/sonypi.h"
+ "include/any-linux-any/linux/sound.h"
+ "include/any-linux-any/linux/soundcard.h"
+ "include/any-linux-any/linux/spi/spidev.h"
+ "include/any-linux-any/linux/stat.h"
+ "include/any-linux-any/linux/stddef.h"
+ "include/any-linux-any/linux/stm.h"
+ "include/any-linux-any/linux/string.h"
+ "include/any-linux-any/linux/sunrpc/debug.h"
+ "include/any-linux-any/linux/suspend_ioctls.h"
+ "include/any-linux-any/linux/swab.h"
+ "include/any-linux-any/linux/switchtec_ioctl.h"
+ "include/any-linux-any/linux/sync_file.h"
+ "include/any-linux-any/linux/synclink.h"
+ "include/any-linux-any/linux/sysctl.h"
+ "include/any-linux-any/linux/sysinfo.h"
+ "include/any-linux-any/linux/target_core_user.h"
+ "include/any-linux-any/linux/taskstats.h"
+ "include/any-linux-any/linux/tc_act/tc_bpf.h"
+ "include/any-linux-any/linux/tc_act/tc_connmark.h"
+ "include/any-linux-any/linux/tc_act/tc_csum.h"
+ "include/any-linux-any/linux/tc_act/tc_defact.h"
+ "include/any-linux-any/linux/tc_act/tc_gact.h"
+ "include/any-linux-any/linux/tc_act/tc_ife.h"
+ "include/any-linux-any/linux/tc_act/tc_ipt.h"
+ "include/any-linux-any/linux/tc_act/tc_mirred.h"
+ "include/any-linux-any/linux/tc_act/tc_nat.h"
+ "include/any-linux-any/linux/tc_act/tc_pedit.h"
+ "include/any-linux-any/linux/tc_act/tc_sample.h"
+ "include/any-linux-any/linux/tc_act/tc_skbedit.h"
+ "include/any-linux-any/linux/tc_act/tc_skbmod.h"
+ "include/any-linux-any/linux/tc_act/tc_tunnel_key.h"
+ "include/any-linux-any/linux/tc_act/tc_vlan.h"
+ "include/any-linux-any/linux/tc_ematch/tc_em_cmp.h"
+ "include/any-linux-any/linux/tc_ematch/tc_em_ipt.h"
+ "include/any-linux-any/linux/tc_ematch/tc_em_meta.h"
+ "include/any-linux-any/linux/tc_ematch/tc_em_nbyte.h"
+ "include/any-linux-any/linux/tc_ematch/tc_em_text.h"
+ "include/any-linux-any/linux/tcp.h"
+ "include/any-linux-any/linux/tcp_metrics.h"
+ "include/any-linux-any/linux/tee.h"
+ "include/any-linux-any/linux/termios.h"
+ "include/any-linux-any/linux/thermal.h"
+ "include/any-linux-any/linux/time.h"
+ "include/any-linux-any/linux/timerfd.h"
+ "include/any-linux-any/linux/times.h"
+ "include/any-linux-any/linux/timex.h"
+ "include/any-linux-any/linux/tiocl.h"
+ "include/any-linux-any/linux/tipc.h"
+ "include/any-linux-any/linux/tipc_config.h"
+ "include/any-linux-any/linux/tipc_netlink.h"
+ "include/any-linux-any/linux/tipc_sockets_diag.h"
+ "include/any-linux-any/linux/tls.h"
+ "include/any-linux-any/linux/toshiba.h"
+ "include/any-linux-any/linux/tty.h"
+ "include/any-linux-any/linux/tty_flags.h"
+ "include/any-linux-any/linux/types.h"
+ "include/any-linux-any/linux/udf_fs_i.h"
+ "include/any-linux-any/linux/udp.h"
+ "include/any-linux-any/linux/uhid.h"
+ "include/any-linux-any/linux/uinput.h"
+ "include/any-linux-any/linux/uio.h"
+ "include/any-linux-any/linux/uleds.h"
+ "include/any-linux-any/linux/ultrasound.h"
+ "include/any-linux-any/linux/un.h"
+ "include/any-linux-any/linux/unistd.h"
+ "include/any-linux-any/linux/unix_diag.h"
+ "include/any-linux-any/linux/usb/audio.h"
+ "include/any-linux-any/linux/usb/cdc-wdm.h"
+ "include/any-linux-any/linux/usb/cdc.h"
+ "include/any-linux-any/linux/usb/ch11.h"
+ "include/any-linux-any/linux/usb/ch9.h"
+ "include/any-linux-any/linux/usb/charger.h"
+ "include/any-linux-any/linux/usb/functionfs.h"
+ "include/any-linux-any/linux/usb/g_printer.h"
+ "include/any-linux-any/linux/usb/g_uvc.h"
+ "include/any-linux-any/linux/usb/gadgetfs.h"
+ "include/any-linux-any/linux/usb/midi.h"
+ "include/any-linux-any/linux/usb/tmc.h"
+ "include/any-linux-any/linux/usb/video.h"
+ "include/any-linux-any/linux/usbdevice_fs.h"
+ "include/any-linux-any/linux/usbip.h"
+ "include/any-linux-any/linux/userfaultfd.h"
+ "include/any-linux-any/linux/userio.h"
+ "include/any-linux-any/linux/utime.h"
+ "include/any-linux-any/linux/utsname.h"
+ "include/any-linux-any/linux/uuid.h"
+ "include/any-linux-any/linux/uvcvideo.h"
+ "include/any-linux-any/linux/v4l2-common.h"
+ "include/any-linux-any/linux/v4l2-controls.h"
+ "include/any-linux-any/linux/v4l2-dv-timings.h"
+ "include/any-linux-any/linux/v4l2-mediabus.h"
+ "include/any-linux-any/linux/v4l2-subdev.h"
+ "include/any-linux-any/linux/vbox_err.h"
+ "include/any-linux-any/linux/vbox_vmmdev_types.h"
+ "include/any-linux-any/linux/vboxguest.h"
+ "include/any-linux-any/linux/version.h"
+ "include/any-linux-any/linux/veth.h"
+ "include/any-linux-any/linux/vfio.h"
+ "include/any-linux-any/linux/vfio_ccw.h"
+ "include/any-linux-any/linux/vhost.h"
+ "include/any-linux-any/linux/videodev2.h"
+ "include/any-linux-any/linux/virtio_9p.h"
+ "include/any-linux-any/linux/virtio_balloon.h"
+ "include/any-linux-any/linux/virtio_blk.h"
+ "include/any-linux-any/linux/virtio_config.h"
+ "include/any-linux-any/linux/virtio_console.h"
+ "include/any-linux-any/linux/virtio_crypto.h"
+ "include/any-linux-any/linux/virtio_gpu.h"
+ "include/any-linux-any/linux/virtio_ids.h"
+ "include/any-linux-any/linux/virtio_input.h"
+ "include/any-linux-any/linux/virtio_mmio.h"
+ "include/any-linux-any/linux/virtio_net.h"
+ "include/any-linux-any/linux/virtio_pci.h"
+ "include/any-linux-any/linux/virtio_ring.h"
+ "include/any-linux-any/linux/virtio_rng.h"
+ "include/any-linux-any/linux/virtio_scsi.h"
+ "include/any-linux-any/linux/virtio_types.h"
+ "include/any-linux-any/linux/virtio_vsock.h"
+ "include/any-linux-any/linux/vm_sockets.h"
+ "include/any-linux-any/linux/vm_sockets_diag.h"
+ "include/any-linux-any/linux/vmcore.h"
+ "include/any-linux-any/linux/vsockmon.h"
+ "include/any-linux-any/linux/vt.h"
+ "include/any-linux-any/linux/vtpm_proxy.h"
+ "include/any-linux-any/linux/wait.h"
+ "include/any-linux-any/linux/wanrouter.h"
+ "include/any-linux-any/linux/watchdog.h"
+ "include/any-linux-any/linux/wimax.h"
+ "include/any-linux-any/linux/wimax/i2400m.h"
+ "include/any-linux-any/linux/wireless.h"
+ "include/any-linux-any/linux/wmi.h"
+ "include/any-linux-any/linux/x25.h"
+ "include/any-linux-any/linux/xattr.h"
+ "include/any-linux-any/linux/xfrm.h"
+ "include/any-linux-any/linux/xilinx-v4l2-controls.h"
+ "include/any-linux-any/linux/zorro.h"
+ "include/any-linux-any/linux/zorro_ids.h"
+ "include/arm-linux-any/asm/fcntl.h"
+ "include/arm-linux-any/asm/ioctls.h"
+ "include/arm-linux-any/asm/mman.h"
+ "include/arm-linux-any/asm/statfs.h"
+ "include/arm-linux-any/asm/swab.h"
+ "include/arm-linux-any/asm/types.h"
"include/arm-linux-gnueabi/bits/endian.h"
"include/arm-linux-gnueabi/bits/fcntl.h"
"include/arm-linux-gnueabi/bits/fenv.h"
@@ -3119,7 +3938,6 @@ set(ZIG_LIBC_FILES
"include/arm-linux-gnueabi/sys/ptrace.h"
"include/arm-linux-gnueabi/sys/ucontext.h"
"include/arm-linux-gnueabi/sys/user.h"
- "include/arm-linux-gnueabihf/asm/unistd.h"
"include/arm-linux-gnueabihf/bits/endian.h"
"include/arm-linux-gnueabihf/bits/fcntl.h"
"include/arm-linux-gnueabihf/bits/fenv.h"
@@ -3141,12 +3959,6 @@ set(ZIG_LIBC_FILES
"include/arm-linux-gnueabihf/sys/ptrace.h"
"include/arm-linux-gnueabihf/sys/ucontext.h"
"include/arm-linux-gnueabihf/sys/user.h"
- "include/arm-linux-musleabi/asm/fcntl.h"
- "include/arm-linux-musleabi/asm/ioctls.h"
- "include/arm-linux-musleabi/asm/mman.h"
- "include/arm-linux-musleabi/asm/statfs.h"
- "include/arm-linux-musleabi/asm/swab.h"
- "include/arm-linux-musleabi/asm/types.h"
"include/arm-linux-musleabi/bfd.h"
"include/arm-linux-musleabi/bfd_stdint.h"
"include/arm-linux-musleabi/bits/fcntl.h"
@@ -3156,12 +3968,6 @@ set(ZIG_LIBC_FILES
"include/arm-linux-musleabi/bits/ptrace.h"
"include/arm-linux-musleabi/bits/shm.h"
"include/arm-linux-musleabi/bits/stdint.h"
- "include/arm-linux-musleabihf/asm/fcntl.h"
- "include/arm-linux-musleabihf/asm/ioctls.h"
- "include/arm-linux-musleabihf/asm/mman.h"
- "include/arm-linux-musleabihf/asm/statfs.h"
- "include/arm-linux-musleabihf/asm/swab.h"
- "include/arm-linux-musleabihf/asm/types.h"
"include/arm-linux-musleabihf/bfd.h"
"include/arm-linux-musleabihf/bfd_stdint.h"
"include/arm-linux-musleabihf/bits/fcntl.h"
@@ -3171,7 +3977,12 @@ set(ZIG_LIBC_FILES
"include/arm-linux-musleabihf/bits/ptrace.h"
"include/arm-linux-musleabihf/bits/shm.h"
"include/arm-linux-musleabihf/bits/stdint.h"
- "include/armeb-linux-gnueabi/asm/unistd.h"
+ "include/armeb-linux-any/asm/fcntl.h"
+ "include/armeb-linux-any/asm/ioctls.h"
+ "include/armeb-linux-any/asm/mman.h"
+ "include/armeb-linux-any/asm/statfs.h"
+ "include/armeb-linux-any/asm/swab.h"
+ "include/armeb-linux-any/asm/types.h"
"include/armeb-linux-gnueabi/bits/endian.h"
"include/armeb-linux-gnueabi/bits/fcntl.h"
"include/armeb-linux-gnueabi/bits/fenv.h"
@@ -3193,7 +4004,6 @@ set(ZIG_LIBC_FILES
"include/armeb-linux-gnueabi/sys/ptrace.h"
"include/armeb-linux-gnueabi/sys/ucontext.h"
"include/armeb-linux-gnueabi/sys/user.h"
- "include/armeb-linux-gnueabihf/asm/unistd.h"
"include/armeb-linux-gnueabihf/bits/endian.h"
"include/armeb-linux-gnueabihf/bits/fcntl.h"
"include/armeb-linux-gnueabihf/bits/fenv.h"
@@ -3215,12 +4025,6 @@ set(ZIG_LIBC_FILES
"include/armeb-linux-gnueabihf/sys/ptrace.h"
"include/armeb-linux-gnueabihf/sys/ucontext.h"
"include/armeb-linux-gnueabihf/sys/user.h"
- "include/armeb-linux-musleabi/asm/fcntl.h"
- "include/armeb-linux-musleabi/asm/ioctls.h"
- "include/armeb-linux-musleabi/asm/mman.h"
- "include/armeb-linux-musleabi/asm/statfs.h"
- "include/armeb-linux-musleabi/asm/swab.h"
- "include/armeb-linux-musleabi/asm/types.h"
"include/armeb-linux-musleabi/bfd.h"
"include/armeb-linux-musleabi/bfd_stdint.h"
"include/armeb-linux-musleabi/bits/fcntl.h"
@@ -3230,12 +4034,6 @@ set(ZIG_LIBC_FILES
"include/armeb-linux-musleabi/bits/ptrace.h"
"include/armeb-linux-musleabi/bits/shm.h"
"include/armeb-linux-musleabi/bits/stdint.h"
- "include/armeb-linux-musleabihf/asm/fcntl.h"
- "include/armeb-linux-musleabihf/asm/ioctls.h"
- "include/armeb-linux-musleabihf/asm/mman.h"
- "include/armeb-linux-musleabihf/asm/statfs.h"
- "include/armeb-linux-musleabihf/asm/swab.h"
- "include/armeb-linux-musleabihf/asm/types.h"
"include/armeb-linux-musleabihf/bfd.h"
"include/armeb-linux-musleabihf/bfd_stdint.h"
"include/armeb-linux-musleabihf/bits/fcntl.h"
@@ -3258,10 +4056,6 @@ set(ZIG_LIBC_FILES
"include/generic-glibc/arpa/nameser_compat.h"
"include/generic-glibc/arpa/telnet.h"
"include/generic-glibc/arpa/tftp.h"
- "include/generic-glibc/asm-generic/bitsperlong.h"
- "include/generic-glibc/asm-generic/unistd.h"
- "include/generic-glibc/asm/unistd_32.h"
- "include/generic-glibc/asm/unistd_64.h"
"include/generic-glibc/assert.h"
"include/generic-glibc/bits/a.out.h"
"include/generic-glibc/bits/argp-ldbl.h"
@@ -3519,7 +4313,6 @@ set(ZIG_LIBC_FILES
"include/generic-glibc/libintl.h"
"include/generic-glibc/limits.h"
"include/generic-glibc/link.h"
- "include/generic-glibc/linux/limits.h"
"include/generic-glibc/locale.h"
"include/generic-glibc/malloc.h"
"include/generic-glibc/math.h"
@@ -3726,128 +4519,6 @@ set(ZIG_LIBC_FILES
"include/generic-musl/arpa/nameser_compat.h"
"include/generic-musl/arpa/telnet.h"
"include/generic-musl/arpa/tftp.h"
- "include/generic-musl/asm-generic/auxvec.h"
- "include/generic-musl/asm-generic/bitsperlong.h"
- "include/generic-musl/asm-generic/bpf_perf_event.h"
- "include/generic-musl/asm-generic/errno-base.h"
- "include/generic-musl/asm-generic/errno.h"
- "include/generic-musl/asm-generic/fcntl.h"
- "include/generic-musl/asm-generic/hugetlb_encode.h"
- "include/generic-musl/asm-generic/int-l64.h"
- "include/generic-musl/asm-generic/int-ll64.h"
- "include/generic-musl/asm-generic/ioctl.h"
- "include/generic-musl/asm-generic/ioctls.h"
- "include/generic-musl/asm-generic/ipcbuf.h"
- "include/generic-musl/asm-generic/kvm_para.h"
- "include/generic-musl/asm-generic/mman-common.h"
- "include/generic-musl/asm-generic/mman.h"
- "include/generic-musl/asm-generic/msgbuf.h"
- "include/generic-musl/asm-generic/param.h"
- "include/generic-musl/asm-generic/poll.h"
- "include/generic-musl/asm-generic/posix_types.h"
- "include/generic-musl/asm-generic/resource.h"
- "include/generic-musl/asm-generic/sembuf.h"
- "include/generic-musl/asm-generic/setup.h"
- "include/generic-musl/asm-generic/shmbuf.h"
- "include/generic-musl/asm-generic/shmparam.h"
- "include/generic-musl/asm-generic/siginfo.h"
- "include/generic-musl/asm-generic/signal-defs.h"
- "include/generic-musl/asm-generic/signal.h"
- "include/generic-musl/asm-generic/socket.h"
- "include/generic-musl/asm-generic/sockios.h"
- "include/generic-musl/asm-generic/stat.h"
- "include/generic-musl/asm-generic/statfs.h"
- "include/generic-musl/asm-generic/swab.h"
- "include/generic-musl/asm-generic/termbits.h"
- "include/generic-musl/asm-generic/termios.h"
- "include/generic-musl/asm-generic/types.h"
- "include/generic-musl/asm-generic/ucontext.h"
- "include/generic-musl/asm-generic/unistd.h"
- "include/generic-musl/asm/a.out.h"
- "include/generic-musl/asm/auxvec.h"
- "include/generic-musl/asm/bitfield.h"
- "include/generic-musl/asm/bitsperlong.h"
- "include/generic-musl/asm/boot.h"
- "include/generic-musl/asm/bootparam.h"
- "include/generic-musl/asm/bootx.h"
- "include/generic-musl/asm/bpf_perf_event.h"
- "include/generic-musl/asm/break.h"
- "include/generic-musl/asm/byteorder.h"
- "include/generic-musl/asm/cachectl.h"
- "include/generic-musl/asm/cputable.h"
- "include/generic-musl/asm/debugreg.h"
- "include/generic-musl/asm/e820.h"
- "include/generic-musl/asm/eeh.h"
- "include/generic-musl/asm/elf.h"
- "include/generic-musl/asm/epapr_hcalls.h"
- "include/generic-musl/asm/errno.h"
- "include/generic-musl/asm/fcntl.h"
- "include/generic-musl/asm/hw_breakpoint.h"
- "include/generic-musl/asm/hwcap.h"
- "include/generic-musl/asm/hwcap2.h"
- "include/generic-musl/asm/inst.h"
- "include/generic-musl/asm/ioctl.h"
- "include/generic-musl/asm/ioctls.h"
- "include/generic-musl/asm/ipcbuf.h"
- "include/generic-musl/asm/ist.h"
- "include/generic-musl/asm/kvm.h"
- "include/generic-musl/asm/kvm_para.h"
- "include/generic-musl/asm/kvm_perf.h"
- "include/generic-musl/asm/ldt.h"
- "include/generic-musl/asm/mce.h"
- "include/generic-musl/asm/mman.h"
- "include/generic-musl/asm/msgbuf.h"
- "include/generic-musl/asm/msr.h"
- "include/generic-musl/asm/mtrr.h"
- "include/generic-musl/asm/nvram.h"
- "include/generic-musl/asm/opal-prd.h"
- "include/generic-musl/asm/param.h"
- "include/generic-musl/asm/perf_event.h"
- "include/generic-musl/asm/perf_regs.h"
- "include/generic-musl/asm/poll.h"
- "include/generic-musl/asm/posix_types.h"
- "include/generic-musl/asm/posix_types_32.h"
- "include/generic-musl/asm/posix_types_64.h"
- "include/generic-musl/asm/posix_types_x32.h"
- "include/generic-musl/asm/prctl.h"
- "include/generic-musl/asm/processor-flags.h"
- "include/generic-musl/asm/ps3fb.h"
- "include/generic-musl/asm/ptrace-abi.h"
- "include/generic-musl/asm/ptrace.h"
- "include/generic-musl/asm/reg.h"
- "include/generic-musl/asm/resource.h"
- "include/generic-musl/asm/sembuf.h"
- "include/generic-musl/asm/setup.h"
- "include/generic-musl/asm/sgidefs.h"
- "include/generic-musl/asm/shmbuf.h"
- "include/generic-musl/asm/sigcontext.h"
- "include/generic-musl/asm/sigcontext32.h"
- "include/generic-musl/asm/siginfo.h"
- "include/generic-musl/asm/signal.h"
- "include/generic-musl/asm/socket.h"
- "include/generic-musl/asm/sockios.h"
- "include/generic-musl/asm/spu_info.h"
- "include/generic-musl/asm/stat.h"
- "include/generic-musl/asm/statfs.h"
- "include/generic-musl/asm/svm.h"
- "include/generic-musl/asm/swab.h"
- "include/generic-musl/asm/syscalls.h"
- "include/generic-musl/asm/sysmips.h"
- "include/generic-musl/asm/termbits.h"
- "include/generic-musl/asm/termios.h"
- "include/generic-musl/asm/tm.h"
- "include/generic-musl/asm/types.h"
- "include/generic-musl/asm/ucontext.h"
- "include/generic-musl/asm/unistd-common.h"
- "include/generic-musl/asm/unistd-eabi.h"
- "include/generic-musl/asm/unistd-oabi.h"
- "include/generic-musl/asm/unistd.h"
- "include/generic-musl/asm/unistd_32.h"
- "include/generic-musl/asm/unistd_64.h"
- "include/generic-musl/asm/unistd_x32.h"
- "include/generic-musl/asm/vm86.h"
- "include/generic-musl/asm/vmx.h"
- "include/generic-musl/asm/vsyscall.h"
"include/generic-musl/assert.h"
"include/generic-musl/bfd.h"
"include/generic-musl/bfdlink.h"
@@ -3944,702 +4615,6 @@ set(ZIG_LIBC_FILES
"include/generic-musl/libintl.h"
"include/generic-musl/limits.h"
"include/generic-musl/link.h"
- "include/generic-musl/linux/a.out.h"
- "include/generic-musl/linux/acct.h"
- "include/generic-musl/linux/adb.h"
- "include/generic-musl/linux/adfs_fs.h"
- "include/generic-musl/linux/affs_hardblocks.h"
- "include/generic-musl/linux/agpgart.h"
- "include/generic-musl/linux/aio_abi.h"
- "include/generic-musl/linux/am437x-vpfe.h"
- "include/generic-musl/linux/android/binder.h"
- "include/generic-musl/linux/apm_bios.h"
- "include/generic-musl/linux/arcfb.h"
- "include/generic-musl/linux/arm_sdei.h"
- "include/generic-musl/linux/aspeed-lpc-ctrl.h"
- "include/generic-musl/linux/atalk.h"
- "include/generic-musl/linux/atm.h"
- "include/generic-musl/linux/atm_eni.h"
- "include/generic-musl/linux/atm_he.h"
- "include/generic-musl/linux/atm_idt77105.h"
- "include/generic-musl/linux/atm_nicstar.h"
- "include/generic-musl/linux/atm_tcp.h"
- "include/generic-musl/linux/atm_zatm.h"
- "include/generic-musl/linux/atmapi.h"
- "include/generic-musl/linux/atmarp.h"
- "include/generic-musl/linux/atmbr2684.h"
- "include/generic-musl/linux/atmclip.h"
- "include/generic-musl/linux/atmdev.h"
- "include/generic-musl/linux/atmioc.h"
- "include/generic-musl/linux/atmlec.h"
- "include/generic-musl/linux/atmmpc.h"
- "include/generic-musl/linux/atmppp.h"
- "include/generic-musl/linux/atmsap.h"
- "include/generic-musl/linux/atmsvc.h"
- "include/generic-musl/linux/audit.h"
- "include/generic-musl/linux/auto_dev-ioctl.h"
- "include/generic-musl/linux/auto_fs.h"
- "include/generic-musl/linux/auto_fs4.h"
- "include/generic-musl/linux/auxvec.h"
- "include/generic-musl/linux/ax25.h"
- "include/generic-musl/linux/b1lli.h"
- "include/generic-musl/linux/batadv_packet.h"
- "include/generic-musl/linux/batman_adv.h"
- "include/generic-musl/linux/baycom.h"
- "include/generic-musl/linux/bcache.h"
- "include/generic-musl/linux/bcm933xx_hcs.h"
- "include/generic-musl/linux/bfs_fs.h"
- "include/generic-musl/linux/binfmts.h"
- "include/generic-musl/linux/blkpg.h"
- "include/generic-musl/linux/blktrace_api.h"
- "include/generic-musl/linux/blkzoned.h"
- "include/generic-musl/linux/bpf.h"
- "include/generic-musl/linux/bpf_common.h"
- "include/generic-musl/linux/bpf_perf_event.h"
- "include/generic-musl/linux/bpfilter.h"
- "include/generic-musl/linux/bpqether.h"
- "include/generic-musl/linux/bsg.h"
- "include/generic-musl/linux/bt-bmc.h"
- "include/generic-musl/linux/btf.h"
- "include/generic-musl/linux/btrfs.h"
- "include/generic-musl/linux/btrfs_tree.h"
- "include/generic-musl/linux/byteorder/big_endian.h"
- "include/generic-musl/linux/byteorder/little_endian.h"
- "include/generic-musl/linux/caif/caif_socket.h"
- "include/generic-musl/linux/caif/if_caif.h"
- "include/generic-musl/linux/can.h"
- "include/generic-musl/linux/can/bcm.h"
- "include/generic-musl/linux/can/error.h"
- "include/generic-musl/linux/can/gw.h"
- "include/generic-musl/linux/can/netlink.h"
- "include/generic-musl/linux/can/raw.h"
- "include/generic-musl/linux/can/vxcan.h"
- "include/generic-musl/linux/capability.h"
- "include/generic-musl/linux/capi.h"
- "include/generic-musl/linux/cciss_defs.h"
- "include/generic-musl/linux/cciss_ioctl.h"
- "include/generic-musl/linux/cdrom.h"
- "include/generic-musl/linux/cec-funcs.h"
- "include/generic-musl/linux/cec.h"
- "include/generic-musl/linux/cgroupstats.h"
- "include/generic-musl/linux/chio.h"
- "include/generic-musl/linux/cifs/cifs_mount.h"
- "include/generic-musl/linux/cm4000_cs.h"
- "include/generic-musl/linux/cn_proc.h"
- "include/generic-musl/linux/coda.h"
- "include/generic-musl/linux/coda_psdev.h"
- "include/generic-musl/linux/coff.h"
- "include/generic-musl/linux/connector.h"
- "include/generic-musl/linux/const.h"
- "include/generic-musl/linux/coresight-stm.h"
- "include/generic-musl/linux/cramfs_fs.h"
- "include/generic-musl/linux/cryptouser.h"
- "include/generic-musl/linux/cuda.h"
- "include/generic-musl/linux/cyclades.h"
- "include/generic-musl/linux/cycx_cfm.h"
- "include/generic-musl/linux/dcbnl.h"
- "include/generic-musl/linux/dccp.h"
- "include/generic-musl/linux/devlink.h"
- "include/generic-musl/linux/dlm.h"
- "include/generic-musl/linux/dlm_device.h"
- "include/generic-musl/linux/dlm_netlink.h"
- "include/generic-musl/linux/dlm_plock.h"
- "include/generic-musl/linux/dlmconstants.h"
- "include/generic-musl/linux/dm-ioctl.h"
- "include/generic-musl/linux/dm-log-userspace.h"
- "include/generic-musl/linux/dma-buf.h"
- "include/generic-musl/linux/dn.h"
- "include/generic-musl/linux/dqblk_xfs.h"
- "include/generic-musl/linux/dvb/audio.h"
- "include/generic-musl/linux/dvb/ca.h"
- "include/generic-musl/linux/dvb/dmx.h"
- "include/generic-musl/linux/dvb/frontend.h"
- "include/generic-musl/linux/dvb/net.h"
- "include/generic-musl/linux/dvb/osd.h"
- "include/generic-musl/linux/dvb/version.h"
- "include/generic-musl/linux/dvb/video.h"
- "include/generic-musl/linux/edd.h"
- "include/generic-musl/linux/efs_fs_sb.h"
- "include/generic-musl/linux/elf-em.h"
- "include/generic-musl/linux/elf-fdpic.h"
- "include/generic-musl/linux/elf.h"
- "include/generic-musl/linux/elfcore.h"
- "include/generic-musl/linux/errno.h"
- "include/generic-musl/linux/errqueue.h"
- "include/generic-musl/linux/erspan.h"
- "include/generic-musl/linux/ethtool.h"
- "include/generic-musl/linux/eventpoll.h"
- "include/generic-musl/linux/fadvise.h"
- "include/generic-musl/linux/falloc.h"
- "include/generic-musl/linux/fanotify.h"
- "include/generic-musl/linux/fb.h"
- "include/generic-musl/linux/fcntl.h"
- "include/generic-musl/linux/fd.h"
- "include/generic-musl/linux/fdreg.h"
- "include/generic-musl/linux/fib_rules.h"
- "include/generic-musl/linux/fiemap.h"
- "include/generic-musl/linux/filter.h"
- "include/generic-musl/linux/firewire-cdev.h"
- "include/generic-musl/linux/firewire-constants.h"
- "include/generic-musl/linux/flat.h"
- "include/generic-musl/linux/fou.h"
- "include/generic-musl/linux/fpga-dfl.h"
- "include/generic-musl/linux/fs.h"
- "include/generic-musl/linux/fsi.h"
- "include/generic-musl/linux/fsl_hypervisor.h"
- "include/generic-musl/linux/fsmap.h"
- "include/generic-musl/linux/fuse.h"
- "include/generic-musl/linux/futex.h"
- "include/generic-musl/linux/gameport.h"
- "include/generic-musl/linux/gen_stats.h"
- "include/generic-musl/linux/genetlink.h"
- "include/generic-musl/linux/genwqe/genwqe_card.h"
- "include/generic-musl/linux/gfs2_ondisk.h"
- "include/generic-musl/linux/gigaset_dev.h"
- "include/generic-musl/linux/gpio.h"
- "include/generic-musl/linux/gsmmux.h"
- "include/generic-musl/linux/gtp.h"
- "include/generic-musl/linux/hash_info.h"
- "include/generic-musl/linux/hdlc.h"
- "include/generic-musl/linux/hdlc/ioctl.h"
- "include/generic-musl/linux/hdlcdrv.h"
- "include/generic-musl/linux/hdreg.h"
- "include/generic-musl/linux/hid.h"
- "include/generic-musl/linux/hiddev.h"
- "include/generic-musl/linux/hidraw.h"
- "include/generic-musl/linux/hpet.h"
- "include/generic-musl/linux/hsi/cs-protocol.h"
- "include/generic-musl/linux/hsi/hsi_char.h"
- "include/generic-musl/linux/hsr_netlink.h"
- "include/generic-musl/linux/hw_breakpoint.h"
- "include/generic-musl/linux/hyperv.h"
- "include/generic-musl/linux/hysdn_if.h"
- "include/generic-musl/linux/i2c-dev.h"
- "include/generic-musl/linux/i2c.h"
- "include/generic-musl/linux/i2o-dev.h"
- "include/generic-musl/linux/i8k.h"
- "include/generic-musl/linux/icmp.h"
- "include/generic-musl/linux/icmpv6.h"
- "include/generic-musl/linux/if.h"
- "include/generic-musl/linux/if_addr.h"
- "include/generic-musl/linux/if_addrlabel.h"
- "include/generic-musl/linux/if_alg.h"
- "include/generic-musl/linux/if_arcnet.h"
- "include/generic-musl/linux/if_arp.h"
- "include/generic-musl/linux/if_bonding.h"
- "include/generic-musl/linux/if_bridge.h"
- "include/generic-musl/linux/if_cablemodem.h"
- "include/generic-musl/linux/if_eql.h"
- "include/generic-musl/linux/if_ether.h"
- "include/generic-musl/linux/if_fc.h"
- "include/generic-musl/linux/if_fddi.h"
- "include/generic-musl/linux/if_frad.h"
- "include/generic-musl/linux/if_hippi.h"
- "include/generic-musl/linux/if_infiniband.h"
- "include/generic-musl/linux/if_link.h"
- "include/generic-musl/linux/if_ltalk.h"
- "include/generic-musl/linux/if_macsec.h"
- "include/generic-musl/linux/if_packet.h"
- "include/generic-musl/linux/if_phonet.h"
- "include/generic-musl/linux/if_plip.h"
- "include/generic-musl/linux/if_ppp.h"
- "include/generic-musl/linux/if_pppol2tp.h"
- "include/generic-musl/linux/if_pppox.h"
- "include/generic-musl/linux/if_slip.h"
- "include/generic-musl/linux/if_team.h"
- "include/generic-musl/linux/if_tun.h"
- "include/generic-musl/linux/if_tunnel.h"
- "include/generic-musl/linux/if_vlan.h"
- "include/generic-musl/linux/if_x25.h"
- "include/generic-musl/linux/if_xdp.h"
- "include/generic-musl/linux/ife.h"
- "include/generic-musl/linux/igmp.h"
- "include/generic-musl/linux/iio/events.h"
- "include/generic-musl/linux/iio/types.h"
- "include/generic-musl/linux/ila.h"
- "include/generic-musl/linux/in.h"
- "include/generic-musl/linux/in6.h"
- "include/generic-musl/linux/in_route.h"
- "include/generic-musl/linux/inet_diag.h"
- "include/generic-musl/linux/inotify.h"
- "include/generic-musl/linux/input-event-codes.h"
- "include/generic-musl/linux/input.h"
- "include/generic-musl/linux/ioctl.h"
- "include/generic-musl/linux/ip.h"
- "include/generic-musl/linux/ip6_tunnel.h"
- "include/generic-musl/linux/ip_vs.h"
- "include/generic-musl/linux/ipc.h"
- "include/generic-musl/linux/ipmi.h"
- "include/generic-musl/linux/ipmi_bmc.h"
- "include/generic-musl/linux/ipmi_msgdefs.h"
- "include/generic-musl/linux/ipsec.h"
- "include/generic-musl/linux/ipv6.h"
- "include/generic-musl/linux/ipv6_route.h"
- "include/generic-musl/linux/ipx.h"
- "include/generic-musl/linux/irqnr.h"
- "include/generic-musl/linux/isdn.h"
- "include/generic-musl/linux/isdn/capicmd.h"
- "include/generic-musl/linux/isdn_divertif.h"
- "include/generic-musl/linux/isdn_ppp.h"
- "include/generic-musl/linux/isdnif.h"
- "include/generic-musl/linux/iso_fs.h"
- "include/generic-musl/linux/ivtv.h"
- "include/generic-musl/linux/ivtvfb.h"
- "include/generic-musl/linux/jffs2.h"
- "include/generic-musl/linux/joystick.h"
- "include/generic-musl/linux/kcm.h"
- "include/generic-musl/linux/kcmp.h"
- "include/generic-musl/linux/kcov.h"
- "include/generic-musl/linux/kd.h"
- "include/generic-musl/linux/kdev_t.h"
- "include/generic-musl/linux/kernel-page-flags.h"
- "include/generic-musl/linux/kernel.h"
- "include/generic-musl/linux/kernelcapi.h"
- "include/generic-musl/linux/kexec.h"
- "include/generic-musl/linux/keyboard.h"
- "include/generic-musl/linux/keyctl.h"
- "include/generic-musl/linux/kfd_ioctl.h"
- "include/generic-musl/linux/kvm.h"
- "include/generic-musl/linux/kvm_para.h"
- "include/generic-musl/linux/l2tp.h"
- "include/generic-musl/linux/libc-compat.h"
- "include/generic-musl/linux/lightnvm.h"
- "include/generic-musl/linux/limits.h"
- "include/generic-musl/linux/lirc.h"
- "include/generic-musl/linux/llc.h"
- "include/generic-musl/linux/loop.h"
- "include/generic-musl/linux/lp.h"
- "include/generic-musl/linux/lwtunnel.h"
- "include/generic-musl/linux/magic.h"
- "include/generic-musl/linux/major.h"
- "include/generic-musl/linux/map_to_7segment.h"
- "include/generic-musl/linux/matroxfb.h"
- "include/generic-musl/linux/max2175.h"
- "include/generic-musl/linux/mdio.h"
- "include/generic-musl/linux/media-bus-format.h"
- "include/generic-musl/linux/media.h"
- "include/generic-musl/linux/mei.h"
- "include/generic-musl/linux/membarrier.h"
- "include/generic-musl/linux/memfd.h"
- "include/generic-musl/linux/mempolicy.h"
- "include/generic-musl/linux/meye.h"
- "include/generic-musl/linux/mic_common.h"
- "include/generic-musl/linux/mic_ioctl.h"
- "include/generic-musl/linux/mii.h"
- "include/generic-musl/linux/minix_fs.h"
- "include/generic-musl/linux/mman.h"
- "include/generic-musl/linux/mmc/ioctl.h"
- "include/generic-musl/linux/mmtimer.h"
- "include/generic-musl/linux/module.h"
- "include/generic-musl/linux/mpls.h"
- "include/generic-musl/linux/mpls_iptunnel.h"
- "include/generic-musl/linux/mqueue.h"
- "include/generic-musl/linux/mroute.h"
- "include/generic-musl/linux/mroute6.h"
- "include/generic-musl/linux/msdos_fs.h"
- "include/generic-musl/linux/msg.h"
- "include/generic-musl/linux/mtio.h"
- "include/generic-musl/linux/n_r3964.h"
- "include/generic-musl/linux/nbd-netlink.h"
- "include/generic-musl/linux/nbd.h"
- "include/generic-musl/linux/ncsi.h"
- "include/generic-musl/linux/ndctl.h"
- "include/generic-musl/linux/neighbour.h"
- "include/generic-musl/linux/net.h"
- "include/generic-musl/linux/net_dropmon.h"
- "include/generic-musl/linux/net_namespace.h"
- "include/generic-musl/linux/net_tstamp.h"
- "include/generic-musl/linux/netconf.h"
- "include/generic-musl/linux/netdevice.h"
- "include/generic-musl/linux/netfilter.h"
- "include/generic-musl/linux/netfilter/ipset/ip_set.h"
- "include/generic-musl/linux/netfilter/ipset/ip_set_bitmap.h"
- "include/generic-musl/linux/netfilter/ipset/ip_set_hash.h"
- "include/generic-musl/linux/netfilter/ipset/ip_set_list.h"
- "include/generic-musl/linux/netfilter/nf_conntrack_common.h"
- "include/generic-musl/linux/netfilter/nf_conntrack_ftp.h"
- "include/generic-musl/linux/netfilter/nf_conntrack_sctp.h"
- "include/generic-musl/linux/netfilter/nf_conntrack_tcp.h"
- "include/generic-musl/linux/netfilter/nf_conntrack_tuple_common.h"
- "include/generic-musl/linux/netfilter/nf_log.h"
- "include/generic-musl/linux/netfilter/nf_nat.h"
- "include/generic-musl/linux/netfilter/nf_tables.h"
- "include/generic-musl/linux/netfilter/nf_tables_compat.h"
- "include/generic-musl/linux/netfilter/nfnetlink.h"
- "include/generic-musl/linux/netfilter/nfnetlink_acct.h"
- "include/generic-musl/linux/netfilter/nfnetlink_compat.h"
- "include/generic-musl/linux/netfilter/nfnetlink_conntrack.h"
- "include/generic-musl/linux/netfilter/nfnetlink_cthelper.h"
- "include/generic-musl/linux/netfilter/nfnetlink_cttimeout.h"
- "include/generic-musl/linux/netfilter/nfnetlink_log.h"
- "include/generic-musl/linux/netfilter/nfnetlink_osf.h"
- "include/generic-musl/linux/netfilter/nfnetlink_queue.h"
- "include/generic-musl/linux/netfilter/x_tables.h"
- "include/generic-musl/linux/netfilter/xt_AUDIT.h"
- "include/generic-musl/linux/netfilter/xt_CHECKSUM.h"
- "include/generic-musl/linux/netfilter/xt_CLASSIFY.h"
- "include/generic-musl/linux/netfilter/xt_CONNSECMARK.h"
- "include/generic-musl/linux/netfilter/xt_CT.h"
- "include/generic-musl/linux/netfilter/xt_HMARK.h"
- "include/generic-musl/linux/netfilter/xt_IDLETIMER.h"
- "include/generic-musl/linux/netfilter/xt_LED.h"
- "include/generic-musl/linux/netfilter/xt_LOG.h"
- "include/generic-musl/linux/netfilter/xt_NFLOG.h"
- "include/generic-musl/linux/netfilter/xt_NFQUEUE.h"
- "include/generic-musl/linux/netfilter/xt_SECMARK.h"
- "include/generic-musl/linux/netfilter/xt_SYNPROXY.h"
- "include/generic-musl/linux/netfilter/xt_TCPOPTSTRIP.h"
- "include/generic-musl/linux/netfilter/xt_TEE.h"
- "include/generic-musl/linux/netfilter/xt_TPROXY.h"
- "include/generic-musl/linux/netfilter/xt_addrtype.h"
- "include/generic-musl/linux/netfilter/xt_bpf.h"
- "include/generic-musl/linux/netfilter/xt_cgroup.h"
- "include/generic-musl/linux/netfilter/xt_cluster.h"
- "include/generic-musl/linux/netfilter/xt_comment.h"
- "include/generic-musl/linux/netfilter/xt_connbytes.h"
- "include/generic-musl/linux/netfilter/xt_connlabel.h"
- "include/generic-musl/linux/netfilter/xt_connlimit.h"
- "include/generic-musl/linux/netfilter/xt_connmark.h"
- "include/generic-musl/linux/netfilter/xt_conntrack.h"
- "include/generic-musl/linux/netfilter/xt_cpu.h"
- "include/generic-musl/linux/netfilter/xt_dccp.h"
- "include/generic-musl/linux/netfilter/xt_devgroup.h"
- "include/generic-musl/linux/netfilter/xt_dscp.h"
- "include/generic-musl/linux/netfilter/xt_ecn.h"
- "include/generic-musl/linux/netfilter/xt_esp.h"
- "include/generic-musl/linux/netfilter/xt_hashlimit.h"
- "include/generic-musl/linux/netfilter/xt_helper.h"
- "include/generic-musl/linux/netfilter/xt_ipcomp.h"
- "include/generic-musl/linux/netfilter/xt_iprange.h"
- "include/generic-musl/linux/netfilter/xt_ipvs.h"
- "include/generic-musl/linux/netfilter/xt_l2tp.h"
- "include/generic-musl/linux/netfilter/xt_length.h"
- "include/generic-musl/linux/netfilter/xt_limit.h"
- "include/generic-musl/linux/netfilter/xt_mac.h"
- "include/generic-musl/linux/netfilter/xt_mark.h"
- "include/generic-musl/linux/netfilter/xt_multiport.h"
- "include/generic-musl/linux/netfilter/xt_nfacct.h"
- "include/generic-musl/linux/netfilter/xt_osf.h"
- "include/generic-musl/linux/netfilter/xt_owner.h"
- "include/generic-musl/linux/netfilter/xt_physdev.h"
- "include/generic-musl/linux/netfilter/xt_pkttype.h"
- "include/generic-musl/linux/netfilter/xt_policy.h"
- "include/generic-musl/linux/netfilter/xt_quota.h"
- "include/generic-musl/linux/netfilter/xt_rateest.h"
- "include/generic-musl/linux/netfilter/xt_realm.h"
- "include/generic-musl/linux/netfilter/xt_recent.h"
- "include/generic-musl/linux/netfilter/xt_rpfilter.h"
- "include/generic-musl/linux/netfilter/xt_sctp.h"
- "include/generic-musl/linux/netfilter/xt_set.h"
- "include/generic-musl/linux/netfilter/xt_socket.h"
- "include/generic-musl/linux/netfilter/xt_state.h"
- "include/generic-musl/linux/netfilter/xt_statistic.h"
- "include/generic-musl/linux/netfilter/xt_string.h"
- "include/generic-musl/linux/netfilter/xt_tcpmss.h"
- "include/generic-musl/linux/netfilter/xt_tcpudp.h"
- "include/generic-musl/linux/netfilter/xt_time.h"
- "include/generic-musl/linux/netfilter/xt_u32.h"
- "include/generic-musl/linux/netfilter_arp.h"
- "include/generic-musl/linux/netfilter_arp/arp_tables.h"
- "include/generic-musl/linux/netfilter_arp/arpt_mangle.h"
- "include/generic-musl/linux/netfilter_bridge.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_802_3.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_among.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_arp.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_arpreply.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_ip.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_ip6.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_limit.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_log.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_mark_m.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_mark_t.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_nat.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_nflog.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_pkttype.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_redirect.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_stp.h"
- "include/generic-musl/linux/netfilter_bridge/ebt_vlan.h"
- "include/generic-musl/linux/netfilter_bridge/ebtables.h"
- "include/generic-musl/linux/netfilter_decnet.h"
- "include/generic-musl/linux/netfilter_ipv4.h"
- "include/generic-musl/linux/netfilter_ipv4/ip_tables.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_CLUSTERIP.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_LOG.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_REJECT.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_ah.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_ecn.h"
- "include/generic-musl/linux/netfilter_ipv4/ipt_ttl.h"
- "include/generic-musl/linux/netfilter_ipv6.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6_tables.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_LOG.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_NPT.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_REJECT.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_ah.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_frag.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_hl.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_ipv6header.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_mh.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_opts.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_rt.h"
- "include/generic-musl/linux/netfilter_ipv6/ip6t_srh.h"
- "include/generic-musl/linux/netlink.h"
- "include/generic-musl/linux/netlink_diag.h"
- "include/generic-musl/linux/netrom.h"
- "include/generic-musl/linux/nfc.h"
- "include/generic-musl/linux/nfs.h"
- "include/generic-musl/linux/nfs2.h"
- "include/generic-musl/linux/nfs3.h"
- "include/generic-musl/linux/nfs4.h"
- "include/generic-musl/linux/nfs4_mount.h"
- "include/generic-musl/linux/nfs_fs.h"
- "include/generic-musl/linux/nfs_idmap.h"
- "include/generic-musl/linux/nfs_mount.h"
- "include/generic-musl/linux/nfsacl.h"
- "include/generic-musl/linux/nfsd/cld.h"
- "include/generic-musl/linux/nfsd/debug.h"
- "include/generic-musl/linux/nfsd/export.h"
- "include/generic-musl/linux/nfsd/nfsfh.h"
- "include/generic-musl/linux/nfsd/stats.h"
- "include/generic-musl/linux/nilfs2_api.h"
- "include/generic-musl/linux/nilfs2_ondisk.h"
- "include/generic-musl/linux/nl80211.h"
- "include/generic-musl/linux/nsfs.h"
- "include/generic-musl/linux/nubus.h"
- "include/generic-musl/linux/nvme_ioctl.h"
- "include/generic-musl/linux/nvram.h"
- "include/generic-musl/linux/omap3isp.h"
- "include/generic-musl/linux/omapfb.h"
- "include/generic-musl/linux/oom.h"
- "include/generic-musl/linux/openvswitch.h"
- "include/generic-musl/linux/packet_diag.h"
- "include/generic-musl/linux/param.h"
- "include/generic-musl/linux/parport.h"
- "include/generic-musl/linux/patchkey.h"
- "include/generic-musl/linux/pci.h"
- "include/generic-musl/linux/pci_regs.h"
- "include/generic-musl/linux/pcitest.h"
- "include/generic-musl/linux/perf_event.h"
- "include/generic-musl/linux/personality.h"
- "include/generic-musl/linux/pfkeyv2.h"
- "include/generic-musl/linux/pg.h"
- "include/generic-musl/linux/phantom.h"
- "include/generic-musl/linux/phonet.h"
- "include/generic-musl/linux/pkt_cls.h"
- "include/generic-musl/linux/pkt_sched.h"
- "include/generic-musl/linux/pktcdvd.h"
- "include/generic-musl/linux/pmu.h"
- "include/generic-musl/linux/poll.h"
- "include/generic-musl/linux/posix_acl.h"
- "include/generic-musl/linux/posix_acl_xattr.h"
- "include/generic-musl/linux/posix_types.h"
- "include/generic-musl/linux/ppdev.h"
- "include/generic-musl/linux/ppp-comp.h"
- "include/generic-musl/linux/ppp-ioctl.h"
- "include/generic-musl/linux/ppp_defs.h"
- "include/generic-musl/linux/pps.h"
- "include/generic-musl/linux/pr.h"
- "include/generic-musl/linux/prctl.h"
- "include/generic-musl/linux/psample.h"
- "include/generic-musl/linux/psci.h"
- "include/generic-musl/linux/psp-sev.h"
- "include/generic-musl/linux/ptp_clock.h"
- "include/generic-musl/linux/ptrace.h"
- "include/generic-musl/linux/qemu_fw_cfg.h"
- "include/generic-musl/linux/qnx4_fs.h"
- "include/generic-musl/linux/qnxtypes.h"
- "include/generic-musl/linux/qrtr.h"
- "include/generic-musl/linux/quota.h"
- "include/generic-musl/linux/radeonfb.h"
- "include/generic-musl/linux/raid/md_p.h"
- "include/generic-musl/linux/raid/md_u.h"
- "include/generic-musl/linux/random.h"
- "include/generic-musl/linux/raw.h"
- "include/generic-musl/linux/rds.h"
- "include/generic-musl/linux/reboot.h"
- "include/generic-musl/linux/reiserfs_fs.h"
- "include/generic-musl/linux/reiserfs_xattr.h"
- "include/generic-musl/linux/resource.h"
- "include/generic-musl/linux/rfkill.h"
- "include/generic-musl/linux/rio_cm_cdev.h"
- "include/generic-musl/linux/rio_mport_cdev.h"
- "include/generic-musl/linux/romfs_fs.h"
- "include/generic-musl/linux/rose.h"
- "include/generic-musl/linux/route.h"
- "include/generic-musl/linux/rpmsg.h"
- "include/generic-musl/linux/rseq.h"
- "include/generic-musl/linux/rtc.h"
- "include/generic-musl/linux/rtnetlink.h"
- "include/generic-musl/linux/rxrpc.h"
- "include/generic-musl/linux/scc.h"
- "include/generic-musl/linux/sched.h"
- "include/generic-musl/linux/sched/types.h"
- "include/generic-musl/linux/scif_ioctl.h"
- "include/generic-musl/linux/screen_info.h"
- "include/generic-musl/linux/sctp.h"
- "include/generic-musl/linux/sdla.h"
- "include/generic-musl/linux/seccomp.h"
- "include/generic-musl/linux/securebits.h"
- "include/generic-musl/linux/sed-opal.h"
- "include/generic-musl/linux/seg6.h"
- "include/generic-musl/linux/seg6_genl.h"
- "include/generic-musl/linux/seg6_hmac.h"
- "include/generic-musl/linux/seg6_iptunnel.h"
- "include/generic-musl/linux/seg6_local.h"
- "include/generic-musl/linux/selinux_netlink.h"
- "include/generic-musl/linux/sem.h"
- "include/generic-musl/linux/serial.h"
- "include/generic-musl/linux/serial_core.h"
- "include/generic-musl/linux/serial_reg.h"
- "include/generic-musl/linux/serio.h"
- "include/generic-musl/linux/shm.h"
- "include/generic-musl/linux/signal.h"
- "include/generic-musl/linux/signalfd.h"
- "include/generic-musl/linux/smc.h"
- "include/generic-musl/linux/smc_diag.h"
- "include/generic-musl/linux/smiapp.h"
- "include/generic-musl/linux/snmp.h"
- "include/generic-musl/linux/sock_diag.h"
- "include/generic-musl/linux/socket.h"
- "include/generic-musl/linux/sockios.h"
- "include/generic-musl/linux/sonet.h"
- "include/generic-musl/linux/sonypi.h"
- "include/generic-musl/linux/sound.h"
- "include/generic-musl/linux/soundcard.h"
- "include/generic-musl/linux/spi/spidev.h"
- "include/generic-musl/linux/stat.h"
- "include/generic-musl/linux/stddef.h"
- "include/generic-musl/linux/stm.h"
- "include/generic-musl/linux/string.h"
- "include/generic-musl/linux/sunrpc/debug.h"
- "include/generic-musl/linux/suspend_ioctls.h"
- "include/generic-musl/linux/swab.h"
- "include/generic-musl/linux/switchtec_ioctl.h"
- "include/generic-musl/linux/sync_file.h"
- "include/generic-musl/linux/synclink.h"
- "include/generic-musl/linux/sysctl.h"
- "include/generic-musl/linux/sysinfo.h"
- "include/generic-musl/linux/target_core_user.h"
- "include/generic-musl/linux/taskstats.h"
- "include/generic-musl/linux/tc_act/tc_bpf.h"
- "include/generic-musl/linux/tc_act/tc_connmark.h"
- "include/generic-musl/linux/tc_act/tc_csum.h"
- "include/generic-musl/linux/tc_act/tc_defact.h"
- "include/generic-musl/linux/tc_act/tc_gact.h"
- "include/generic-musl/linux/tc_act/tc_ife.h"
- "include/generic-musl/linux/tc_act/tc_ipt.h"
- "include/generic-musl/linux/tc_act/tc_mirred.h"
- "include/generic-musl/linux/tc_act/tc_nat.h"
- "include/generic-musl/linux/tc_act/tc_pedit.h"
- "include/generic-musl/linux/tc_act/tc_sample.h"
- "include/generic-musl/linux/tc_act/tc_skbedit.h"
- "include/generic-musl/linux/tc_act/tc_skbmod.h"
- "include/generic-musl/linux/tc_act/tc_tunnel_key.h"
- "include/generic-musl/linux/tc_act/tc_vlan.h"
- "include/generic-musl/linux/tc_ematch/tc_em_cmp.h"
- "include/generic-musl/linux/tc_ematch/tc_em_ipt.h"
- "include/generic-musl/linux/tc_ematch/tc_em_meta.h"
- "include/generic-musl/linux/tc_ematch/tc_em_nbyte.h"
- "include/generic-musl/linux/tc_ematch/tc_em_text.h"
- "include/generic-musl/linux/tcp.h"
- "include/generic-musl/linux/tcp_metrics.h"
- "include/generic-musl/linux/tee.h"
- "include/generic-musl/linux/termios.h"
- "include/generic-musl/linux/thermal.h"
- "include/generic-musl/linux/time.h"
- "include/generic-musl/linux/timerfd.h"
- "include/generic-musl/linux/times.h"
- "include/generic-musl/linux/timex.h"
- "include/generic-musl/linux/tiocl.h"
- "include/generic-musl/linux/tipc.h"
- "include/generic-musl/linux/tipc_config.h"
- "include/generic-musl/linux/tipc_netlink.h"
- "include/generic-musl/linux/tipc_sockets_diag.h"
- "include/generic-musl/linux/tls.h"
- "include/generic-musl/linux/toshiba.h"
- "include/generic-musl/linux/tty.h"
- "include/generic-musl/linux/tty_flags.h"
- "include/generic-musl/linux/types.h"
- "include/generic-musl/linux/udf_fs_i.h"
- "include/generic-musl/linux/udp.h"
- "include/generic-musl/linux/uhid.h"
- "include/generic-musl/linux/uinput.h"
- "include/generic-musl/linux/uio.h"
- "include/generic-musl/linux/uleds.h"
- "include/generic-musl/linux/ultrasound.h"
- "include/generic-musl/linux/un.h"
- "include/generic-musl/linux/unistd.h"
- "include/generic-musl/linux/unix_diag.h"
- "include/generic-musl/linux/usb/audio.h"
- "include/generic-musl/linux/usb/cdc-wdm.h"
- "include/generic-musl/linux/usb/cdc.h"
- "include/generic-musl/linux/usb/ch11.h"
- "include/generic-musl/linux/usb/ch9.h"
- "include/generic-musl/linux/usb/charger.h"
- "include/generic-musl/linux/usb/functionfs.h"
- "include/generic-musl/linux/usb/g_printer.h"
- "include/generic-musl/linux/usb/g_uvc.h"
- "include/generic-musl/linux/usb/gadgetfs.h"
- "include/generic-musl/linux/usb/midi.h"
- "include/generic-musl/linux/usb/tmc.h"
- "include/generic-musl/linux/usb/video.h"
- "include/generic-musl/linux/usbdevice_fs.h"
- "include/generic-musl/linux/usbip.h"
- "include/generic-musl/linux/userfaultfd.h"
- "include/generic-musl/linux/userio.h"
- "include/generic-musl/linux/utime.h"
- "include/generic-musl/linux/utsname.h"
- "include/generic-musl/linux/uuid.h"
- "include/generic-musl/linux/uvcvideo.h"
- "include/generic-musl/linux/v4l2-common.h"
- "include/generic-musl/linux/v4l2-controls.h"
- "include/generic-musl/linux/v4l2-dv-timings.h"
- "include/generic-musl/linux/v4l2-mediabus.h"
- "include/generic-musl/linux/v4l2-subdev.h"
- "include/generic-musl/linux/vbox_err.h"
- "include/generic-musl/linux/vbox_vmmdev_types.h"
- "include/generic-musl/linux/vboxguest.h"
- "include/generic-musl/linux/version.h"
- "include/generic-musl/linux/veth.h"
- "include/generic-musl/linux/vfio.h"
- "include/generic-musl/linux/vfio_ccw.h"
- "include/generic-musl/linux/vhost.h"
- "include/generic-musl/linux/videodev2.h"
- "include/generic-musl/linux/virtio_9p.h"
- "include/generic-musl/linux/virtio_balloon.h"
- "include/generic-musl/linux/virtio_blk.h"
- "include/generic-musl/linux/virtio_config.h"
- "include/generic-musl/linux/virtio_console.h"
- "include/generic-musl/linux/virtio_crypto.h"
- "include/generic-musl/linux/virtio_gpu.h"
- "include/generic-musl/linux/virtio_ids.h"
- "include/generic-musl/linux/virtio_input.h"
- "include/generic-musl/linux/virtio_mmio.h"
- "include/generic-musl/linux/virtio_net.h"
- "include/generic-musl/linux/virtio_pci.h"
- "include/generic-musl/linux/virtio_ring.h"
- "include/generic-musl/linux/virtio_rng.h"
- "include/generic-musl/linux/virtio_scsi.h"
- "include/generic-musl/linux/virtio_types.h"
- "include/generic-musl/linux/virtio_vsock.h"
- "include/generic-musl/linux/vm_sockets.h"
- "include/generic-musl/linux/vm_sockets_diag.h"
- "include/generic-musl/linux/vmcore.h"
- "include/generic-musl/linux/vsockmon.h"
- "include/generic-musl/linux/vt.h"
- "include/generic-musl/linux/vtpm_proxy.h"
- "include/generic-musl/linux/wait.h"
- "include/generic-musl/linux/wanrouter.h"
- "include/generic-musl/linux/watchdog.h"
- "include/generic-musl/linux/wimax.h"
- "include/generic-musl/linux/wimax/i2400m.h"
- "include/generic-musl/linux/wireless.h"
- "include/generic-musl/linux/wmi.h"
- "include/generic-musl/linux/x25.h"
- "include/generic-musl/linux/xattr.h"
- "include/generic-musl/linux/xfrm.h"
- "include/generic-musl/linux/xilinx-v4l2-controls.h"
- "include/generic-musl/linux/zorro.h"
- "include/generic-musl/linux/zorro_ids.h"
"include/generic-musl/locale.h"
"include/generic-musl/malloc.h"
"include/generic-musl/math.h"
@@ -4848,7 +4823,28 @@ set(ZIG_LIBC_FILES
"include/generic-musl/xen/gntalloc.h"
"include/generic-musl/xen/gntdev.h"
"include/generic-musl/xen/privcmd.h"
- "include/i386-linux-gnu/asm/unistd.h"
+ "include/i386-linux-any/asm/auxvec.h"
+ "include/i386-linux-any/asm/bitsperlong.h"
+ "include/i386-linux-any/asm/byteorder.h"
+ "include/i386-linux-any/asm/kvm.h"
+ "include/i386-linux-any/asm/kvm_para.h"
+ "include/i386-linux-any/asm/mman.h"
+ "include/i386-linux-any/asm/msgbuf.h"
+ "include/i386-linux-any/asm/perf_regs.h"
+ "include/i386-linux-any/asm/posix_types.h"
+ "include/i386-linux-any/asm/ptrace.h"
+ "include/i386-linux-any/asm/sembuf.h"
+ "include/i386-linux-any/asm/setup.h"
+ "include/i386-linux-any/asm/shmbuf.h"
+ "include/i386-linux-any/asm/sigcontext.h"
+ "include/i386-linux-any/asm/siginfo.h"
+ "include/i386-linux-any/asm/signal.h"
+ "include/i386-linux-any/asm/stat.h"
+ "include/i386-linux-any/asm/statfs.h"
+ "include/i386-linux-any/asm/swab.h"
+ "include/i386-linux-any/asm/types.h"
+ "include/i386-linux-any/asm/ucontext.h"
+ "include/i386-linux-any/asm/unistd.h"
"include/i386-linux-gnu/bits/a.out.h"
"include/i386-linux-gnu/bits/endian.h"
"include/i386-linux-gnu/bits/environments.h"
@@ -4889,28 +4885,6 @@ set(ZIG_LIBC_FILES
"include/i386-linux-gnu/sys/ptrace.h"
"include/i386-linux-gnu/sys/ucontext.h"
"include/i386-linux-gnu/sys/user.h"
- "include/i386-linux-musl/asm/auxvec.h"
- "include/i386-linux-musl/asm/bitsperlong.h"
- "include/i386-linux-musl/asm/byteorder.h"
- "include/i386-linux-musl/asm/kvm.h"
- "include/i386-linux-musl/asm/kvm_para.h"
- "include/i386-linux-musl/asm/mman.h"
- "include/i386-linux-musl/asm/msgbuf.h"
- "include/i386-linux-musl/asm/perf_regs.h"
- "include/i386-linux-musl/asm/posix_types.h"
- "include/i386-linux-musl/asm/ptrace.h"
- "include/i386-linux-musl/asm/sembuf.h"
- "include/i386-linux-musl/asm/setup.h"
- "include/i386-linux-musl/asm/shmbuf.h"
- "include/i386-linux-musl/asm/sigcontext.h"
- "include/i386-linux-musl/asm/siginfo.h"
- "include/i386-linux-musl/asm/signal.h"
- "include/i386-linux-musl/asm/stat.h"
- "include/i386-linux-musl/asm/statfs.h"
- "include/i386-linux-musl/asm/swab.h"
- "include/i386-linux-musl/asm/types.h"
- "include/i386-linux-musl/asm/ucontext.h"
- "include/i386-linux-musl/asm/unistd.h"
"include/i386-linux-musl/bfd.h"
"include/i386-linux-musl/bfd_stdint.h"
"include/i386-linux-musl/bits/alltypes.h"
@@ -4930,8 +4904,38 @@ set(ZIG_LIBC_FILES
"include/i386-linux-musl/bits/stdint.h"
"include/i386-linux-musl/bits/syscall.h"
"include/i386-linux-musl/bits/user.h"
- "include/mips-linux-gnu/asm/sgidefs.h"
- "include/mips-linux-gnu/asm/unistd.h"
+ "include/mips-linux-any/asm/auxvec.h"
+ "include/mips-linux-any/asm/bitsperlong.h"
+ "include/mips-linux-any/asm/byteorder.h"
+ "include/mips-linux-any/asm/errno.h"
+ "include/mips-linux-any/asm/fcntl.h"
+ "include/mips-linux-any/asm/hwcap.h"
+ "include/mips-linux-any/asm/ioctl.h"
+ "include/mips-linux-any/asm/ioctls.h"
+ "include/mips-linux-any/asm/kvm.h"
+ "include/mips-linux-any/asm/kvm_para.h"
+ "include/mips-linux-any/asm/mman.h"
+ "include/mips-linux-any/asm/msgbuf.h"
+ "include/mips-linux-any/asm/param.h"
+ "include/mips-linux-any/asm/poll.h"
+ "include/mips-linux-any/asm/posix_types.h"
+ "include/mips-linux-any/asm/ptrace.h"
+ "include/mips-linux-any/asm/resource.h"
+ "include/mips-linux-any/asm/sembuf.h"
+ "include/mips-linux-any/asm/setup.h"
+ "include/mips-linux-any/asm/shmbuf.h"
+ "include/mips-linux-any/asm/sigcontext.h"
+ "include/mips-linux-any/asm/siginfo.h"
+ "include/mips-linux-any/asm/signal.h"
+ "include/mips-linux-any/asm/socket.h"
+ "include/mips-linux-any/asm/sockios.h"
+ "include/mips-linux-any/asm/stat.h"
+ "include/mips-linux-any/asm/statfs.h"
+ "include/mips-linux-any/asm/swab.h"
+ "include/mips-linux-any/asm/termbits.h"
+ "include/mips-linux-any/asm/termios.h"
+ "include/mips-linux-any/asm/types.h"
+ "include/mips-linux-any/asm/unistd.h"
"include/mips-linux-gnu/bits/dlfcn.h"
"include/mips-linux-gnu/bits/errno.h"
"include/mips-linux-gnu/bits/eventfd.h"
@@ -4961,38 +4965,6 @@ set(ZIG_LIBC_FILES
"include/mips-linux-gnu/bits/timerfd.h"
"include/mips-linux-gnu/bits/types/stack_t.h"
"include/mips-linux-gnu/ieee754.h"
- "include/mips-linux-musl/asm/auxvec.h"
- "include/mips-linux-musl/asm/bitsperlong.h"
- "include/mips-linux-musl/asm/byteorder.h"
- "include/mips-linux-musl/asm/errno.h"
- "include/mips-linux-musl/asm/fcntl.h"
- "include/mips-linux-musl/asm/hwcap.h"
- "include/mips-linux-musl/asm/ioctl.h"
- "include/mips-linux-musl/asm/ioctls.h"
- "include/mips-linux-musl/asm/kvm.h"
- "include/mips-linux-musl/asm/kvm_para.h"
- "include/mips-linux-musl/asm/mman.h"
- "include/mips-linux-musl/asm/msgbuf.h"
- "include/mips-linux-musl/asm/param.h"
- "include/mips-linux-musl/asm/poll.h"
- "include/mips-linux-musl/asm/posix_types.h"
- "include/mips-linux-musl/asm/ptrace.h"
- "include/mips-linux-musl/asm/resource.h"
- "include/mips-linux-musl/asm/sembuf.h"
- "include/mips-linux-musl/asm/setup.h"
- "include/mips-linux-musl/asm/shmbuf.h"
- "include/mips-linux-musl/asm/sigcontext.h"
- "include/mips-linux-musl/asm/siginfo.h"
- "include/mips-linux-musl/asm/signal.h"
- "include/mips-linux-musl/asm/socket.h"
- "include/mips-linux-musl/asm/sockios.h"
- "include/mips-linux-musl/asm/stat.h"
- "include/mips-linux-musl/asm/statfs.h"
- "include/mips-linux-musl/asm/swab.h"
- "include/mips-linux-musl/asm/termbits.h"
- "include/mips-linux-musl/asm/termios.h"
- "include/mips-linux-musl/asm/types.h"
- "include/mips-linux-musl/asm/unistd.h"
"include/mips-linux-musl/bfd.h"
"include/mips-linux-musl/bfd_stdint.h"
"include/mips-linux-musl/bits/alltypes.h"
@@ -5018,8 +4990,38 @@ set(ZIG_LIBC_FILES
"include/mips-linux-musl/bits/syscall.h"
"include/mips-linux-musl/bits/termios.h"
"include/mips-linux-musl/bits/user.h"
- "include/mips64-linux-gnuabi64/asm/sgidefs.h"
- "include/mips64-linux-gnuabi64/asm/unistd.h"
+ "include/mips64-linux-any/asm/auxvec.h"
+ "include/mips64-linux-any/asm/bitsperlong.h"
+ "include/mips64-linux-any/asm/byteorder.h"
+ "include/mips64-linux-any/asm/errno.h"
+ "include/mips64-linux-any/asm/fcntl.h"
+ "include/mips64-linux-any/asm/hwcap.h"
+ "include/mips64-linux-any/asm/ioctl.h"
+ "include/mips64-linux-any/asm/ioctls.h"
+ "include/mips64-linux-any/asm/kvm.h"
+ "include/mips64-linux-any/asm/kvm_para.h"
+ "include/mips64-linux-any/asm/mman.h"
+ "include/mips64-linux-any/asm/msgbuf.h"
+ "include/mips64-linux-any/asm/param.h"
+ "include/mips64-linux-any/asm/poll.h"
+ "include/mips64-linux-any/asm/posix_types.h"
+ "include/mips64-linux-any/asm/ptrace.h"
+ "include/mips64-linux-any/asm/resource.h"
+ "include/mips64-linux-any/asm/sembuf.h"
+ "include/mips64-linux-any/asm/setup.h"
+ "include/mips64-linux-any/asm/shmbuf.h"
+ "include/mips64-linux-any/asm/sigcontext.h"
+ "include/mips64-linux-any/asm/siginfo.h"
+ "include/mips64-linux-any/asm/signal.h"
+ "include/mips64-linux-any/asm/socket.h"
+ "include/mips64-linux-any/asm/sockios.h"
+ "include/mips64-linux-any/asm/stat.h"
+ "include/mips64-linux-any/asm/statfs.h"
+ "include/mips64-linux-any/asm/swab.h"
+ "include/mips64-linux-any/asm/termbits.h"
+ "include/mips64-linux-any/asm/termios.h"
+ "include/mips64-linux-any/asm/types.h"
+ "include/mips64-linux-any/asm/unistd.h"
"include/mips64-linux-gnuabi64/bits/dlfcn.h"
"include/mips64-linux-gnuabi64/bits/errno.h"
"include/mips64-linux-gnuabi64/bits/eventfd.h"
@@ -5049,8 +5051,6 @@ set(ZIG_LIBC_FILES
"include/mips64-linux-gnuabi64/bits/timerfd.h"
"include/mips64-linux-gnuabi64/bits/types/stack_t.h"
"include/mips64-linux-gnuabi64/ieee754.h"
- "include/mips64-linux-gnuabin32/asm/sgidefs.h"
- "include/mips64-linux-gnuabin32/asm/unistd.h"
"include/mips64-linux-gnuabin32/bits/dlfcn.h"
"include/mips64-linux-gnuabin32/bits/errno.h"
"include/mips64-linux-gnuabin32/bits/eventfd.h"
@@ -5080,38 +5080,6 @@ set(ZIG_LIBC_FILES
"include/mips64-linux-gnuabin32/bits/timerfd.h"
"include/mips64-linux-gnuabin32/bits/types/stack_t.h"
"include/mips64-linux-gnuabin32/ieee754.h"
- "include/mips64-linux-musl/asm/auxvec.h"
- "include/mips64-linux-musl/asm/bitsperlong.h"
- "include/mips64-linux-musl/asm/byteorder.h"
- "include/mips64-linux-musl/asm/errno.h"
- "include/mips64-linux-musl/asm/fcntl.h"
- "include/mips64-linux-musl/asm/hwcap.h"
- "include/mips64-linux-musl/asm/ioctl.h"
- "include/mips64-linux-musl/asm/ioctls.h"
- "include/mips64-linux-musl/asm/kvm.h"
- "include/mips64-linux-musl/asm/kvm_para.h"
- "include/mips64-linux-musl/asm/mman.h"
- "include/mips64-linux-musl/asm/msgbuf.h"
- "include/mips64-linux-musl/asm/param.h"
- "include/mips64-linux-musl/asm/poll.h"
- "include/mips64-linux-musl/asm/posix_types.h"
- "include/mips64-linux-musl/asm/ptrace.h"
- "include/mips64-linux-musl/asm/resource.h"
- "include/mips64-linux-musl/asm/sembuf.h"
- "include/mips64-linux-musl/asm/setup.h"
- "include/mips64-linux-musl/asm/shmbuf.h"
- "include/mips64-linux-musl/asm/sigcontext.h"
- "include/mips64-linux-musl/asm/siginfo.h"
- "include/mips64-linux-musl/asm/signal.h"
- "include/mips64-linux-musl/asm/socket.h"
- "include/mips64-linux-musl/asm/sockios.h"
- "include/mips64-linux-musl/asm/stat.h"
- "include/mips64-linux-musl/asm/statfs.h"
- "include/mips64-linux-musl/asm/swab.h"
- "include/mips64-linux-musl/asm/termbits.h"
- "include/mips64-linux-musl/asm/termios.h"
- "include/mips64-linux-musl/asm/types.h"
- "include/mips64-linux-musl/asm/unistd.h"
"include/mips64-linux-musl/bfd_stdint.h"
"include/mips64-linux-musl/bits/alltypes.h"
"include/mips64-linux-musl/bits/endian.h"
@@ -5138,8 +5106,38 @@ set(ZIG_LIBC_FILES
"include/mips64-linux-musl/bits/syscall.h"
"include/mips64-linux-musl/bits/termios.h"
"include/mips64-linux-musl/bits/user.h"
- "include/mips64el-linux-gnuabi64/asm/sgidefs.h"
- "include/mips64el-linux-gnuabi64/asm/unistd.h"
+ "include/mips64el-linux-any/asm/auxvec.h"
+ "include/mips64el-linux-any/asm/bitsperlong.h"
+ "include/mips64el-linux-any/asm/byteorder.h"
+ "include/mips64el-linux-any/asm/errno.h"
+ "include/mips64el-linux-any/asm/fcntl.h"
+ "include/mips64el-linux-any/asm/hwcap.h"
+ "include/mips64el-linux-any/asm/ioctl.h"
+ "include/mips64el-linux-any/asm/ioctls.h"
+ "include/mips64el-linux-any/asm/kvm.h"
+ "include/mips64el-linux-any/asm/kvm_para.h"
+ "include/mips64el-linux-any/asm/mman.h"
+ "include/mips64el-linux-any/asm/msgbuf.h"
+ "include/mips64el-linux-any/asm/param.h"
+ "include/mips64el-linux-any/asm/poll.h"
+ "include/mips64el-linux-any/asm/posix_types.h"
+ "include/mips64el-linux-any/asm/ptrace.h"
+ "include/mips64el-linux-any/asm/resource.h"
+ "include/mips64el-linux-any/asm/sembuf.h"
+ "include/mips64el-linux-any/asm/setup.h"
+ "include/mips64el-linux-any/asm/shmbuf.h"
+ "include/mips64el-linux-any/asm/sigcontext.h"
+ "include/mips64el-linux-any/asm/siginfo.h"
+ "include/mips64el-linux-any/asm/signal.h"
+ "include/mips64el-linux-any/asm/socket.h"
+ "include/mips64el-linux-any/asm/sockios.h"
+ "include/mips64el-linux-any/asm/stat.h"
+ "include/mips64el-linux-any/asm/statfs.h"
+ "include/mips64el-linux-any/asm/swab.h"
+ "include/mips64el-linux-any/asm/termbits.h"
+ "include/mips64el-linux-any/asm/termios.h"
+ "include/mips64el-linux-any/asm/types.h"
+ "include/mips64el-linux-any/asm/unistd.h"
"include/mips64el-linux-gnuabi64/bits/dlfcn.h"
"include/mips64el-linux-gnuabi64/bits/errno.h"
"include/mips64el-linux-gnuabi64/bits/eventfd.h"
@@ -5169,8 +5167,6 @@ set(ZIG_LIBC_FILES
"include/mips64el-linux-gnuabi64/bits/timerfd.h"
"include/mips64el-linux-gnuabi64/bits/types/stack_t.h"
"include/mips64el-linux-gnuabi64/ieee754.h"
- "include/mips64el-linux-gnuabin32/asm/sgidefs.h"
- "include/mips64el-linux-gnuabin32/asm/unistd.h"
"include/mips64el-linux-gnuabin32/bits/dlfcn.h"
"include/mips64el-linux-gnuabin32/bits/errno.h"
"include/mips64el-linux-gnuabin32/bits/eventfd.h"
@@ -5200,38 +5196,6 @@ set(ZIG_LIBC_FILES
"include/mips64el-linux-gnuabin32/bits/timerfd.h"
"include/mips64el-linux-gnuabin32/bits/types/stack_t.h"
"include/mips64el-linux-gnuabin32/ieee754.h"
- "include/mips64el-linux-musl/asm/auxvec.h"
- "include/mips64el-linux-musl/asm/bitsperlong.h"
- "include/mips64el-linux-musl/asm/byteorder.h"
- "include/mips64el-linux-musl/asm/errno.h"
- "include/mips64el-linux-musl/asm/fcntl.h"
- "include/mips64el-linux-musl/asm/hwcap.h"
- "include/mips64el-linux-musl/asm/ioctl.h"
- "include/mips64el-linux-musl/asm/ioctls.h"
- "include/mips64el-linux-musl/asm/kvm.h"
- "include/mips64el-linux-musl/asm/kvm_para.h"
- "include/mips64el-linux-musl/asm/mman.h"
- "include/mips64el-linux-musl/asm/msgbuf.h"
- "include/mips64el-linux-musl/asm/param.h"
- "include/mips64el-linux-musl/asm/poll.h"
- "include/mips64el-linux-musl/asm/posix_types.h"
- "include/mips64el-linux-musl/asm/ptrace.h"
- "include/mips64el-linux-musl/asm/resource.h"
- "include/mips64el-linux-musl/asm/sembuf.h"
- "include/mips64el-linux-musl/asm/setup.h"
- "include/mips64el-linux-musl/asm/shmbuf.h"
- "include/mips64el-linux-musl/asm/sigcontext.h"
- "include/mips64el-linux-musl/asm/siginfo.h"
- "include/mips64el-linux-musl/asm/signal.h"
- "include/mips64el-linux-musl/asm/socket.h"
- "include/mips64el-linux-musl/asm/sockios.h"
- "include/mips64el-linux-musl/asm/stat.h"
- "include/mips64el-linux-musl/asm/statfs.h"
- "include/mips64el-linux-musl/asm/swab.h"
- "include/mips64el-linux-musl/asm/termbits.h"
- "include/mips64el-linux-musl/asm/termios.h"
- "include/mips64el-linux-musl/asm/types.h"
- "include/mips64el-linux-musl/asm/unistd.h"
"include/mips64el-linux-musl/bfd_stdint.h"
"include/mips64el-linux-musl/bits/alltypes.h"
"include/mips64el-linux-musl/bits/endian.h"
@@ -5258,8 +5222,38 @@ set(ZIG_LIBC_FILES
"include/mips64el-linux-musl/bits/syscall.h"
"include/mips64el-linux-musl/bits/termios.h"
"include/mips64el-linux-musl/bits/user.h"
- "include/mipsel-linux-gnu/asm/sgidefs.h"
- "include/mipsel-linux-gnu/asm/unistd.h"
+ "include/mipsel-linux-any/asm/auxvec.h"
+ "include/mipsel-linux-any/asm/bitsperlong.h"
+ "include/mipsel-linux-any/asm/byteorder.h"
+ "include/mipsel-linux-any/asm/errno.h"
+ "include/mipsel-linux-any/asm/fcntl.h"
+ "include/mipsel-linux-any/asm/hwcap.h"
+ "include/mipsel-linux-any/asm/ioctl.h"
+ "include/mipsel-linux-any/asm/ioctls.h"
+ "include/mipsel-linux-any/asm/kvm.h"
+ "include/mipsel-linux-any/asm/kvm_para.h"
+ "include/mipsel-linux-any/asm/mman.h"
+ "include/mipsel-linux-any/asm/msgbuf.h"
+ "include/mipsel-linux-any/asm/param.h"
+ "include/mipsel-linux-any/asm/poll.h"
+ "include/mipsel-linux-any/asm/posix_types.h"
+ "include/mipsel-linux-any/asm/ptrace.h"
+ "include/mipsel-linux-any/asm/resource.h"
+ "include/mipsel-linux-any/asm/sembuf.h"
+ "include/mipsel-linux-any/asm/setup.h"
+ "include/mipsel-linux-any/asm/shmbuf.h"
+ "include/mipsel-linux-any/asm/sigcontext.h"
+ "include/mipsel-linux-any/asm/siginfo.h"
+ "include/mipsel-linux-any/asm/signal.h"
+ "include/mipsel-linux-any/asm/socket.h"
+ "include/mipsel-linux-any/asm/sockios.h"
+ "include/mipsel-linux-any/asm/stat.h"
+ "include/mipsel-linux-any/asm/statfs.h"
+ "include/mipsel-linux-any/asm/swab.h"
+ "include/mipsel-linux-any/asm/termbits.h"
+ "include/mipsel-linux-any/asm/termios.h"
+ "include/mipsel-linux-any/asm/types.h"
+ "include/mipsel-linux-any/asm/unistd.h"
"include/mipsel-linux-gnu/bits/dlfcn.h"
"include/mipsel-linux-gnu/bits/errno.h"
"include/mipsel-linux-gnu/bits/eventfd.h"
@@ -5289,38 +5283,6 @@ set(ZIG_LIBC_FILES
"include/mipsel-linux-gnu/bits/timerfd.h"
"include/mipsel-linux-gnu/bits/types/stack_t.h"
"include/mipsel-linux-gnu/ieee754.h"
- "include/mipsel-linux-musl/asm/auxvec.h"
- "include/mipsel-linux-musl/asm/bitsperlong.h"
- "include/mipsel-linux-musl/asm/byteorder.h"
- "include/mipsel-linux-musl/asm/errno.h"
- "include/mipsel-linux-musl/asm/fcntl.h"
- "include/mipsel-linux-musl/asm/hwcap.h"
- "include/mipsel-linux-musl/asm/ioctl.h"
- "include/mipsel-linux-musl/asm/ioctls.h"
- "include/mipsel-linux-musl/asm/kvm.h"
- "include/mipsel-linux-musl/asm/kvm_para.h"
- "include/mipsel-linux-musl/asm/mman.h"
- "include/mipsel-linux-musl/asm/msgbuf.h"
- "include/mipsel-linux-musl/asm/param.h"
- "include/mipsel-linux-musl/asm/poll.h"
- "include/mipsel-linux-musl/asm/posix_types.h"
- "include/mipsel-linux-musl/asm/ptrace.h"
- "include/mipsel-linux-musl/asm/resource.h"
- "include/mipsel-linux-musl/asm/sembuf.h"
- "include/mipsel-linux-musl/asm/setup.h"
- "include/mipsel-linux-musl/asm/shmbuf.h"
- "include/mipsel-linux-musl/asm/sigcontext.h"
- "include/mipsel-linux-musl/asm/siginfo.h"
- "include/mipsel-linux-musl/asm/signal.h"
- "include/mipsel-linux-musl/asm/socket.h"
- "include/mipsel-linux-musl/asm/sockios.h"
- "include/mipsel-linux-musl/asm/stat.h"
- "include/mipsel-linux-musl/asm/statfs.h"
- "include/mipsel-linux-musl/asm/swab.h"
- "include/mipsel-linux-musl/asm/termbits.h"
- "include/mipsel-linux-musl/asm/termios.h"
- "include/mipsel-linux-musl/asm/types.h"
- "include/mipsel-linux-musl/asm/unistd.h"
"include/mipsel-linux-musl/bfd.h"
"include/mipsel-linux-musl/bfd_stdint.h"
"include/mipsel-linux-musl/bits/alltypes.h"
@@ -5346,28 +5308,35 @@ set(ZIG_LIBC_FILES
"include/mipsel-linux-musl/bits/syscall.h"
"include/mipsel-linux-musl/bits/termios.h"
"include/mipsel-linux-musl/bits/user.h"
- "include/nios2-linux-gnu/asm/unistd.h"
- "include/nios2-linux-gnu/bits/endian.h"
- "include/nios2-linux-gnu/bits/fcntl.h"
- "include/nios2-linux-gnu/bits/fenv.h"
- "include/nios2-linux-gnu/bits/floatn.h"
- "include/nios2-linux-gnu/bits/link.h"
- "include/nios2-linux-gnu/bits/long-double.h"
- "include/nios2-linux-gnu/bits/procfs.h"
- "include/nios2-linux-gnu/bits/pthreadtypes-arch.h"
- "include/nios2-linux-gnu/bits/semaphore.h"
- "include/nios2-linux-gnu/bits/setjmp.h"
- "include/nios2-linux-gnu/bits/stat.h"
- "include/nios2-linux-gnu/bits/statfs.h"
- "include/nios2-linux-gnu/bits/typesizes.h"
- "include/nios2-linux-gnu/bits/wordsize.h"
- "include/nios2-linux-gnu/fpu_control.h"
- "include/nios2-linux-gnu/gnu/lib-names.h"
- "include/nios2-linux-gnu/gnu/stubs.h"
- "include/nios2-linux-gnu/sys/cachectl.h"
- "include/nios2-linux-gnu/sys/ucontext.h"
- "include/nios2-linux-gnu/sys/user.h"
- "include/powerpc-linux-gnu/asm/unistd.h"
+ "include/powerpc-linux-any/asm/auxvec.h"
+ "include/powerpc-linux-any/asm/bitsperlong.h"
+ "include/powerpc-linux-any/asm/byteorder.h"
+ "include/powerpc-linux-any/asm/errno.h"
+ "include/powerpc-linux-any/asm/fcntl.h"
+ "include/powerpc-linux-any/asm/ioctl.h"
+ "include/powerpc-linux-any/asm/ioctls.h"
+ "include/powerpc-linux-any/asm/ipcbuf.h"
+ "include/powerpc-linux-any/asm/kvm.h"
+ "include/powerpc-linux-any/asm/kvm_para.h"
+ "include/powerpc-linux-any/asm/mman.h"
+ "include/powerpc-linux-any/asm/msgbuf.h"
+ "include/powerpc-linux-any/asm/perf_regs.h"
+ "include/powerpc-linux-any/asm/posix_types.h"
+ "include/powerpc-linux-any/asm/ptrace.h"
+ "include/powerpc-linux-any/asm/sembuf.h"
+ "include/powerpc-linux-any/asm/setup.h"
+ "include/powerpc-linux-any/asm/shmbuf.h"
+ "include/powerpc-linux-any/asm/sigcontext.h"
+ "include/powerpc-linux-any/asm/siginfo.h"
+ "include/powerpc-linux-any/asm/signal.h"
+ "include/powerpc-linux-any/asm/socket.h"
+ "include/powerpc-linux-any/asm/stat.h"
+ "include/powerpc-linux-any/asm/swab.h"
+ "include/powerpc-linux-any/asm/termbits.h"
+ "include/powerpc-linux-any/asm/termios.h"
+ "include/powerpc-linux-any/asm/types.h"
+ "include/powerpc-linux-any/asm/ucontext.h"
+ "include/powerpc-linux-any/asm/unistd.h"
"include/powerpc-linux-gnu/bits/endian.h"
"include/powerpc-linux-gnu/bits/environments.h"
"include/powerpc-linux-gnu/bits/fcntl.h"
@@ -5408,35 +5377,6 @@ set(ZIG_LIBC_FILES
"include/powerpc-linux-gnu/sys/ptrace.h"
"include/powerpc-linux-gnu/sys/ucontext.h"
"include/powerpc-linux-gnu/sys/user.h"
- "include/powerpc-linux-musl/asm/auxvec.h"
- "include/powerpc-linux-musl/asm/bitsperlong.h"
- "include/powerpc-linux-musl/asm/byteorder.h"
- "include/powerpc-linux-musl/asm/errno.h"
- "include/powerpc-linux-musl/asm/fcntl.h"
- "include/powerpc-linux-musl/asm/ioctl.h"
- "include/powerpc-linux-musl/asm/ioctls.h"
- "include/powerpc-linux-musl/asm/ipcbuf.h"
- "include/powerpc-linux-musl/asm/kvm.h"
- "include/powerpc-linux-musl/asm/kvm_para.h"
- "include/powerpc-linux-musl/asm/mman.h"
- "include/powerpc-linux-musl/asm/msgbuf.h"
- "include/powerpc-linux-musl/asm/perf_regs.h"
- "include/powerpc-linux-musl/asm/posix_types.h"
- "include/powerpc-linux-musl/asm/ptrace.h"
- "include/powerpc-linux-musl/asm/sembuf.h"
- "include/powerpc-linux-musl/asm/setup.h"
- "include/powerpc-linux-musl/asm/shmbuf.h"
- "include/powerpc-linux-musl/asm/sigcontext.h"
- "include/powerpc-linux-musl/asm/siginfo.h"
- "include/powerpc-linux-musl/asm/signal.h"
- "include/powerpc-linux-musl/asm/socket.h"
- "include/powerpc-linux-musl/asm/stat.h"
- "include/powerpc-linux-musl/asm/swab.h"
- "include/powerpc-linux-musl/asm/termbits.h"
- "include/powerpc-linux-musl/asm/termios.h"
- "include/powerpc-linux-musl/asm/types.h"
- "include/powerpc-linux-musl/asm/ucontext.h"
- "include/powerpc-linux-musl/asm/unistd.h"
"include/powerpc-linux-musl/bfd.h"
"include/powerpc-linux-musl/bfd_stdint.h"
"include/powerpc-linux-musl/bits/alltypes.h"
@@ -5460,7 +5400,35 @@ set(ZIG_LIBC_FILES
"include/powerpc-linux-musl/bits/syscall.h"
"include/powerpc-linux-musl/bits/termios.h"
"include/powerpc-linux-musl/bits/user.h"
- "include/powerpc64-linux-gnu/asm/unistd.h"
+ "include/powerpc64-linux-any/asm/auxvec.h"
+ "include/powerpc64-linux-any/asm/bitsperlong.h"
+ "include/powerpc64-linux-any/asm/byteorder.h"
+ "include/powerpc64-linux-any/asm/errno.h"
+ "include/powerpc64-linux-any/asm/fcntl.h"
+ "include/powerpc64-linux-any/asm/ioctl.h"
+ "include/powerpc64-linux-any/asm/ioctls.h"
+ "include/powerpc64-linux-any/asm/ipcbuf.h"
+ "include/powerpc64-linux-any/asm/kvm.h"
+ "include/powerpc64-linux-any/asm/kvm_para.h"
+ "include/powerpc64-linux-any/asm/mman.h"
+ "include/powerpc64-linux-any/asm/msgbuf.h"
+ "include/powerpc64-linux-any/asm/perf_regs.h"
+ "include/powerpc64-linux-any/asm/posix_types.h"
+ "include/powerpc64-linux-any/asm/ptrace.h"
+ "include/powerpc64-linux-any/asm/sembuf.h"
+ "include/powerpc64-linux-any/asm/setup.h"
+ "include/powerpc64-linux-any/asm/shmbuf.h"
+ "include/powerpc64-linux-any/asm/sigcontext.h"
+ "include/powerpc64-linux-any/asm/siginfo.h"
+ "include/powerpc64-linux-any/asm/signal.h"
+ "include/powerpc64-linux-any/asm/socket.h"
+ "include/powerpc64-linux-any/asm/stat.h"
+ "include/powerpc64-linux-any/asm/swab.h"
+ "include/powerpc64-linux-any/asm/termbits.h"
+ "include/powerpc64-linux-any/asm/termios.h"
+ "include/powerpc64-linux-any/asm/types.h"
+ "include/powerpc64-linux-any/asm/ucontext.h"
+ "include/powerpc64-linux-any/asm/unistd.h"
"include/powerpc64-linux-gnu/bits/endian.h"
"include/powerpc64-linux-gnu/bits/environments.h"
"include/powerpc64-linux-gnu/bits/fcntl.h"
@@ -5502,35 +5470,6 @@ set(ZIG_LIBC_FILES
"include/powerpc64-linux-gnu/sys/ptrace.h"
"include/powerpc64-linux-gnu/sys/ucontext.h"
"include/powerpc64-linux-gnu/sys/user.h"
- "include/powerpc64-linux-musl/asm/auxvec.h"
- "include/powerpc64-linux-musl/asm/bitsperlong.h"
- "include/powerpc64-linux-musl/asm/byteorder.h"
- "include/powerpc64-linux-musl/asm/errno.h"
- "include/powerpc64-linux-musl/asm/fcntl.h"
- "include/powerpc64-linux-musl/asm/ioctl.h"
- "include/powerpc64-linux-musl/asm/ioctls.h"
- "include/powerpc64-linux-musl/asm/ipcbuf.h"
- "include/powerpc64-linux-musl/asm/kvm.h"
- "include/powerpc64-linux-musl/asm/kvm_para.h"
- "include/powerpc64-linux-musl/asm/mman.h"
- "include/powerpc64-linux-musl/asm/msgbuf.h"
- "include/powerpc64-linux-musl/asm/perf_regs.h"
- "include/powerpc64-linux-musl/asm/posix_types.h"
- "include/powerpc64-linux-musl/asm/ptrace.h"
- "include/powerpc64-linux-musl/asm/sembuf.h"
- "include/powerpc64-linux-musl/asm/setup.h"
- "include/powerpc64-linux-musl/asm/shmbuf.h"
- "include/powerpc64-linux-musl/asm/sigcontext.h"
- "include/powerpc64-linux-musl/asm/siginfo.h"
- "include/powerpc64-linux-musl/asm/signal.h"
- "include/powerpc64-linux-musl/asm/socket.h"
- "include/powerpc64-linux-musl/asm/stat.h"
- "include/powerpc64-linux-musl/asm/swab.h"
- "include/powerpc64-linux-musl/asm/termbits.h"
- "include/powerpc64-linux-musl/asm/termios.h"
- "include/powerpc64-linux-musl/asm/types.h"
- "include/powerpc64-linux-musl/asm/ucontext.h"
- "include/powerpc64-linux-musl/asm/unistd.h"
"include/powerpc64-linux-musl/bfd_stdint.h"
"include/powerpc64-linux-musl/bits/alltypes.h"
"include/powerpc64-linux-musl/bits/endian.h"
@@ -5555,7 +5494,35 @@ set(ZIG_LIBC_FILES
"include/powerpc64-linux-musl/bits/syscall.h"
"include/powerpc64-linux-musl/bits/termios.h"
"include/powerpc64-linux-musl/bits/user.h"
- "include/powerpc64le-linux-gnu/asm/unistd.h"
+ "include/powerpc64le-linux-any/asm/auxvec.h"
+ "include/powerpc64le-linux-any/asm/bitsperlong.h"
+ "include/powerpc64le-linux-any/asm/byteorder.h"
+ "include/powerpc64le-linux-any/asm/errno.h"
+ "include/powerpc64le-linux-any/asm/fcntl.h"
+ "include/powerpc64le-linux-any/asm/ioctl.h"
+ "include/powerpc64le-linux-any/asm/ioctls.h"
+ "include/powerpc64le-linux-any/asm/ipcbuf.h"
+ "include/powerpc64le-linux-any/asm/kvm.h"
+ "include/powerpc64le-linux-any/asm/kvm_para.h"
+ "include/powerpc64le-linux-any/asm/mman.h"
+ "include/powerpc64le-linux-any/asm/msgbuf.h"
+ "include/powerpc64le-linux-any/asm/perf_regs.h"
+ "include/powerpc64le-linux-any/asm/posix_types.h"
+ "include/powerpc64le-linux-any/asm/ptrace.h"
+ "include/powerpc64le-linux-any/asm/sembuf.h"
+ "include/powerpc64le-linux-any/asm/setup.h"
+ "include/powerpc64le-linux-any/asm/shmbuf.h"
+ "include/powerpc64le-linux-any/asm/sigcontext.h"
+ "include/powerpc64le-linux-any/asm/siginfo.h"
+ "include/powerpc64le-linux-any/asm/signal.h"
+ "include/powerpc64le-linux-any/asm/socket.h"
+ "include/powerpc64le-linux-any/asm/stat.h"
+ "include/powerpc64le-linux-any/asm/swab.h"
+ "include/powerpc64le-linux-any/asm/termbits.h"
+ "include/powerpc64le-linux-any/asm/termios.h"
+ "include/powerpc64le-linux-any/asm/types.h"
+ "include/powerpc64le-linux-any/asm/ucontext.h"
+ "include/powerpc64le-linux-any/asm/unistd.h"
"include/powerpc64le-linux-gnu/bits/endian.h"
"include/powerpc64le-linux-gnu/bits/environments.h"
"include/powerpc64le-linux-gnu/bits/fcntl.h"
@@ -5597,35 +5564,6 @@ set(ZIG_LIBC_FILES
"include/powerpc64le-linux-gnu/sys/ptrace.h"
"include/powerpc64le-linux-gnu/sys/ucontext.h"
"include/powerpc64le-linux-gnu/sys/user.h"
- "include/powerpc64le-linux-musl/asm/auxvec.h"
- "include/powerpc64le-linux-musl/asm/bitsperlong.h"
- "include/powerpc64le-linux-musl/asm/byteorder.h"
- "include/powerpc64le-linux-musl/asm/errno.h"
- "include/powerpc64le-linux-musl/asm/fcntl.h"
- "include/powerpc64le-linux-musl/asm/ioctl.h"
- "include/powerpc64le-linux-musl/asm/ioctls.h"
- "include/powerpc64le-linux-musl/asm/ipcbuf.h"
- "include/powerpc64le-linux-musl/asm/kvm.h"
- "include/powerpc64le-linux-musl/asm/kvm_para.h"
- "include/powerpc64le-linux-musl/asm/mman.h"
- "include/powerpc64le-linux-musl/asm/msgbuf.h"
- "include/powerpc64le-linux-musl/asm/perf_regs.h"
- "include/powerpc64le-linux-musl/asm/posix_types.h"
- "include/powerpc64le-linux-musl/asm/ptrace.h"
- "include/powerpc64le-linux-musl/asm/sembuf.h"
- "include/powerpc64le-linux-musl/asm/setup.h"
- "include/powerpc64le-linux-musl/asm/shmbuf.h"
- "include/powerpc64le-linux-musl/asm/sigcontext.h"
- "include/powerpc64le-linux-musl/asm/siginfo.h"
- "include/powerpc64le-linux-musl/asm/signal.h"
- "include/powerpc64le-linux-musl/asm/socket.h"
- "include/powerpc64le-linux-musl/asm/stat.h"
- "include/powerpc64le-linux-musl/asm/swab.h"
- "include/powerpc64le-linux-musl/asm/termbits.h"
- "include/powerpc64le-linux-musl/asm/termios.h"
- "include/powerpc64le-linux-musl/asm/types.h"
- "include/powerpc64le-linux-musl/asm/ucontext.h"
- "include/powerpc64le-linux-musl/asm/unistd.h"
"include/powerpc64le-linux-musl/bfd_stdint.h"
"include/powerpc64le-linux-musl/bits/alltypes.h"
"include/powerpc64le-linux-musl/bits/endian.h"
@@ -5650,20 +5588,20 @@ set(ZIG_LIBC_FILES
"include/powerpc64le-linux-musl/bits/syscall.h"
"include/powerpc64le-linux-musl/bits/termios.h"
"include/powerpc64le-linux-musl/bits/user.h"
- "include/riscv32-linux-musl/asm/auxvec.h"
- "include/riscv32-linux-musl/asm/bitsperlong.h"
- "include/riscv32-linux-musl/asm/byteorder.h"
- "include/riscv32-linux-musl/asm/elf.h"
- "include/riscv32-linux-musl/asm/hwcap.h"
- "include/riscv32-linux-musl/asm/posix_types.h"
- "include/riscv32-linux-musl/asm/ptrace.h"
- "include/riscv32-linux-musl/asm/setup.h"
- "include/riscv32-linux-musl/asm/sigcontext.h"
- "include/riscv32-linux-musl/asm/siginfo.h"
- "include/riscv32-linux-musl/asm/signal.h"
- "include/riscv32-linux-musl/asm/stat.h"
- "include/riscv32-linux-musl/asm/ucontext.h"
- "include/riscv32-linux-musl/asm/unistd.h"
+ "include/riscv32-linux-any/asm/auxvec.h"
+ "include/riscv32-linux-any/asm/bitsperlong.h"
+ "include/riscv32-linux-any/asm/byteorder.h"
+ "include/riscv32-linux-any/asm/elf.h"
+ "include/riscv32-linux-any/asm/hwcap.h"
+ "include/riscv32-linux-any/asm/posix_types.h"
+ "include/riscv32-linux-any/asm/ptrace.h"
+ "include/riscv32-linux-any/asm/setup.h"
+ "include/riscv32-linux-any/asm/sigcontext.h"
+ "include/riscv32-linux-any/asm/siginfo.h"
+ "include/riscv32-linux-any/asm/signal.h"
+ "include/riscv32-linux-any/asm/stat.h"
+ "include/riscv32-linux-any/asm/ucontext.h"
+ "include/riscv32-linux-any/asm/unistd.h"
"include/riscv32-linux-musl/bfd.h"
"include/riscv32-linux-musl/bfd_stdint.h"
"include/riscv32-linux-musl/bits/alltypes.h"
@@ -5688,7 +5626,20 @@ set(ZIG_LIBC_FILES
"include/riscv32-linux-musl/signal.h"
"include/riscv32-linux-musl/sys/signalfd.h"
"include/riscv32-linux-musl/sys/socket.h"
- "include/riscv64-linux-gnu/asm/unistd.h"
+ "include/riscv64-linux-any/asm/auxvec.h"
+ "include/riscv64-linux-any/asm/bitsperlong.h"
+ "include/riscv64-linux-any/asm/byteorder.h"
+ "include/riscv64-linux-any/asm/elf.h"
+ "include/riscv64-linux-any/asm/hwcap.h"
+ "include/riscv64-linux-any/asm/posix_types.h"
+ "include/riscv64-linux-any/asm/ptrace.h"
+ "include/riscv64-linux-any/asm/setup.h"
+ "include/riscv64-linux-any/asm/sigcontext.h"
+ "include/riscv64-linux-any/asm/siginfo.h"
+ "include/riscv64-linux-any/asm/signal.h"
+ "include/riscv64-linux-any/asm/stat.h"
+ "include/riscv64-linux-any/asm/ucontext.h"
+ "include/riscv64-linux-any/asm/unistd.h"
"include/riscv64-linux-gnu/bits/endian.h"
"include/riscv64-linux-gnu/bits/fcntl.h"
"include/riscv64-linux-gnu/bits/fenv.h"
@@ -5714,20 +5665,6 @@ set(ZIG_LIBC_FILES
"include/riscv64-linux-gnu/sys/cachectl.h"
"include/riscv64-linux-gnu/sys/ucontext.h"
"include/riscv64-linux-gnu/sys/user.h"
- "include/riscv64-linux-musl/asm/auxvec.h"
- "include/riscv64-linux-musl/asm/bitsperlong.h"
- "include/riscv64-linux-musl/asm/byteorder.h"
- "include/riscv64-linux-musl/asm/elf.h"
- "include/riscv64-linux-musl/asm/hwcap.h"
- "include/riscv64-linux-musl/asm/posix_types.h"
- "include/riscv64-linux-musl/asm/ptrace.h"
- "include/riscv64-linux-musl/asm/setup.h"
- "include/riscv64-linux-musl/asm/sigcontext.h"
- "include/riscv64-linux-musl/asm/siginfo.h"
- "include/riscv64-linux-musl/asm/signal.h"
- "include/riscv64-linux-musl/asm/stat.h"
- "include/riscv64-linux-musl/asm/ucontext.h"
- "include/riscv64-linux-musl/asm/unistd.h"
"include/riscv64-linux-musl/bfd_stdint.h"
"include/riscv64-linux-musl/bits/alltypes.h"
"include/riscv64-linux-musl/bits/endian.h"
@@ -5752,7 +5689,52 @@ set(ZIG_LIBC_FILES
"include/riscv64-linux-musl/signal.h"
"include/riscv64-linux-musl/sys/signalfd.h"
"include/riscv64-linux-musl/sys/socket.h"
- "include/s390x-linux-gnu/asm/unistd.h"
+ "include/s390x-linux-any/asm/auxvec.h"
+ "include/s390x-linux-any/asm/bitsperlong.h"
+ "include/s390x-linux-any/asm/bpf_perf_event.h"
+ "include/s390x-linux-any/asm/byteorder.h"
+ "include/s390x-linux-any/asm/chpid.h"
+ "include/s390x-linux-any/asm/chsc.h"
+ "include/s390x-linux-any/asm/clp.h"
+ "include/s390x-linux-any/asm/cmb.h"
+ "include/s390x-linux-any/asm/dasd.h"
+ "include/s390x-linux-any/asm/debug.h"
+ "include/s390x-linux-any/asm/guarded_storage.h"
+ "include/s390x-linux-any/asm/hypfs.h"
+ "include/s390x-linux-any/asm/ioctls.h"
+ "include/s390x-linux-any/asm/ipcbuf.h"
+ "include/s390x-linux-any/asm/kvm.h"
+ "include/s390x-linux-any/asm/kvm_para.h"
+ "include/s390x-linux-any/asm/kvm_perf.h"
+ "include/s390x-linux-any/asm/monwriter.h"
+ "include/s390x-linux-any/asm/perf_regs.h"
+ "include/s390x-linux-any/asm/pkey.h"
+ "include/s390x-linux-any/asm/posix_types.h"
+ "include/s390x-linux-any/asm/ptrace.h"
+ "include/s390x-linux-any/asm/qeth.h"
+ "include/s390x-linux-any/asm/runtime_instr.h"
+ "include/s390x-linux-any/asm/schid.h"
+ "include/s390x-linux-any/asm/sclp_ctl.h"
+ "include/s390x-linux-any/asm/setup.h"
+ "include/s390x-linux-any/asm/sie.h"
+ "include/s390x-linux-any/asm/sigcontext.h"
+ "include/s390x-linux-any/asm/siginfo.h"
+ "include/s390x-linux-any/asm/signal.h"
+ "include/s390x-linux-any/asm/socket.h"
+ "include/s390x-linux-any/asm/stat.h"
+ "include/s390x-linux-any/asm/statfs.h"
+ "include/s390x-linux-any/asm/sthyi.h"
+ "include/s390x-linux-any/asm/tape390.h"
+ "include/s390x-linux-any/asm/termios.h"
+ "include/s390x-linux-any/asm/types.h"
+ "include/s390x-linux-any/asm/ucontext.h"
+ "include/s390x-linux-any/asm/unistd.h"
+ "include/s390x-linux-any/asm/unistd_32.h"
+ "include/s390x-linux-any/asm/unistd_64.h"
+ "include/s390x-linux-any/asm/virtio-ccw.h"
+ "include/s390x-linux-any/asm/vmcp.h"
+ "include/s390x-linux-any/asm/vtoc.h"
+ "include/s390x-linux-any/asm/zcrypt.h"
"include/s390x-linux-gnu/bits/elfclass.h"
"include/s390x-linux-gnu/bits/endian.h"
"include/s390x-linux-gnu/bits/environments.h"
@@ -5788,52 +5770,6 @@ set(ZIG_LIBC_FILES
"include/s390x-linux-gnu/sys/ptrace.h"
"include/s390x-linux-gnu/sys/ucontext.h"
"include/s390x-linux-gnu/sys/user.h"
- "include/s390x-linux-musl/asm/auxvec.h"
- "include/s390x-linux-musl/asm/bitsperlong.h"
- "include/s390x-linux-musl/asm/bpf_perf_event.h"
- "include/s390x-linux-musl/asm/byteorder.h"
- "include/s390x-linux-musl/asm/chpid.h"
- "include/s390x-linux-musl/asm/chsc.h"
- "include/s390x-linux-musl/asm/clp.h"
- "include/s390x-linux-musl/asm/cmb.h"
- "include/s390x-linux-musl/asm/dasd.h"
- "include/s390x-linux-musl/asm/debug.h"
- "include/s390x-linux-musl/asm/guarded_storage.h"
- "include/s390x-linux-musl/asm/hypfs.h"
- "include/s390x-linux-musl/asm/ioctls.h"
- "include/s390x-linux-musl/asm/ipcbuf.h"
- "include/s390x-linux-musl/asm/kvm.h"
- "include/s390x-linux-musl/asm/kvm_para.h"
- "include/s390x-linux-musl/asm/kvm_perf.h"
- "include/s390x-linux-musl/asm/monwriter.h"
- "include/s390x-linux-musl/asm/perf_regs.h"
- "include/s390x-linux-musl/asm/pkey.h"
- "include/s390x-linux-musl/asm/posix_types.h"
- "include/s390x-linux-musl/asm/ptrace.h"
- "include/s390x-linux-musl/asm/qeth.h"
- "include/s390x-linux-musl/asm/runtime_instr.h"
- "include/s390x-linux-musl/asm/schid.h"
- "include/s390x-linux-musl/asm/sclp_ctl.h"
- "include/s390x-linux-musl/asm/setup.h"
- "include/s390x-linux-musl/asm/sie.h"
- "include/s390x-linux-musl/asm/sigcontext.h"
- "include/s390x-linux-musl/asm/siginfo.h"
- "include/s390x-linux-musl/asm/signal.h"
- "include/s390x-linux-musl/asm/socket.h"
- "include/s390x-linux-musl/asm/stat.h"
- "include/s390x-linux-musl/asm/statfs.h"
- "include/s390x-linux-musl/asm/sthyi.h"
- "include/s390x-linux-musl/asm/tape390.h"
- "include/s390x-linux-musl/asm/termios.h"
- "include/s390x-linux-musl/asm/types.h"
- "include/s390x-linux-musl/asm/ucontext.h"
- "include/s390x-linux-musl/asm/unistd.h"
- "include/s390x-linux-musl/asm/unistd_32.h"
- "include/s390x-linux-musl/asm/unistd_64.h"
- "include/s390x-linux-musl/asm/virtio-ccw.h"
- "include/s390x-linux-musl/asm/vmcp.h"
- "include/s390x-linux-musl/asm/vtoc.h"
- "include/s390x-linux-musl/asm/zcrypt.h"
"include/s390x-linux-musl/bfd_stdint.h"
"include/s390x-linux-musl/bits/alltypes.h"
"include/s390x-linux-musl/bits/endian.h"
@@ -5858,7 +5794,6 @@ set(ZIG_LIBC_FILES
"include/s390x-linux-musl/bits/syscall.h"
"include/s390x-linux-musl/bits/user.h"
"include/sparc-linux-gnu/a.out.h"
- "include/sparc-linux-gnu/asm/unistd.h"
"include/sparc-linux-gnu/bits/a.out.h"
"include/sparc-linux-gnu/bits/endian.h"
"include/sparc-linux-gnu/bits/environments.h"
@@ -5914,7 +5849,6 @@ set(ZIG_LIBC_FILES
"include/sparc-linux-gnu/sys/ucontext.h"
"include/sparc-linux-gnu/sys/user.h"
"include/sparcv9-linux-gnu/a.out.h"
- "include/sparcv9-linux-gnu/asm/unistd.h"
"include/sparcv9-linux-gnu/bits/a.out.h"
"include/sparcv9-linux-gnu/bits/endian.h"
"include/sparcv9-linux-gnu/bits/environments.h"
@@ -5968,7 +5902,28 @@ set(ZIG_LIBC_FILES
"include/sparcv9-linux-gnu/sys/ptrace.h"
"include/sparcv9-linux-gnu/sys/ucontext.h"
"include/sparcv9-linux-gnu/sys/user.h"
- "include/x86_64-linux-gnu/asm/unistd.h"
+ "include/x86_64-linux-any/asm/auxvec.h"
+ "include/x86_64-linux-any/asm/bitsperlong.h"
+ "include/x86_64-linux-any/asm/byteorder.h"
+ "include/x86_64-linux-any/asm/kvm.h"
+ "include/x86_64-linux-any/asm/kvm_para.h"
+ "include/x86_64-linux-any/asm/mman.h"
+ "include/x86_64-linux-any/asm/msgbuf.h"
+ "include/x86_64-linux-any/asm/perf_regs.h"
+ "include/x86_64-linux-any/asm/posix_types.h"
+ "include/x86_64-linux-any/asm/ptrace.h"
+ "include/x86_64-linux-any/asm/sembuf.h"
+ "include/x86_64-linux-any/asm/setup.h"
+ "include/x86_64-linux-any/asm/shmbuf.h"
+ "include/x86_64-linux-any/asm/sigcontext.h"
+ "include/x86_64-linux-any/asm/siginfo.h"
+ "include/x86_64-linux-any/asm/signal.h"
+ "include/x86_64-linux-any/asm/stat.h"
+ "include/x86_64-linux-any/asm/statfs.h"
+ "include/x86_64-linux-any/asm/swab.h"
+ "include/x86_64-linux-any/asm/types.h"
+ "include/x86_64-linux-any/asm/ucontext.h"
+ "include/x86_64-linux-any/asm/unistd.h"
"include/x86_64-linux-gnu/bits/a.out.h"
"include/x86_64-linux-gnu/bits/endian.h"
"include/x86_64-linux-gnu/bits/environments.h"
@@ -6053,28 +6008,6 @@ set(ZIG_LIBC_FILES
"include/x86_64-linux-gnux32/sys/ptrace.h"
"include/x86_64-linux-gnux32/sys/ucontext.h"
"include/x86_64-linux-gnux32/sys/user.h"
- "include/x86_64-linux-musl/asm/auxvec.h"
- "include/x86_64-linux-musl/asm/bitsperlong.h"
- "include/x86_64-linux-musl/asm/byteorder.h"
- "include/x86_64-linux-musl/asm/kvm.h"
- "include/x86_64-linux-musl/asm/kvm_para.h"
- "include/x86_64-linux-musl/asm/mman.h"
- "include/x86_64-linux-musl/asm/msgbuf.h"
- "include/x86_64-linux-musl/asm/perf_regs.h"
- "include/x86_64-linux-musl/asm/posix_types.h"
- "include/x86_64-linux-musl/asm/ptrace.h"
- "include/x86_64-linux-musl/asm/sembuf.h"
- "include/x86_64-linux-musl/asm/setup.h"
- "include/x86_64-linux-musl/asm/shmbuf.h"
- "include/x86_64-linux-musl/asm/sigcontext.h"
- "include/x86_64-linux-musl/asm/siginfo.h"
- "include/x86_64-linux-musl/asm/signal.h"
- "include/x86_64-linux-musl/asm/stat.h"
- "include/x86_64-linux-musl/asm/statfs.h"
- "include/x86_64-linux-musl/asm/swab.h"
- "include/x86_64-linux-musl/asm/types.h"
- "include/x86_64-linux-musl/asm/ucontext.h"
- "include/x86_64-linux-musl/asm/unistd.h"
"include/x86_64-linux-musl/bfd_stdint.h"
"include/x86_64-linux-musl/bits/alltypes.h"
"include/x86_64-linux-musl/bits/endian.h"
diff --git a/libc/include/aarch64-linux-any/asm/auxvec.h b/libc/include/aarch64-linux-any/asm/auxvec.h
new file mode 100644
index 0000000000000000000000000000000000000000..9a290cde8d34bcc2508e83735fe3d450c1164ebd
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/auxvec.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_AUXVEC_H
+#define __ASM_AUXVEC_H
+
+/* vDSO location */
+#define AT_SYSINFO_EHDR 33
+#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
+
+#define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/bitsperlong.h b/libc/include/aarch64-linux-any/asm/bitsperlong.h
new file mode 100644
index 0000000000000000000000000000000000000000..0f94175240774f2fea25055c0595a50ae4dee399
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/bitsperlong.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_BITSPERLONG_H
+#define __ASM_BITSPERLONG_H
+
+#define __BITS_PER_LONG 64
+
+#include
+
+#endif /* __ASM_BITSPERLONG_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/bpf_perf_event.h b/libc/include/aarch64-linux-any/asm/bpf_perf_event.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d95d35c3657766d1bcebf94bc9225292e440d05
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/bpf_perf_event.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_BPF_PERF_EVENT_H__
+#define __ASM_BPF_PERF_EVENT_H__
+
+#include
+
+typedef struct user_pt_regs bpf_user_pt_regs_t;
+
+#endif /* __ASM_BPF_PERF_EVENT_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/byteorder.h b/libc/include/aarch64-linux-any/asm/byteorder.h
new file mode 100644
index 0000000000000000000000000000000000000000..6acd73fbc51cf01adc5e39a7ab23fa3c4150f6af
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/byteorder.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_BYTEORDER_H
+#define __ASM_BYTEORDER_H
+
+#ifdef __AARCH64EB__
+#include
+#else
+#include
+#endif
+
+#endif /* __ASM_BYTEORDER_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/fcntl.h b/libc/include/aarch64-linux-any/asm/fcntl.h
new file mode 100644
index 0000000000000000000000000000000000000000..9473344a3f432ea322b626856fb63db875c7a487
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/fcntl.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_FCNTL_H
+#define __ASM_FCNTL_H
+
+/*
+ * Using our own definitions for AArch32 (compat) support.
+ */
+#define O_DIRECTORY 040000 /* must be a directory */
+#define O_NOFOLLOW 0100000 /* don't follow links */
+#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
+#define O_LARGEFILE 0400000
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/hwcap.h b/libc/include/aarch64-linux-any/asm/hwcap.h
new file mode 100644
index 0000000000000000000000000000000000000000..53c37e3da6208f3b0a3a10348bb56ff9ae7fec2f
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/hwcap.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_HWCAP_H
+#define __ASM_HWCAP_H
+
+/*
+ * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
+ */
+#define HWCAP_FP (1 << 0)
+#define HWCAP_ASIMD (1 << 1)
+#define HWCAP_EVTSTRM (1 << 2)
+#define HWCAP_AES (1 << 3)
+#define HWCAP_PMULL (1 << 4)
+#define HWCAP_SHA1 (1 << 5)
+#define HWCAP_SHA2 (1 << 6)
+#define HWCAP_CRC32 (1 << 7)
+#define HWCAP_ATOMICS (1 << 8)
+#define HWCAP_FPHP (1 << 9)
+#define HWCAP_ASIMDHP (1 << 10)
+#define HWCAP_CPUID (1 << 11)
+#define HWCAP_ASIMDRDM (1 << 12)
+#define HWCAP_JSCVT (1 << 13)
+#define HWCAP_FCMA (1 << 14)
+#define HWCAP_LRCPC (1 << 15)
+#define HWCAP_DCPOP (1 << 16)
+#define HWCAP_SHA3 (1 << 17)
+#define HWCAP_SM3 (1 << 18)
+#define HWCAP_SM4 (1 << 19)
+#define HWCAP_ASIMDDP (1 << 20)
+#define HWCAP_SHA512 (1 << 21)
+#define HWCAP_SVE (1 << 22)
+#define HWCAP_ASIMDFHM (1 << 23)
+#define HWCAP_DIT (1 << 24)
+#define HWCAP_USCAT (1 << 25)
+#define HWCAP_ILRCPC (1 << 26)
+#define HWCAP_FLAGM (1 << 27)
+
+#endif /* __ASM_HWCAP_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/kvm.h b/libc/include/aarch64-linux-any/asm/kvm.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d0fc926657e08a5ddffd3894bffe8fc60e5c917
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/kvm.h
@@ -0,0 +1,310 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012,2013 - ARM Ltd
+ * Author: Marc Zyngier
+ *
+ * Derived from arch/arm/include/uapi/asm/kvm.h:
+ * Copyright (C) 2012 - Virtual Open Systems and Columbia University
+ * Author: Christoffer Dall
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#ifndef __ARM_KVM_H__
+#define __ARM_KVM_H__
+
+#define KVM_SPSR_EL1 0
+#define KVM_SPSR_SVC KVM_SPSR_EL1
+#define KVM_SPSR_ABT 1
+#define KVM_SPSR_UND 2
+#define KVM_SPSR_IRQ 3
+#define KVM_SPSR_FIQ 4
+#define KVM_NR_SPSR 5
+
+#ifndef __ASSEMBLY__
+#include
+#include
+#include
+
+#define __KVM_HAVE_GUEST_DEBUG
+#define __KVM_HAVE_IRQ_LINE
+#define __KVM_HAVE_READONLY_MEM
+#define __KVM_HAVE_VCPU_EVENTS
+
+#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
+
+#define KVM_REG_SIZE(id) \
+ (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT))
+
+struct kvm_regs {
+ struct user_pt_regs regs; /* sp = sp_el0 */
+
+ __u64 sp_el1;
+ __u64 elr_el1;
+
+ __u64 spsr[KVM_NR_SPSR];
+
+ struct user_fpsimd_state fp_regs;
+};
+
+/*
+ * Supported CPU Targets - Adding a new target type is not recommended,
+ * unless there are some special registers not supported by the
+ * genericv8 syreg table.
+ */
+#define KVM_ARM_TARGET_AEM_V8 0
+#define KVM_ARM_TARGET_FOUNDATION_V8 1
+#define KVM_ARM_TARGET_CORTEX_A57 2
+#define KVM_ARM_TARGET_XGENE_POTENZA 3
+#define KVM_ARM_TARGET_CORTEX_A53 4
+/* Generic ARM v8 target */
+#define KVM_ARM_TARGET_GENERIC_V8 5
+
+#define KVM_ARM_NUM_TARGETS 6
+
+/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
+#define KVM_ARM_DEVICE_TYPE_SHIFT 0
+#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT)
+#define KVM_ARM_DEVICE_ID_SHIFT 16
+#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT)
+
+/* Supported device IDs */
+#define KVM_ARM_DEVICE_VGIC_V2 0
+
+/* Supported VGIC address types */
+#define KVM_VGIC_V2_ADDR_TYPE_DIST 0
+#define KVM_VGIC_V2_ADDR_TYPE_CPU 1
+
+#define KVM_VGIC_V2_DIST_SIZE 0x1000
+#define KVM_VGIC_V2_CPU_SIZE 0x2000
+
+/* Supported VGICv3 address types */
+#define KVM_VGIC_V3_ADDR_TYPE_DIST 2
+#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3
+#define KVM_VGIC_ITS_ADDR_TYPE 4
+#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5
+
+#define KVM_VGIC_V3_DIST_SIZE SZ_64K
+#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K)
+#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K)
+
+#define KVM_ARM_VCPU_POWER_OFF 0 /* CPU is started in OFF state */
+#define KVM_ARM_VCPU_EL1_32BIT 1 /* CPU running a 32bit VM */
+#define KVM_ARM_VCPU_PSCI_0_2 2 /* CPU uses PSCI v0.2 */
+#define KVM_ARM_VCPU_PMU_V3 3 /* Support guest PMUv3 */
+
+struct kvm_vcpu_init {
+ __u32 target;
+ __u32 features[7];
+};
+
+struct kvm_sregs {
+};
+
+struct kvm_fpu {
+};
+
+/*
+ * See v8 ARM ARM D7.3: Debug Registers
+ *
+ * The architectural limit is 16 debug registers of each type although
+ * in practice there are usually less (see ID_AA64DFR0_EL1).
+ *
+ * Although the control registers are architecturally defined as 32
+ * bits wide we use a 64 bit structure here to keep parity with
+ * KVM_GET/SET_ONE_REG behaviour which treats all system registers as
+ * 64 bit values. It also allows for the possibility of the
+ * architecture expanding the control registers without having to
+ * change the userspace ABI.
+ */
+#define KVM_ARM_MAX_DBG_REGS 16
+struct kvm_guest_debug_arch {
+ __u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
+};
+
+struct kvm_debug_exit_arch {
+ __u32 hsr;
+ __u64 far; /* used for watchpoints */
+};
+
+/*
+ * Architecture specific defines for kvm_guest_debug->control
+ */
+
+#define KVM_GUESTDBG_USE_SW_BP (1 << 16)
+#define KVM_GUESTDBG_USE_HW (1 << 17)
+
+struct kvm_sync_regs {
+ /* Used with KVM_CAP_ARM_USER_IRQ */
+ __u64 device_irq_level;
+};
+
+struct kvm_arch_memory_slot {
+};
+
+/* for KVM_GET/SET_VCPU_EVENTS */
+struct kvm_vcpu_events {
+ struct {
+ __u8 serror_pending;
+ __u8 serror_has_esr;
+ /* Align it to 8 bytes */
+ __u8 pad[6];
+ __u64 serror_esr;
+ } exception;
+ __u32 reserved[12];
+};
+
+/* If you need to interpret the index values, here is the key: */
+#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
+#define KVM_REG_ARM_COPROC_SHIFT 16
+
+/* Normal registers are mapped as coprocessor 16. */
+#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / sizeof(__u32))
+
+/* Some registers need more space to represent values. */
+#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00
+#define KVM_REG_ARM_DEMUX_ID_SHIFT 8
+#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT)
+#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF
+#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0
+
+/* AArch64 system registers */
+#define KVM_REG_ARM64_SYSREG (0x0013 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM64_SYSREG_OP0_MASK 0x000000000000c000
+#define KVM_REG_ARM64_SYSREG_OP0_SHIFT 14
+#define KVM_REG_ARM64_SYSREG_OP1_MASK 0x0000000000003800
+#define KVM_REG_ARM64_SYSREG_OP1_SHIFT 11
+#define KVM_REG_ARM64_SYSREG_CRN_MASK 0x0000000000000780
+#define KVM_REG_ARM64_SYSREG_CRN_SHIFT 7
+#define KVM_REG_ARM64_SYSREG_CRM_MASK 0x0000000000000078
+#define KVM_REG_ARM64_SYSREG_CRM_SHIFT 3
+#define KVM_REG_ARM64_SYSREG_OP2_MASK 0x0000000000000007
+#define KVM_REG_ARM64_SYSREG_OP2_SHIFT 0
+
+#define ARM64_SYS_REG_SHIFT_MASK(x,n) \
+ (((x) << KVM_REG_ARM64_SYSREG_ ## n ## _SHIFT) & \
+ KVM_REG_ARM64_SYSREG_ ## n ## _MASK)
+
+#define __ARM64_SYS_REG(op0,op1,crn,crm,op2) \
+ (KVM_REG_ARM64 | KVM_REG_ARM64_SYSREG | \
+ ARM64_SYS_REG_SHIFT_MASK(op0, OP0) | \
+ ARM64_SYS_REG_SHIFT_MASK(op1, OP1) | \
+ ARM64_SYS_REG_SHIFT_MASK(crn, CRN) | \
+ ARM64_SYS_REG_SHIFT_MASK(crm, CRM) | \
+ ARM64_SYS_REG_SHIFT_MASK(op2, OP2))
+
+#define ARM64_SYS_REG(...) (__ARM64_SYS_REG(__VA_ARGS__) | KVM_REG_SIZE_U64)
+
+/* Physical Timer EL0 Registers */
+#define KVM_REG_ARM_PTIMER_CTL ARM64_SYS_REG(3, 3, 14, 2, 1)
+#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2)
+#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1)
+
+/* EL0 Virtual Timer Registers */
+#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
+#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
+#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
+
+/* KVM-as-firmware specific pseudo-registers */
+#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
+ KVM_REG_ARM_FW | ((r) & 0xffff))
+#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
+
+/* Device Control API: ARM VGIC */
+#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
+#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
+#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
+#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32
+#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
+#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
+#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
+ (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
+#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0
+#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
+#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
+#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3
+#define KVM_DEV_ARM_VGIC_GRP_CTRL 4
+#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
+#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
+#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7
+#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
+ (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
+#define VGIC_LEVEL_INFO_LINE_LEVEL 0
+
+#define KVM_DEV_ARM_VGIC_CTRL_INIT 0
+#define KVM_DEV_ARM_ITS_SAVE_TABLES 1
+#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2
+#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3
+#define KVM_DEV_ARM_ITS_CTRL_RESET 4
+
+/* Device Control API on vcpu fd */
+#define KVM_ARM_VCPU_PMU_V3_CTRL 0
+#define KVM_ARM_VCPU_PMU_V3_IRQ 0
+#define KVM_ARM_VCPU_PMU_V3_INIT 1
+#define KVM_ARM_VCPU_TIMER_CTRL 1
+#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
+#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
+
+/* KVM_IRQ_LINE irq field index values */
+#define KVM_ARM_IRQ_TYPE_SHIFT 24
+#define KVM_ARM_IRQ_TYPE_MASK 0xff
+#define KVM_ARM_IRQ_VCPU_SHIFT 16
+#define KVM_ARM_IRQ_VCPU_MASK 0xff
+#define KVM_ARM_IRQ_NUM_SHIFT 0
+#define KVM_ARM_IRQ_NUM_MASK 0xffff
+
+/* irq_type field */
+#define KVM_ARM_IRQ_TYPE_CPU 0
+#define KVM_ARM_IRQ_TYPE_SPI 1
+#define KVM_ARM_IRQ_TYPE_PPI 2
+
+/* out-of-kernel GIC cpu interrupt injection irq_number field */
+#define KVM_ARM_IRQ_CPU_IRQ 0
+#define KVM_ARM_IRQ_CPU_FIQ 1
+
+/*
+ * This used to hold the highest supported SPI, but it is now obsolete
+ * and only here to provide source code level compatibility with older
+ * userland. The highest SPI number can be set via KVM_DEV_ARM_VGIC_GRP_NR_IRQS.
+ */
+#define KVM_ARM_IRQ_GIC_MAX 127
+
+/* One single KVM irqchip, ie. the VGIC */
+#define KVM_NR_IRQCHIPS 1
+
+/* PSCI interface */
+#define KVM_PSCI_FN_BASE 0x95c1ba5e
+#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n))
+
+#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0)
+#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1)
+#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2)
+#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3)
+
+#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS
+#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED
+#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS
+#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
+
+#endif
+
+#endif /* __ARM_KVM_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/kvm_para.h b/libc/include/aarch64-linux-any/asm/kvm_para.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2f15b84b87bb8f05a5873d2193b153b142f792b
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/kvm_para.h
@@ -0,0 +1 @@
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/param.h b/libc/include/aarch64-linux-any/asm/param.h
new file mode 100644
index 0000000000000000000000000000000000000000..f58c021601fedff10bb342e7caa188111f328e43
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/param.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_PARAM_H
+#define __ASM_PARAM_H
+
+#define EXEC_PAGESIZE 65536
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/perf_regs.h b/libc/include/aarch64-linux-any/asm/perf_regs.h
new file mode 100644
index 0000000000000000000000000000000000000000..d63b945af5a0252dcacee51f670e543c25d178d3
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/perf_regs.h
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_ARM64_PERF_REGS_H
+#define _ASM_ARM64_PERF_REGS_H
+
+enum perf_event_arm_regs {
+ PERF_REG_ARM64_X0,
+ PERF_REG_ARM64_X1,
+ PERF_REG_ARM64_X2,
+ PERF_REG_ARM64_X3,
+ PERF_REG_ARM64_X4,
+ PERF_REG_ARM64_X5,
+ PERF_REG_ARM64_X6,
+ PERF_REG_ARM64_X7,
+ PERF_REG_ARM64_X8,
+ PERF_REG_ARM64_X9,
+ PERF_REG_ARM64_X10,
+ PERF_REG_ARM64_X11,
+ PERF_REG_ARM64_X12,
+ PERF_REG_ARM64_X13,
+ PERF_REG_ARM64_X14,
+ PERF_REG_ARM64_X15,
+ PERF_REG_ARM64_X16,
+ PERF_REG_ARM64_X17,
+ PERF_REG_ARM64_X18,
+ PERF_REG_ARM64_X19,
+ PERF_REG_ARM64_X20,
+ PERF_REG_ARM64_X21,
+ PERF_REG_ARM64_X22,
+ PERF_REG_ARM64_X23,
+ PERF_REG_ARM64_X24,
+ PERF_REG_ARM64_X25,
+ PERF_REG_ARM64_X26,
+ PERF_REG_ARM64_X27,
+ PERF_REG_ARM64_X28,
+ PERF_REG_ARM64_X29,
+ PERF_REG_ARM64_LR,
+ PERF_REG_ARM64_SP,
+ PERF_REG_ARM64_PC,
+ PERF_REG_ARM64_MAX,
+};
+#endif /* _ASM_ARM64_PERF_REGS_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/posix_types.h b/libc/include/aarch64-linux-any/asm/posix_types.h
new file mode 100644
index 0000000000000000000000000000000000000000..b20f985d3a9fdbeb759ded61119791034ec75b48
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/posix_types.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_POSIX_TYPES_H
+#define __ASM_POSIX_TYPES_H
+
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+#define __kernel_old_uid_t __kernel_old_uid_t
+
+#include
+
+#endif /* __ASM_POSIX_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/ptrace.h b/libc/include/aarch64-linux-any/asm/ptrace.h
new file mode 100644
index 0000000000000000000000000000000000000000..e866145891a7e24443fc9ddce91e8b1c22dc91fd
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/ptrace.h
@@ -0,0 +1,233 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Based on arch/arm/include/asm/ptrace.h
+ *
+ * Copyright (C) 1996-2003 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_PTRACE_H
+#define __ASM_PTRACE_H
+
+#include
+
+#include
+#include
+
+
+/*
+ * PSR bits
+ */
+#define PSR_MODE_EL0t 0x00000000
+#define PSR_MODE_EL1t 0x00000004
+#define PSR_MODE_EL1h 0x00000005
+#define PSR_MODE_EL2t 0x00000008
+#define PSR_MODE_EL2h 0x00000009
+#define PSR_MODE_EL3t 0x0000000c
+#define PSR_MODE_EL3h 0x0000000d
+#define PSR_MODE_MASK 0x0000000f
+
+/* AArch32 CPSR bits */
+#define PSR_MODE32_BIT 0x00000010
+
+/* AArch64 SPSR bits */
+#define PSR_F_BIT 0x00000040
+#define PSR_I_BIT 0x00000080
+#define PSR_A_BIT 0x00000100
+#define PSR_D_BIT 0x00000200
+#define PSR_PAN_BIT 0x00400000
+#define PSR_UAO_BIT 0x00800000
+#define PSR_V_BIT 0x10000000
+#define PSR_C_BIT 0x20000000
+#define PSR_Z_BIT 0x40000000
+#define PSR_N_BIT 0x80000000
+
+/*
+ * Groups of PSR bits
+ */
+#define PSR_f 0xff000000 /* Flags */
+#define PSR_s 0x00ff0000 /* Status */
+#define PSR_x 0x0000ff00 /* Extension */
+#define PSR_c 0x000000ff /* Control */
+
+
+#ifndef __ASSEMBLY__
+
+#include
+
+/*
+ * User structures for general purpose, floating point and debug registers.
+ */
+struct user_pt_regs {
+ __u64 regs[31];
+ __u64 sp;
+ __u64 pc;
+ __u64 pstate;
+};
+
+struct user_fpsimd_state {
+ __uint128_t vregs[32];
+ __u32 fpsr;
+ __u32 fpcr;
+ __u32 __reserved[2];
+};
+
+struct user_hwdebug_state {
+ __u32 dbg_info;
+ __u32 pad;
+ struct {
+ __u64 addr;
+ __u32 ctrl;
+ __u32 pad;
+ } dbg_regs[16];
+};
+
+/* SVE/FP/SIMD state (NT_ARM_SVE) */
+
+struct user_sve_header {
+ __u32 size; /* total meaningful regset content in bytes */
+ __u32 max_size; /* maxmium possible size for this thread */
+ __u16 vl; /* current vector length */
+ __u16 max_vl; /* maximum possible vector length */
+ __u16 flags;
+ __u16 __reserved;
+};
+
+/* Definitions for user_sve_header.flags: */
+#define SVE_PT_REGS_MASK (1 << 0)
+
+#define SVE_PT_REGS_FPSIMD 0
+#define SVE_PT_REGS_SVE SVE_PT_REGS_MASK
+
+/*
+ * Common SVE_PT_* flags:
+ * These must be kept in sync with prctl interface in
+ */
+#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16)
+#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16)
+
+
+/*
+ * The remainder of the SVE state follows struct user_sve_header. The
+ * total size of the SVE state (including header) depends on the
+ * metadata in the header: SVE_PT_SIZE(vq, flags) gives the total size
+ * of the state in bytes, including the header.
+ *
+ * Refer to for details of how to pass the correct
+ * "vq" argument to these macros.
+ */
+
+/* Offset from the start of struct user_sve_header to the register data */
+#define SVE_PT_REGS_OFFSET \
+ ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+/*
+ * The register data content and layout depends on the value of the
+ * flags field.
+ */
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD case:
+ *
+ * The payload starts at offset SVE_PT_FPSIMD_OFFSET, and is of type
+ * struct user_fpsimd_state. Additional data might be appended in the
+ * future: use SVE_PT_FPSIMD_SIZE(vq, flags) to compute the total size.
+ * SVE_PT_FPSIMD_SIZE(vq, flags) will never be less than
+ * sizeof(struct user_fpsimd_state).
+ */
+
+#define SVE_PT_FPSIMD_OFFSET SVE_PT_REGS_OFFSET
+
+#define SVE_PT_FPSIMD_SIZE(vq, flags) (sizeof(struct user_fpsimd_state))
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE case:
+ *
+ * The payload starts at offset SVE_PT_SVE_OFFSET, and is of size
+ * SVE_PT_SVE_SIZE(vq, flags).
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_PT_SVE_x_OFFSET(args) is the start offset relative to
+ * the start of struct user_sve_header, and SVE_PT_SVE_x_SIZE(args) is
+ * the size in bytes:
+ *
+ * x type description
+ * - ---- -----------
+ * ZREGS \
+ * ZREG |
+ * PREGS | refer to
+ * PREG |
+ * FFR /
+ *
+ * FPSR uint32_t FPSR
+ * FPCR uint32_t FPCR
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq)
+#define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
+#define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq)
+#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32)
+#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32)
+
+#define __SVE_SIG_TO_PT(offset) \
+ ((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
+
+#define SVE_PT_SVE_OFFSET SVE_PT_REGS_OFFSET
+
+#define SVE_PT_SVE_ZREGS_OFFSET \
+ __SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
+#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
+ __SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
+#define SVE_PT_SVE_ZREGS_SIZE(vq) \
+ (SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
+
+#define SVE_PT_SVE_PREGS_OFFSET(vq) \
+ __SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
+#define SVE_PT_SVE_PREG_OFFSET(vq, n) \
+ __SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
+#define SVE_PT_SVE_PREGS_SIZE(vq) \
+ (SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
+ SVE_PT_SVE_PREGS_OFFSET(vq))
+
+#define SVE_PT_SVE_FFR_OFFSET(vq) \
+ __SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
+
+#define SVE_PT_SVE_FPSR_OFFSET(vq) \
+ ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \
+ (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+#define SVE_PT_SVE_FPCR_OFFSET(vq) \
+ (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
+
+/*
+ * Any future extension appended after FPCR must be aligned to the next
+ * 128-bit boundary.
+ */
+
+#define SVE_PT_SVE_SIZE(vq, flags) \
+ ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \
+ - SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_PT_SIZE(vq, flags) \
+ (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ? \
+ SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags) \
+ : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_PTRACE_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/setup.h b/libc/include/aarch64-linux-any/asm/setup.h
new file mode 100644
index 0000000000000000000000000000000000000000..32e442aba7cfe229940f334797836c878fd2272b
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/setup.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Based on arch/arm/include/asm/setup.h
+ *
+ * Copyright (C) 1997-1999 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SETUP_H
+#define __ASM_SETUP_H
+
+#include
+
+#define COMMAND_LINE_SIZE 2048
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/sigcontext.h b/libc/include/aarch64-linux-any/asm/sigcontext.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb6f272747a252388a8d073dd00e29f6ca376cec
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/sigcontext.h
@@ -0,0 +1,238 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGCONTEXT_H
+#define __ASM_SIGCONTEXT_H
+
+#ifndef __ASSEMBLY__
+
+#include
+
+/*
+ * Signal context structure - contains all info to do with the state
+ * before the signal handler was invoked.
+ */
+struct sigcontext {
+ __u64 fault_address;
+ /* AArch64 registers */
+ __u64 regs[31];
+ __u64 sp;
+ __u64 pc;
+ __u64 pstate;
+ /* 4K reserved for FP/SIMD state and future expansion */
+ __u8 __reserved[4096] __attribute__((__aligned__(16)));
+};
+
+/*
+ * Allocation of __reserved[]:
+ * (Note: records do not necessarily occur in the order shown here.)
+ *
+ * size description
+ *
+ * 0x210 fpsimd_context
+ * 0x10 esr_context
+ * 0x8a0 sve_context (vl <= 64) (optional)
+ * 0x20 extra_context (optional)
+ * 0x10 terminator (null _aarch64_ctx)
+ *
+ * 0x510 (reserved for future allocation)
+ *
+ * New records that can exceed this space need to be opt-in for userspace, so
+ * that an expanded signal frame is not generated unexpectedly. The mechanism
+ * for opting in will depend on the extension that generates each new record.
+ * The above table documents the maximum set and sizes of records than can be
+ * generated when userspace does not opt in for any such extension.
+ */
+
+/*
+ * Header to be used at the beginning of structures extending the user
+ * context. Such structures must be placed after the rt_sigframe on the stack
+ * and be 16-byte aligned. The last structure must be a dummy one with the
+ * magic and size set to 0.
+ */
+struct _aarch64_ctx {
+ __u32 magic;
+ __u32 size;
+};
+
+#define FPSIMD_MAGIC 0x46508001
+
+struct fpsimd_context {
+ struct _aarch64_ctx head;
+ __u32 fpsr;
+ __u32 fpcr;
+ __uint128_t vregs[32];
+};
+
+/* ESR_EL1 context */
+#define ESR_MAGIC 0x45535201
+
+struct esr_context {
+ struct _aarch64_ctx head;
+ __u64 esr;
+};
+
+/*
+ * extra_context: describes extra space in the signal frame for
+ * additional structures that don't fit in sigcontext.__reserved[].
+ *
+ * Note:
+ *
+ * 1) fpsimd_context, esr_context and extra_context must be placed in
+ * sigcontext.__reserved[] if present. They cannot be placed in the
+ * extra space. Any other record can be placed either in the extra
+ * space or in sigcontext.__reserved[], unless otherwise specified in
+ * this file.
+ *
+ * 2) There must not be more than one extra_context.
+ *
+ * 3) If extra_context is present, it must be followed immediately in
+ * sigcontext.__reserved[] by the terminating null _aarch64_ctx.
+ *
+ * 4) The extra space to which datap points must start at the first
+ * 16-byte aligned address immediately after the terminating null
+ * _aarch64_ctx that follows the extra_context structure in
+ * __reserved[]. The extra space may overrun the end of __reserved[],
+ * as indicated by a sufficiently large value for the size field.
+ *
+ * 5) The extra space must itself be terminated with a null
+ * _aarch64_ctx.
+ */
+#define EXTRA_MAGIC 0x45585401
+
+struct extra_context {
+ struct _aarch64_ctx head;
+ __u64 datap; /* 16-byte aligned pointer to extra space cast to __u64 */
+ __u32 size; /* size in bytes of the extra space */
+ __u32 __reserved[3];
+};
+
+#define SVE_MAGIC 0x53564501
+
+struct sve_context {
+ struct _aarch64_ctx head;
+ __u16 vl;
+ __u16 __reserved[3];
+};
+
+#endif /* !__ASSEMBLY__ */
+
+/*
+ * The SVE architecture leaves space for future expansion of the
+ * vector length beyond its initial architectural limit of 2048 bits
+ * (16 quadwords).
+ *
+ * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
+ * terminology.
+ */
+#define SVE_VQ_BYTES 16 /* number of bytes per quadword */
+
+#define SVE_VQ_MIN 1
+#define SVE_VQ_MAX 512
+
+#define SVE_VL_MIN (SVE_VQ_MIN * SVE_VQ_BYTES)
+#define SVE_VL_MAX (SVE_VQ_MAX * SVE_VQ_BYTES)
+
+#define SVE_NUM_ZREGS 32
+#define SVE_NUM_PREGS 16
+
+#define sve_vl_valid(vl) \
+ ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
+#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES)
+#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES)
+
+/*
+ * If the SVE registers are currently live for the thread at signal delivery,
+ * sve_context.head.size >=
+ * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl))
+ * and the register data may be accessed using the SVE_SIG_*() macros.
+ *
+ * If sve_context.head.size <
+ * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl)),
+ * the SVE registers were not live for the thread and no register data
+ * is included: in this case, the SVE_SIG_*() macros should not be
+ * used except for this check.
+ *
+ * The same convention applies when returning from a signal: a caller
+ * will need to remove or resize the sve_context block if it wants to
+ * make the SVE registers live when they were previously non-live or
+ * vice-versa. This may require the the caller to allocate fresh
+ * memory and/or move other context blocks in the signal frame.
+ *
+ * Changing the vector length during signal return is not permitted:
+ * sve_context.vl must equal the thread's current vector length when
+ * doing a sigreturn.
+ *
+ *
+ * Note: for all these macros, the "vq" argument denotes the SVE
+ * vector length in quadwords (i.e., units of 128 bits).
+ *
+ * The correct way to obtain vq is to use sve_vq_from_vl(vl). The
+ * result is valid if and only if sve_vl_valid(vl) is true. This is
+ * guaranteed for a struct sve_context written by the kernel.
+ *
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_SIG_x_OFFSET(args) is the start offset relative to
+ * the start of struct sve_context, and SVE_SIG_x_SIZE(args) is the
+ * size in bytes:
+ *
+ * x type description
+ * - ---- -----------
+ * REGS the entire SVE context
+ *
+ * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers
+ * ZREG __uint128_t[vq] individual Z-register Zn
+ *
+ * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers
+ * PREG uint16_t[vq] individual P-register Pn
+ *
+ * FFR uint16_t[vq] first-fault status register
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq) * SVE_VQ_BYTES)
+#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8))
+#define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
+
+#define SVE_SIG_REGS_OFFSET \
+ ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_SIG_ZREGS_OFFSET SVE_SIG_REGS_OFFSET
+#define SVE_SIG_ZREG_OFFSET(vq, n) \
+ (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
+#define SVE_SIG_ZREGS_SIZE(vq) \
+ (SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
+
+#define SVE_SIG_PREGS_OFFSET(vq) \
+ (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
+#define SVE_SIG_PREG_OFFSET(vq, n) \
+ (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
+#define SVE_SIG_PREGS_SIZE(vq) \
+ (SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
+
+#define SVE_SIG_FFR_OFFSET(vq) \
+ (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
+
+#define SVE_SIG_REGS_SIZE(vq) \
+ (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
+
+#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
+
+
+#endif /* __ASM_SIGCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/siginfo.h b/libc/include/aarch64-linux-any/asm/siginfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..0797d770776bd49fa65f1b36c4970d1554c740ca
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/siginfo.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGINFO_H
+#define __ASM_SIGINFO_H
+
+#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/signal.h b/libc/include/aarch64-linux-any/asm/signal.h
new file mode 100644
index 0000000000000000000000000000000000000000..167802d3a21a27f1da82fa64364d21d5bb4786aa
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/signal.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGNAL_H
+#define __ASM_SIGNAL_H
+
+/* Required for AArch32 compatibility. */
+#define SA_RESTORER 0x04000000
+
+#define MINSIGSTKSZ 5120
+#define SIGSTKSZ 16384
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/stat.h b/libc/include/aarch64-linux-any/asm/stat.h
new file mode 100644
index 0000000000000000000000000000000000000000..04e59c072eb2667dd5df2537d075a586b01aa9fc
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/stat.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/statfs.h b/libc/include/aarch64-linux-any/asm/statfs.h
new file mode 100644
index 0000000000000000000000000000000000000000..dfa2faa7db74670c39807c261970ff83aae76436
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/statfs.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_STATFS_H
+#define __ASM_STATFS_H
+
+#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/ucontext.h b/libc/include/aarch64-linux-any/asm/ucontext.h
new file mode 100644
index 0000000000000000000000000000000000000000..87f00793b319167c3d67192961f02caaee33e7d5
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/ucontext.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_UCONTEXT_H
+#define __ASM_UCONTEXT_H
+
+#include
+
+struct ucontext {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ sigset_t uc_sigmask;
+ /* glibc uses a 1024-bit sigset_t */
+ __u8 __unused[1024 / 8 - sizeof(sigset_t)];
+ /* last for future expansion */
+ struct sigcontext uc_mcontext;
+};
+
+#endif /* __ASM_UCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-any/asm/unistd.h b/libc/include/aarch64-linux-any/asm/unistd.h
new file mode 100644
index 0000000000000000000000000000000000000000..198e1aa8f62af4ad653754cf8b27182f1b296b7a
--- /dev/null
+++ b/libc/include/aarch64-linux-any/asm/unistd.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#define __ARCH_WANT_RENAMEAT
+
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-gnu/asm/bitsperlong.h b/libc/include/aarch64-linux-gnu/asm/bitsperlong.h
deleted file mode 100644
index 485d60bee26ca313ad15797f230efe10072befc9..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-gnu/asm/bitsperlong.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BITSPERLONG_H
-#define __ASM_BITSPERLONG_H
-
-#define __BITS_PER_LONG 64
-
-#include
-
-#endif /* __ASM_BITSPERLONG_H */
diff --git a/libc/include/aarch64-linux-gnu/asm/unistd.h b/libc/include/aarch64-linux-gnu/asm/unistd.h
deleted file mode 100644
index dae1584cf017f6aa311a5b78c3311b0bf55c2b18..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-gnu/asm/unistd.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#define __ARCH_WANT_RENAMEAT
-#define __ARCH_WANT_NEW_STAT
-
-#include
diff --git a/libc/include/aarch64-linux-musleabi/asm/auxvec.h b/libc/include/aarch64-linux-musleabi/asm/auxvec.h
deleted file mode 100644
index 9a290cde8d34bcc2508e83735fe3d450c1164ebd..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/auxvec.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_AUXVEC_H
-#define __ASM_AUXVEC_H
-
-/* vDSO location */
-#define AT_SYSINFO_EHDR 33
-#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
-
-#define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/bitsperlong.h b/libc/include/aarch64-linux-musleabi/asm/bitsperlong.h
deleted file mode 100644
index 0f94175240774f2fea25055c0595a50ae4dee399..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/bitsperlong.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BITSPERLONG_H
-#define __ASM_BITSPERLONG_H
-
-#define __BITS_PER_LONG 64
-
-#include
-
-#endif /* __ASM_BITSPERLONG_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/bpf_perf_event.h b/libc/include/aarch64-linux-musleabi/asm/bpf_perf_event.h
deleted file mode 100644
index 7d95d35c3657766d1bcebf94bc9225292e440d05..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/bpf_perf_event.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_BPF_PERF_EVENT_H__
-#define __ASM_BPF_PERF_EVENT_H__
-
-#include
-
-typedef struct user_pt_regs bpf_user_pt_regs_t;
-
-#endif /* __ASM_BPF_PERF_EVENT_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/byteorder.h b/libc/include/aarch64-linux-musleabi/asm/byteorder.h
deleted file mode 100644
index 6acd73fbc51cf01adc5e39a7ab23fa3c4150f6af..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/byteorder.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BYTEORDER_H
-#define __ASM_BYTEORDER_H
-
-#ifdef __AARCH64EB__
-#include
-#else
-#include
-#endif
-
-#endif /* __ASM_BYTEORDER_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/fcntl.h b/libc/include/aarch64-linux-musleabi/asm/fcntl.h
deleted file mode 100644
index 9473344a3f432ea322b626856fb63db875c7a487..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/fcntl.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_FCNTL_H
-#define __ASM_FCNTL_H
-
-/*
- * Using our own definitions for AArch32 (compat) support.
- */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0400000
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/hwcap.h b/libc/include/aarch64-linux-musleabi/asm/hwcap.h
deleted file mode 100644
index 53c37e3da6208f3b0a3a10348bb56ff9ae7fec2f..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/hwcap.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_HWCAP_H
-#define __ASM_HWCAP_H
-
-/*
- * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
- */
-#define HWCAP_FP (1 << 0)
-#define HWCAP_ASIMD (1 << 1)
-#define HWCAP_EVTSTRM (1 << 2)
-#define HWCAP_AES (1 << 3)
-#define HWCAP_PMULL (1 << 4)
-#define HWCAP_SHA1 (1 << 5)
-#define HWCAP_SHA2 (1 << 6)
-#define HWCAP_CRC32 (1 << 7)
-#define HWCAP_ATOMICS (1 << 8)
-#define HWCAP_FPHP (1 << 9)
-#define HWCAP_ASIMDHP (1 << 10)
-#define HWCAP_CPUID (1 << 11)
-#define HWCAP_ASIMDRDM (1 << 12)
-#define HWCAP_JSCVT (1 << 13)
-#define HWCAP_FCMA (1 << 14)
-#define HWCAP_LRCPC (1 << 15)
-#define HWCAP_DCPOP (1 << 16)
-#define HWCAP_SHA3 (1 << 17)
-#define HWCAP_SM3 (1 << 18)
-#define HWCAP_SM4 (1 << 19)
-#define HWCAP_ASIMDDP (1 << 20)
-#define HWCAP_SHA512 (1 << 21)
-#define HWCAP_SVE (1 << 22)
-#define HWCAP_ASIMDFHM (1 << 23)
-#define HWCAP_DIT (1 << 24)
-#define HWCAP_USCAT (1 << 25)
-#define HWCAP_ILRCPC (1 << 26)
-#define HWCAP_FLAGM (1 << 27)
-
-#endif /* __ASM_HWCAP_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/kvm.h b/libc/include/aarch64-linux-musleabi/asm/kvm.h
deleted file mode 100644
index 5d0fc926657e08a5ddffd3894bffe8fc60e5c917..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/kvm.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012,2013 - ARM Ltd
- * Author: Marc Zyngier
- *
- * Derived from arch/arm/include/uapi/asm/kvm.h:
- * Copyright (C) 2012 - Virtual Open Systems and Columbia University
- * Author: Christoffer Dall
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef __ARM_KVM_H__
-#define __ARM_KVM_H__
-
-#define KVM_SPSR_EL1 0
-#define KVM_SPSR_SVC KVM_SPSR_EL1
-#define KVM_SPSR_ABT 1
-#define KVM_SPSR_UND 2
-#define KVM_SPSR_IRQ 3
-#define KVM_SPSR_FIQ 4
-#define KVM_NR_SPSR 5
-
-#ifndef __ASSEMBLY__
-#include
-#include
-#include
-
-#define __KVM_HAVE_GUEST_DEBUG
-#define __KVM_HAVE_IRQ_LINE
-#define __KVM_HAVE_READONLY_MEM
-#define __KVM_HAVE_VCPU_EVENTS
-
-#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
-
-#define KVM_REG_SIZE(id) \
- (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT))
-
-struct kvm_regs {
- struct user_pt_regs regs; /* sp = sp_el0 */
-
- __u64 sp_el1;
- __u64 elr_el1;
-
- __u64 spsr[KVM_NR_SPSR];
-
- struct user_fpsimd_state fp_regs;
-};
-
-/*
- * Supported CPU Targets - Adding a new target type is not recommended,
- * unless there are some special registers not supported by the
- * genericv8 syreg table.
- */
-#define KVM_ARM_TARGET_AEM_V8 0
-#define KVM_ARM_TARGET_FOUNDATION_V8 1
-#define KVM_ARM_TARGET_CORTEX_A57 2
-#define KVM_ARM_TARGET_XGENE_POTENZA 3
-#define KVM_ARM_TARGET_CORTEX_A53 4
-/* Generic ARM v8 target */
-#define KVM_ARM_TARGET_GENERIC_V8 5
-
-#define KVM_ARM_NUM_TARGETS 6
-
-/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
-#define KVM_ARM_DEVICE_TYPE_SHIFT 0
-#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT)
-#define KVM_ARM_DEVICE_ID_SHIFT 16
-#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT)
-
-/* Supported device IDs */
-#define KVM_ARM_DEVICE_VGIC_V2 0
-
-/* Supported VGIC address types */
-#define KVM_VGIC_V2_ADDR_TYPE_DIST 0
-#define KVM_VGIC_V2_ADDR_TYPE_CPU 1
-
-#define KVM_VGIC_V2_DIST_SIZE 0x1000
-#define KVM_VGIC_V2_CPU_SIZE 0x2000
-
-/* Supported VGICv3 address types */
-#define KVM_VGIC_V3_ADDR_TYPE_DIST 2
-#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3
-#define KVM_VGIC_ITS_ADDR_TYPE 4
-#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5
-
-#define KVM_VGIC_V3_DIST_SIZE SZ_64K
-#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K)
-#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K)
-
-#define KVM_ARM_VCPU_POWER_OFF 0 /* CPU is started in OFF state */
-#define KVM_ARM_VCPU_EL1_32BIT 1 /* CPU running a 32bit VM */
-#define KVM_ARM_VCPU_PSCI_0_2 2 /* CPU uses PSCI v0.2 */
-#define KVM_ARM_VCPU_PMU_V3 3 /* Support guest PMUv3 */
-
-struct kvm_vcpu_init {
- __u32 target;
- __u32 features[7];
-};
-
-struct kvm_sregs {
-};
-
-struct kvm_fpu {
-};
-
-/*
- * See v8 ARM ARM D7.3: Debug Registers
- *
- * The architectural limit is 16 debug registers of each type although
- * in practice there are usually less (see ID_AA64DFR0_EL1).
- *
- * Although the control registers are architecturally defined as 32
- * bits wide we use a 64 bit structure here to keep parity with
- * KVM_GET/SET_ONE_REG behaviour which treats all system registers as
- * 64 bit values. It also allows for the possibility of the
- * architecture expanding the control registers without having to
- * change the userspace ABI.
- */
-#define KVM_ARM_MAX_DBG_REGS 16
-struct kvm_guest_debug_arch {
- __u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
-};
-
-struct kvm_debug_exit_arch {
- __u32 hsr;
- __u64 far; /* used for watchpoints */
-};
-
-/*
- * Architecture specific defines for kvm_guest_debug->control
- */
-
-#define KVM_GUESTDBG_USE_SW_BP (1 << 16)
-#define KVM_GUESTDBG_USE_HW (1 << 17)
-
-struct kvm_sync_regs {
- /* Used with KVM_CAP_ARM_USER_IRQ */
- __u64 device_irq_level;
-};
-
-struct kvm_arch_memory_slot {
-};
-
-/* for KVM_GET/SET_VCPU_EVENTS */
-struct kvm_vcpu_events {
- struct {
- __u8 serror_pending;
- __u8 serror_has_esr;
- /* Align it to 8 bytes */
- __u8 pad[6];
- __u64 serror_esr;
- } exception;
- __u32 reserved[12];
-};
-
-/* If you need to interpret the index values, here is the key: */
-#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
-#define KVM_REG_ARM_COPROC_SHIFT 16
-
-/* Normal registers are mapped as coprocessor 16. */
-#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / sizeof(__u32))
-
-/* Some registers need more space to represent values. */
-#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00
-#define KVM_REG_ARM_DEMUX_ID_SHIFT 8
-#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT)
-#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF
-#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0
-
-/* AArch64 system registers */
-#define KVM_REG_ARM64_SYSREG (0x0013 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM64_SYSREG_OP0_MASK 0x000000000000c000
-#define KVM_REG_ARM64_SYSREG_OP0_SHIFT 14
-#define KVM_REG_ARM64_SYSREG_OP1_MASK 0x0000000000003800
-#define KVM_REG_ARM64_SYSREG_OP1_SHIFT 11
-#define KVM_REG_ARM64_SYSREG_CRN_MASK 0x0000000000000780
-#define KVM_REG_ARM64_SYSREG_CRN_SHIFT 7
-#define KVM_REG_ARM64_SYSREG_CRM_MASK 0x0000000000000078
-#define KVM_REG_ARM64_SYSREG_CRM_SHIFT 3
-#define KVM_REG_ARM64_SYSREG_OP2_MASK 0x0000000000000007
-#define KVM_REG_ARM64_SYSREG_OP2_SHIFT 0
-
-#define ARM64_SYS_REG_SHIFT_MASK(x,n) \
- (((x) << KVM_REG_ARM64_SYSREG_ ## n ## _SHIFT) & \
- KVM_REG_ARM64_SYSREG_ ## n ## _MASK)
-
-#define __ARM64_SYS_REG(op0,op1,crn,crm,op2) \
- (KVM_REG_ARM64 | KVM_REG_ARM64_SYSREG | \
- ARM64_SYS_REG_SHIFT_MASK(op0, OP0) | \
- ARM64_SYS_REG_SHIFT_MASK(op1, OP1) | \
- ARM64_SYS_REG_SHIFT_MASK(crn, CRN) | \
- ARM64_SYS_REG_SHIFT_MASK(crm, CRM) | \
- ARM64_SYS_REG_SHIFT_MASK(op2, OP2))
-
-#define ARM64_SYS_REG(...) (__ARM64_SYS_REG(__VA_ARGS__) | KVM_REG_SIZE_U64)
-
-/* Physical Timer EL0 Registers */
-#define KVM_REG_ARM_PTIMER_CTL ARM64_SYS_REG(3, 3, 14, 2, 1)
-#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2)
-#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1)
-
-/* EL0 Virtual Timer Registers */
-#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
-#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
-#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
-
-/* KVM-as-firmware specific pseudo-registers */
-#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
- KVM_REG_ARM_FW | ((r) & 0xffff))
-#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
-
-/* Device Control API: ARM VGIC */
-#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
-#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
-#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
-#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32
-#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
-#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
-#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
- (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
-#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0
-#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
-#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
-#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3
-#define KVM_DEV_ARM_VGIC_GRP_CTRL 4
-#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
-#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
-#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7
-#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
- (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
-#define VGIC_LEVEL_INFO_LINE_LEVEL 0
-
-#define KVM_DEV_ARM_VGIC_CTRL_INIT 0
-#define KVM_DEV_ARM_ITS_SAVE_TABLES 1
-#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2
-#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3
-#define KVM_DEV_ARM_ITS_CTRL_RESET 4
-
-/* Device Control API on vcpu fd */
-#define KVM_ARM_VCPU_PMU_V3_CTRL 0
-#define KVM_ARM_VCPU_PMU_V3_IRQ 0
-#define KVM_ARM_VCPU_PMU_V3_INIT 1
-#define KVM_ARM_VCPU_TIMER_CTRL 1
-#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
-#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
-
-/* KVM_IRQ_LINE irq field index values */
-#define KVM_ARM_IRQ_TYPE_SHIFT 24
-#define KVM_ARM_IRQ_TYPE_MASK 0xff
-#define KVM_ARM_IRQ_VCPU_SHIFT 16
-#define KVM_ARM_IRQ_VCPU_MASK 0xff
-#define KVM_ARM_IRQ_NUM_SHIFT 0
-#define KVM_ARM_IRQ_NUM_MASK 0xffff
-
-/* irq_type field */
-#define KVM_ARM_IRQ_TYPE_CPU 0
-#define KVM_ARM_IRQ_TYPE_SPI 1
-#define KVM_ARM_IRQ_TYPE_PPI 2
-
-/* out-of-kernel GIC cpu interrupt injection irq_number field */
-#define KVM_ARM_IRQ_CPU_IRQ 0
-#define KVM_ARM_IRQ_CPU_FIQ 1
-
-/*
- * This used to hold the highest supported SPI, but it is now obsolete
- * and only here to provide source code level compatibility with older
- * userland. The highest SPI number can be set via KVM_DEV_ARM_VGIC_GRP_NR_IRQS.
- */
-#define KVM_ARM_IRQ_GIC_MAX 127
-
-/* One single KVM irqchip, ie. the VGIC */
-#define KVM_NR_IRQCHIPS 1
-
-/* PSCI interface */
-#define KVM_PSCI_FN_BASE 0x95c1ba5e
-#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n))
-
-#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0)
-#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1)
-#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2)
-#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3)
-
-#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS
-#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED
-#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS
-#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
-
-#endif
-
-#endif /* __ARM_KVM_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/kvm_para.h b/libc/include/aarch64-linux-musleabi/asm/kvm_para.h
deleted file mode 100644
index a2f15b84b87bb8f05a5873d2193b153b142f792b..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/kvm_para.h
+++ /dev/null
@@ -1 +0,0 @@
-#include
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/param.h b/libc/include/aarch64-linux-musleabi/asm/param.h
deleted file mode 100644
index f58c021601fedff10bb342e7caa188111f328e43..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/param.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_PARAM_H
-#define __ASM_PARAM_H
-
-#define EXEC_PAGESIZE 65536
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/perf_regs.h b/libc/include/aarch64-linux-musleabi/asm/perf_regs.h
deleted file mode 100644
index d63b945af5a0252dcacee51f670e543c25d178d3..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/perf_regs.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _ASM_ARM64_PERF_REGS_H
-#define _ASM_ARM64_PERF_REGS_H
-
-enum perf_event_arm_regs {
- PERF_REG_ARM64_X0,
- PERF_REG_ARM64_X1,
- PERF_REG_ARM64_X2,
- PERF_REG_ARM64_X3,
- PERF_REG_ARM64_X4,
- PERF_REG_ARM64_X5,
- PERF_REG_ARM64_X6,
- PERF_REG_ARM64_X7,
- PERF_REG_ARM64_X8,
- PERF_REG_ARM64_X9,
- PERF_REG_ARM64_X10,
- PERF_REG_ARM64_X11,
- PERF_REG_ARM64_X12,
- PERF_REG_ARM64_X13,
- PERF_REG_ARM64_X14,
- PERF_REG_ARM64_X15,
- PERF_REG_ARM64_X16,
- PERF_REG_ARM64_X17,
- PERF_REG_ARM64_X18,
- PERF_REG_ARM64_X19,
- PERF_REG_ARM64_X20,
- PERF_REG_ARM64_X21,
- PERF_REG_ARM64_X22,
- PERF_REG_ARM64_X23,
- PERF_REG_ARM64_X24,
- PERF_REG_ARM64_X25,
- PERF_REG_ARM64_X26,
- PERF_REG_ARM64_X27,
- PERF_REG_ARM64_X28,
- PERF_REG_ARM64_X29,
- PERF_REG_ARM64_LR,
- PERF_REG_ARM64_SP,
- PERF_REG_ARM64_PC,
- PERF_REG_ARM64_MAX,
-};
-#endif /* _ASM_ARM64_PERF_REGS_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/posix_types.h b/libc/include/aarch64-linux-musleabi/asm/posix_types.h
deleted file mode 100644
index b20f985d3a9fdbeb759ded61119791034ec75b48..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/posix_types.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __ASM_POSIX_TYPES_H
-#define __ASM_POSIX_TYPES_H
-
-typedef unsigned short __kernel_old_uid_t;
-typedef unsigned short __kernel_old_gid_t;
-#define __kernel_old_uid_t __kernel_old_uid_t
-
-#include
-
-#endif /* __ASM_POSIX_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/ptrace.h b/libc/include/aarch64-linux-musleabi/asm/ptrace.h
deleted file mode 100644
index e866145891a7e24443fc9ddce91e8b1c22dc91fd..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/ptrace.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Based on arch/arm/include/asm/ptrace.h
- *
- * Copyright (C) 1996-2003 Russell King
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_PTRACE_H
-#define __ASM_PTRACE_H
-
-#include
-
-#include
-#include
-
-
-/*
- * PSR bits
- */
-#define PSR_MODE_EL0t 0x00000000
-#define PSR_MODE_EL1t 0x00000004
-#define PSR_MODE_EL1h 0x00000005
-#define PSR_MODE_EL2t 0x00000008
-#define PSR_MODE_EL2h 0x00000009
-#define PSR_MODE_EL3t 0x0000000c
-#define PSR_MODE_EL3h 0x0000000d
-#define PSR_MODE_MASK 0x0000000f
-
-/* AArch32 CPSR bits */
-#define PSR_MODE32_BIT 0x00000010
-
-/* AArch64 SPSR bits */
-#define PSR_F_BIT 0x00000040
-#define PSR_I_BIT 0x00000080
-#define PSR_A_BIT 0x00000100
-#define PSR_D_BIT 0x00000200
-#define PSR_PAN_BIT 0x00400000
-#define PSR_UAO_BIT 0x00800000
-#define PSR_V_BIT 0x10000000
-#define PSR_C_BIT 0x20000000
-#define PSR_Z_BIT 0x40000000
-#define PSR_N_BIT 0x80000000
-
-/*
- * Groups of PSR bits
- */
-#define PSR_f 0xff000000 /* Flags */
-#define PSR_s 0x00ff0000 /* Status */
-#define PSR_x 0x0000ff00 /* Extension */
-#define PSR_c 0x000000ff /* Control */
-
-
-#ifndef __ASSEMBLY__
-
-#include
-
-/*
- * User structures for general purpose, floating point and debug registers.
- */
-struct user_pt_regs {
- __u64 regs[31];
- __u64 sp;
- __u64 pc;
- __u64 pstate;
-};
-
-struct user_fpsimd_state {
- __uint128_t vregs[32];
- __u32 fpsr;
- __u32 fpcr;
- __u32 __reserved[2];
-};
-
-struct user_hwdebug_state {
- __u32 dbg_info;
- __u32 pad;
- struct {
- __u64 addr;
- __u32 ctrl;
- __u32 pad;
- } dbg_regs[16];
-};
-
-/* SVE/FP/SIMD state (NT_ARM_SVE) */
-
-struct user_sve_header {
- __u32 size; /* total meaningful regset content in bytes */
- __u32 max_size; /* maxmium possible size for this thread */
- __u16 vl; /* current vector length */
- __u16 max_vl; /* maximum possible vector length */
- __u16 flags;
- __u16 __reserved;
-};
-
-/* Definitions for user_sve_header.flags: */
-#define SVE_PT_REGS_MASK (1 << 0)
-
-#define SVE_PT_REGS_FPSIMD 0
-#define SVE_PT_REGS_SVE SVE_PT_REGS_MASK
-
-/*
- * Common SVE_PT_* flags:
- * These must be kept in sync with prctl interface in
- */
-#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16)
-#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16)
-
-
-/*
- * The remainder of the SVE state follows struct user_sve_header. The
- * total size of the SVE state (including header) depends on the
- * metadata in the header: SVE_PT_SIZE(vq, flags) gives the total size
- * of the state in bytes, including the header.
- *
- * Refer to for details of how to pass the correct
- * "vq" argument to these macros.
- */
-
-/* Offset from the start of struct user_sve_header to the register data */
-#define SVE_PT_REGS_OFFSET \
- ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-/*
- * The register data content and layout depends on the value of the
- * flags field.
- */
-
-/*
- * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD case:
- *
- * The payload starts at offset SVE_PT_FPSIMD_OFFSET, and is of type
- * struct user_fpsimd_state. Additional data might be appended in the
- * future: use SVE_PT_FPSIMD_SIZE(vq, flags) to compute the total size.
- * SVE_PT_FPSIMD_SIZE(vq, flags) will never be less than
- * sizeof(struct user_fpsimd_state).
- */
-
-#define SVE_PT_FPSIMD_OFFSET SVE_PT_REGS_OFFSET
-
-#define SVE_PT_FPSIMD_SIZE(vq, flags) (sizeof(struct user_fpsimd_state))
-
-/*
- * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE case:
- *
- * The payload starts at offset SVE_PT_SVE_OFFSET, and is of size
- * SVE_PT_SVE_SIZE(vq, flags).
- *
- * Additional macros describe the contents and layout of the payload.
- * For each, SVE_PT_SVE_x_OFFSET(args) is the start offset relative to
- * the start of struct user_sve_header, and SVE_PT_SVE_x_SIZE(args) is
- * the size in bytes:
- *
- * x type description
- * - ---- -----------
- * ZREGS \
- * ZREG |
- * PREGS | refer to
- * PREG |
- * FFR /
- *
- * FPSR uint32_t FPSR
- * FPCR uint32_t FPCR
- *
- * Additional data might be appended in the future.
- */
-
-#define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq)
-#define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
-#define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq)
-#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32)
-#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32)
-
-#define __SVE_SIG_TO_PT(offset) \
- ((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
-
-#define SVE_PT_SVE_OFFSET SVE_PT_REGS_OFFSET
-
-#define SVE_PT_SVE_ZREGS_OFFSET \
- __SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
-#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
- __SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
-#define SVE_PT_SVE_ZREGS_SIZE(vq) \
- (SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
-
-#define SVE_PT_SVE_PREGS_OFFSET(vq) \
- __SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
-#define SVE_PT_SVE_PREG_OFFSET(vq, n) \
- __SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
-#define SVE_PT_SVE_PREGS_SIZE(vq) \
- (SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
- SVE_PT_SVE_PREGS_OFFSET(vq))
-
-#define SVE_PT_SVE_FFR_OFFSET(vq) \
- __SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
-
-#define SVE_PT_SVE_FPSR_OFFSET(vq) \
- ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \
- (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-#define SVE_PT_SVE_FPCR_OFFSET(vq) \
- (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
-
-/*
- * Any future extension appended after FPCR must be aligned to the next
- * 128-bit boundary.
- */
-
-#define SVE_PT_SVE_SIZE(vq, flags) \
- ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \
- - SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-#define SVE_PT_SIZE(vq, flags) \
- (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ? \
- SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags) \
- : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_PTRACE_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/setup.h b/libc/include/aarch64-linux-musleabi/asm/setup.h
deleted file mode 100644
index 32e442aba7cfe229940f334797836c878fd2272b..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/setup.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Based on arch/arm/include/asm/setup.h
- *
- * Copyright (C) 1997-1999 Russell King
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SETUP_H
-#define __ASM_SETUP_H
-
-#include
-
-#define COMMAND_LINE_SIZE 2048
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/sigcontext.h b/libc/include/aarch64-linux-musleabi/asm/sigcontext.h
deleted file mode 100644
index eb6f272747a252388a8d073dd00e29f6ca376cec..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/sigcontext.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGCONTEXT_H
-#define __ASM_SIGCONTEXT_H
-
-#ifndef __ASSEMBLY__
-
-#include
-
-/*
- * Signal context structure - contains all info to do with the state
- * before the signal handler was invoked.
- */
-struct sigcontext {
- __u64 fault_address;
- /* AArch64 registers */
- __u64 regs[31];
- __u64 sp;
- __u64 pc;
- __u64 pstate;
- /* 4K reserved for FP/SIMD state and future expansion */
- __u8 __reserved[4096] __attribute__((__aligned__(16)));
-};
-
-/*
- * Allocation of __reserved[]:
- * (Note: records do not necessarily occur in the order shown here.)
- *
- * size description
- *
- * 0x210 fpsimd_context
- * 0x10 esr_context
- * 0x8a0 sve_context (vl <= 64) (optional)
- * 0x20 extra_context (optional)
- * 0x10 terminator (null _aarch64_ctx)
- *
- * 0x510 (reserved for future allocation)
- *
- * New records that can exceed this space need to be opt-in for userspace, so
- * that an expanded signal frame is not generated unexpectedly. The mechanism
- * for opting in will depend on the extension that generates each new record.
- * The above table documents the maximum set and sizes of records than can be
- * generated when userspace does not opt in for any such extension.
- */
-
-/*
- * Header to be used at the beginning of structures extending the user
- * context. Such structures must be placed after the rt_sigframe on the stack
- * and be 16-byte aligned. The last structure must be a dummy one with the
- * magic and size set to 0.
- */
-struct _aarch64_ctx {
- __u32 magic;
- __u32 size;
-};
-
-#define FPSIMD_MAGIC 0x46508001
-
-struct fpsimd_context {
- struct _aarch64_ctx head;
- __u32 fpsr;
- __u32 fpcr;
- __uint128_t vregs[32];
-};
-
-/* ESR_EL1 context */
-#define ESR_MAGIC 0x45535201
-
-struct esr_context {
- struct _aarch64_ctx head;
- __u64 esr;
-};
-
-/*
- * extra_context: describes extra space in the signal frame for
- * additional structures that don't fit in sigcontext.__reserved[].
- *
- * Note:
- *
- * 1) fpsimd_context, esr_context and extra_context must be placed in
- * sigcontext.__reserved[] if present. They cannot be placed in the
- * extra space. Any other record can be placed either in the extra
- * space or in sigcontext.__reserved[], unless otherwise specified in
- * this file.
- *
- * 2) There must not be more than one extra_context.
- *
- * 3) If extra_context is present, it must be followed immediately in
- * sigcontext.__reserved[] by the terminating null _aarch64_ctx.
- *
- * 4) The extra space to which datap points must start at the first
- * 16-byte aligned address immediately after the terminating null
- * _aarch64_ctx that follows the extra_context structure in
- * __reserved[]. The extra space may overrun the end of __reserved[],
- * as indicated by a sufficiently large value for the size field.
- *
- * 5) The extra space must itself be terminated with a null
- * _aarch64_ctx.
- */
-#define EXTRA_MAGIC 0x45585401
-
-struct extra_context {
- struct _aarch64_ctx head;
- __u64 datap; /* 16-byte aligned pointer to extra space cast to __u64 */
- __u32 size; /* size in bytes of the extra space */
- __u32 __reserved[3];
-};
-
-#define SVE_MAGIC 0x53564501
-
-struct sve_context {
- struct _aarch64_ctx head;
- __u16 vl;
- __u16 __reserved[3];
-};
-
-#endif /* !__ASSEMBLY__ */
-
-/*
- * The SVE architecture leaves space for future expansion of the
- * vector length beyond its initial architectural limit of 2048 bits
- * (16 quadwords).
- *
- * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
- * terminology.
- */
-#define SVE_VQ_BYTES 16 /* number of bytes per quadword */
-
-#define SVE_VQ_MIN 1
-#define SVE_VQ_MAX 512
-
-#define SVE_VL_MIN (SVE_VQ_MIN * SVE_VQ_BYTES)
-#define SVE_VL_MAX (SVE_VQ_MAX * SVE_VQ_BYTES)
-
-#define SVE_NUM_ZREGS 32
-#define SVE_NUM_PREGS 16
-
-#define sve_vl_valid(vl) \
- ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
-#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES)
-#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES)
-
-/*
- * If the SVE registers are currently live for the thread at signal delivery,
- * sve_context.head.size >=
- * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl))
- * and the register data may be accessed using the SVE_SIG_*() macros.
- *
- * If sve_context.head.size <
- * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl)),
- * the SVE registers were not live for the thread and no register data
- * is included: in this case, the SVE_SIG_*() macros should not be
- * used except for this check.
- *
- * The same convention applies when returning from a signal: a caller
- * will need to remove or resize the sve_context block if it wants to
- * make the SVE registers live when they were previously non-live or
- * vice-versa. This may require the the caller to allocate fresh
- * memory and/or move other context blocks in the signal frame.
- *
- * Changing the vector length during signal return is not permitted:
- * sve_context.vl must equal the thread's current vector length when
- * doing a sigreturn.
- *
- *
- * Note: for all these macros, the "vq" argument denotes the SVE
- * vector length in quadwords (i.e., units of 128 bits).
- *
- * The correct way to obtain vq is to use sve_vq_from_vl(vl). The
- * result is valid if and only if sve_vl_valid(vl) is true. This is
- * guaranteed for a struct sve_context written by the kernel.
- *
- *
- * Additional macros describe the contents and layout of the payload.
- * For each, SVE_SIG_x_OFFSET(args) is the start offset relative to
- * the start of struct sve_context, and SVE_SIG_x_SIZE(args) is the
- * size in bytes:
- *
- * x type description
- * - ---- -----------
- * REGS the entire SVE context
- *
- * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers
- * ZREG __uint128_t[vq] individual Z-register Zn
- *
- * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers
- * PREG uint16_t[vq] individual P-register Pn
- *
- * FFR uint16_t[vq] first-fault status register
- *
- * Additional data might be appended in the future.
- */
-
-#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq) * SVE_VQ_BYTES)
-#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8))
-#define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
-
-#define SVE_SIG_REGS_OFFSET \
- ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-#define SVE_SIG_ZREGS_OFFSET SVE_SIG_REGS_OFFSET
-#define SVE_SIG_ZREG_OFFSET(vq, n) \
- (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
-#define SVE_SIG_ZREGS_SIZE(vq) \
- (SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
-
-#define SVE_SIG_PREGS_OFFSET(vq) \
- (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
-#define SVE_SIG_PREG_OFFSET(vq, n) \
- (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
-#define SVE_SIG_PREGS_SIZE(vq) \
- (SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
-
-#define SVE_SIG_FFR_OFFSET(vq) \
- (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
-
-#define SVE_SIG_REGS_SIZE(vq) \
- (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
-
-#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
-
-
-#endif /* __ASM_SIGCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/siginfo.h b/libc/include/aarch64-linux-musleabi/asm/siginfo.h
deleted file mode 100644
index 0797d770776bd49fa65f1b36c4970d1554c740ca..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/siginfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGINFO_H
-#define __ASM_SIGINFO_H
-
-#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/signal.h b/libc/include/aarch64-linux-musleabi/asm/signal.h
deleted file mode 100644
index 167802d3a21a27f1da82fa64364d21d5bb4786aa..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/signal.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGNAL_H
-#define __ASM_SIGNAL_H
-
-/* Required for AArch32 compatibility. */
-#define SA_RESTORER 0x04000000
-
-#define MINSIGSTKSZ 5120
-#define SIGSTKSZ 16384
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/stat.h b/libc/include/aarch64-linux-musleabi/asm/stat.h
deleted file mode 100644
index 04e59c072eb2667dd5df2537d075a586b01aa9fc..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/stat.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/statfs.h b/libc/include/aarch64-linux-musleabi/asm/statfs.h
deleted file mode 100644
index dfa2faa7db74670c39807c261970ff83aae76436..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/statfs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_STATFS_H
-#define __ASM_STATFS_H
-
-#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/ucontext.h b/libc/include/aarch64-linux-musleabi/asm/ucontext.h
deleted file mode 100644
index 87f00793b319167c3d67192961f02caaee33e7d5..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/ucontext.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_UCONTEXT_H
-#define __ASM_UCONTEXT_H
-
-#include
-
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- sigset_t uc_sigmask;
- /* glibc uses a 1024-bit sigset_t */
- __u8 __unused[1024 / 8 - sizeof(sigset_t)];
- /* last for future expansion */
- struct sigcontext uc_mcontext;
-};
-
-#endif /* __ASM_UCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64-linux-musleabi/asm/unistd.h b/libc/include/aarch64-linux-musleabi/asm/unistd.h
deleted file mode 100644
index 198e1aa8f62af4ad653754cf8b27182f1b296b7a..0000000000000000000000000000000000000000
--- a/libc/include/aarch64-linux-musleabi/asm/unistd.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#define __ARCH_WANT_RENAMEAT
-
-#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/auxvec.h b/libc/include/aarch64_be-linux-any/asm/auxvec.h
new file mode 100644
index 0000000000000000000000000000000000000000..9a290cde8d34bcc2508e83735fe3d450c1164ebd
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/auxvec.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_AUXVEC_H
+#define __ASM_AUXVEC_H
+
+/* vDSO location */
+#define AT_SYSINFO_EHDR 33
+#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
+
+#define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/bitsperlong.h b/libc/include/aarch64_be-linux-any/asm/bitsperlong.h
new file mode 100644
index 0000000000000000000000000000000000000000..0f94175240774f2fea25055c0595a50ae4dee399
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/bitsperlong.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_BITSPERLONG_H
+#define __ASM_BITSPERLONG_H
+
+#define __BITS_PER_LONG 64
+
+#include
+
+#endif /* __ASM_BITSPERLONG_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/bpf_perf_event.h b/libc/include/aarch64_be-linux-any/asm/bpf_perf_event.h
new file mode 100644
index 0000000000000000000000000000000000000000..7d95d35c3657766d1bcebf94bc9225292e440d05
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/bpf_perf_event.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_BPF_PERF_EVENT_H__
+#define __ASM_BPF_PERF_EVENT_H__
+
+#include
+
+typedef struct user_pt_regs bpf_user_pt_regs_t;
+
+#endif /* __ASM_BPF_PERF_EVENT_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/byteorder.h b/libc/include/aarch64_be-linux-any/asm/byteorder.h
new file mode 100644
index 0000000000000000000000000000000000000000..6acd73fbc51cf01adc5e39a7ab23fa3c4150f6af
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/byteorder.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_BYTEORDER_H
+#define __ASM_BYTEORDER_H
+
+#ifdef __AARCH64EB__
+#include
+#else
+#include
+#endif
+
+#endif /* __ASM_BYTEORDER_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/fcntl.h b/libc/include/aarch64_be-linux-any/asm/fcntl.h
new file mode 100644
index 0000000000000000000000000000000000000000..9473344a3f432ea322b626856fb63db875c7a487
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/fcntl.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_FCNTL_H
+#define __ASM_FCNTL_H
+
+/*
+ * Using our own definitions for AArch32 (compat) support.
+ */
+#define O_DIRECTORY 040000 /* must be a directory */
+#define O_NOFOLLOW 0100000 /* don't follow links */
+#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
+#define O_LARGEFILE 0400000
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/hwcap.h b/libc/include/aarch64_be-linux-any/asm/hwcap.h
new file mode 100644
index 0000000000000000000000000000000000000000..53c37e3da6208f3b0a3a10348bb56ff9ae7fec2f
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/hwcap.h
@@ -0,0 +1,52 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_HWCAP_H
+#define __ASM_HWCAP_H
+
+/*
+ * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
+ */
+#define HWCAP_FP (1 << 0)
+#define HWCAP_ASIMD (1 << 1)
+#define HWCAP_EVTSTRM (1 << 2)
+#define HWCAP_AES (1 << 3)
+#define HWCAP_PMULL (1 << 4)
+#define HWCAP_SHA1 (1 << 5)
+#define HWCAP_SHA2 (1 << 6)
+#define HWCAP_CRC32 (1 << 7)
+#define HWCAP_ATOMICS (1 << 8)
+#define HWCAP_FPHP (1 << 9)
+#define HWCAP_ASIMDHP (1 << 10)
+#define HWCAP_CPUID (1 << 11)
+#define HWCAP_ASIMDRDM (1 << 12)
+#define HWCAP_JSCVT (1 << 13)
+#define HWCAP_FCMA (1 << 14)
+#define HWCAP_LRCPC (1 << 15)
+#define HWCAP_DCPOP (1 << 16)
+#define HWCAP_SHA3 (1 << 17)
+#define HWCAP_SM3 (1 << 18)
+#define HWCAP_SM4 (1 << 19)
+#define HWCAP_ASIMDDP (1 << 20)
+#define HWCAP_SHA512 (1 << 21)
+#define HWCAP_SVE (1 << 22)
+#define HWCAP_ASIMDFHM (1 << 23)
+#define HWCAP_DIT (1 << 24)
+#define HWCAP_USCAT (1 << 25)
+#define HWCAP_ILRCPC (1 << 26)
+#define HWCAP_FLAGM (1 << 27)
+
+#endif /* __ASM_HWCAP_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/kvm.h b/libc/include/aarch64_be-linux-any/asm/kvm.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d0fc926657e08a5ddffd3894bffe8fc60e5c917
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/kvm.h
@@ -0,0 +1,310 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012,2013 - ARM Ltd
+ * Author: Marc Zyngier
+ *
+ * Derived from arch/arm/include/uapi/asm/kvm.h:
+ * Copyright (C) 2012 - Virtual Open Systems and Columbia University
+ * Author: Christoffer Dall
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#ifndef __ARM_KVM_H__
+#define __ARM_KVM_H__
+
+#define KVM_SPSR_EL1 0
+#define KVM_SPSR_SVC KVM_SPSR_EL1
+#define KVM_SPSR_ABT 1
+#define KVM_SPSR_UND 2
+#define KVM_SPSR_IRQ 3
+#define KVM_SPSR_FIQ 4
+#define KVM_NR_SPSR 5
+
+#ifndef __ASSEMBLY__
+#include
+#include
+#include
+
+#define __KVM_HAVE_GUEST_DEBUG
+#define __KVM_HAVE_IRQ_LINE
+#define __KVM_HAVE_READONLY_MEM
+#define __KVM_HAVE_VCPU_EVENTS
+
+#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
+
+#define KVM_REG_SIZE(id) \
+ (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT))
+
+struct kvm_regs {
+ struct user_pt_regs regs; /* sp = sp_el0 */
+
+ __u64 sp_el1;
+ __u64 elr_el1;
+
+ __u64 spsr[KVM_NR_SPSR];
+
+ struct user_fpsimd_state fp_regs;
+};
+
+/*
+ * Supported CPU Targets - Adding a new target type is not recommended,
+ * unless there are some special registers not supported by the
+ * genericv8 syreg table.
+ */
+#define KVM_ARM_TARGET_AEM_V8 0
+#define KVM_ARM_TARGET_FOUNDATION_V8 1
+#define KVM_ARM_TARGET_CORTEX_A57 2
+#define KVM_ARM_TARGET_XGENE_POTENZA 3
+#define KVM_ARM_TARGET_CORTEX_A53 4
+/* Generic ARM v8 target */
+#define KVM_ARM_TARGET_GENERIC_V8 5
+
+#define KVM_ARM_NUM_TARGETS 6
+
+/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
+#define KVM_ARM_DEVICE_TYPE_SHIFT 0
+#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT)
+#define KVM_ARM_DEVICE_ID_SHIFT 16
+#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT)
+
+/* Supported device IDs */
+#define KVM_ARM_DEVICE_VGIC_V2 0
+
+/* Supported VGIC address types */
+#define KVM_VGIC_V2_ADDR_TYPE_DIST 0
+#define KVM_VGIC_V2_ADDR_TYPE_CPU 1
+
+#define KVM_VGIC_V2_DIST_SIZE 0x1000
+#define KVM_VGIC_V2_CPU_SIZE 0x2000
+
+/* Supported VGICv3 address types */
+#define KVM_VGIC_V3_ADDR_TYPE_DIST 2
+#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3
+#define KVM_VGIC_ITS_ADDR_TYPE 4
+#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5
+
+#define KVM_VGIC_V3_DIST_SIZE SZ_64K
+#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K)
+#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K)
+
+#define KVM_ARM_VCPU_POWER_OFF 0 /* CPU is started in OFF state */
+#define KVM_ARM_VCPU_EL1_32BIT 1 /* CPU running a 32bit VM */
+#define KVM_ARM_VCPU_PSCI_0_2 2 /* CPU uses PSCI v0.2 */
+#define KVM_ARM_VCPU_PMU_V3 3 /* Support guest PMUv3 */
+
+struct kvm_vcpu_init {
+ __u32 target;
+ __u32 features[7];
+};
+
+struct kvm_sregs {
+};
+
+struct kvm_fpu {
+};
+
+/*
+ * See v8 ARM ARM D7.3: Debug Registers
+ *
+ * The architectural limit is 16 debug registers of each type although
+ * in practice there are usually less (see ID_AA64DFR0_EL1).
+ *
+ * Although the control registers are architecturally defined as 32
+ * bits wide we use a 64 bit structure here to keep parity with
+ * KVM_GET/SET_ONE_REG behaviour which treats all system registers as
+ * 64 bit values. It also allows for the possibility of the
+ * architecture expanding the control registers without having to
+ * change the userspace ABI.
+ */
+#define KVM_ARM_MAX_DBG_REGS 16
+struct kvm_guest_debug_arch {
+ __u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS];
+ __u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
+};
+
+struct kvm_debug_exit_arch {
+ __u32 hsr;
+ __u64 far; /* used for watchpoints */
+};
+
+/*
+ * Architecture specific defines for kvm_guest_debug->control
+ */
+
+#define KVM_GUESTDBG_USE_SW_BP (1 << 16)
+#define KVM_GUESTDBG_USE_HW (1 << 17)
+
+struct kvm_sync_regs {
+ /* Used with KVM_CAP_ARM_USER_IRQ */
+ __u64 device_irq_level;
+};
+
+struct kvm_arch_memory_slot {
+};
+
+/* for KVM_GET/SET_VCPU_EVENTS */
+struct kvm_vcpu_events {
+ struct {
+ __u8 serror_pending;
+ __u8 serror_has_esr;
+ /* Align it to 8 bytes */
+ __u8 pad[6];
+ __u64 serror_esr;
+ } exception;
+ __u32 reserved[12];
+};
+
+/* If you need to interpret the index values, here is the key: */
+#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
+#define KVM_REG_ARM_COPROC_SHIFT 16
+
+/* Normal registers are mapped as coprocessor 16. */
+#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / sizeof(__u32))
+
+/* Some registers need more space to represent values. */
+#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00
+#define KVM_REG_ARM_DEMUX_ID_SHIFT 8
+#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT)
+#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF
+#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0
+
+/* AArch64 system registers */
+#define KVM_REG_ARM64_SYSREG (0x0013 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM64_SYSREG_OP0_MASK 0x000000000000c000
+#define KVM_REG_ARM64_SYSREG_OP0_SHIFT 14
+#define KVM_REG_ARM64_SYSREG_OP1_MASK 0x0000000000003800
+#define KVM_REG_ARM64_SYSREG_OP1_SHIFT 11
+#define KVM_REG_ARM64_SYSREG_CRN_MASK 0x0000000000000780
+#define KVM_REG_ARM64_SYSREG_CRN_SHIFT 7
+#define KVM_REG_ARM64_SYSREG_CRM_MASK 0x0000000000000078
+#define KVM_REG_ARM64_SYSREG_CRM_SHIFT 3
+#define KVM_REG_ARM64_SYSREG_OP2_MASK 0x0000000000000007
+#define KVM_REG_ARM64_SYSREG_OP2_SHIFT 0
+
+#define ARM64_SYS_REG_SHIFT_MASK(x,n) \
+ (((x) << KVM_REG_ARM64_SYSREG_ ## n ## _SHIFT) & \
+ KVM_REG_ARM64_SYSREG_ ## n ## _MASK)
+
+#define __ARM64_SYS_REG(op0,op1,crn,crm,op2) \
+ (KVM_REG_ARM64 | KVM_REG_ARM64_SYSREG | \
+ ARM64_SYS_REG_SHIFT_MASK(op0, OP0) | \
+ ARM64_SYS_REG_SHIFT_MASK(op1, OP1) | \
+ ARM64_SYS_REG_SHIFT_MASK(crn, CRN) | \
+ ARM64_SYS_REG_SHIFT_MASK(crm, CRM) | \
+ ARM64_SYS_REG_SHIFT_MASK(op2, OP2))
+
+#define ARM64_SYS_REG(...) (__ARM64_SYS_REG(__VA_ARGS__) | KVM_REG_SIZE_U64)
+
+/* Physical Timer EL0 Registers */
+#define KVM_REG_ARM_PTIMER_CTL ARM64_SYS_REG(3, 3, 14, 2, 1)
+#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2)
+#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1)
+
+/* EL0 Virtual Timer Registers */
+#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
+#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
+#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
+
+/* KVM-as-firmware specific pseudo-registers */
+#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
+#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
+ KVM_REG_ARM_FW | ((r) & 0xffff))
+#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
+
+/* Device Control API: ARM VGIC */
+#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
+#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
+#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
+#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32
+#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
+#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
+#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
+ (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
+#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0
+#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
+#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
+#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3
+#define KVM_DEV_ARM_VGIC_GRP_CTRL 4
+#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
+#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
+#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7
+#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
+ (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
+#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
+#define VGIC_LEVEL_INFO_LINE_LEVEL 0
+
+#define KVM_DEV_ARM_VGIC_CTRL_INIT 0
+#define KVM_DEV_ARM_ITS_SAVE_TABLES 1
+#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2
+#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3
+#define KVM_DEV_ARM_ITS_CTRL_RESET 4
+
+/* Device Control API on vcpu fd */
+#define KVM_ARM_VCPU_PMU_V3_CTRL 0
+#define KVM_ARM_VCPU_PMU_V3_IRQ 0
+#define KVM_ARM_VCPU_PMU_V3_INIT 1
+#define KVM_ARM_VCPU_TIMER_CTRL 1
+#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
+#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
+
+/* KVM_IRQ_LINE irq field index values */
+#define KVM_ARM_IRQ_TYPE_SHIFT 24
+#define KVM_ARM_IRQ_TYPE_MASK 0xff
+#define KVM_ARM_IRQ_VCPU_SHIFT 16
+#define KVM_ARM_IRQ_VCPU_MASK 0xff
+#define KVM_ARM_IRQ_NUM_SHIFT 0
+#define KVM_ARM_IRQ_NUM_MASK 0xffff
+
+/* irq_type field */
+#define KVM_ARM_IRQ_TYPE_CPU 0
+#define KVM_ARM_IRQ_TYPE_SPI 1
+#define KVM_ARM_IRQ_TYPE_PPI 2
+
+/* out-of-kernel GIC cpu interrupt injection irq_number field */
+#define KVM_ARM_IRQ_CPU_IRQ 0
+#define KVM_ARM_IRQ_CPU_FIQ 1
+
+/*
+ * This used to hold the highest supported SPI, but it is now obsolete
+ * and only here to provide source code level compatibility with older
+ * userland. The highest SPI number can be set via KVM_DEV_ARM_VGIC_GRP_NR_IRQS.
+ */
+#define KVM_ARM_IRQ_GIC_MAX 127
+
+/* One single KVM irqchip, ie. the VGIC */
+#define KVM_NR_IRQCHIPS 1
+
+/* PSCI interface */
+#define KVM_PSCI_FN_BASE 0x95c1ba5e
+#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n))
+
+#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0)
+#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1)
+#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2)
+#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3)
+
+#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS
+#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED
+#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS
+#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
+
+#endif
+
+#endif /* __ARM_KVM_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/kvm_para.h b/libc/include/aarch64_be-linux-any/asm/kvm_para.h
new file mode 100644
index 0000000000000000000000000000000000000000..a2f15b84b87bb8f05a5873d2193b153b142f792b
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/kvm_para.h
@@ -0,0 +1 @@
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/param.h b/libc/include/aarch64_be-linux-any/asm/param.h
new file mode 100644
index 0000000000000000000000000000000000000000..f58c021601fedff10bb342e7caa188111f328e43
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/param.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_PARAM_H
+#define __ASM_PARAM_H
+
+#define EXEC_PAGESIZE 65536
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/perf_regs.h b/libc/include/aarch64_be-linux-any/asm/perf_regs.h
new file mode 100644
index 0000000000000000000000000000000000000000..d63b945af5a0252dcacee51f670e543c25d178d3
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/perf_regs.h
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_ARM64_PERF_REGS_H
+#define _ASM_ARM64_PERF_REGS_H
+
+enum perf_event_arm_regs {
+ PERF_REG_ARM64_X0,
+ PERF_REG_ARM64_X1,
+ PERF_REG_ARM64_X2,
+ PERF_REG_ARM64_X3,
+ PERF_REG_ARM64_X4,
+ PERF_REG_ARM64_X5,
+ PERF_REG_ARM64_X6,
+ PERF_REG_ARM64_X7,
+ PERF_REG_ARM64_X8,
+ PERF_REG_ARM64_X9,
+ PERF_REG_ARM64_X10,
+ PERF_REG_ARM64_X11,
+ PERF_REG_ARM64_X12,
+ PERF_REG_ARM64_X13,
+ PERF_REG_ARM64_X14,
+ PERF_REG_ARM64_X15,
+ PERF_REG_ARM64_X16,
+ PERF_REG_ARM64_X17,
+ PERF_REG_ARM64_X18,
+ PERF_REG_ARM64_X19,
+ PERF_REG_ARM64_X20,
+ PERF_REG_ARM64_X21,
+ PERF_REG_ARM64_X22,
+ PERF_REG_ARM64_X23,
+ PERF_REG_ARM64_X24,
+ PERF_REG_ARM64_X25,
+ PERF_REG_ARM64_X26,
+ PERF_REG_ARM64_X27,
+ PERF_REG_ARM64_X28,
+ PERF_REG_ARM64_X29,
+ PERF_REG_ARM64_LR,
+ PERF_REG_ARM64_SP,
+ PERF_REG_ARM64_PC,
+ PERF_REG_ARM64_MAX,
+};
+#endif /* _ASM_ARM64_PERF_REGS_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/posix_types.h b/libc/include/aarch64_be-linux-any/asm/posix_types.h
new file mode 100644
index 0000000000000000000000000000000000000000..b20f985d3a9fdbeb759ded61119791034ec75b48
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/posix_types.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_POSIX_TYPES_H
+#define __ASM_POSIX_TYPES_H
+
+typedef unsigned short __kernel_old_uid_t;
+typedef unsigned short __kernel_old_gid_t;
+#define __kernel_old_uid_t __kernel_old_uid_t
+
+#include
+
+#endif /* __ASM_POSIX_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/ptrace.h b/libc/include/aarch64_be-linux-any/asm/ptrace.h
new file mode 100644
index 0000000000000000000000000000000000000000..e866145891a7e24443fc9ddce91e8b1c22dc91fd
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/ptrace.h
@@ -0,0 +1,233 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Based on arch/arm/include/asm/ptrace.h
+ *
+ * Copyright (C) 1996-2003 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_PTRACE_H
+#define __ASM_PTRACE_H
+
+#include
+
+#include
+#include
+
+
+/*
+ * PSR bits
+ */
+#define PSR_MODE_EL0t 0x00000000
+#define PSR_MODE_EL1t 0x00000004
+#define PSR_MODE_EL1h 0x00000005
+#define PSR_MODE_EL2t 0x00000008
+#define PSR_MODE_EL2h 0x00000009
+#define PSR_MODE_EL3t 0x0000000c
+#define PSR_MODE_EL3h 0x0000000d
+#define PSR_MODE_MASK 0x0000000f
+
+/* AArch32 CPSR bits */
+#define PSR_MODE32_BIT 0x00000010
+
+/* AArch64 SPSR bits */
+#define PSR_F_BIT 0x00000040
+#define PSR_I_BIT 0x00000080
+#define PSR_A_BIT 0x00000100
+#define PSR_D_BIT 0x00000200
+#define PSR_PAN_BIT 0x00400000
+#define PSR_UAO_BIT 0x00800000
+#define PSR_V_BIT 0x10000000
+#define PSR_C_BIT 0x20000000
+#define PSR_Z_BIT 0x40000000
+#define PSR_N_BIT 0x80000000
+
+/*
+ * Groups of PSR bits
+ */
+#define PSR_f 0xff000000 /* Flags */
+#define PSR_s 0x00ff0000 /* Status */
+#define PSR_x 0x0000ff00 /* Extension */
+#define PSR_c 0x000000ff /* Control */
+
+
+#ifndef __ASSEMBLY__
+
+#include
+
+/*
+ * User structures for general purpose, floating point and debug registers.
+ */
+struct user_pt_regs {
+ __u64 regs[31];
+ __u64 sp;
+ __u64 pc;
+ __u64 pstate;
+};
+
+struct user_fpsimd_state {
+ __uint128_t vregs[32];
+ __u32 fpsr;
+ __u32 fpcr;
+ __u32 __reserved[2];
+};
+
+struct user_hwdebug_state {
+ __u32 dbg_info;
+ __u32 pad;
+ struct {
+ __u64 addr;
+ __u32 ctrl;
+ __u32 pad;
+ } dbg_regs[16];
+};
+
+/* SVE/FP/SIMD state (NT_ARM_SVE) */
+
+struct user_sve_header {
+ __u32 size; /* total meaningful regset content in bytes */
+ __u32 max_size; /* maxmium possible size for this thread */
+ __u16 vl; /* current vector length */
+ __u16 max_vl; /* maximum possible vector length */
+ __u16 flags;
+ __u16 __reserved;
+};
+
+/* Definitions for user_sve_header.flags: */
+#define SVE_PT_REGS_MASK (1 << 0)
+
+#define SVE_PT_REGS_FPSIMD 0
+#define SVE_PT_REGS_SVE SVE_PT_REGS_MASK
+
+/*
+ * Common SVE_PT_* flags:
+ * These must be kept in sync with prctl interface in
+ */
+#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16)
+#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16)
+
+
+/*
+ * The remainder of the SVE state follows struct user_sve_header. The
+ * total size of the SVE state (including header) depends on the
+ * metadata in the header: SVE_PT_SIZE(vq, flags) gives the total size
+ * of the state in bytes, including the header.
+ *
+ * Refer to for details of how to pass the correct
+ * "vq" argument to these macros.
+ */
+
+/* Offset from the start of struct user_sve_header to the register data */
+#define SVE_PT_REGS_OFFSET \
+ ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+/*
+ * The register data content and layout depends on the value of the
+ * flags field.
+ */
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD case:
+ *
+ * The payload starts at offset SVE_PT_FPSIMD_OFFSET, and is of type
+ * struct user_fpsimd_state. Additional data might be appended in the
+ * future: use SVE_PT_FPSIMD_SIZE(vq, flags) to compute the total size.
+ * SVE_PT_FPSIMD_SIZE(vq, flags) will never be less than
+ * sizeof(struct user_fpsimd_state).
+ */
+
+#define SVE_PT_FPSIMD_OFFSET SVE_PT_REGS_OFFSET
+
+#define SVE_PT_FPSIMD_SIZE(vq, flags) (sizeof(struct user_fpsimd_state))
+
+/*
+ * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE case:
+ *
+ * The payload starts at offset SVE_PT_SVE_OFFSET, and is of size
+ * SVE_PT_SVE_SIZE(vq, flags).
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_PT_SVE_x_OFFSET(args) is the start offset relative to
+ * the start of struct user_sve_header, and SVE_PT_SVE_x_SIZE(args) is
+ * the size in bytes:
+ *
+ * x type description
+ * - ---- -----------
+ * ZREGS \
+ * ZREG |
+ * PREGS | refer to
+ * PREG |
+ * FFR /
+ *
+ * FPSR uint32_t FPSR
+ * FPCR uint32_t FPCR
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq)
+#define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
+#define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq)
+#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32)
+#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32)
+
+#define __SVE_SIG_TO_PT(offset) \
+ ((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
+
+#define SVE_PT_SVE_OFFSET SVE_PT_REGS_OFFSET
+
+#define SVE_PT_SVE_ZREGS_OFFSET \
+ __SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
+#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
+ __SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
+#define SVE_PT_SVE_ZREGS_SIZE(vq) \
+ (SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
+
+#define SVE_PT_SVE_PREGS_OFFSET(vq) \
+ __SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
+#define SVE_PT_SVE_PREG_OFFSET(vq, n) \
+ __SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
+#define SVE_PT_SVE_PREGS_SIZE(vq) \
+ (SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
+ SVE_PT_SVE_PREGS_OFFSET(vq))
+
+#define SVE_PT_SVE_FFR_OFFSET(vq) \
+ __SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
+
+#define SVE_PT_SVE_FPSR_OFFSET(vq) \
+ ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \
+ (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+#define SVE_PT_SVE_FPCR_OFFSET(vq) \
+ (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
+
+/*
+ * Any future extension appended after FPCR must be aligned to the next
+ * 128-bit boundary.
+ */
+
+#define SVE_PT_SVE_SIZE(vq, flags) \
+ ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \
+ - SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_PT_SIZE(vq, flags) \
+ (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ? \
+ SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags) \
+ : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_PTRACE_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/setup.h b/libc/include/aarch64_be-linux-any/asm/setup.h
new file mode 100644
index 0000000000000000000000000000000000000000..32e442aba7cfe229940f334797836c878fd2272b
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/setup.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Based on arch/arm/include/asm/setup.h
+ *
+ * Copyright (C) 1997-1999 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SETUP_H
+#define __ASM_SETUP_H
+
+#include
+
+#define COMMAND_LINE_SIZE 2048
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/sigcontext.h b/libc/include/aarch64_be-linux-any/asm/sigcontext.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb6f272747a252388a8d073dd00e29f6ca376cec
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/sigcontext.h
@@ -0,0 +1,238 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGCONTEXT_H
+#define __ASM_SIGCONTEXT_H
+
+#ifndef __ASSEMBLY__
+
+#include
+
+/*
+ * Signal context structure - contains all info to do with the state
+ * before the signal handler was invoked.
+ */
+struct sigcontext {
+ __u64 fault_address;
+ /* AArch64 registers */
+ __u64 regs[31];
+ __u64 sp;
+ __u64 pc;
+ __u64 pstate;
+ /* 4K reserved for FP/SIMD state and future expansion */
+ __u8 __reserved[4096] __attribute__((__aligned__(16)));
+};
+
+/*
+ * Allocation of __reserved[]:
+ * (Note: records do not necessarily occur in the order shown here.)
+ *
+ * size description
+ *
+ * 0x210 fpsimd_context
+ * 0x10 esr_context
+ * 0x8a0 sve_context (vl <= 64) (optional)
+ * 0x20 extra_context (optional)
+ * 0x10 terminator (null _aarch64_ctx)
+ *
+ * 0x510 (reserved for future allocation)
+ *
+ * New records that can exceed this space need to be opt-in for userspace, so
+ * that an expanded signal frame is not generated unexpectedly. The mechanism
+ * for opting in will depend on the extension that generates each new record.
+ * The above table documents the maximum set and sizes of records than can be
+ * generated when userspace does not opt in for any such extension.
+ */
+
+/*
+ * Header to be used at the beginning of structures extending the user
+ * context. Such structures must be placed after the rt_sigframe on the stack
+ * and be 16-byte aligned. The last structure must be a dummy one with the
+ * magic and size set to 0.
+ */
+struct _aarch64_ctx {
+ __u32 magic;
+ __u32 size;
+};
+
+#define FPSIMD_MAGIC 0x46508001
+
+struct fpsimd_context {
+ struct _aarch64_ctx head;
+ __u32 fpsr;
+ __u32 fpcr;
+ __uint128_t vregs[32];
+};
+
+/* ESR_EL1 context */
+#define ESR_MAGIC 0x45535201
+
+struct esr_context {
+ struct _aarch64_ctx head;
+ __u64 esr;
+};
+
+/*
+ * extra_context: describes extra space in the signal frame for
+ * additional structures that don't fit in sigcontext.__reserved[].
+ *
+ * Note:
+ *
+ * 1) fpsimd_context, esr_context and extra_context must be placed in
+ * sigcontext.__reserved[] if present. They cannot be placed in the
+ * extra space. Any other record can be placed either in the extra
+ * space or in sigcontext.__reserved[], unless otherwise specified in
+ * this file.
+ *
+ * 2) There must not be more than one extra_context.
+ *
+ * 3) If extra_context is present, it must be followed immediately in
+ * sigcontext.__reserved[] by the terminating null _aarch64_ctx.
+ *
+ * 4) The extra space to which datap points must start at the first
+ * 16-byte aligned address immediately after the terminating null
+ * _aarch64_ctx that follows the extra_context structure in
+ * __reserved[]. The extra space may overrun the end of __reserved[],
+ * as indicated by a sufficiently large value for the size field.
+ *
+ * 5) The extra space must itself be terminated with a null
+ * _aarch64_ctx.
+ */
+#define EXTRA_MAGIC 0x45585401
+
+struct extra_context {
+ struct _aarch64_ctx head;
+ __u64 datap; /* 16-byte aligned pointer to extra space cast to __u64 */
+ __u32 size; /* size in bytes of the extra space */
+ __u32 __reserved[3];
+};
+
+#define SVE_MAGIC 0x53564501
+
+struct sve_context {
+ struct _aarch64_ctx head;
+ __u16 vl;
+ __u16 __reserved[3];
+};
+
+#endif /* !__ASSEMBLY__ */
+
+/*
+ * The SVE architecture leaves space for future expansion of the
+ * vector length beyond its initial architectural limit of 2048 bits
+ * (16 quadwords).
+ *
+ * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
+ * terminology.
+ */
+#define SVE_VQ_BYTES 16 /* number of bytes per quadword */
+
+#define SVE_VQ_MIN 1
+#define SVE_VQ_MAX 512
+
+#define SVE_VL_MIN (SVE_VQ_MIN * SVE_VQ_BYTES)
+#define SVE_VL_MAX (SVE_VQ_MAX * SVE_VQ_BYTES)
+
+#define SVE_NUM_ZREGS 32
+#define SVE_NUM_PREGS 16
+
+#define sve_vl_valid(vl) \
+ ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
+#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES)
+#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES)
+
+/*
+ * If the SVE registers are currently live for the thread at signal delivery,
+ * sve_context.head.size >=
+ * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl))
+ * and the register data may be accessed using the SVE_SIG_*() macros.
+ *
+ * If sve_context.head.size <
+ * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl)),
+ * the SVE registers were not live for the thread and no register data
+ * is included: in this case, the SVE_SIG_*() macros should not be
+ * used except for this check.
+ *
+ * The same convention applies when returning from a signal: a caller
+ * will need to remove or resize the sve_context block if it wants to
+ * make the SVE registers live when they were previously non-live or
+ * vice-versa. This may require the the caller to allocate fresh
+ * memory and/or move other context blocks in the signal frame.
+ *
+ * Changing the vector length during signal return is not permitted:
+ * sve_context.vl must equal the thread's current vector length when
+ * doing a sigreturn.
+ *
+ *
+ * Note: for all these macros, the "vq" argument denotes the SVE
+ * vector length in quadwords (i.e., units of 128 bits).
+ *
+ * The correct way to obtain vq is to use sve_vq_from_vl(vl). The
+ * result is valid if and only if sve_vl_valid(vl) is true. This is
+ * guaranteed for a struct sve_context written by the kernel.
+ *
+ *
+ * Additional macros describe the contents and layout of the payload.
+ * For each, SVE_SIG_x_OFFSET(args) is the start offset relative to
+ * the start of struct sve_context, and SVE_SIG_x_SIZE(args) is the
+ * size in bytes:
+ *
+ * x type description
+ * - ---- -----------
+ * REGS the entire SVE context
+ *
+ * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers
+ * ZREG __uint128_t[vq] individual Z-register Zn
+ *
+ * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers
+ * PREG uint16_t[vq] individual P-register Pn
+ *
+ * FFR uint16_t[vq] first-fault status register
+ *
+ * Additional data might be appended in the future.
+ */
+
+#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq) * SVE_VQ_BYTES)
+#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8))
+#define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
+
+#define SVE_SIG_REGS_OFFSET \
+ ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1)) \
+ / SVE_VQ_BYTES * SVE_VQ_BYTES)
+
+#define SVE_SIG_ZREGS_OFFSET SVE_SIG_REGS_OFFSET
+#define SVE_SIG_ZREG_OFFSET(vq, n) \
+ (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
+#define SVE_SIG_ZREGS_SIZE(vq) \
+ (SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
+
+#define SVE_SIG_PREGS_OFFSET(vq) \
+ (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
+#define SVE_SIG_PREG_OFFSET(vq, n) \
+ (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
+#define SVE_SIG_PREGS_SIZE(vq) \
+ (SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
+
+#define SVE_SIG_FFR_OFFSET(vq) \
+ (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
+
+#define SVE_SIG_REGS_SIZE(vq) \
+ (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
+
+#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
+
+
+#endif /* __ASM_SIGCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/siginfo.h b/libc/include/aarch64_be-linux-any/asm/siginfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..0797d770776bd49fa65f1b36c4970d1554c740ca
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/siginfo.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGINFO_H
+#define __ASM_SIGINFO_H
+
+#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/signal.h b/libc/include/aarch64_be-linux-any/asm/signal.h
new file mode 100644
index 0000000000000000000000000000000000000000..167802d3a21a27f1da82fa64364d21d5bb4786aa
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/signal.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_SIGNAL_H
+#define __ASM_SIGNAL_H
+
+/* Required for AArch32 compatibility. */
+#define SA_RESTORER 0x04000000
+
+#define MINSIGSTKSZ 5120
+#define SIGSTKSZ 16384
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/stat.h b/libc/include/aarch64_be-linux-any/asm/stat.h
new file mode 100644
index 0000000000000000000000000000000000000000..04e59c072eb2667dd5df2537d075a586b01aa9fc
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/stat.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/statfs.h b/libc/include/aarch64_be-linux-any/asm/statfs.h
new file mode 100644
index 0000000000000000000000000000000000000000..dfa2faa7db74670c39807c261970ff83aae76436
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/statfs.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_STATFS_H
+#define __ASM_STATFS_H
+
+#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
+
+#include
+
+#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/ucontext.h b/libc/include/aarch64_be-linux-any/asm/ucontext.h
new file mode 100644
index 0000000000000000000000000000000000000000..87f00793b319167c3d67192961f02caaee33e7d5
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/ucontext.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#ifndef __ASM_UCONTEXT_H
+#define __ASM_UCONTEXT_H
+
+#include
+
+struct ucontext {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ sigset_t uc_sigmask;
+ /* glibc uses a 1024-bit sigset_t */
+ __u8 __unused[1024 / 8 - sizeof(sigset_t)];
+ /* last for future expansion */
+ struct sigcontext uc_mcontext;
+};
+
+#endif /* __ASM_UCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-any/asm/unistd.h b/libc/include/aarch64_be-linux-any/asm/unistd.h
new file mode 100644
index 0000000000000000000000000000000000000000..198e1aa8f62af4ad653754cf8b27182f1b296b7a
--- /dev/null
+++ b/libc/include/aarch64_be-linux-any/asm/unistd.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * Copyright (C) 2012 ARM Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#define __ARCH_WANT_RENAMEAT
+
+#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-gnu/asm/bitsperlong.h b/libc/include/aarch64_be-linux-gnu/asm/bitsperlong.h
deleted file mode 100644
index 485d60bee26ca313ad15797f230efe10072befc9..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-gnu/asm/bitsperlong.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BITSPERLONG_H
-#define __ASM_BITSPERLONG_H
-
-#define __BITS_PER_LONG 64
-
-#include
-
-#endif /* __ASM_BITSPERLONG_H */
diff --git a/libc/include/aarch64_be-linux-gnu/asm/unistd.h b/libc/include/aarch64_be-linux-gnu/asm/unistd.h
deleted file mode 100644
index dae1584cf017f6aa311a5b78c3311b0bf55c2b18..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-gnu/asm/unistd.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#define __ARCH_WANT_RENAMEAT
-#define __ARCH_WANT_NEW_STAT
-
-#include
diff --git a/libc/include/aarch64_be-linux-musl/asm/auxvec.h b/libc/include/aarch64_be-linux-musl/asm/auxvec.h
deleted file mode 100644
index 9a290cde8d34bcc2508e83735fe3d450c1164ebd..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/auxvec.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_AUXVEC_H
-#define __ASM_AUXVEC_H
-
-/* vDSO location */
-#define AT_SYSINFO_EHDR 33
-#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
-
-#define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/bitsperlong.h b/libc/include/aarch64_be-linux-musl/asm/bitsperlong.h
deleted file mode 100644
index 0f94175240774f2fea25055c0595a50ae4dee399..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/bitsperlong.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BITSPERLONG_H
-#define __ASM_BITSPERLONG_H
-
-#define __BITS_PER_LONG 64
-
-#include
-
-#endif /* __ASM_BITSPERLONG_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/bpf_perf_event.h b/libc/include/aarch64_be-linux-musl/asm/bpf_perf_event.h
deleted file mode 100644
index 7d95d35c3657766d1bcebf94bc9225292e440d05..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/bpf_perf_event.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __ASM_BPF_PERF_EVENT_H__
-#define __ASM_BPF_PERF_EVENT_H__
-
-#include
-
-typedef struct user_pt_regs bpf_user_pt_regs_t;
-
-#endif /* __ASM_BPF_PERF_EVENT_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/byteorder.h b/libc/include/aarch64_be-linux-musl/asm/byteorder.h
deleted file mode 100644
index 6acd73fbc51cf01adc5e39a7ab23fa3c4150f6af..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/byteorder.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_BYTEORDER_H
-#define __ASM_BYTEORDER_H
-
-#ifdef __AARCH64EB__
-#include
-#else
-#include
-#endif
-
-#endif /* __ASM_BYTEORDER_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/fcntl.h b/libc/include/aarch64_be-linux-musl/asm/fcntl.h
deleted file mode 100644
index 9473344a3f432ea322b626856fb63db875c7a487..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/fcntl.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_FCNTL_H
-#define __ASM_FCNTL_H
-
-/*
- * Using our own definitions for AArch32 (compat) support.
- */
-#define O_DIRECTORY 040000 /* must be a directory */
-#define O_NOFOLLOW 0100000 /* don't follow links */
-#define O_DIRECT 0200000 /* direct disk access hint - currently ignored */
-#define O_LARGEFILE 0400000
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/hwcap.h b/libc/include/aarch64_be-linux-musl/asm/hwcap.h
deleted file mode 100644
index 53c37e3da6208f3b0a3a10348bb56ff9ae7fec2f..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/hwcap.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_HWCAP_H
-#define __ASM_HWCAP_H
-
-/*
- * HWCAP flags - for elf_hwcap (in kernel) and AT_HWCAP
- */
-#define HWCAP_FP (1 << 0)
-#define HWCAP_ASIMD (1 << 1)
-#define HWCAP_EVTSTRM (1 << 2)
-#define HWCAP_AES (1 << 3)
-#define HWCAP_PMULL (1 << 4)
-#define HWCAP_SHA1 (1 << 5)
-#define HWCAP_SHA2 (1 << 6)
-#define HWCAP_CRC32 (1 << 7)
-#define HWCAP_ATOMICS (1 << 8)
-#define HWCAP_FPHP (1 << 9)
-#define HWCAP_ASIMDHP (1 << 10)
-#define HWCAP_CPUID (1 << 11)
-#define HWCAP_ASIMDRDM (1 << 12)
-#define HWCAP_JSCVT (1 << 13)
-#define HWCAP_FCMA (1 << 14)
-#define HWCAP_LRCPC (1 << 15)
-#define HWCAP_DCPOP (1 << 16)
-#define HWCAP_SHA3 (1 << 17)
-#define HWCAP_SM3 (1 << 18)
-#define HWCAP_SM4 (1 << 19)
-#define HWCAP_ASIMDDP (1 << 20)
-#define HWCAP_SHA512 (1 << 21)
-#define HWCAP_SVE (1 << 22)
-#define HWCAP_ASIMDFHM (1 << 23)
-#define HWCAP_DIT (1 << 24)
-#define HWCAP_USCAT (1 << 25)
-#define HWCAP_ILRCPC (1 << 26)
-#define HWCAP_FLAGM (1 << 27)
-
-#endif /* __ASM_HWCAP_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/kvm.h b/libc/include/aarch64_be-linux-musl/asm/kvm.h
deleted file mode 100644
index 5d0fc926657e08a5ddffd3894bffe8fc60e5c917..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/kvm.h
+++ /dev/null
@@ -1,310 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012,2013 - ARM Ltd
- * Author: Marc Zyngier
- *
- * Derived from arch/arm/include/uapi/asm/kvm.h:
- * Copyright (C) 2012 - Virtual Open Systems and Columbia University
- * Author: Christoffer Dall
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#ifndef __ARM_KVM_H__
-#define __ARM_KVM_H__
-
-#define KVM_SPSR_EL1 0
-#define KVM_SPSR_SVC KVM_SPSR_EL1
-#define KVM_SPSR_ABT 1
-#define KVM_SPSR_UND 2
-#define KVM_SPSR_IRQ 3
-#define KVM_SPSR_FIQ 4
-#define KVM_NR_SPSR 5
-
-#ifndef __ASSEMBLY__
-#include
-#include
-#include
-
-#define __KVM_HAVE_GUEST_DEBUG
-#define __KVM_HAVE_IRQ_LINE
-#define __KVM_HAVE_READONLY_MEM
-#define __KVM_HAVE_VCPU_EVENTS
-
-#define KVM_COALESCED_MMIO_PAGE_OFFSET 1
-
-#define KVM_REG_SIZE(id) \
- (1U << (((id) & KVM_REG_SIZE_MASK) >> KVM_REG_SIZE_SHIFT))
-
-struct kvm_regs {
- struct user_pt_regs regs; /* sp = sp_el0 */
-
- __u64 sp_el1;
- __u64 elr_el1;
-
- __u64 spsr[KVM_NR_SPSR];
-
- struct user_fpsimd_state fp_regs;
-};
-
-/*
- * Supported CPU Targets - Adding a new target type is not recommended,
- * unless there are some special registers not supported by the
- * genericv8 syreg table.
- */
-#define KVM_ARM_TARGET_AEM_V8 0
-#define KVM_ARM_TARGET_FOUNDATION_V8 1
-#define KVM_ARM_TARGET_CORTEX_A57 2
-#define KVM_ARM_TARGET_XGENE_POTENZA 3
-#define KVM_ARM_TARGET_CORTEX_A53 4
-/* Generic ARM v8 target */
-#define KVM_ARM_TARGET_GENERIC_V8 5
-
-#define KVM_ARM_NUM_TARGETS 6
-
-/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
-#define KVM_ARM_DEVICE_TYPE_SHIFT 0
-#define KVM_ARM_DEVICE_TYPE_MASK (0xffff << KVM_ARM_DEVICE_TYPE_SHIFT)
-#define KVM_ARM_DEVICE_ID_SHIFT 16
-#define KVM_ARM_DEVICE_ID_MASK (0xffff << KVM_ARM_DEVICE_ID_SHIFT)
-
-/* Supported device IDs */
-#define KVM_ARM_DEVICE_VGIC_V2 0
-
-/* Supported VGIC address types */
-#define KVM_VGIC_V2_ADDR_TYPE_DIST 0
-#define KVM_VGIC_V2_ADDR_TYPE_CPU 1
-
-#define KVM_VGIC_V2_DIST_SIZE 0x1000
-#define KVM_VGIC_V2_CPU_SIZE 0x2000
-
-/* Supported VGICv3 address types */
-#define KVM_VGIC_V3_ADDR_TYPE_DIST 2
-#define KVM_VGIC_V3_ADDR_TYPE_REDIST 3
-#define KVM_VGIC_ITS_ADDR_TYPE 4
-#define KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION 5
-
-#define KVM_VGIC_V3_DIST_SIZE SZ_64K
-#define KVM_VGIC_V3_REDIST_SIZE (2 * SZ_64K)
-#define KVM_VGIC_V3_ITS_SIZE (2 * SZ_64K)
-
-#define KVM_ARM_VCPU_POWER_OFF 0 /* CPU is started in OFF state */
-#define KVM_ARM_VCPU_EL1_32BIT 1 /* CPU running a 32bit VM */
-#define KVM_ARM_VCPU_PSCI_0_2 2 /* CPU uses PSCI v0.2 */
-#define KVM_ARM_VCPU_PMU_V3 3 /* Support guest PMUv3 */
-
-struct kvm_vcpu_init {
- __u32 target;
- __u32 features[7];
-};
-
-struct kvm_sregs {
-};
-
-struct kvm_fpu {
-};
-
-/*
- * See v8 ARM ARM D7.3: Debug Registers
- *
- * The architectural limit is 16 debug registers of each type although
- * in practice there are usually less (see ID_AA64DFR0_EL1).
- *
- * Although the control registers are architecturally defined as 32
- * bits wide we use a 64 bit structure here to keep parity with
- * KVM_GET/SET_ONE_REG behaviour which treats all system registers as
- * 64 bit values. It also allows for the possibility of the
- * architecture expanding the control registers without having to
- * change the userspace ABI.
- */
-#define KVM_ARM_MAX_DBG_REGS 16
-struct kvm_guest_debug_arch {
- __u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS];
- __u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
-};
-
-struct kvm_debug_exit_arch {
- __u32 hsr;
- __u64 far; /* used for watchpoints */
-};
-
-/*
- * Architecture specific defines for kvm_guest_debug->control
- */
-
-#define KVM_GUESTDBG_USE_SW_BP (1 << 16)
-#define KVM_GUESTDBG_USE_HW (1 << 17)
-
-struct kvm_sync_regs {
- /* Used with KVM_CAP_ARM_USER_IRQ */
- __u64 device_irq_level;
-};
-
-struct kvm_arch_memory_slot {
-};
-
-/* for KVM_GET/SET_VCPU_EVENTS */
-struct kvm_vcpu_events {
- struct {
- __u8 serror_pending;
- __u8 serror_has_esr;
- /* Align it to 8 bytes */
- __u8 pad[6];
- __u64 serror_esr;
- } exception;
- __u32 reserved[12];
-};
-
-/* If you need to interpret the index values, here is the key: */
-#define KVM_REG_ARM_COPROC_MASK 0x000000000FFF0000
-#define KVM_REG_ARM_COPROC_SHIFT 16
-
-/* Normal registers are mapped as coprocessor 16. */
-#define KVM_REG_ARM_CORE (0x0010 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_CORE_REG(name) (offsetof(struct kvm_regs, name) / sizeof(__u32))
-
-/* Some registers need more space to represent values. */
-#define KVM_REG_ARM_DEMUX (0x0011 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_DEMUX_ID_MASK 0x000000000000FF00
-#define KVM_REG_ARM_DEMUX_ID_SHIFT 8
-#define KVM_REG_ARM_DEMUX_ID_CCSIDR (0x00 << KVM_REG_ARM_DEMUX_ID_SHIFT)
-#define KVM_REG_ARM_DEMUX_VAL_MASK 0x00000000000000FF
-#define KVM_REG_ARM_DEMUX_VAL_SHIFT 0
-
-/* AArch64 system registers */
-#define KVM_REG_ARM64_SYSREG (0x0013 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM64_SYSREG_OP0_MASK 0x000000000000c000
-#define KVM_REG_ARM64_SYSREG_OP0_SHIFT 14
-#define KVM_REG_ARM64_SYSREG_OP1_MASK 0x0000000000003800
-#define KVM_REG_ARM64_SYSREG_OP1_SHIFT 11
-#define KVM_REG_ARM64_SYSREG_CRN_MASK 0x0000000000000780
-#define KVM_REG_ARM64_SYSREG_CRN_SHIFT 7
-#define KVM_REG_ARM64_SYSREG_CRM_MASK 0x0000000000000078
-#define KVM_REG_ARM64_SYSREG_CRM_SHIFT 3
-#define KVM_REG_ARM64_SYSREG_OP2_MASK 0x0000000000000007
-#define KVM_REG_ARM64_SYSREG_OP2_SHIFT 0
-
-#define ARM64_SYS_REG_SHIFT_MASK(x,n) \
- (((x) << KVM_REG_ARM64_SYSREG_ ## n ## _SHIFT) & \
- KVM_REG_ARM64_SYSREG_ ## n ## _MASK)
-
-#define __ARM64_SYS_REG(op0,op1,crn,crm,op2) \
- (KVM_REG_ARM64 | KVM_REG_ARM64_SYSREG | \
- ARM64_SYS_REG_SHIFT_MASK(op0, OP0) | \
- ARM64_SYS_REG_SHIFT_MASK(op1, OP1) | \
- ARM64_SYS_REG_SHIFT_MASK(crn, CRN) | \
- ARM64_SYS_REG_SHIFT_MASK(crm, CRM) | \
- ARM64_SYS_REG_SHIFT_MASK(op2, OP2))
-
-#define ARM64_SYS_REG(...) (__ARM64_SYS_REG(__VA_ARGS__) | KVM_REG_SIZE_U64)
-
-/* Physical Timer EL0 Registers */
-#define KVM_REG_ARM_PTIMER_CTL ARM64_SYS_REG(3, 3, 14, 2, 1)
-#define KVM_REG_ARM_PTIMER_CVAL ARM64_SYS_REG(3, 3, 14, 2, 2)
-#define KVM_REG_ARM_PTIMER_CNT ARM64_SYS_REG(3, 3, 14, 0, 1)
-
-/* EL0 Virtual Timer Registers */
-#define KVM_REG_ARM_TIMER_CTL ARM64_SYS_REG(3, 3, 14, 3, 1)
-#define KVM_REG_ARM_TIMER_CNT ARM64_SYS_REG(3, 3, 14, 3, 2)
-#define KVM_REG_ARM_TIMER_CVAL ARM64_SYS_REG(3, 3, 14, 0, 2)
-
-/* KVM-as-firmware specific pseudo-registers */
-#define KVM_REG_ARM_FW (0x0014 << KVM_REG_ARM_COPROC_SHIFT)
-#define KVM_REG_ARM_FW_REG(r) (KVM_REG_ARM64 | KVM_REG_SIZE_U64 | \
- KVM_REG_ARM_FW | ((r) & 0xffff))
-#define KVM_REG_ARM_PSCI_VERSION KVM_REG_ARM_FW_REG(0)
-
-/* Device Control API: ARM VGIC */
-#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
-#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
-#define KVM_DEV_ARM_VGIC_GRP_CPU_REGS 2
-#define KVM_DEV_ARM_VGIC_CPUID_SHIFT 32
-#define KVM_DEV_ARM_VGIC_CPUID_MASK (0xffULL << KVM_DEV_ARM_VGIC_CPUID_SHIFT)
-#define KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT 32
-#define KVM_DEV_ARM_VGIC_V3_MPIDR_MASK \
- (0xffffffffULL << KVM_DEV_ARM_VGIC_V3_MPIDR_SHIFT)
-#define KVM_DEV_ARM_VGIC_OFFSET_SHIFT 0
-#define KVM_DEV_ARM_VGIC_OFFSET_MASK (0xffffffffULL << KVM_DEV_ARM_VGIC_OFFSET_SHIFT)
-#define KVM_DEV_ARM_VGIC_SYSREG_INSTR_MASK (0xffff)
-#define KVM_DEV_ARM_VGIC_GRP_NR_IRQS 3
-#define KVM_DEV_ARM_VGIC_GRP_CTRL 4
-#define KVM_DEV_ARM_VGIC_GRP_REDIST_REGS 5
-#define KVM_DEV_ARM_VGIC_GRP_CPU_SYSREGS 6
-#define KVM_DEV_ARM_VGIC_GRP_LEVEL_INFO 7
-#define KVM_DEV_ARM_VGIC_GRP_ITS_REGS 8
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT 10
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_MASK \
- (0x3fffffULL << KVM_DEV_ARM_VGIC_LINE_LEVEL_INFO_SHIFT)
-#define KVM_DEV_ARM_VGIC_LINE_LEVEL_INTID_MASK 0x3ff
-#define VGIC_LEVEL_INFO_LINE_LEVEL 0
-
-#define KVM_DEV_ARM_VGIC_CTRL_INIT 0
-#define KVM_DEV_ARM_ITS_SAVE_TABLES 1
-#define KVM_DEV_ARM_ITS_RESTORE_TABLES 2
-#define KVM_DEV_ARM_VGIC_SAVE_PENDING_TABLES 3
-#define KVM_DEV_ARM_ITS_CTRL_RESET 4
-
-/* Device Control API on vcpu fd */
-#define KVM_ARM_VCPU_PMU_V3_CTRL 0
-#define KVM_ARM_VCPU_PMU_V3_IRQ 0
-#define KVM_ARM_VCPU_PMU_V3_INIT 1
-#define KVM_ARM_VCPU_TIMER_CTRL 1
-#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
-#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
-
-/* KVM_IRQ_LINE irq field index values */
-#define KVM_ARM_IRQ_TYPE_SHIFT 24
-#define KVM_ARM_IRQ_TYPE_MASK 0xff
-#define KVM_ARM_IRQ_VCPU_SHIFT 16
-#define KVM_ARM_IRQ_VCPU_MASK 0xff
-#define KVM_ARM_IRQ_NUM_SHIFT 0
-#define KVM_ARM_IRQ_NUM_MASK 0xffff
-
-/* irq_type field */
-#define KVM_ARM_IRQ_TYPE_CPU 0
-#define KVM_ARM_IRQ_TYPE_SPI 1
-#define KVM_ARM_IRQ_TYPE_PPI 2
-
-/* out-of-kernel GIC cpu interrupt injection irq_number field */
-#define KVM_ARM_IRQ_CPU_IRQ 0
-#define KVM_ARM_IRQ_CPU_FIQ 1
-
-/*
- * This used to hold the highest supported SPI, but it is now obsolete
- * and only here to provide source code level compatibility with older
- * userland. The highest SPI number can be set via KVM_DEV_ARM_VGIC_GRP_NR_IRQS.
- */
-#define KVM_ARM_IRQ_GIC_MAX 127
-
-/* One single KVM irqchip, ie. the VGIC */
-#define KVM_NR_IRQCHIPS 1
-
-/* PSCI interface */
-#define KVM_PSCI_FN_BASE 0x95c1ba5e
-#define KVM_PSCI_FN(n) (KVM_PSCI_FN_BASE + (n))
-
-#define KVM_PSCI_FN_CPU_SUSPEND KVM_PSCI_FN(0)
-#define KVM_PSCI_FN_CPU_OFF KVM_PSCI_FN(1)
-#define KVM_PSCI_FN_CPU_ON KVM_PSCI_FN(2)
-#define KVM_PSCI_FN_MIGRATE KVM_PSCI_FN(3)
-
-#define KVM_PSCI_RET_SUCCESS PSCI_RET_SUCCESS
-#define KVM_PSCI_RET_NI PSCI_RET_NOT_SUPPORTED
-#define KVM_PSCI_RET_INVAL PSCI_RET_INVALID_PARAMS
-#define KVM_PSCI_RET_DENIED PSCI_RET_DENIED
-
-#endif
-
-#endif /* __ARM_KVM_H__ */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/kvm_para.h b/libc/include/aarch64_be-linux-musl/asm/kvm_para.h
deleted file mode 100644
index a2f15b84b87bb8f05a5873d2193b153b142f792b..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/kvm_para.h
+++ /dev/null
@@ -1 +0,0 @@
-#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/param.h b/libc/include/aarch64_be-linux-musl/asm/param.h
deleted file mode 100644
index f58c021601fedff10bb342e7caa188111f328e43..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/param.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_PARAM_H
-#define __ASM_PARAM_H
-
-#define EXEC_PAGESIZE 65536
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/perf_regs.h b/libc/include/aarch64_be-linux-musl/asm/perf_regs.h
deleted file mode 100644
index d63b945af5a0252dcacee51f670e543c25d178d3..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/perf_regs.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _ASM_ARM64_PERF_REGS_H
-#define _ASM_ARM64_PERF_REGS_H
-
-enum perf_event_arm_regs {
- PERF_REG_ARM64_X0,
- PERF_REG_ARM64_X1,
- PERF_REG_ARM64_X2,
- PERF_REG_ARM64_X3,
- PERF_REG_ARM64_X4,
- PERF_REG_ARM64_X5,
- PERF_REG_ARM64_X6,
- PERF_REG_ARM64_X7,
- PERF_REG_ARM64_X8,
- PERF_REG_ARM64_X9,
- PERF_REG_ARM64_X10,
- PERF_REG_ARM64_X11,
- PERF_REG_ARM64_X12,
- PERF_REG_ARM64_X13,
- PERF_REG_ARM64_X14,
- PERF_REG_ARM64_X15,
- PERF_REG_ARM64_X16,
- PERF_REG_ARM64_X17,
- PERF_REG_ARM64_X18,
- PERF_REG_ARM64_X19,
- PERF_REG_ARM64_X20,
- PERF_REG_ARM64_X21,
- PERF_REG_ARM64_X22,
- PERF_REG_ARM64_X23,
- PERF_REG_ARM64_X24,
- PERF_REG_ARM64_X25,
- PERF_REG_ARM64_X26,
- PERF_REG_ARM64_X27,
- PERF_REG_ARM64_X28,
- PERF_REG_ARM64_X29,
- PERF_REG_ARM64_LR,
- PERF_REG_ARM64_SP,
- PERF_REG_ARM64_PC,
- PERF_REG_ARM64_MAX,
-};
-#endif /* _ASM_ARM64_PERF_REGS_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/posix_types.h b/libc/include/aarch64_be-linux-musl/asm/posix_types.h
deleted file mode 100644
index b20f985d3a9fdbeb759ded61119791034ec75b48..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/posix_types.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __ASM_POSIX_TYPES_H
-#define __ASM_POSIX_TYPES_H
-
-typedef unsigned short __kernel_old_uid_t;
-typedef unsigned short __kernel_old_gid_t;
-#define __kernel_old_uid_t __kernel_old_uid_t
-
-#include
-
-#endif /* __ASM_POSIX_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/ptrace.h b/libc/include/aarch64_be-linux-musl/asm/ptrace.h
deleted file mode 100644
index e866145891a7e24443fc9ddce91e8b1c22dc91fd..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/ptrace.h
+++ /dev/null
@@ -1,233 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Based on arch/arm/include/asm/ptrace.h
- *
- * Copyright (C) 1996-2003 Russell King
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_PTRACE_H
-#define __ASM_PTRACE_H
-
-#include
-
-#include
-#include
-
-
-/*
- * PSR bits
- */
-#define PSR_MODE_EL0t 0x00000000
-#define PSR_MODE_EL1t 0x00000004
-#define PSR_MODE_EL1h 0x00000005
-#define PSR_MODE_EL2t 0x00000008
-#define PSR_MODE_EL2h 0x00000009
-#define PSR_MODE_EL3t 0x0000000c
-#define PSR_MODE_EL3h 0x0000000d
-#define PSR_MODE_MASK 0x0000000f
-
-/* AArch32 CPSR bits */
-#define PSR_MODE32_BIT 0x00000010
-
-/* AArch64 SPSR bits */
-#define PSR_F_BIT 0x00000040
-#define PSR_I_BIT 0x00000080
-#define PSR_A_BIT 0x00000100
-#define PSR_D_BIT 0x00000200
-#define PSR_PAN_BIT 0x00400000
-#define PSR_UAO_BIT 0x00800000
-#define PSR_V_BIT 0x10000000
-#define PSR_C_BIT 0x20000000
-#define PSR_Z_BIT 0x40000000
-#define PSR_N_BIT 0x80000000
-
-/*
- * Groups of PSR bits
- */
-#define PSR_f 0xff000000 /* Flags */
-#define PSR_s 0x00ff0000 /* Status */
-#define PSR_x 0x0000ff00 /* Extension */
-#define PSR_c 0x000000ff /* Control */
-
-
-#ifndef __ASSEMBLY__
-
-#include
-
-/*
- * User structures for general purpose, floating point and debug registers.
- */
-struct user_pt_regs {
- __u64 regs[31];
- __u64 sp;
- __u64 pc;
- __u64 pstate;
-};
-
-struct user_fpsimd_state {
- __uint128_t vregs[32];
- __u32 fpsr;
- __u32 fpcr;
- __u32 __reserved[2];
-};
-
-struct user_hwdebug_state {
- __u32 dbg_info;
- __u32 pad;
- struct {
- __u64 addr;
- __u32 ctrl;
- __u32 pad;
- } dbg_regs[16];
-};
-
-/* SVE/FP/SIMD state (NT_ARM_SVE) */
-
-struct user_sve_header {
- __u32 size; /* total meaningful regset content in bytes */
- __u32 max_size; /* maxmium possible size for this thread */
- __u16 vl; /* current vector length */
- __u16 max_vl; /* maximum possible vector length */
- __u16 flags;
- __u16 __reserved;
-};
-
-/* Definitions for user_sve_header.flags: */
-#define SVE_PT_REGS_MASK (1 << 0)
-
-#define SVE_PT_REGS_FPSIMD 0
-#define SVE_PT_REGS_SVE SVE_PT_REGS_MASK
-
-/*
- * Common SVE_PT_* flags:
- * These must be kept in sync with prctl interface in
- */
-#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16)
-#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16)
-
-
-/*
- * The remainder of the SVE state follows struct user_sve_header. The
- * total size of the SVE state (including header) depends on the
- * metadata in the header: SVE_PT_SIZE(vq, flags) gives the total size
- * of the state in bytes, including the header.
- *
- * Refer to for details of how to pass the correct
- * "vq" argument to these macros.
- */
-
-/* Offset from the start of struct user_sve_header to the register data */
-#define SVE_PT_REGS_OFFSET \
- ((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-/*
- * The register data content and layout depends on the value of the
- * flags field.
- */
-
-/*
- * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_FPSIMD case:
- *
- * The payload starts at offset SVE_PT_FPSIMD_OFFSET, and is of type
- * struct user_fpsimd_state. Additional data might be appended in the
- * future: use SVE_PT_FPSIMD_SIZE(vq, flags) to compute the total size.
- * SVE_PT_FPSIMD_SIZE(vq, flags) will never be less than
- * sizeof(struct user_fpsimd_state).
- */
-
-#define SVE_PT_FPSIMD_OFFSET SVE_PT_REGS_OFFSET
-
-#define SVE_PT_FPSIMD_SIZE(vq, flags) (sizeof(struct user_fpsimd_state))
-
-/*
- * (flags & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE case:
- *
- * The payload starts at offset SVE_PT_SVE_OFFSET, and is of size
- * SVE_PT_SVE_SIZE(vq, flags).
- *
- * Additional macros describe the contents and layout of the payload.
- * For each, SVE_PT_SVE_x_OFFSET(args) is the start offset relative to
- * the start of struct user_sve_header, and SVE_PT_SVE_x_SIZE(args) is
- * the size in bytes:
- *
- * x type description
- * - ---- -----------
- * ZREGS \
- * ZREG |
- * PREGS | refer to
- * PREG |
- * FFR /
- *
- * FPSR uint32_t FPSR
- * FPCR uint32_t FPCR
- *
- * Additional data might be appended in the future.
- */
-
-#define SVE_PT_SVE_ZREG_SIZE(vq) SVE_SIG_ZREG_SIZE(vq)
-#define SVE_PT_SVE_PREG_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
-#define SVE_PT_SVE_FFR_SIZE(vq) SVE_SIG_FFR_SIZE(vq)
-#define SVE_PT_SVE_FPSR_SIZE sizeof(__u32)
-#define SVE_PT_SVE_FPCR_SIZE sizeof(__u32)
-
-#define __SVE_SIG_TO_PT(offset) \
- ((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
-
-#define SVE_PT_SVE_OFFSET SVE_PT_REGS_OFFSET
-
-#define SVE_PT_SVE_ZREGS_OFFSET \
- __SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
-#define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
- __SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
-#define SVE_PT_SVE_ZREGS_SIZE(vq) \
- (SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
-
-#define SVE_PT_SVE_PREGS_OFFSET(vq) \
- __SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
-#define SVE_PT_SVE_PREG_OFFSET(vq, n) \
- __SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
-#define SVE_PT_SVE_PREGS_SIZE(vq) \
- (SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
- SVE_PT_SVE_PREGS_OFFSET(vq))
-
-#define SVE_PT_SVE_FFR_OFFSET(vq) \
- __SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
-
-#define SVE_PT_SVE_FPSR_OFFSET(vq) \
- ((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) + \
- (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-#define SVE_PT_SVE_FPCR_OFFSET(vq) \
- (SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
-
-/*
- * Any future extension appended after FPCR must be aligned to the next
- * 128-bit boundary.
- */
-
-#define SVE_PT_SVE_SIZE(vq, flags) \
- ((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE \
- - SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-#define SVE_PT_SIZE(vq, flags) \
- (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ? \
- SVE_PT_SVE_OFFSET + SVE_PT_SVE_SIZE(vq, flags) \
- : SVE_PT_FPSIMD_OFFSET + SVE_PT_FPSIMD_SIZE(vq, flags))
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_PTRACE_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/setup.h b/libc/include/aarch64_be-linux-musl/asm/setup.h
deleted file mode 100644
index 32e442aba7cfe229940f334797836c878fd2272b..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/setup.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Based on arch/arm/include/asm/setup.h
- *
- * Copyright (C) 1997-1999 Russell King
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SETUP_H
-#define __ASM_SETUP_H
-
-#include
-
-#define COMMAND_LINE_SIZE 2048
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/sigcontext.h b/libc/include/aarch64_be-linux-musl/asm/sigcontext.h
deleted file mode 100644
index eb6f272747a252388a8d073dd00e29f6ca376cec..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/sigcontext.h
+++ /dev/null
@@ -1,238 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGCONTEXT_H
-#define __ASM_SIGCONTEXT_H
-
-#ifndef __ASSEMBLY__
-
-#include
-
-/*
- * Signal context structure - contains all info to do with the state
- * before the signal handler was invoked.
- */
-struct sigcontext {
- __u64 fault_address;
- /* AArch64 registers */
- __u64 regs[31];
- __u64 sp;
- __u64 pc;
- __u64 pstate;
- /* 4K reserved for FP/SIMD state and future expansion */
- __u8 __reserved[4096] __attribute__((__aligned__(16)));
-};
-
-/*
- * Allocation of __reserved[]:
- * (Note: records do not necessarily occur in the order shown here.)
- *
- * size description
- *
- * 0x210 fpsimd_context
- * 0x10 esr_context
- * 0x8a0 sve_context (vl <= 64) (optional)
- * 0x20 extra_context (optional)
- * 0x10 terminator (null _aarch64_ctx)
- *
- * 0x510 (reserved for future allocation)
- *
- * New records that can exceed this space need to be opt-in for userspace, so
- * that an expanded signal frame is not generated unexpectedly. The mechanism
- * for opting in will depend on the extension that generates each new record.
- * The above table documents the maximum set and sizes of records than can be
- * generated when userspace does not opt in for any such extension.
- */
-
-/*
- * Header to be used at the beginning of structures extending the user
- * context. Such structures must be placed after the rt_sigframe on the stack
- * and be 16-byte aligned. The last structure must be a dummy one with the
- * magic and size set to 0.
- */
-struct _aarch64_ctx {
- __u32 magic;
- __u32 size;
-};
-
-#define FPSIMD_MAGIC 0x46508001
-
-struct fpsimd_context {
- struct _aarch64_ctx head;
- __u32 fpsr;
- __u32 fpcr;
- __uint128_t vregs[32];
-};
-
-/* ESR_EL1 context */
-#define ESR_MAGIC 0x45535201
-
-struct esr_context {
- struct _aarch64_ctx head;
- __u64 esr;
-};
-
-/*
- * extra_context: describes extra space in the signal frame for
- * additional structures that don't fit in sigcontext.__reserved[].
- *
- * Note:
- *
- * 1) fpsimd_context, esr_context and extra_context must be placed in
- * sigcontext.__reserved[] if present. They cannot be placed in the
- * extra space. Any other record can be placed either in the extra
- * space or in sigcontext.__reserved[], unless otherwise specified in
- * this file.
- *
- * 2) There must not be more than one extra_context.
- *
- * 3) If extra_context is present, it must be followed immediately in
- * sigcontext.__reserved[] by the terminating null _aarch64_ctx.
- *
- * 4) The extra space to which datap points must start at the first
- * 16-byte aligned address immediately after the terminating null
- * _aarch64_ctx that follows the extra_context structure in
- * __reserved[]. The extra space may overrun the end of __reserved[],
- * as indicated by a sufficiently large value for the size field.
- *
- * 5) The extra space must itself be terminated with a null
- * _aarch64_ctx.
- */
-#define EXTRA_MAGIC 0x45585401
-
-struct extra_context {
- struct _aarch64_ctx head;
- __u64 datap; /* 16-byte aligned pointer to extra space cast to __u64 */
- __u32 size; /* size in bytes of the extra space */
- __u32 __reserved[3];
-};
-
-#define SVE_MAGIC 0x53564501
-
-struct sve_context {
- struct _aarch64_ctx head;
- __u16 vl;
- __u16 __reserved[3];
-};
-
-#endif /* !__ASSEMBLY__ */
-
-/*
- * The SVE architecture leaves space for future expansion of the
- * vector length beyond its initial architectural limit of 2048 bits
- * (16 quadwords).
- *
- * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
- * terminology.
- */
-#define SVE_VQ_BYTES 16 /* number of bytes per quadword */
-
-#define SVE_VQ_MIN 1
-#define SVE_VQ_MAX 512
-
-#define SVE_VL_MIN (SVE_VQ_MIN * SVE_VQ_BYTES)
-#define SVE_VL_MAX (SVE_VQ_MAX * SVE_VQ_BYTES)
-
-#define SVE_NUM_ZREGS 32
-#define SVE_NUM_PREGS 16
-
-#define sve_vl_valid(vl) \
- ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
-#define sve_vq_from_vl(vl) ((vl) / SVE_VQ_BYTES)
-#define sve_vl_from_vq(vq) ((vq) * SVE_VQ_BYTES)
-
-/*
- * If the SVE registers are currently live for the thread at signal delivery,
- * sve_context.head.size >=
- * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl))
- * and the register data may be accessed using the SVE_SIG_*() macros.
- *
- * If sve_context.head.size <
- * SVE_SIG_CONTEXT_SIZE(sve_vq_from_vl(sve_context.vl)),
- * the SVE registers were not live for the thread and no register data
- * is included: in this case, the SVE_SIG_*() macros should not be
- * used except for this check.
- *
- * The same convention applies when returning from a signal: a caller
- * will need to remove or resize the sve_context block if it wants to
- * make the SVE registers live when they were previously non-live or
- * vice-versa. This may require the the caller to allocate fresh
- * memory and/or move other context blocks in the signal frame.
- *
- * Changing the vector length during signal return is not permitted:
- * sve_context.vl must equal the thread's current vector length when
- * doing a sigreturn.
- *
- *
- * Note: for all these macros, the "vq" argument denotes the SVE
- * vector length in quadwords (i.e., units of 128 bits).
- *
- * The correct way to obtain vq is to use sve_vq_from_vl(vl). The
- * result is valid if and only if sve_vl_valid(vl) is true. This is
- * guaranteed for a struct sve_context written by the kernel.
- *
- *
- * Additional macros describe the contents and layout of the payload.
- * For each, SVE_SIG_x_OFFSET(args) is the start offset relative to
- * the start of struct sve_context, and SVE_SIG_x_SIZE(args) is the
- * size in bytes:
- *
- * x type description
- * - ---- -----------
- * REGS the entire SVE context
- *
- * ZREGS __uint128_t[SVE_NUM_ZREGS][vq] all Z-registers
- * ZREG __uint128_t[vq] individual Z-register Zn
- *
- * PREGS uint16_t[SVE_NUM_PREGS][vq] all P-registers
- * PREG uint16_t[vq] individual P-register Pn
- *
- * FFR uint16_t[vq] first-fault status register
- *
- * Additional data might be appended in the future.
- */
-
-#define SVE_SIG_ZREG_SIZE(vq) ((__u32)(vq) * SVE_VQ_BYTES)
-#define SVE_SIG_PREG_SIZE(vq) ((__u32)(vq) * (SVE_VQ_BYTES / 8))
-#define SVE_SIG_FFR_SIZE(vq) SVE_SIG_PREG_SIZE(vq)
-
-#define SVE_SIG_REGS_OFFSET \
- ((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1)) \
- / SVE_VQ_BYTES * SVE_VQ_BYTES)
-
-#define SVE_SIG_ZREGS_OFFSET SVE_SIG_REGS_OFFSET
-#define SVE_SIG_ZREG_OFFSET(vq, n) \
- (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
-#define SVE_SIG_ZREGS_SIZE(vq) \
- (SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
-
-#define SVE_SIG_PREGS_OFFSET(vq) \
- (SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
-#define SVE_SIG_PREG_OFFSET(vq, n) \
- (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
-#define SVE_SIG_PREGS_SIZE(vq) \
- (SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
-
-#define SVE_SIG_FFR_OFFSET(vq) \
- (SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
-
-#define SVE_SIG_REGS_SIZE(vq) \
- (SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
-
-#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
-
-
-#endif /* __ASM_SIGCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/siginfo.h b/libc/include/aarch64_be-linux-musl/asm/siginfo.h
deleted file mode 100644
index 0797d770776bd49fa65f1b36c4970d1554c740ca..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/siginfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGINFO_H
-#define __ASM_SIGINFO_H
-
-#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/signal.h b/libc/include/aarch64_be-linux-musl/asm/signal.h
deleted file mode 100644
index 167802d3a21a27f1da82fa64364d21d5bb4786aa..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/signal.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_SIGNAL_H
-#define __ASM_SIGNAL_H
-
-/* Required for AArch32 compatibility. */
-#define SA_RESTORER 0x04000000
-
-#define MINSIGSTKSZ 5120
-#define SIGSTKSZ 16384
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/stat.h b/libc/include/aarch64_be-linux-musl/asm/stat.h
deleted file mode 100644
index 04e59c072eb2667dd5df2537d075a586b01aa9fc..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/stat.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/statfs.h b/libc/include/aarch64_be-linux-musl/asm/statfs.h
deleted file mode 100644
index dfa2faa7db74670c39807c261970ff83aae76436..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/statfs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_STATFS_H
-#define __ASM_STATFS_H
-
-#define ARCH_PACK_COMPAT_STATFS64 __attribute__((packed,aligned(4)))
-
-#include
-
-#endif
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/ucontext.h b/libc/include/aarch64_be-linux-musl/asm/ucontext.h
deleted file mode 100644
index 87f00793b319167c3d67192961f02caaee33e7d5..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/ucontext.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#ifndef __ASM_UCONTEXT_H
-#define __ASM_UCONTEXT_H
-
-#include
-
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- sigset_t uc_sigmask;
- /* glibc uses a 1024-bit sigset_t */
- __u8 __unused[1024 / 8 - sizeof(sigset_t)];
- /* last for future expansion */
- struct sigcontext uc_mcontext;
-};
-
-#endif /* __ASM_UCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/aarch64_be-linux-musl/asm/unistd.h b/libc/include/aarch64_be-linux-musl/asm/unistd.h
deleted file mode 100644
index 198e1aa8f62af4ad653754cf8b27182f1b296b7a..0000000000000000000000000000000000000000
--- a/libc/include/aarch64_be-linux-musl/asm/unistd.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#define __ARCH_WANT_RENAMEAT
-
-#include
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/auxvec.h b/libc/include/any-linux-any/asm-generic/auxvec.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3c93f2d174b22cd91bdade571ad6e70b4e96bb3
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/auxvec.h
@@ -0,0 +1,8 @@
+#ifndef __ASM_GENERIC_AUXVEC_H
+#define __ASM_GENERIC_AUXVEC_H
+/*
+ * Not all architectures need their own auxvec.h, the most
+ * common definitions are already in linux/auxvec.h.
+ */
+
+#endif /* __ASM_GENERIC_AUXVEC_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/bitsperlong.h b/libc/include/any-linux-any/asm-generic/bitsperlong.h
new file mode 100644
index 0000000000000000000000000000000000000000..1c727af9bb91b75ffb61769c4b8dd4dff92595d6
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/bitsperlong.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_BITS_PER_LONG
+#define __ASM_GENERIC_BITS_PER_LONG
+
+/*
+ * There seems to be no way of detecting this automatically from user
+ * space, so 64 bit architectures should override this in their
+ * bitsperlong.h. In particular, an architecture that supports
+ * both 32 and 64 bit user space must not rely on CONFIG_64BIT
+ * to decide it, but rather check a compiler provided macro.
+ */
+#ifndef __BITS_PER_LONG
+#define __BITS_PER_LONG 32
+#endif
+
+#endif /* __ASM_GENERIC_BITS_PER_LONG */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/bpf_perf_event.h b/libc/include/any-linux-any/asm-generic/bpf_perf_event.h
new file mode 100644
index 0000000000000000000000000000000000000000..8a07d532218955db84585cac1e64b0efa2c17443
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/bpf_perf_event.h
@@ -0,0 +1,9 @@
+#ifndef __ASM_GENERIC_BPF_PERF_EVENT_H__
+#define __ASM_GENERIC_BPF_PERF_EVENT_H__
+
+#include
+
+/* Export kernel pt_regs structure */
+typedef struct pt_regs bpf_user_pt_regs_t;
+
+#endif /* __ASM_GENERIC_BPF_PERF_EVENT_H__ */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/errno-base.h b/libc/include/any-linux-any/asm-generic/errno-base.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d58872335d9148e486f4073f8ed89d6be13bd26
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/errno-base.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_ERRNO_BASE_H
+#define _ASM_GENERIC_ERRNO_BASE_H
+
+#define EPERM 1 /* Operation not permitted */
+#define ENOENT 2 /* No such file or directory */
+#define ESRCH 3 /* No such process */
+#define EINTR 4 /* Interrupted system call */
+#define EIO 5 /* I/O error */
+#define ENXIO 6 /* No such device or address */
+#define E2BIG 7 /* Argument list too long */
+#define ENOEXEC 8 /* Exec format error */
+#define EBADF 9 /* Bad file number */
+#define ECHILD 10 /* No child processes */
+#define EAGAIN 11 /* Try again */
+#define ENOMEM 12 /* Out of memory */
+#define EACCES 13 /* Permission denied */
+#define EFAULT 14 /* Bad address */
+#define ENOTBLK 15 /* Block device required */
+#define EBUSY 16 /* Device or resource busy */
+#define EEXIST 17 /* File exists */
+#define EXDEV 18 /* Cross-device link */
+#define ENODEV 19 /* No such device */
+#define ENOTDIR 20 /* Not a directory */
+#define EISDIR 21 /* Is a directory */
+#define EINVAL 22 /* Invalid argument */
+#define ENFILE 23 /* File table overflow */
+#define EMFILE 24 /* Too many open files */
+#define ENOTTY 25 /* Not a typewriter */
+#define ETXTBSY 26 /* Text file busy */
+#define EFBIG 27 /* File too large */
+#define ENOSPC 28 /* No space left on device */
+#define ESPIPE 29 /* Illegal seek */
+#define EROFS 30 /* Read-only file system */
+#define EMLINK 31 /* Too many links */
+#define EPIPE 32 /* Broken pipe */
+#define EDOM 33 /* Math argument out of domain of func */
+#define ERANGE 34 /* Math result not representable */
+
+#endif
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/errno.h b/libc/include/any-linux-any/asm-generic/errno.h
new file mode 100644
index 0000000000000000000000000000000000000000..66a26589841a4937c256c9adcdb6b63cc247cd45
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/errno.h
@@ -0,0 +1,123 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_ERRNO_H
+#define _ASM_GENERIC_ERRNO_H
+
+#include
+
+#define EDEADLK 35 /* Resource deadlock would occur */
+#define ENAMETOOLONG 36 /* File name too long */
+#define ENOLCK 37 /* No record locks available */
+
+/*
+ * This error code is special: arch syscall entry code will return
+ * -ENOSYS if users try to call a syscall that doesn't exist. To keep
+ * failures of syscalls that really do exist distinguishable from
+ * failures due to attempts to use a nonexistent syscall, syscall
+ * implementations should refrain from returning -ENOSYS.
+ */
+#define ENOSYS 38 /* Invalid system call number */
+
+#define ENOTEMPTY 39 /* Directory not empty */
+#define ELOOP 40 /* Too many symbolic links encountered */
+#define EWOULDBLOCK EAGAIN /* Operation would block */
+#define ENOMSG 42 /* No message of desired type */
+#define EIDRM 43 /* Identifier removed */
+#define ECHRNG 44 /* Channel number out of range */
+#define EL2NSYNC 45 /* Level 2 not synchronized */
+#define EL3HLT 46 /* Level 3 halted */
+#define EL3RST 47 /* Level 3 reset */
+#define ELNRNG 48 /* Link number out of range */
+#define EUNATCH 49 /* Protocol driver not attached */
+#define ENOCSI 50 /* No CSI structure available */
+#define EL2HLT 51 /* Level 2 halted */
+#define EBADE 52 /* Invalid exchange */
+#define EBADR 53 /* Invalid request descriptor */
+#define EXFULL 54 /* Exchange full */
+#define ENOANO 55 /* No anode */
+#define EBADRQC 56 /* Invalid request code */
+#define EBADSLT 57 /* Invalid slot */
+
+#define EDEADLOCK EDEADLK
+
+#define EBFONT 59 /* Bad font file format */
+#define ENOSTR 60 /* Device not a stream */
+#define ENODATA 61 /* No data available */
+#define ETIME 62 /* Timer expired */
+#define ENOSR 63 /* Out of streams resources */
+#define ENONET 64 /* Machine is not on the network */
+#define ENOPKG 65 /* Package not installed */
+#define EREMOTE 66 /* Object is remote */
+#define ENOLINK 67 /* Link has been severed */
+#define EADV 68 /* Advertise error */
+#define ESRMNT 69 /* Srmount error */
+#define ECOMM 70 /* Communication error on send */
+#define EPROTO 71 /* Protocol error */
+#define EMULTIHOP 72 /* Multihop attempted */
+#define EDOTDOT 73 /* RFS specific error */
+#define EBADMSG 74 /* Not a data message */
+#define EOVERFLOW 75 /* Value too large for defined data type */
+#define ENOTUNIQ 76 /* Name not unique on network */
+#define EBADFD 77 /* File descriptor in bad state */
+#define EREMCHG 78 /* Remote address changed */
+#define ELIBACC 79 /* Can not access a needed shared library */
+#define ELIBBAD 80 /* Accessing a corrupted shared library */
+#define ELIBSCN 81 /* .lib section in a.out corrupted */
+#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
+#define ELIBEXEC 83 /* Cannot exec a shared library directly */
+#define EILSEQ 84 /* Illegal byte sequence */
+#define ERESTART 85 /* Interrupted system call should be restarted */
+#define ESTRPIPE 86 /* Streams pipe error */
+#define EUSERS 87 /* Too many users */
+#define ENOTSOCK 88 /* Socket operation on non-socket */
+#define EDESTADDRREQ 89 /* Destination address required */
+#define EMSGSIZE 90 /* Message too long */
+#define EPROTOTYPE 91 /* Protocol wrong type for socket */
+#define ENOPROTOOPT 92 /* Protocol not available */
+#define EPROTONOSUPPORT 93 /* Protocol not supported */
+#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
+#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
+#define EPFNOSUPPORT 96 /* Protocol family not supported */
+#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
+#define EADDRINUSE 98 /* Address already in use */
+#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
+#define ENETDOWN 100 /* Network is down */
+#define ENETUNREACH 101 /* Network is unreachable */
+#define ENETRESET 102 /* Network dropped connection because of reset */
+#define ECONNABORTED 103 /* Software caused connection abort */
+#define ECONNRESET 104 /* Connection reset by peer */
+#define ENOBUFS 105 /* No buffer space available */
+#define EISCONN 106 /* Transport endpoint is already connected */
+#define ENOTCONN 107 /* Transport endpoint is not connected */
+#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
+#define ETOOMANYREFS 109 /* Too many references: cannot splice */
+#define ETIMEDOUT 110 /* Connection timed out */
+#define ECONNREFUSED 111 /* Connection refused */
+#define EHOSTDOWN 112 /* Host is down */
+#define EHOSTUNREACH 113 /* No route to host */
+#define EALREADY 114 /* Operation already in progress */
+#define EINPROGRESS 115 /* Operation now in progress */
+#define ESTALE 116 /* Stale file handle */
+#define EUCLEAN 117 /* Structure needs cleaning */
+#define ENOTNAM 118 /* Not a XENIX named type file */
+#define ENAVAIL 119 /* No XENIX semaphores available */
+#define EISNAM 120 /* Is a named type file */
+#define EREMOTEIO 121 /* Remote I/O error */
+#define EDQUOT 122 /* Quota exceeded */
+
+#define ENOMEDIUM 123 /* No medium found */
+#define EMEDIUMTYPE 124 /* Wrong medium type */
+#define ECANCELED 125 /* Operation Canceled */
+#define ENOKEY 126 /* Required key not available */
+#define EKEYEXPIRED 127 /* Key has expired */
+#define EKEYREVOKED 128 /* Key has been revoked */
+#define EKEYREJECTED 129 /* Key was rejected by service */
+
+/* for robust mutexes */
+#define EOWNERDEAD 130 /* Owner died */
+#define ENOTRECOVERABLE 131 /* State not recoverable */
+
+#define ERFKILL 132 /* Operation not possible due to RF-kill */
+
+#define EHWPOISON 133 /* Memory page has hardware error */
+
+#endif
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/fcntl.h b/libc/include/any-linux-any/asm-generic/fcntl.h
new file mode 100644
index 0000000000000000000000000000000000000000..b16d9c6bbb06898f11f9c0266c0d2d37709f31ec
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/fcntl.h
@@ -0,0 +1,221 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_FCNTL_H
+#define _ASM_GENERIC_FCNTL_H
+
+#include
+
+/*
+ * FMODE_EXEC is 0x20
+ * FMODE_NONOTIFY is 0x4000000
+ * These cannot be used by userspace O_* until internal and external open
+ * flags are split.
+ * -Eric Paris
+ */
+
+/*
+ * When introducing new O_* bits, please check its uniqueness in fcntl_init().
+ */
+
+#define O_ACCMODE 00000003
+#define O_RDONLY 00000000
+#define O_WRONLY 00000001
+#define O_RDWR 00000002
+#ifndef O_CREAT
+#define O_CREAT 00000100 /* not fcntl */
+#endif
+#ifndef O_EXCL
+#define O_EXCL 00000200 /* not fcntl */
+#endif
+#ifndef O_NOCTTY
+#define O_NOCTTY 00000400 /* not fcntl */
+#endif
+#ifndef O_TRUNC
+#define O_TRUNC 00001000 /* not fcntl */
+#endif
+#ifndef O_APPEND
+#define O_APPEND 00002000
+#endif
+#ifndef O_NONBLOCK
+#define O_NONBLOCK 00004000
+#endif
+#ifndef O_DSYNC
+#define O_DSYNC 00010000 /* used to be O_SYNC, see below */
+#endif
+#ifndef FASYNC
+#define FASYNC 00020000 /* fcntl, for BSD compatibility */
+#endif
+#ifndef O_DIRECT
+#define O_DIRECT 00040000 /* direct disk access hint */
+#endif
+#ifndef O_LARGEFILE
+#define O_LARGEFILE 00100000
+#endif
+#ifndef O_DIRECTORY
+#define O_DIRECTORY 00200000 /* must be a directory */
+#endif
+#ifndef O_NOFOLLOW
+#define O_NOFOLLOW 00400000 /* don't follow links */
+#endif
+#ifndef O_NOATIME
+#define O_NOATIME 01000000
+#endif
+#ifndef O_CLOEXEC
+#define O_CLOEXEC 02000000 /* set close_on_exec */
+#endif
+
+/*
+ * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
+ * the O_SYNC flag. We continue to use the existing numerical value
+ * for O_DSYNC semantics now, but using the correct symbolic name for it.
+ * This new value is used to request true Posix O_SYNC semantics. It is
+ * defined in this strange way to make sure applications compiled against
+ * new headers get at least O_DSYNC semantics on older kernels.
+ *
+ * This has the nice side-effect that we can simply test for O_DSYNC
+ * wherever we do not care if O_DSYNC or O_SYNC is used.
+ *
+ * Note: __O_SYNC must never be used directly.
+ */
+#ifndef O_SYNC
+#define __O_SYNC 04000000
+#define O_SYNC (__O_SYNC|O_DSYNC)
+#endif
+
+#ifndef O_PATH
+#define O_PATH 010000000
+#endif
+
+#ifndef __O_TMPFILE
+#define __O_TMPFILE 020000000
+#endif
+
+/* a horrid kludge trying to make sure that this will fail on old kernels */
+#define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
+#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
+
+#ifndef O_NDELAY
+#define O_NDELAY O_NONBLOCK
+#endif
+
+#define F_DUPFD 0 /* dup */
+#define F_GETFD 1 /* get close_on_exec */
+#define F_SETFD 2 /* set/clear close_on_exec */
+#define F_GETFL 3 /* get file->f_flags */
+#define F_SETFL 4 /* set file->f_flags */
+#ifndef F_GETLK
+#define F_GETLK 5
+#define F_SETLK 6
+#define F_SETLKW 7
+#endif
+#ifndef F_SETOWN
+#define F_SETOWN 8 /* for sockets. */
+#define F_GETOWN 9 /* for sockets. */
+#endif
+#ifndef F_SETSIG
+#define F_SETSIG 10 /* for sockets. */
+#define F_GETSIG 11 /* for sockets. */
+#endif
+
+#ifndef CONFIG_64BIT
+#ifndef F_GETLK64
+#define F_GETLK64 12 /* using 'struct flock64' */
+#define F_SETLK64 13
+#define F_SETLKW64 14
+#endif
+#endif
+
+#ifndef F_SETOWN_EX
+#define F_SETOWN_EX 15
+#define F_GETOWN_EX 16
+#endif
+
+#ifndef F_GETOWNER_UIDS
+#define F_GETOWNER_UIDS 17
+#endif
+
+/*
+ * Open File Description Locks
+ *
+ * Usually record locks held by a process are released on *any* close and are
+ * not inherited across a fork().
+ *
+ * These cmd values will set locks that conflict with process-associated
+ * record locks, but are "owned" by the open file description, not the
+ * process. This means that they are inherited across fork() like BSD (flock)
+ * locks, and they are only released automatically when the last reference to
+ * the the open file against which they were acquired is put.
+ */
+#define F_OFD_GETLK 36
+#define F_OFD_SETLK 37
+#define F_OFD_SETLKW 38
+
+#define F_OWNER_TID 0
+#define F_OWNER_PID 1
+#define F_OWNER_PGRP 2
+
+struct f_owner_ex {
+ int type;
+ __kernel_pid_t pid;
+};
+
+/* for F_[GET|SET]FL */
+#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
+
+/* for posix fcntl() and lockf() */
+#ifndef F_RDLCK
+#define F_RDLCK 0
+#define F_WRLCK 1
+#define F_UNLCK 2
+#endif
+
+/* for old implementation of bsd flock () */
+#ifndef F_EXLCK
+#define F_EXLCK 4 /* or 3 */
+#define F_SHLCK 8 /* or 4 */
+#endif
+
+/* operations for bsd flock(), also used by the kernel implementation */
+#define LOCK_SH 1 /* shared lock */
+#define LOCK_EX 2 /* exclusive lock */
+#define LOCK_NB 4 /* or'd with one of the above to prevent
+ blocking */
+#define LOCK_UN 8 /* remove lock */
+
+#define LOCK_MAND 32 /* This is a mandatory flock ... */
+#define LOCK_READ 64 /* which allows concurrent read operations */
+#define LOCK_WRITE 128 /* which allows concurrent write operations */
+#define LOCK_RW 192 /* which allows concurrent read & write ops */
+
+#define F_LINUX_SPECIFIC_BASE 1024
+
+#ifndef HAVE_ARCH_STRUCT_FLOCK
+#ifndef __ARCH_FLOCK_PAD
+#define __ARCH_FLOCK_PAD
+#endif
+
+struct flock {
+ short l_type;
+ short l_whence;
+ __kernel_off_t l_start;
+ __kernel_off_t l_len;
+ __kernel_pid_t l_pid;
+ __ARCH_FLOCK_PAD
+};
+#endif
+
+#ifndef HAVE_ARCH_STRUCT_FLOCK64
+#ifndef __ARCH_FLOCK64_PAD
+#define __ARCH_FLOCK64_PAD
+#endif
+
+struct flock64 {
+ short l_type;
+ short l_whence;
+ __kernel_loff_t l_start;
+ __kernel_loff_t l_len;
+ __kernel_pid_t l_pid;
+ __ARCH_FLOCK64_PAD
+};
+#endif
+
+#endif /* _ASM_GENERIC_FCNTL_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/hugetlb_encode.h b/libc/include/any-linux-any/asm-generic/hugetlb_encode.h
new file mode 100644
index 0000000000000000000000000000000000000000..0e5c89d6c390b9fb47710e3d1b298445c135b772
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/hugetlb_encode.h
@@ -0,0 +1,36 @@
+#ifndef _ASM_GENERIC_HUGETLB_ENCODE_H_
+#define _ASM_GENERIC_HUGETLB_ENCODE_H_
+
+/*
+ * Several system calls take a flag to request "hugetlb" huge pages.
+ * Without further specification, these system calls will use the
+ * system's default huge page size. If a system supports multiple
+ * huge page sizes, the desired huge page size can be specified in
+ * bits [26:31] of the flag arguments. The value in these 6 bits
+ * will encode the log2 of the huge page size.
+ *
+ * The following definitions are associated with this huge page size
+ * encoding in flag arguments. System call specific header files
+ * that use this encoding should include this file. They can then
+ * provide definitions based on these with their own specific prefix.
+ * for example:
+ * #define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
+ */
+
+#define HUGETLB_FLAG_ENCODE_SHIFT 26
+#define HUGETLB_FLAG_ENCODE_MASK 0x3f
+
+#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_2MB (21 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_8MB (23 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_16MB (24 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_32MB (25 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_256MB (28 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_512MB (29 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_1GB (30 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_2GB (31 << HUGETLB_FLAG_ENCODE_SHIFT)
+#define HUGETLB_FLAG_ENCODE_16GB (34 << HUGETLB_FLAG_ENCODE_SHIFT)
+
+#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/int-l64.h b/libc/include/any-linux-any/asm-generic/int-l64.h
new file mode 100644
index 0000000000000000000000000000000000000000..8591c1ab69c43514215ffe0b459ef594bbab7b90
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/int-l64.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * asm-generic/int-l64.h
+ *
+ * Integer declarations for architectures which use "long"
+ * for 64-bit types.
+ */
+
+#ifndef _ASM_GENERIC_INT_L64_H
+#define _ASM_GENERIC_INT_L64_H
+
+#include
+
+#ifndef __ASSEMBLY__
+/*
+ * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
+ * header files exported to user space
+ */
+
+typedef __signed__ char __s8;
+typedef unsigned char __u8;
+
+typedef __signed__ short __s16;
+typedef unsigned short __u16;
+
+typedef __signed__ int __s32;
+typedef unsigned int __u32;
+
+typedef __signed__ long __s64;
+typedef unsigned long __u64;
+
+#endif /* __ASSEMBLY__ */
+
+
+#endif /* _ASM_GENERIC_INT_L64_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/int-ll64.h b/libc/include/any-linux-any/asm-generic/int-ll64.h
new file mode 100644
index 0000000000000000000000000000000000000000..eec323e41f76bb75ed194bd2057c243240c5f260
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/int-ll64.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * asm-generic/int-ll64.h
+ *
+ * Integer declarations for architectures which use "long long"
+ * for 64-bit types.
+ */
+
+#ifndef _ASM_GENERIC_INT_LL64_H
+#define _ASM_GENERIC_INT_LL64_H
+
+#include
+
+#ifndef __ASSEMBLY__
+/*
+ * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
+ * header files exported to user space
+ */
+
+typedef __signed__ char __s8;
+typedef unsigned char __u8;
+
+typedef __signed__ short __s16;
+typedef unsigned short __u16;
+
+typedef __signed__ int __s32;
+typedef unsigned int __u32;
+
+#ifdef __GNUC__
+__extension__ typedef __signed__ long long __s64;
+__extension__ typedef unsigned long long __u64;
+#else
+typedef __signed__ long long __s64;
+typedef unsigned long long __u64;
+#endif
+
+#endif /* __ASSEMBLY__ */
+
+
+#endif /* _ASM_GENERIC_INT_LL64_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/ioctl.h b/libc/include/any-linux-any/asm-generic/ioctl.h
new file mode 100644
index 0000000000000000000000000000000000000000..7c07a3b35bbc7aa1ac9cad4bc43315457c7758fc
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/ioctl.h
@@ -0,0 +1,105 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_IOCTL_H
+#define _ASM_GENERIC_IOCTL_H
+
+/* ioctl command encoding: 32 bits total, command in lower 16 bits,
+ * size of the parameter structure in the lower 14 bits of the
+ * upper 16 bits.
+ * Encoding the size of the parameter structure in the ioctl request
+ * is useful for catching programs compiled with old versions
+ * and to avoid overwriting user space outside the user buffer area.
+ * The highest 2 bits are reserved for indicating the ``access mode''.
+ * NOTE: This limits the max parameter size to 16kB -1 !
+ */
+
+/*
+ * The following is for compatibility across the various Linux
+ * platforms. The generic ioctl numbering scheme doesn't really enforce
+ * a type field. De facto, however, the top 8 bits of the lower 16
+ * bits are indeed used as a type field, so we might just as well make
+ * this explicit here. Please be sure to use the decoding macros
+ * below from now on.
+ */
+#define _IOC_NRBITS 8
+#define _IOC_TYPEBITS 8
+
+/*
+ * Let any architecture override either of the following before
+ * including this file.
+ */
+
+#ifndef _IOC_SIZEBITS
+# define _IOC_SIZEBITS 14
+#endif
+
+#ifndef _IOC_DIRBITS
+# define _IOC_DIRBITS 2
+#endif
+
+#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
+#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
+#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
+#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
+
+#define _IOC_NRSHIFT 0
+#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
+#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
+#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
+
+/*
+ * Direction bits, which any architecture can choose to override
+ * before including this file.
+ *
+ * NOTE: _IOC_WRITE means userland is writing and kernel is
+ * reading. _IOC_READ means userland is reading and kernel is writing.
+ */
+
+#ifndef _IOC_NONE
+# define _IOC_NONE 0U
+#endif
+
+#ifndef _IOC_WRITE
+# define _IOC_WRITE 1U
+#endif
+
+#ifndef _IOC_READ
+# define _IOC_READ 2U
+#endif
+
+#define _IOC(dir,type,nr,size) \
+ (((dir) << _IOC_DIRSHIFT) | \
+ ((type) << _IOC_TYPESHIFT) | \
+ ((nr) << _IOC_NRSHIFT) | \
+ ((size) << _IOC_SIZESHIFT))
+
+#define _IOC_TYPECHECK(t) (sizeof(t))
+
+/*
+ * Used to create numbers.
+ *
+ * NOTE: _IOW means userland is writing and kernel is reading. _IOR
+ * means userland is reading and kernel is writing.
+ */
+#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
+#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
+#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
+#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
+#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
+
+/* used to decode ioctl numbers.. */
+#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
+#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
+#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
+#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
+
+/* ...and for the drivers/sound files... */
+
+#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
+#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
+#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
+#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
+#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
+
+#endif /* _ASM_GENERIC_IOCTL_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/ioctls.h b/libc/include/any-linux-any/asm-generic/ioctls.h
new file mode 100644
index 0000000000000000000000000000000000000000..b43432eed1eaad130b88e941b3e1c6878e188202
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/ioctls.h
@@ -0,0 +1,119 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_IOCTLS_H
+#define __ASM_GENERIC_IOCTLS_H
+
+#include
+
+/*
+ * These are the most common definitions for tty ioctl numbers.
+ * Most of them do not use the recommended _IOC(), but there is
+ * probably some source code out there hardcoding the number,
+ * so we might as well use them for all new platforms.
+ *
+ * The architectures that use different values here typically
+ * try to be compatible with some Unix variants for the same
+ * architecture.
+ */
+
+/* 0x54 is just a magic number to make these relatively unique ('T') */
+
+#define TCGETS 0x5401
+#define TCSETS 0x5402
+#define TCSETSW 0x5403
+#define TCSETSF 0x5404
+#define TCGETA 0x5405
+#define TCSETA 0x5406
+#define TCSETAW 0x5407
+#define TCSETAF 0x5408
+#define TCSBRK 0x5409
+#define TCXONC 0x540A
+#define TCFLSH 0x540B
+#define TIOCEXCL 0x540C
+#define TIOCNXCL 0x540D
+#define TIOCSCTTY 0x540E
+#define TIOCGPGRP 0x540F
+#define TIOCSPGRP 0x5410
+#define TIOCOUTQ 0x5411
+#define TIOCSTI 0x5412
+#define TIOCGWINSZ 0x5413
+#define TIOCSWINSZ 0x5414
+#define TIOCMGET 0x5415
+#define TIOCMBIS 0x5416
+#define TIOCMBIC 0x5417
+#define TIOCMSET 0x5418
+#define TIOCGSOFTCAR 0x5419
+#define TIOCSSOFTCAR 0x541A
+#define FIONREAD 0x541B
+#define TIOCINQ FIONREAD
+#define TIOCLINUX 0x541C
+#define TIOCCONS 0x541D
+#define TIOCGSERIAL 0x541E
+#define TIOCSSERIAL 0x541F
+#define TIOCPKT 0x5420
+#define FIONBIO 0x5421
+#define TIOCNOTTY 0x5422
+#define TIOCSETD 0x5423
+#define TIOCGETD 0x5424
+#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
+#define TIOCSBRK 0x5427 /* BSD compatibility */
+#define TIOCCBRK 0x5428 /* BSD compatibility */
+#define TIOCGSID 0x5429 /* Return the session ID of FD */
+#define TCGETS2 _IOR('T', 0x2A, struct termios2)
+#define TCSETS2 _IOW('T', 0x2B, struct termios2)
+#define TCSETSW2 _IOW('T', 0x2C, struct termios2)
+#define TCSETSF2 _IOW('T', 0x2D, struct termios2)
+#define TIOCGRS485 0x542E
+#ifndef TIOCSRS485
+#define TIOCSRS485 0x542F
+#endif
+#define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
+#define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */
+#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */
+#define TCGETX 0x5432 /* SYS5 TCGETX compatibility */
+#define TCSETX 0x5433
+#define TCSETXF 0x5434
+#define TCSETXW 0x5435
+#define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */
+#define TIOCVHANGUP 0x5437
+#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
+#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
+#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
+#define TIOCGPTPEER _IO('T', 0x41) /* Safely open the slave */
+
+#define FIONCLEX 0x5450
+#define FIOCLEX 0x5451
+#define FIOASYNC 0x5452
+#define TIOCSERCONFIG 0x5453
+#define TIOCSERGWILD 0x5454
+#define TIOCSERSWILD 0x5455
+#define TIOCGLCKTRMIOS 0x5456
+#define TIOCSLCKTRMIOS 0x5457
+#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
+#define TIOCSERGETLSR 0x5459 /* Get line status register */
+#define TIOCSERGETMULTI 0x545A /* Get multiport config */
+#define TIOCSERSETMULTI 0x545B /* Set multiport config */
+
+#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
+#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */
+
+/*
+ * Some arches already define FIOQSIZE due to a historical
+ * conflict with a Hayes modem-specific ioctl value.
+ */
+#ifndef FIOQSIZE
+# define FIOQSIZE 0x5460
+#endif
+
+/* Used for packet mode */
+#define TIOCPKT_DATA 0
+#define TIOCPKT_FLUSHREAD 1
+#define TIOCPKT_FLUSHWRITE 2
+#define TIOCPKT_STOP 4
+#define TIOCPKT_START 8
+#define TIOCPKT_NOSTOP 16
+#define TIOCPKT_DOSTOP 32
+#define TIOCPKT_IOCTL 64
+
+#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
+
+#endif /* __ASM_GENERIC_IOCTLS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/ipcbuf.h b/libc/include/any-linux-any/asm-generic/ipcbuf.h
new file mode 100644
index 0000000000000000000000000000000000000000..6e9168f28acbc7fb6aff58ae3df41f4e9e050df0
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/ipcbuf.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_IPCBUF_H
+#define __ASM_GENERIC_IPCBUF_H
+
+/*
+ * The generic ipc64_perm structure:
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * ipc64_perm was originally meant to be architecture specific, but
+ * everyone just ended up making identical copies without specific
+ * optimizations, so we may just as well all use the same one.
+ *
+ * Pad space is left for:
+ * - 32-bit mode_t on architectures that only had 16 bit
+ * - 32-bit seq
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct ipc64_perm {
+ __kernel_key_t key;
+ __kernel_uid32_t uid;
+ __kernel_gid32_t gid;
+ __kernel_uid32_t cuid;
+ __kernel_gid32_t cgid;
+ __kernel_mode_t mode;
+ /* pad if mode_t is u16: */
+ unsigned char __pad1[4 - sizeof(__kernel_mode_t)];
+ unsigned short seq;
+ unsigned short __pad2;
+ __kernel_ulong_t __unused1;
+ __kernel_ulong_t __unused2;
+};
+
+#endif /* __ASM_GENERIC_IPCBUF_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/kvm_para.h b/libc/include/any-linux-any/asm-generic/kvm_para.h
new file mode 100644
index 0000000000000000000000000000000000000000..be5d3a69f4525d85b9b308def21d272117601823
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/kvm_para.h
@@ -0,0 +1,4 @@
+/*
+ * There isn't anything here, but the file must not be empty or patch
+ * will delete it.
+ */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/mman-common.h b/libc/include/any-linux-any/asm-generic/mman-common.h
new file mode 100644
index 0000000000000000000000000000000000000000..5d47729959fc47fa2b09cb36b85a6a85e5353f46
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/mman-common.h
@@ -0,0 +1,77 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_MMAN_COMMON_H
+#define __ASM_GENERIC_MMAN_COMMON_H
+
+/*
+ Author: Michael S. Tsirkin , Mellanox Technologies Ltd.
+ Based on: asm-xxx/mman.h
+*/
+
+#define PROT_READ 0x1 /* page can be read */
+#define PROT_WRITE 0x2 /* page can be written */
+#define PROT_EXEC 0x4 /* page can be executed */
+#define PROT_SEM 0x8 /* page may be used for atomic ops */
+#define PROT_NONE 0x0 /* page can not be accessed */
+#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
+#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
+
+#define MAP_SHARED 0x01 /* Share changes */
+#define MAP_PRIVATE 0x02 /* Changes are private */
+#define MAP_SHARED_VALIDATE 0x03 /* share + validate extension flags */
+#define MAP_TYPE 0x0f /* Mask for type of mapping */
+#define MAP_FIXED 0x10 /* Interpret addr exactly */
+#define MAP_ANONYMOUS 0x20 /* don't use a file */
+#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
+# define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be uninitialized */
+#else
+# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
+#endif
+
+/* 0x0100 - 0x80000 flags are defined in asm-generic/mman.h */
+#define MAP_FIXED_NOREPLACE 0x100000 /* MAP_FIXED which doesn't unmap underlying mapping */
+
+/*
+ * Flags for mlock
+ */
+#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */
+
+#define MS_ASYNC 1 /* sync memory asynchronously */
+#define MS_INVALIDATE 2 /* invalidate the caches */
+#define MS_SYNC 4 /* synchronous memory sync */
+
+#define MADV_NORMAL 0 /* no further special treatment */
+#define MADV_RANDOM 1 /* expect random page references */
+#define MADV_SEQUENTIAL 2 /* expect sequential page references */
+#define MADV_WILLNEED 3 /* will need these pages */
+#define MADV_DONTNEED 4 /* don't need these pages */
+
+/* common parameters: try to keep these consistent across architectures */
+#define MADV_FREE 8 /* free pages only if memory pressure */
+#define MADV_REMOVE 9 /* remove these pages & resources */
+#define MADV_DONTFORK 10 /* don't inherit across fork */
+#define MADV_DOFORK 11 /* do inherit across fork */
+#define MADV_HWPOISON 100 /* poison a page for testing */
+#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */
+
+#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
+#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
+
+#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
+#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
+
+#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
+ overrides the coredump filter bits */
+#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */
+
+#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */
+#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */
+
+/* compatibility flags */
+#define MAP_FILE 0
+
+#define PKEY_DISABLE_ACCESS 0x1
+#define PKEY_DISABLE_WRITE 0x2
+#define PKEY_ACCESS_MASK (PKEY_DISABLE_ACCESS |\
+ PKEY_DISABLE_WRITE)
+
+#endif /* __ASM_GENERIC_MMAN_COMMON_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/mman.h b/libc/include/any-linux-any/asm-generic/mman.h
new file mode 100644
index 0000000000000000000000000000000000000000..d9df9688aeb1fb0034b1a630393980eaa4f0eda0
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/mman.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_MMAN_H
+#define __ASM_GENERIC_MMAN_H
+
+#include
+
+#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
+#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
+#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
+#define MAP_LOCKED 0x2000 /* pages are locked */
+#define MAP_NORESERVE 0x4000 /* don't check for reservations */
+#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
+#define MAP_NONBLOCK 0x10000 /* do not block on IO */
+#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
+#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
+#define MAP_SYNC 0x80000 /* perform synchronous page faults for the mapping */
+
+/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
+
+#define MCL_CURRENT 1 /* lock all current mappings */
+#define MCL_FUTURE 2 /* lock all future mappings */
+#define MCL_ONFAULT 4 /* lock all pages that are faulted in */
+
+#endif /* __ASM_GENERIC_MMAN_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/msgbuf.h b/libc/include/any-linux-any/asm-generic/msgbuf.h
new file mode 100644
index 0000000000000000000000000000000000000000..122d3269e6abd5cd2dd867756f47596d3498e0f2
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/msgbuf.h
@@ -0,0 +1,47 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_MSGBUF_H
+#define __ASM_GENERIC_MSGBUF_H
+
+#include
+/*
+ * generic msqid64_ds structure.
+ *
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * msqid64_ds was originally meant to be architecture specific, but
+ * everyone just ended up making identical copies without specific
+ * optimizations, so we may just as well all use the same one.
+ *
+ * 64 bit architectures typically define a 64 bit __kernel_time_t,
+ * so they do not need the first three padding words.
+ * On big-endian systems, the padding is in the wrong place.
+ *
+ * Pad space is left for:
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct msqid64_ds {
+ struct ipc64_perm msg_perm;
+#if __BITS_PER_LONG == 64
+ __kernel_time_t msg_stime; /* last msgsnd time */
+ __kernel_time_t msg_rtime; /* last msgrcv time */
+ __kernel_time_t msg_ctime; /* last change time */
+#else
+ unsigned long msg_stime; /* last msgsnd time */
+ unsigned long msg_stime_high;
+ unsigned long msg_rtime; /* last msgrcv time */
+ unsigned long msg_rtime_high;
+ unsigned long msg_ctime; /* last change time */
+ unsigned long msg_ctime_high;
+#endif
+ unsigned long msg_cbytes; /* current number of bytes on queue */
+ unsigned long msg_qnum; /* number of messages in queue */
+ unsigned long msg_qbytes; /* max number of bytes on queue */
+ __kernel_pid_t msg_lspid; /* pid of last msgsnd */
+ __kernel_pid_t msg_lrpid; /* last receive pid */
+ unsigned long __unused4;
+ unsigned long __unused5;
+};
+
+#endif /* __ASM_GENERIC_MSGBUF_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/param.h b/libc/include/any-linux-any/asm-generic/param.h
new file mode 100644
index 0000000000000000000000000000000000000000..86fa1beb2dbf3badfc756e3f39578ebfe2514c36
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/param.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_PARAM_H
+#define __ASM_GENERIC_PARAM_H
+
+#ifndef HZ
+#define HZ 100
+#endif
+
+#ifndef EXEC_PAGESIZE
+#define EXEC_PAGESIZE 4096
+#endif
+
+#ifndef NOGROUP
+#define NOGROUP (-1)
+#endif
+
+#define MAXHOSTNAMELEN 64 /* max length of hostname */
+
+
+#endif /* __ASM_GENERIC_PARAM_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/poll.h b/libc/include/any-linux-any/asm-generic/poll.h
new file mode 100644
index 0000000000000000000000000000000000000000..5a056d94fb3cf1f236582f46f84cf3f343d108ad
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/poll.h
@@ -0,0 +1,42 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_POLL_H
+#define __ASM_GENERIC_POLL_H
+
+/* These are specified by iBCS2 */
+#define POLLIN 0x0001
+#define POLLPRI 0x0002
+#define POLLOUT 0x0004
+#define POLLERR 0x0008
+#define POLLHUP 0x0010
+#define POLLNVAL 0x0020
+
+/* The rest seem to be more-or-less nonstandard. Check them! */
+#define POLLRDNORM 0x0040
+#define POLLRDBAND 0x0080
+#ifndef POLLWRNORM
+#define POLLWRNORM 0x0100
+#endif
+#ifndef POLLWRBAND
+#define POLLWRBAND 0x0200
+#endif
+#ifndef POLLMSG
+#define POLLMSG 0x0400
+#endif
+#ifndef POLLREMOVE
+#define POLLREMOVE 0x1000
+#endif
+#ifndef POLLRDHUP
+#define POLLRDHUP 0x2000
+#endif
+
+#define POLLFREE (__poll_t)0x4000 /* currently only for epoll */
+
+#define POLL_BUSY_LOOP (__poll_t)0x8000
+
+struct pollfd {
+ int fd;
+ short events;
+ short revents;
+};
+
+#endif /* __ASM_GENERIC_POLL_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/posix_types.h b/libc/include/any-linux-any/asm-generic/posix_types.h
new file mode 100644
index 0000000000000000000000000000000000000000..43493ba76c3d02d563a14f84f1b69d812da5b3b3
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/posix_types.h
@@ -0,0 +1,98 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_POSIX_TYPES_H
+#define __ASM_GENERIC_POSIX_TYPES_H
+
+#include
+/*
+ * This file is generally used by user-level software, so you need to
+ * be a little careful about namespace pollution etc.
+ *
+ * First the types that are often defined in different ways across
+ * architectures, so that you can override them.
+ */
+
+#ifndef __kernel_long_t
+typedef long __kernel_long_t;
+typedef unsigned long __kernel_ulong_t;
+#endif
+
+#ifndef __kernel_ino_t
+typedef __kernel_ulong_t __kernel_ino_t;
+#endif
+
+#ifndef __kernel_mode_t
+typedef unsigned int __kernel_mode_t;
+#endif
+
+#ifndef __kernel_pid_t
+typedef int __kernel_pid_t;
+#endif
+
+#ifndef __kernel_ipc_pid_t
+typedef int __kernel_ipc_pid_t;
+#endif
+
+#ifndef __kernel_uid_t
+typedef unsigned int __kernel_uid_t;
+typedef unsigned int __kernel_gid_t;
+#endif
+
+#ifndef __kernel_suseconds_t
+typedef __kernel_long_t __kernel_suseconds_t;
+#endif
+
+#ifndef __kernel_daddr_t
+typedef int __kernel_daddr_t;
+#endif
+
+#ifndef __kernel_uid32_t
+typedef unsigned int __kernel_uid32_t;
+typedef unsigned int __kernel_gid32_t;
+#endif
+
+#ifndef __kernel_old_uid_t
+typedef __kernel_uid_t __kernel_old_uid_t;
+typedef __kernel_gid_t __kernel_old_gid_t;
+#endif
+
+#ifndef __kernel_old_dev_t
+typedef unsigned int __kernel_old_dev_t;
+#endif
+
+/*
+ * Most 32 bit architectures use "unsigned int" size_t,
+ * and all 64 bit architectures use "unsigned long" size_t.
+ */
+#ifndef __kernel_size_t
+#if __BITS_PER_LONG != 64
+typedef unsigned int __kernel_size_t;
+typedef int __kernel_ssize_t;
+typedef int __kernel_ptrdiff_t;
+#else
+typedef __kernel_ulong_t __kernel_size_t;
+typedef __kernel_long_t __kernel_ssize_t;
+typedef __kernel_long_t __kernel_ptrdiff_t;
+#endif
+#endif
+
+#ifndef __kernel_fsid_t
+typedef struct {
+ int val[2];
+} __kernel_fsid_t;
+#endif
+
+/*
+ * anything below here should be completely generic
+ */
+typedef __kernel_long_t __kernel_off_t;
+typedef long long __kernel_loff_t;
+typedef __kernel_long_t __kernel_time_t;
+typedef long long __kernel_time64_t;
+typedef __kernel_long_t __kernel_clock_t;
+typedef int __kernel_timer_t;
+typedef int __kernel_clockid_t;
+typedef char * __kernel_caddr_t;
+typedef unsigned short __kernel_uid16_t;
+typedef unsigned short __kernel_gid16_t;
+
+#endif /* __ASM_GENERIC_POSIX_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/resource.h b/libc/include/any-linux-any/asm-generic/resource.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb827001d4b0ccdaa4a4c51ec02b98bda245495d
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/resource.h
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_RESOURCE_H
+#define _ASM_GENERIC_RESOURCE_H
+
+/*
+ * Resource limit IDs
+ *
+ * ( Compatibility detail: there are architectures that have
+ * a different rlimit ID order in the 5-9 range and want
+ * to keep that order for binary compatibility. The reasons
+ * are historic and all new rlimits are identical across all
+ * arches. If an arch has such special order for some rlimits
+ * then it defines them prior including asm-generic/resource.h. )
+ */
+
+#define RLIMIT_CPU 0 /* CPU time in sec */
+#define RLIMIT_FSIZE 1 /* Maximum filesize */
+#define RLIMIT_DATA 2 /* max data size */
+#define RLIMIT_STACK 3 /* max stack size */
+#define RLIMIT_CORE 4 /* max core file size */
+
+#ifndef RLIMIT_RSS
+# define RLIMIT_RSS 5 /* max resident set size */
+#endif
+
+#ifndef RLIMIT_NPROC
+# define RLIMIT_NPROC 6 /* max number of processes */
+#endif
+
+#ifndef RLIMIT_NOFILE
+# define RLIMIT_NOFILE 7 /* max number of open files */
+#endif
+
+#ifndef RLIMIT_MEMLOCK
+# define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
+#endif
+
+#ifndef RLIMIT_AS
+# define RLIMIT_AS 9 /* address space limit */
+#endif
+
+#define RLIMIT_LOCKS 10 /* maximum file locks held */
+#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
+#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
+#define RLIMIT_NICE 13 /* max nice prio allowed to raise to
+ 0-39 for nice level 19 .. -20 */
+#define RLIMIT_RTPRIO 14 /* maximum realtime priority */
+#define RLIMIT_RTTIME 15 /* timeout for RT tasks in us */
+#define RLIM_NLIMITS 16
+
+/*
+ * SuS says limits have to be unsigned.
+ * Which makes a ton more sense anyway.
+ *
+ * Some architectures override this (for compatibility reasons):
+ */
+#ifndef RLIM_INFINITY
+# define RLIM_INFINITY (~0UL)
+#endif
+
+
+#endif /* _ASM_GENERIC_RESOURCE_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/sembuf.h b/libc/include/any-linux-any/asm-generic/sembuf.h
new file mode 100644
index 0000000000000000000000000000000000000000..06cee9ad618f13a30836083187e3336177bd02fe
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/sembuf.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SEMBUF_H
+#define __ASM_GENERIC_SEMBUF_H
+
+#include
+
+/*
+ * The semid64_ds structure for x86 architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * semid64_ds was originally meant to be architecture specific, but
+ * everyone just ended up making identical copies without specific
+ * optimizations, so we may just as well all use the same one.
+ *
+ * 64 bit architectures use a 64-bit __kernel_time_t here, while
+ * 32 bit architectures have a pair of unsigned long values.
+ * so they do not need the first two padding words.
+ *
+ * On big-endian systems, the padding is in the wrong place for
+ * historic reasons, so user space has to reconstruct a time_t
+ * value using
+ *
+ * user_semid_ds.sem_otime = kernel_semid64_ds.sem_otime +
+ * ((long long)kernel_semid64_ds.sem_otime_high << 32)
+ *
+ * Pad space is left for 2 miscellaneous 32-bit values
+ */
+struct semid64_ds {
+ struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
+#if __BITS_PER_LONG == 64
+ __kernel_time_t sem_otime; /* last semop time */
+ __kernel_time_t sem_ctime; /* last change time */
+#else
+ unsigned long sem_otime; /* last semop time */
+ unsigned long sem_otime_high;
+ unsigned long sem_ctime; /* last change time */
+ unsigned long sem_ctime_high;
+#endif
+ unsigned long sem_nsems; /* no. of semaphores in array */
+ unsigned long __unused3;
+ unsigned long __unused4;
+};
+
+#endif /* __ASM_GENERIC_SEMBUF_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/setup.h b/libc/include/any-linux-any/asm-generic/setup.h
new file mode 100644
index 0000000000000000000000000000000000000000..17f737ae7f02dae6667b86e03994e1824fc83fc4
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/setup.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SETUP_H
+#define __ASM_GENERIC_SETUP_H
+
+#define COMMAND_LINE_SIZE 512
+
+#endif /* __ASM_GENERIC_SETUP_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/shmbuf.h b/libc/include/any-linux-any/asm-generic/shmbuf.h
new file mode 100644
index 0000000000000000000000000000000000000000..b8065e3823b52872b22e38c1b0bf58cceea267ed
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/shmbuf.h
@@ -0,0 +1,59 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SHMBUF_H
+#define __ASM_GENERIC_SHMBUF_H
+
+#include
+
+/*
+ * The shmid64_ds structure for x86 architecture.
+ * Note extra padding because this structure is passed back and forth
+ * between kernel and user space.
+ *
+ * shmid64_ds was originally meant to be architecture specific, but
+ * everyone just ended up making identical copies without specific
+ * optimizations, so we may just as well all use the same one.
+ *
+ * 64 bit architectures typically define a 64 bit __kernel_time_t,
+ * so they do not need the first two padding words.
+ * On big-endian systems, the padding is in the wrong place.
+ *
+ *
+ * Pad space is left for:
+ * - 2 miscellaneous 32-bit values
+ */
+
+struct shmid64_ds {
+ struct ipc64_perm shm_perm; /* operation perms */
+ size_t shm_segsz; /* size of segment (bytes) */
+#if __BITS_PER_LONG == 64
+ __kernel_time_t shm_atime; /* last attach time */
+ __kernel_time_t shm_dtime; /* last detach time */
+ __kernel_time_t shm_ctime; /* last change time */
+#else
+ unsigned long shm_atime; /* last attach time */
+ unsigned long shm_atime_high;
+ unsigned long shm_dtime; /* last detach time */
+ unsigned long shm_dtime_high;
+ unsigned long shm_ctime; /* last change time */
+ unsigned long shm_ctime_high;
+#endif
+ __kernel_pid_t shm_cpid; /* pid of creator */
+ __kernel_pid_t shm_lpid; /* pid of last operator */
+ unsigned long shm_nattch; /* no. of current attaches */
+ unsigned long __unused4;
+ unsigned long __unused5;
+};
+
+struct shminfo64 {
+ unsigned long shmmax;
+ unsigned long shmmin;
+ unsigned long shmmni;
+ unsigned long shmseg;
+ unsigned long shmall;
+ unsigned long __unused1;
+ unsigned long __unused2;
+ unsigned long __unused3;
+ unsigned long __unused4;
+};
+
+#endif /* __ASM_GENERIC_SHMBUF_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/shmparam.h b/libc/include/any-linux-any/asm-generic/shmparam.h
new file mode 100644
index 0000000000000000000000000000000000000000..477a2194ae8b32cc48389b6faff758c72c601343
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/shmparam.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SHMPARAM_H
+#define __ASM_GENERIC_SHMPARAM_H
+
+#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
+
+#endif /* _ASM_GENERIC_SHMPARAM_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/siginfo.h b/libc/include/any-linux-any/asm-generic/siginfo.h
new file mode 100644
index 0000000000000000000000000000000000000000..0d0abc57784cbeae6d36c88eb5e071dd6ce11373
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/siginfo.h
@@ -0,0 +1,333 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_SIGINFO_H
+#define _ASM_GENERIC_SIGINFO_H
+
+
+#include
+
+typedef union sigval {
+ int sival_int;
+ void *sival_ptr;
+} sigval_t;
+
+/*
+ * This is the size (including padding) of the part of the
+ * struct siginfo that is before the union.
+ */
+#ifndef __ARCH_SI_PREAMBLE_SIZE
+#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
+#endif
+
+#define SI_MAX_SIZE 128
+#ifndef SI_PAD_SIZE
+#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
+#endif
+
+/*
+ * The default "si_band" type is "long", as specified by POSIX.
+ * However, some architectures want to override this to "int"
+ * for historical compatibility reasons, so we allow that.
+ */
+#ifndef __ARCH_SI_BAND_T
+#define __ARCH_SI_BAND_T long
+#endif
+
+#ifndef __ARCH_SI_CLOCK_T
+#define __ARCH_SI_CLOCK_T __kernel_clock_t
+#endif
+
+#ifndef __ARCH_SI_ATTRIBUTES
+#define __ARCH_SI_ATTRIBUTES
+#endif
+
+typedef struct siginfo {
+ int si_signo;
+#ifndef __ARCH_HAS_SWAPPED_SIGINFO
+ int si_errno;
+ int si_code;
+#else
+ int si_code;
+ int si_errno;
+#endif
+
+ union {
+ int _pad[SI_PAD_SIZE];
+
+ /* kill() */
+ struct {
+ __kernel_pid_t _pid; /* sender's pid */
+ __kernel_uid32_t _uid; /* sender's uid */
+ } _kill;
+
+ /* POSIX.1b timers */
+ struct {
+ __kernel_timer_t _tid; /* timer id */
+ int _overrun; /* overrun count */
+ sigval_t _sigval; /* same as below */
+ int _sys_private; /* not to be passed to user */
+ } _timer;
+
+ /* POSIX.1b signals */
+ struct {
+ __kernel_pid_t _pid; /* sender's pid */
+ __kernel_uid32_t _uid; /* sender's uid */
+ sigval_t _sigval;
+ } _rt;
+
+ /* SIGCHLD */
+ struct {
+ __kernel_pid_t _pid; /* which child */
+ __kernel_uid32_t _uid; /* sender's uid */
+ int _status; /* exit code */
+ __ARCH_SI_CLOCK_T _utime;
+ __ARCH_SI_CLOCK_T _stime;
+ } _sigchld;
+
+ /* SIGILL, SIGFPE, SIGSEGV, SIGBUS, SIGTRAP, SIGEMT */
+ struct {
+ void *_addr; /* faulting insn/memory ref. */
+#ifdef __ARCH_SI_TRAPNO
+ int _trapno; /* TRAP # which caused the signal */
+#endif
+#ifdef __ia64__
+ int _imm; /* immediate value for "break" */
+ unsigned int _flags; /* see ia64 si_flags */
+ unsigned long _isr; /* isr */
+#endif
+
+#define __ADDR_BND_PKEY_PAD (__alignof__(void *) < sizeof(short) ? \
+ sizeof(short) : __alignof__(void *))
+ union {
+ /*
+ * used when si_code=BUS_MCEERR_AR or
+ * used when si_code=BUS_MCEERR_AO
+ */
+ short _addr_lsb; /* LSB of the reported address */
+ /* used when si_code=SEGV_BNDERR */
+ struct {
+ char _dummy_bnd[__ADDR_BND_PKEY_PAD];
+ void *_lower;
+ void *_upper;
+ } _addr_bnd;
+ /* used when si_code=SEGV_PKUERR */
+ struct {
+ char _dummy_pkey[__ADDR_BND_PKEY_PAD];
+ __u32 _pkey;
+ } _addr_pkey;
+ };
+ } _sigfault;
+
+ /* SIGPOLL */
+ struct {
+ __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
+ int _fd;
+ } _sigpoll;
+
+ /* SIGSYS */
+ struct {
+ void *_call_addr; /* calling user insn */
+ int _syscall; /* triggering system call number */
+ unsigned int _arch; /* AUDIT_ARCH_* of syscall */
+ } _sigsys;
+ } _sifields;
+} __ARCH_SI_ATTRIBUTES siginfo_t;
+
+/*
+ * How these fields are to be accessed.
+ */
+#define si_pid _sifields._kill._pid
+#define si_uid _sifields._kill._uid
+#define si_tid _sifields._timer._tid
+#define si_overrun _sifields._timer._overrun
+#define si_sys_private _sifields._timer._sys_private
+#define si_status _sifields._sigchld._status
+#define si_utime _sifields._sigchld._utime
+#define si_stime _sifields._sigchld._stime
+#define si_value _sifields._rt._sigval
+#define si_int _sifields._rt._sigval.sival_int
+#define si_ptr _sifields._rt._sigval.sival_ptr
+#define si_addr _sifields._sigfault._addr
+#ifdef __ARCH_SI_TRAPNO
+#define si_trapno _sifields._sigfault._trapno
+#endif
+#define si_addr_lsb _sifields._sigfault._addr_lsb
+#define si_lower _sifields._sigfault._addr_bnd._lower
+#define si_upper _sifields._sigfault._addr_bnd._upper
+#define si_pkey _sifields._sigfault._addr_pkey._pkey
+#define si_band _sifields._sigpoll._band
+#define si_fd _sifields._sigpoll._fd
+#define si_call_addr _sifields._sigsys._call_addr
+#define si_syscall _sifields._sigsys._syscall
+#define si_arch _sifields._sigsys._arch
+
+/*
+ * si_code values
+ * Digital reserves positive values for kernel-generated signals.
+ */
+#define SI_USER 0 /* sent by kill, sigsend, raise */
+#define SI_KERNEL 0x80 /* sent by the kernel from somewhere */
+#define SI_QUEUE -1 /* sent by sigqueue */
+#define SI_TIMER -2 /* sent by timer expiration */
+#define SI_MESGQ -3 /* sent by real time mesq state change */
+#define SI_ASYNCIO -4 /* sent by AIO completion */
+#define SI_SIGIO -5 /* sent by queued SIGIO */
+#define SI_TKILL -6 /* sent by tkill system call */
+#define SI_DETHREAD -7 /* sent by execve() killing subsidiary threads */
+#define SI_ASYNCNL -60 /* sent by glibc async name lookup completion */
+
+#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
+#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
+
+/*
+ * SIGILL si_codes
+ */
+#define ILL_ILLOPC 1 /* illegal opcode */
+#define ILL_ILLOPN 2 /* illegal operand */
+#define ILL_ILLADR 3 /* illegal addressing mode */
+#define ILL_ILLTRP 4 /* illegal trap */
+#define ILL_PRVOPC 5 /* privileged opcode */
+#define ILL_PRVREG 6 /* privileged register */
+#define ILL_COPROC 7 /* coprocessor error */
+#define ILL_BADSTK 8 /* internal stack error */
+#define ILL_BADIADDR 9 /* unimplemented instruction address */
+#define __ILL_BREAK 10 /* illegal break */
+#define __ILL_BNDMOD 11 /* bundle-update (modification) in progress */
+#define NSIGILL 11
+
+/*
+ * SIGFPE si_codes
+ */
+#define FPE_INTDIV 1 /* integer divide by zero */
+#define FPE_INTOVF 2 /* integer overflow */
+#define FPE_FLTDIV 3 /* floating point divide by zero */
+#define FPE_FLTOVF 4 /* floating point overflow */
+#define FPE_FLTUND 5 /* floating point underflow */
+#define FPE_FLTRES 6 /* floating point inexact result */
+#define FPE_FLTINV 7 /* floating point invalid operation */
+#define FPE_FLTSUB 8 /* subscript out of range */
+#define __FPE_DECOVF 9 /* decimal overflow */
+#define __FPE_DECDIV 10 /* decimal division by zero */
+#define __FPE_DECERR 11 /* packed decimal error */
+#define __FPE_INVASC 12 /* invalid ASCII digit */
+#define __FPE_INVDEC 13 /* invalid decimal digit */
+#define FPE_FLTUNK 14 /* undiagnosed floating-point exception */
+#define FPE_CONDTRAP 15 /* trap on condition */
+#define NSIGFPE 15
+
+/*
+ * SIGSEGV si_codes
+ */
+#define SEGV_MAPERR 1 /* address not mapped to object */
+#define SEGV_ACCERR 2 /* invalid permissions for mapped object */
+#define SEGV_BNDERR 3 /* failed address bound checks */
+#ifdef __ia64__
+# define __SEGV_PSTKOVF 4 /* paragraph stack overflow */
+#else
+# define SEGV_PKUERR 4 /* failed protection key checks */
+#endif
+#define SEGV_ACCADI 5 /* ADI not enabled for mapped object */
+#define SEGV_ADIDERR 6 /* Disrupting MCD error */
+#define SEGV_ADIPERR 7 /* Precise MCD exception */
+#define NSIGSEGV 7
+
+/*
+ * SIGBUS si_codes
+ */
+#define BUS_ADRALN 1 /* invalid address alignment */
+#define BUS_ADRERR 2 /* non-existent physical address */
+#define BUS_OBJERR 3 /* object specific hardware error */
+/* hardware memory error consumed on a machine check: action required */
+#define BUS_MCEERR_AR 4
+/* hardware memory error detected in process but not consumed: action optional*/
+#define BUS_MCEERR_AO 5
+#define NSIGBUS 5
+
+/*
+ * SIGTRAP si_codes
+ */
+#define TRAP_BRKPT 1 /* process breakpoint */
+#define TRAP_TRACE 2 /* process trace trap */
+#define TRAP_BRANCH 3 /* process taken branch trap */
+#define TRAP_HWBKPT 4 /* hardware breakpoint/watchpoint */
+#define TRAP_UNK 5 /* undiagnosed trap */
+#define NSIGTRAP 5
+
+/*
+ * There is an additional set of SIGTRAP si_codes used by ptrace
+ * that are of the form: ((PTRACE_EVENT_XXX << 8) | SIGTRAP)
+ */
+
+/*
+ * SIGCHLD si_codes
+ */
+#define CLD_EXITED 1 /* child has exited */
+#define CLD_KILLED 2 /* child was killed */
+#define CLD_DUMPED 3 /* child terminated abnormally */
+#define CLD_TRAPPED 4 /* traced child has trapped */
+#define CLD_STOPPED 5 /* child has stopped */
+#define CLD_CONTINUED 6 /* stopped child has continued */
+#define NSIGCHLD 6
+
+/*
+ * SIGPOLL (or any other signal without signal specific si_codes) si_codes
+ */
+#define POLL_IN 1 /* data input available */
+#define POLL_OUT 2 /* output buffers available */
+#define POLL_MSG 3 /* input message available */
+#define POLL_ERR 4 /* i/o error */
+#define POLL_PRI 5 /* high priority input available */
+#define POLL_HUP 6 /* device disconnected */
+#define NSIGPOLL 6
+
+/*
+ * SIGSYS si_codes
+ */
+#define SYS_SECCOMP 1 /* seccomp triggered */
+#define NSIGSYS 1
+
+/*
+ * sigevent definitions
+ *
+ * It seems likely that SIGEV_THREAD will have to be handled from
+ * userspace, libpthread transmuting it to SIGEV_SIGNAL, which the
+ * thread manager then catches and does the appropriate nonsense.
+ * However, everything is written out here so as to not get lost.
+ */
+#define SIGEV_SIGNAL 0 /* notify via signal */
+#define SIGEV_NONE 1 /* other notification: meaningless */
+#define SIGEV_THREAD 2 /* deliver via thread creation */
+#define SIGEV_THREAD_ID 4 /* deliver to thread */
+
+/*
+ * This works because the alignment is ok on all current architectures
+ * but we leave open this being overridden in the future
+ */
+#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
+#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
+#endif
+
+#define SIGEV_MAX_SIZE 64
+#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
+ / sizeof(int))
+
+typedef struct sigevent {
+ sigval_t sigev_value;
+ int sigev_signo;
+ int sigev_notify;
+ union {
+ int _pad[SIGEV_PAD_SIZE];
+ int _tid;
+
+ struct {
+ void (*_function)(sigval_t);
+ void *_attribute; /* really pthread_attr_t */
+ } _sigev_thread;
+ } _sigev_un;
+} sigevent_t;
+
+#define sigev_notify_function _sigev_un._sigev_thread._function
+#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
+#define sigev_notify_thread_id _sigev_un._tid
+
+
+#endif /* _ASM_GENERIC_SIGINFO_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/signal-defs.h b/libc/include/any-linux-any/asm-generic/signal-defs.h
new file mode 100644
index 0000000000000000000000000000000000000000..e66d2a926efff6c4ee33e331ec200e925c853936
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/signal-defs.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SIGNAL_DEFS_H
+#define __ASM_GENERIC_SIGNAL_DEFS_H
+
+
+
+#ifndef SIG_BLOCK
+#define SIG_BLOCK 0 /* for blocking signals */
+#endif
+#ifndef SIG_UNBLOCK
+#define SIG_UNBLOCK 1 /* for unblocking signals */
+#endif
+#ifndef SIG_SETMASK
+#define SIG_SETMASK 2 /* for setting the signal mask */
+#endif
+
+#ifndef __ASSEMBLY__
+typedef void __signalfn_t(int);
+typedef __signalfn_t *__sighandler_t;
+
+typedef void __restorefn_t(void);
+typedef __restorefn_t *__sigrestore_t;
+
+#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
+#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
+#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
+#endif
+
+#endif /* __ASM_GENERIC_SIGNAL_DEFS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/signal.h b/libc/include/any-linux-any/asm-generic/signal.h
new file mode 100644
index 0000000000000000000000000000000000000000..4503e631ad1c0531fc5743d1e14564cf6fbc77b5
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/signal.h
@@ -0,0 +1,120 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SIGNAL_H
+#define __ASM_GENERIC_SIGNAL_H
+
+#include
+
+#define _NSIG 64
+#define _NSIG_BPW __BITS_PER_LONG
+#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
+
+#define SIGHUP 1
+#define SIGINT 2
+#define SIGQUIT 3
+#define SIGILL 4
+#define SIGTRAP 5
+#define SIGABRT 6
+#define SIGIOT 6
+#define SIGBUS 7
+#define SIGFPE 8
+#define SIGKILL 9
+#define SIGUSR1 10
+#define SIGSEGV 11
+#define SIGUSR2 12
+#define SIGPIPE 13
+#define SIGALRM 14
+#define SIGTERM 15
+#define SIGSTKFLT 16
+#define SIGCHLD 17
+#define SIGCONT 18
+#define SIGSTOP 19
+#define SIGTSTP 20
+#define SIGTTIN 21
+#define SIGTTOU 22
+#define SIGURG 23
+#define SIGXCPU 24
+#define SIGXFSZ 25
+#define SIGVTALRM 26
+#define SIGPROF 27
+#define SIGWINCH 28
+#define SIGIO 29
+#define SIGPOLL SIGIO
+/*
+#define SIGLOST 29
+*/
+#define SIGPWR 30
+#define SIGSYS 31
+#define SIGUNUSED 31
+
+/* These should not be considered constants from userland. */
+#define SIGRTMIN 32
+#ifndef SIGRTMAX
+#define SIGRTMAX _NSIG
+#endif
+
+/*
+ * SA_FLAGS values:
+ *
+ * SA_ONSTACK indicates that a registered stack_t will be used.
+ * SA_RESTART flag to get restarting signals (which were the default long ago)
+ * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
+ * SA_RESETHAND clears the handler when the signal is delivered.
+ * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
+ * SA_NODEFER prevents the current signal from being masked in the handler.
+ *
+ * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
+ * Unix names RESETHAND and NODEFER respectively.
+ */
+#define SA_NOCLDSTOP 0x00000001
+#define SA_NOCLDWAIT 0x00000002
+#define SA_SIGINFO 0x00000004
+#define SA_ONSTACK 0x08000000
+#define SA_RESTART 0x10000000
+#define SA_NODEFER 0x40000000
+#define SA_RESETHAND 0x80000000
+
+#define SA_NOMASK SA_NODEFER
+#define SA_ONESHOT SA_RESETHAND
+
+/*
+ * New architectures should not define the obsolete
+ * SA_RESTORER 0x04000000
+ */
+
+#if !defined MINSIGSTKSZ || !defined SIGSTKSZ
+#define MINSIGSTKSZ 2048
+#define SIGSTKSZ 8192
+#endif
+
+#ifndef __ASSEMBLY__
+typedef struct {
+ unsigned long sig[_NSIG_WORDS];
+} sigset_t;
+
+/* not actually used, but required for linux/syscalls.h */
+typedef unsigned long old_sigset_t;
+
+#include
+
+#ifdef SA_RESTORER
+#define __ARCH_HAS_SA_RESTORER
+#endif
+
+struct sigaction {
+ __sighandler_t sa_handler;
+ unsigned long sa_flags;
+#ifdef SA_RESTORER
+ __sigrestore_t sa_restorer;
+#endif
+ sigset_t sa_mask; /* mask last for extensibility */
+};
+
+typedef struct sigaltstack {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+} stack_t;
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ASM_GENERIC_SIGNAL_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/socket.h b/libc/include/any-linux-any/asm-generic/socket.h
new file mode 100644
index 0000000000000000000000000000000000000000..1829e961c69b1baec5b22f67fca2c4d83722e325
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/socket.h
@@ -0,0 +1,113 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SOCKET_H
+#define __ASM_GENERIC_SOCKET_H
+
+#include
+
+/* For setsockopt(2) */
+#define SOL_SOCKET 1
+
+#define SO_DEBUG 1
+#define SO_REUSEADDR 2
+#define SO_TYPE 3
+#define SO_ERROR 4
+#define SO_DONTROUTE 5
+#define SO_BROADCAST 6
+#define SO_SNDBUF 7
+#define SO_RCVBUF 8
+#define SO_SNDBUFFORCE 32
+#define SO_RCVBUFFORCE 33
+#define SO_KEEPALIVE 9
+#define SO_OOBINLINE 10
+#define SO_NO_CHECK 11
+#define SO_PRIORITY 12
+#define SO_LINGER 13
+#define SO_BSDCOMPAT 14
+#define SO_REUSEPORT 15
+#ifndef SO_PASSCRED /* powerpc only differs in these */
+#define SO_PASSCRED 16
+#define SO_PEERCRED 17
+#define SO_RCVLOWAT 18
+#define SO_SNDLOWAT 19
+#define SO_RCVTIMEO 20
+#define SO_SNDTIMEO 21
+#endif
+
+/* Security levels - as per NRL IPv6 - don't actually do anything */
+#define SO_SECURITY_AUTHENTICATION 22
+#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
+#define SO_SECURITY_ENCRYPTION_NETWORK 24
+
+#define SO_BINDTODEVICE 25
+
+/* Socket filtering */
+#define SO_ATTACH_FILTER 26
+#define SO_DETACH_FILTER 27
+#define SO_GET_FILTER SO_ATTACH_FILTER
+
+#define SO_PEERNAME 28
+#define SO_TIMESTAMP 29
+#define SCM_TIMESTAMP SO_TIMESTAMP
+
+#define SO_ACCEPTCONN 30
+
+#define SO_PEERSEC 31
+#define SO_PASSSEC 34
+#define SO_TIMESTAMPNS 35
+#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
+
+#define SO_MARK 36
+
+#define SO_TIMESTAMPING 37
+#define SCM_TIMESTAMPING SO_TIMESTAMPING
+
+#define SO_PROTOCOL 38
+#define SO_DOMAIN 39
+
+#define SO_RXQ_OVFL 40
+
+#define SO_WIFI_STATUS 41
+#define SCM_WIFI_STATUS SO_WIFI_STATUS
+#define SO_PEEK_OFF 42
+
+/* Instruct lower device to use last 4-bytes of skb data as FCS */
+#define SO_NOFCS 43
+
+#define SO_LOCK_FILTER 44
+
+#define SO_SELECT_ERR_QUEUE 45
+
+#define SO_BUSY_POLL 46
+
+#define SO_MAX_PACING_RATE 47
+
+#define SO_BPF_EXTENSIONS 48
+
+#define SO_INCOMING_CPU 49
+
+#define SO_ATTACH_BPF 50
+#define SO_DETACH_BPF SO_DETACH_FILTER
+
+#define SO_ATTACH_REUSEPORT_CBPF 51
+#define SO_ATTACH_REUSEPORT_EBPF 52
+
+#define SO_CNX_ADVICE 53
+
+#define SCM_TIMESTAMPING_OPT_STATS 54
+
+#define SO_MEMINFO 55
+
+#define SO_INCOMING_NAPI_ID 56
+
+#define SO_COOKIE 57
+
+#define SCM_TIMESTAMPING_PKTINFO 58
+
+#define SO_PEERGROUPS 59
+
+#define SO_ZEROCOPY 60
+
+#define SO_TXTIME 61
+#define SCM_TXTIME SO_TXTIME
+
+#endif /* __ASM_GENERIC_SOCKET_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/sockios.h b/libc/include/any-linux-any/asm-generic/sockios.h
new file mode 100644
index 0000000000000000000000000000000000000000..f595e163bd2b8d037cf9757db6e7d542d082b097
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/sockios.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_SOCKIOS_H
+#define __ASM_GENERIC_SOCKIOS_H
+
+/* Socket-level I/O control calls. */
+#define FIOSETOWN 0x8901
+#define SIOCSPGRP 0x8902
+#define FIOGETOWN 0x8903
+#define SIOCGPGRP 0x8904
+#define SIOCATMARK 0x8905
+#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
+#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
+
+#endif /* __ASM_GENERIC_SOCKIOS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/stat.h b/libc/include/any-linux-any/asm-generic/stat.h
new file mode 100644
index 0000000000000000000000000000000000000000..2a8d74fbc53a4e31c18cd41558d44b73a7137644
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/stat.h
@@ -0,0 +1,73 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_STAT_H
+#define __ASM_GENERIC_STAT_H
+
+/*
+ * Everybody gets this wrong and has to stick with it for all
+ * eternity. Hopefully, this version gets used by new architectures
+ * so they don't fall into the same traps.
+ *
+ * stat64 is copied from powerpc64, with explicit padding added.
+ * stat is the same structure layout on 64-bit, without the 'long long'
+ * types.
+ *
+ * By convention, 64 bit architectures use the stat interface, while
+ * 32 bit architectures use the stat64 interface. Note that we don't
+ * provide an __old_kernel_stat here, which new architecture should
+ * not have to start with.
+ */
+
+#include
+
+#define STAT_HAVE_NSEC 1
+
+struct stat {
+ unsigned long st_dev; /* Device. */
+ unsigned long st_ino; /* File serial number. */
+ unsigned int st_mode; /* File mode. */
+ unsigned int st_nlink; /* Link count. */
+ unsigned int st_uid; /* User ID of the file's owner. */
+ unsigned int st_gid; /* Group ID of the file's group. */
+ unsigned long st_rdev; /* Device number, if device. */
+ unsigned long __pad1;
+ long st_size; /* Size of file, in bytes. */
+ int st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ long st_blocks; /* Number 512-byte blocks allocated. */
+ long st_atime; /* Time of last access. */
+ unsigned long st_atime_nsec;
+ long st_mtime; /* Time of last modification. */
+ unsigned long st_mtime_nsec;
+ long st_ctime; /* Time of last status change. */
+ unsigned long st_ctime_nsec;
+ unsigned int __unused4;
+ unsigned int __unused5;
+};
+
+/* This matches struct stat64 in glibc2.1. Only used for 32 bit. */
+#if __BITS_PER_LONG != 64 || defined(__ARCH_WANT_STAT64)
+struct stat64 {
+ unsigned long long st_dev; /* Device. */
+ unsigned long long st_ino; /* File serial number. */
+ unsigned int st_mode; /* File mode. */
+ unsigned int st_nlink; /* Link count. */
+ unsigned int st_uid; /* User ID of the file's owner. */
+ unsigned int st_gid; /* Group ID of the file's group. */
+ unsigned long long st_rdev; /* Device number, if device. */
+ unsigned long long __pad1;
+ long long st_size; /* Size of file, in bytes. */
+ int st_blksize; /* Optimal block size for I/O. */
+ int __pad2;
+ long long st_blocks; /* Number 512-byte blocks allocated. */
+ int st_atime; /* Time of last access. */
+ unsigned int st_atime_nsec;
+ int st_mtime; /* Time of last modification. */
+ unsigned int st_mtime_nsec;
+ int st_ctime; /* Time of last status change. */
+ unsigned int st_ctime_nsec;
+ unsigned int __unused4;
+ unsigned int __unused5;
+};
+#endif
+
+#endif /* __ASM_GENERIC_STAT_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/statfs.h b/libc/include/any-linux-any/asm-generic/statfs.h
new file mode 100644
index 0000000000000000000000000000000000000000..4b1449d8ae1a8cdd439dbecbaa241ec4048fc26d
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/statfs.h
@@ -0,0 +1,84 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _GENERIC_STATFS_H
+#define _GENERIC_STATFS_H
+
+#include
+
+
+/*
+ * Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'.
+ * Yes, they differ in signedness as well as size.
+ * Special cases can override it for themselves -- except for S390x, which
+ * is just a little too special for us. And MIPS, which I'm not touching
+ * with a 10' pole.
+ */
+#ifndef __statfs_word
+#if __BITS_PER_LONG == 64
+#define __statfs_word __kernel_long_t
+#else
+#define __statfs_word __u32
+#endif
+#endif
+
+struct statfs {
+ __statfs_word f_type;
+ __statfs_word f_bsize;
+ __statfs_word f_blocks;
+ __statfs_word f_bfree;
+ __statfs_word f_bavail;
+ __statfs_word f_files;
+ __statfs_word f_ffree;
+ __kernel_fsid_t f_fsid;
+ __statfs_word f_namelen;
+ __statfs_word f_frsize;
+ __statfs_word f_flags;
+ __statfs_word f_spare[4];
+};
+
+/*
+ * ARM needs to avoid the 32-bit padding at the end, for consistency
+ * between EABI and OABI
+ */
+#ifndef ARCH_PACK_STATFS64
+#define ARCH_PACK_STATFS64
+#endif
+
+struct statfs64 {
+ __statfs_word f_type;
+ __statfs_word f_bsize;
+ __u64 f_blocks;
+ __u64 f_bfree;
+ __u64 f_bavail;
+ __u64 f_files;
+ __u64 f_ffree;
+ __kernel_fsid_t f_fsid;
+ __statfs_word f_namelen;
+ __statfs_word f_frsize;
+ __statfs_word f_flags;
+ __statfs_word f_spare[4];
+} ARCH_PACK_STATFS64;
+
+/*
+ * IA64 and x86_64 need to avoid the 32-bit padding at the end,
+ * to be compatible with the i386 ABI
+ */
+#ifndef ARCH_PACK_COMPAT_STATFS64
+#define ARCH_PACK_COMPAT_STATFS64
+#endif
+
+struct compat_statfs64 {
+ __u32 f_type;
+ __u32 f_bsize;
+ __u64 f_blocks;
+ __u64 f_bfree;
+ __u64 f_bavail;
+ __u64 f_files;
+ __u64 f_ffree;
+ __kernel_fsid_t f_fsid;
+ __u32 f_namelen;
+ __u32 f_frsize;
+ __u32 f_flags;
+ __u32 f_spare[4];
+} ARCH_PACK_COMPAT_STATFS64;
+
+#endif /* _GENERIC_STATFS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/swab.h b/libc/include/any-linux-any/asm-generic/swab.h
new file mode 100644
index 0000000000000000000000000000000000000000..c9a80f1a736e2124259c107d3d84d08a2a9ef9fc
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/swab.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_SWAB_H
+#define _ASM_GENERIC_SWAB_H
+
+#include
+
+/*
+ * 32 bit architectures typically (but not always) want to
+ * set __SWAB_64_THRU_32__. In user space, this is only
+ * valid if the compiler supports 64 bit data types.
+ */
+
+#if __BITS_PER_LONG == 32
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
+#define __SWAB_64_THRU_32__
+#endif
+#endif
+
+#endif /* _ASM_GENERIC_SWAB_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/termbits.h b/libc/include/any-linux-any/asm-generic/termbits.h
new file mode 100644
index 0000000000000000000000000000000000000000..3343a0950e0597664f1f923696a99748f964d1d9
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/termbits.h
@@ -0,0 +1,200 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_TERMBITS_H
+#define __ASM_GENERIC_TERMBITS_H
+
+#include
+
+typedef unsigned char cc_t;
+typedef unsigned int speed_t;
+typedef unsigned int tcflag_t;
+
+#define NCCS 19
+struct termios {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+};
+
+struct termios2 {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
+struct ktermios {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+};
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
+
+/* c_iflag bits */
+#define IGNBRK 0000001
+#define BRKINT 0000002
+#define IGNPAR 0000004
+#define PARMRK 0000010
+#define INPCK 0000020
+#define ISTRIP 0000040
+#define INLCR 0000100
+#define IGNCR 0000200
+#define ICRNL 0000400
+#define IUCLC 0001000
+#define IXON 0002000
+#define IXANY 0004000
+#define IXOFF 0010000
+#define IMAXBEL 0020000
+#define IUTF8 0040000
+
+/* c_oflag bits */
+#define OPOST 0000001
+#define OLCUC 0000002
+#define ONLCR 0000004
+#define OCRNL 0000010
+#define ONOCR 0000020
+#define ONLRET 0000040
+#define OFILL 0000100
+#define OFDEL 0000200
+#define NLDLY 0000400
+#define NL0 0000000
+#define NL1 0000400
+#define CRDLY 0003000
+#define CR0 0000000
+#define CR1 0001000
+#define CR2 0002000
+#define CR3 0003000
+#define TABDLY 0014000
+#define TAB0 0000000
+#define TAB1 0004000
+#define TAB2 0010000
+#define TAB3 0014000
+#define XTABS 0014000
+#define BSDLY 0020000
+#define BS0 0000000
+#define BS1 0020000
+#define VTDLY 0040000
+#define VT0 0000000
+#define VT1 0040000
+#define FFDLY 0100000
+#define FF0 0000000
+#define FF1 0100000
+
+/* c_cflag bit meaning */
+#define CBAUD 0010017
+#define B0 0000000 /* hang up */
+#define B50 0000001
+#define B75 0000002
+#define B110 0000003
+#define B134 0000004
+#define B150 0000005
+#define B200 0000006
+#define B300 0000007
+#define B600 0000010
+#define B1200 0000011
+#define B1800 0000012
+#define B2400 0000013
+#define B4800 0000014
+#define B9600 0000015
+#define B19200 0000016
+#define B38400 0000017
+#define EXTA B19200
+#define EXTB B38400
+#define CSIZE 0000060
+#define CS5 0000000
+#define CS6 0000020
+#define CS7 0000040
+#define CS8 0000060
+#define CSTOPB 0000100
+#define CREAD 0000200
+#define PARENB 0000400
+#define PARODD 0001000
+#define HUPCL 0002000
+#define CLOCAL 0004000
+#define CBAUDEX 0010000
+#define BOTHER 0010000
+#define B57600 0010001
+#define B115200 0010002
+#define B230400 0010003
+#define B460800 0010004
+#define B500000 0010005
+#define B576000 0010006
+#define B921600 0010007
+#define B1000000 0010010
+#define B1152000 0010011
+#define B1500000 0010012
+#define B2000000 0010013
+#define B2500000 0010014
+#define B3000000 0010015
+#define B3500000 0010016
+#define B4000000 0010017
+#define CIBAUD 002003600000 /* input baud rate */
+#define CMSPAR 010000000000 /* mark or space (stick) parity */
+#define CRTSCTS 020000000000 /* flow control */
+
+#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
+
+/* c_lflag bits */
+#define ISIG 0000001
+#define ICANON 0000002
+#define XCASE 0000004
+#define ECHO 0000010
+#define ECHOE 0000020
+#define ECHOK 0000040
+#define ECHONL 0000100
+#define NOFLSH 0000200
+#define TOSTOP 0000400
+#define ECHOCTL 0001000
+#define ECHOPRT 0002000
+#define ECHOKE 0004000
+#define FLUSHO 0010000
+#define PENDIN 0040000
+#define IEXTEN 0100000
+#define EXTPROC 0200000
+
+/* tcflow() and TCXONC use these */
+#define TCOOFF 0
+#define TCOON 1
+#define TCIOFF 2
+#define TCION 3
+
+/* tcflush() and TCFLSH use these */
+#define TCIFLUSH 0
+#define TCOFLUSH 1
+#define TCIOFLUSH 2
+
+/* tcsetattr uses these */
+#define TCSANOW 0
+#define TCSADRAIN 1
+#define TCSAFLUSH 2
+
+#endif /* __ASM_GENERIC_TERMBITS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/termios.h b/libc/include/any-linux-any/asm-generic/termios.h
new file mode 100644
index 0000000000000000000000000000000000000000..b07e192a1479fe1823bec9545c4ad7c306402c01
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/termios.h
@@ -0,0 +1,51 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_TERMIOS_H
+#define _ASM_GENERIC_TERMIOS_H
+/*
+ * Most architectures have straight copies of the x86 code, with
+ * varying levels of bug fixes on top. Usually it's a good idea
+ * to use this generic version instead, but be careful to avoid
+ * ABI changes.
+ * New architectures should not provide their own version.
+ */
+
+#include
+#include
+
+struct winsize {
+ unsigned short ws_row;
+ unsigned short ws_col;
+ unsigned short ws_xpixel;
+ unsigned short ws_ypixel;
+};
+
+#define NCC 8
+struct termio {
+ unsigned short c_iflag; /* input mode flags */
+ unsigned short c_oflag; /* output mode flags */
+ unsigned short c_cflag; /* control mode flags */
+ unsigned short c_lflag; /* local mode flags */
+ unsigned char c_line; /* line discipline */
+ unsigned char c_cc[NCC]; /* control characters */
+};
+
+/* modem lines */
+#define TIOCM_LE 0x001
+#define TIOCM_DTR 0x002
+#define TIOCM_RTS 0x004
+#define TIOCM_ST 0x008
+#define TIOCM_SR 0x010
+#define TIOCM_CTS 0x020
+#define TIOCM_CAR 0x040
+#define TIOCM_RNG 0x080
+#define TIOCM_DSR 0x100
+#define TIOCM_CD TIOCM_CAR
+#define TIOCM_RI TIOCM_RNG
+#define TIOCM_OUT1 0x2000
+#define TIOCM_OUT2 0x4000
+#define TIOCM_LOOP 0x8000
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+
+
+#endif /* _ASM_GENERIC_TERMIOS_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/types.h b/libc/include/any-linux-any/asm-generic/types.h
new file mode 100644
index 0000000000000000000000000000000000000000..82408be67f5f8b85c01f23caffc5465678fdf6c2
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/types.h
@@ -0,0 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_GENERIC_TYPES_H
+#define _ASM_GENERIC_TYPES_H
+/*
+ * int-ll64 is used everywhere now.
+ */
+#include
+
+#endif /* _ASM_GENERIC_TYPES_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/ucontext.h b/libc/include/any-linux-any/asm-generic/ucontext.h
new file mode 100644
index 0000000000000000000000000000000000000000..eb113c0a09e9e338f7e4e923759dce10107aac73
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/ucontext.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_GENERIC_UCONTEXT_H
+#define __ASM_GENERIC_UCONTEXT_H
+
+struct ucontext {
+ unsigned long uc_flags;
+ struct ucontext *uc_link;
+ stack_t uc_stack;
+ struct sigcontext uc_mcontext;
+ sigset_t uc_sigmask; /* mask last for extensibility */
+};
+
+#endif /* __ASM_GENERIC_UCONTEXT_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm-generic/unistd.h b/libc/include/any-linux-any/asm-generic/unistd.h
new file mode 100644
index 0000000000000000000000000000000000000000..c11f76bd582738153122f169599370768986cc33
--- /dev/null
+++ b/libc/include/any-linux-any/asm-generic/unistd.h
@@ -0,0 +1,785 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#include
+
+/*
+ * This file contains the system call numbers, based on the
+ * layout of the x86-64 architecture, which embeds the
+ * pointer to the syscall in the table.
+ *
+ * As a basic principle, no duplication of functionality
+ * should be added, e.g. we don't use lseek when llseek
+ * is present. New architectures should use this file
+ * and implement the less feature-full calls in user space.
+ */
+
+#ifndef __SYSCALL
+#define __SYSCALL(x, y)
+#endif
+
+#if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)
+#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32)
+#else
+#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64)
+#endif
+
+#ifdef __SYSCALL_COMPAT
+#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp)
+#define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp)
+#else
+#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys)
+#define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64)
+#endif
+
+#define __NR_io_setup 0
+__SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup)
+#define __NR_io_destroy 1
+__SYSCALL(__NR_io_destroy, sys_io_destroy)
+#define __NR_io_submit 2
+__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
+#define __NR_io_cancel 3
+__SYSCALL(__NR_io_cancel, sys_io_cancel)
+#define __NR_io_getevents 4
+__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
+
+/* fs/xattr.c */
+#define __NR_setxattr 5
+__SYSCALL(__NR_setxattr, sys_setxattr)
+#define __NR_lsetxattr 6
+__SYSCALL(__NR_lsetxattr, sys_lsetxattr)
+#define __NR_fsetxattr 7
+__SYSCALL(__NR_fsetxattr, sys_fsetxattr)
+#define __NR_getxattr 8
+__SYSCALL(__NR_getxattr, sys_getxattr)
+#define __NR_lgetxattr 9
+__SYSCALL(__NR_lgetxattr, sys_lgetxattr)
+#define __NR_fgetxattr 10
+__SYSCALL(__NR_fgetxattr, sys_fgetxattr)
+#define __NR_listxattr 11
+__SYSCALL(__NR_listxattr, sys_listxattr)
+#define __NR_llistxattr 12
+__SYSCALL(__NR_llistxattr, sys_llistxattr)
+#define __NR_flistxattr 13
+__SYSCALL(__NR_flistxattr, sys_flistxattr)
+#define __NR_removexattr 14
+__SYSCALL(__NR_removexattr, sys_removexattr)
+#define __NR_lremovexattr 15
+__SYSCALL(__NR_lremovexattr, sys_lremovexattr)
+#define __NR_fremovexattr 16
+__SYSCALL(__NR_fremovexattr, sys_fremovexattr)
+
+/* fs/dcache.c */
+#define __NR_getcwd 17
+__SYSCALL(__NR_getcwd, sys_getcwd)
+
+/* fs/cookies.c */
+#define __NR_lookup_dcookie 18
+__SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie)
+
+/* fs/eventfd.c */
+#define __NR_eventfd2 19
+__SYSCALL(__NR_eventfd2, sys_eventfd2)
+
+/* fs/eventpoll.c */
+#define __NR_epoll_create1 20
+__SYSCALL(__NR_epoll_create1, sys_epoll_create1)
+#define __NR_epoll_ctl 21
+__SYSCALL(__NR_epoll_ctl, sys_epoll_ctl)
+#define __NR_epoll_pwait 22
+__SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait)
+
+/* fs/fcntl.c */
+#define __NR_dup 23
+__SYSCALL(__NR_dup, sys_dup)
+#define __NR_dup3 24
+__SYSCALL(__NR_dup3, sys_dup3)
+#define __NR3264_fcntl 25
+__SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64)
+
+/* fs/inotify_user.c */
+#define __NR_inotify_init1 26
+__SYSCALL(__NR_inotify_init1, sys_inotify_init1)
+#define __NR_inotify_add_watch 27
+__SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch)
+#define __NR_inotify_rm_watch 28
+__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch)
+
+/* fs/ioctl.c */
+#define __NR_ioctl 29
+__SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl)
+
+/* fs/ioprio.c */
+#define __NR_ioprio_set 30
+__SYSCALL(__NR_ioprio_set, sys_ioprio_set)
+#define __NR_ioprio_get 31
+__SYSCALL(__NR_ioprio_get, sys_ioprio_get)
+
+/* fs/locks.c */
+#define __NR_flock 32
+__SYSCALL(__NR_flock, sys_flock)
+
+/* fs/namei.c */
+#define __NR_mknodat 33
+__SYSCALL(__NR_mknodat, sys_mknodat)
+#define __NR_mkdirat 34
+__SYSCALL(__NR_mkdirat, sys_mkdirat)
+#define __NR_unlinkat 35
+__SYSCALL(__NR_unlinkat, sys_unlinkat)
+#define __NR_symlinkat 36
+__SYSCALL(__NR_symlinkat, sys_symlinkat)
+#define __NR_linkat 37
+__SYSCALL(__NR_linkat, sys_linkat)
+#ifdef __ARCH_WANT_RENAMEAT
+/* renameat is superseded with flags by renameat2 */
+#define __NR_renameat 38
+__SYSCALL(__NR_renameat, sys_renameat)
+#endif /* __ARCH_WANT_RENAMEAT */
+
+/* fs/namespace.c */
+#define __NR_umount2 39
+__SYSCALL(__NR_umount2, sys_umount)
+#define __NR_mount 40
+__SC_COMP(__NR_mount, sys_mount, compat_sys_mount)
+#define __NR_pivot_root 41
+__SYSCALL(__NR_pivot_root, sys_pivot_root)
+
+/* fs/nfsctl.c */
+#define __NR_nfsservctl 42
+__SYSCALL(__NR_nfsservctl, sys_ni_syscall)
+
+/* fs/open.c */
+#define __NR3264_statfs 43
+__SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \
+ compat_sys_statfs64)
+#define __NR3264_fstatfs 44
+__SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \
+ compat_sys_fstatfs64)
+#define __NR3264_truncate 45
+__SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \
+ compat_sys_truncate64)
+#define __NR3264_ftruncate 46
+__SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \
+ compat_sys_ftruncate64)
+
+#define __NR_fallocate 47
+__SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate)
+#define __NR_faccessat 48
+__SYSCALL(__NR_faccessat, sys_faccessat)
+#define __NR_chdir 49
+__SYSCALL(__NR_chdir, sys_chdir)
+#define __NR_fchdir 50
+__SYSCALL(__NR_fchdir, sys_fchdir)
+#define __NR_chroot 51
+__SYSCALL(__NR_chroot, sys_chroot)
+#define __NR_fchmod 52
+__SYSCALL(__NR_fchmod, sys_fchmod)
+#define __NR_fchmodat 53
+__SYSCALL(__NR_fchmodat, sys_fchmodat)
+#define __NR_fchownat 54
+__SYSCALL(__NR_fchownat, sys_fchownat)
+#define __NR_fchown 55
+__SYSCALL(__NR_fchown, sys_fchown)
+#define __NR_openat 56
+__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
+#define __NR_close 57
+__SYSCALL(__NR_close, sys_close)
+#define __NR_vhangup 58
+__SYSCALL(__NR_vhangup, sys_vhangup)
+
+/* fs/pipe.c */
+#define __NR_pipe2 59
+__SYSCALL(__NR_pipe2, sys_pipe2)
+
+/* fs/quota.c */
+#define __NR_quotactl 60
+__SYSCALL(__NR_quotactl, sys_quotactl)
+
+/* fs/readdir.c */
+#define __NR_getdents64 61
+__SYSCALL(__NR_getdents64, sys_getdents64)
+
+/* fs/read_write.c */
+#define __NR3264_lseek 62
+__SC_3264(__NR3264_lseek, sys_llseek, sys_lseek)
+#define __NR_read 63
+__SYSCALL(__NR_read, sys_read)
+#define __NR_write 64
+__SYSCALL(__NR_write, sys_write)
+#define __NR_readv 65
+__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
+#define __NR_writev 66
+__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
+#define __NR_pread64 67
+__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
+#define __NR_pwrite64 68
+__SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64)
+#define __NR_preadv 69
+__SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv)
+#define __NR_pwritev 70
+__SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
+
+/* fs/sendfile.c */
+#define __NR3264_sendfile 71
+__SYSCALL(__NR3264_sendfile, sys_sendfile64)
+
+/* fs/select.c */
+#define __NR_pselect6 72
+__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
+#define __NR_ppoll 73
+__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
+
+/* fs/signalfd.c */
+#define __NR_signalfd4 74
+__SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4)
+
+/* fs/splice.c */
+#define __NR_vmsplice 75
+__SC_COMP(__NR_vmsplice, sys_vmsplice, compat_sys_vmsplice)
+#define __NR_splice 76
+__SYSCALL(__NR_splice, sys_splice)
+#define __NR_tee 77
+__SYSCALL(__NR_tee, sys_tee)
+
+/* fs/stat.c */
+#define __NR_readlinkat 78
+__SYSCALL(__NR_readlinkat, sys_readlinkat)
+#define __NR3264_fstatat 79
+__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
+#define __NR3264_fstat 80
+__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
+
+/* fs/sync.c */
+#define __NR_sync 81
+__SYSCALL(__NR_sync, sys_sync)
+#define __NR_fsync 82
+__SYSCALL(__NR_fsync, sys_fsync)
+#define __NR_fdatasync 83
+__SYSCALL(__NR_fdatasync, sys_fdatasync)
+#ifdef __ARCH_WANT_SYNC_FILE_RANGE2
+#define __NR_sync_file_range2 84
+__SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \
+ compat_sys_sync_file_range2)
+#else
+#define __NR_sync_file_range 84
+__SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
+ compat_sys_sync_file_range)
+#endif
+
+/* fs/timerfd.c */
+#define __NR_timerfd_create 85
+__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
+#define __NR_timerfd_settime 86
+__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
+ compat_sys_timerfd_settime)
+#define __NR_timerfd_gettime 87
+__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
+ compat_sys_timerfd_gettime)
+
+/* fs/utimes.c */
+#define __NR_utimensat 88
+__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
+
+/* kernel/acct.c */
+#define __NR_acct 89
+__SYSCALL(__NR_acct, sys_acct)
+
+/* kernel/capability.c */
+#define __NR_capget 90
+__SYSCALL(__NR_capget, sys_capget)
+#define __NR_capset 91
+__SYSCALL(__NR_capset, sys_capset)
+
+/* kernel/exec_domain.c */
+#define __NR_personality 92
+__SYSCALL(__NR_personality, sys_personality)
+
+/* kernel/exit.c */
+#define __NR_exit 93
+__SYSCALL(__NR_exit, sys_exit)
+#define __NR_exit_group 94
+__SYSCALL(__NR_exit_group, sys_exit_group)
+#define __NR_waitid 95
+__SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid)
+
+/* kernel/fork.c */
+#define __NR_set_tid_address 96
+__SYSCALL(__NR_set_tid_address, sys_set_tid_address)
+#define __NR_unshare 97
+__SYSCALL(__NR_unshare, sys_unshare)
+
+/* kernel/futex.c */
+#define __NR_futex 98
+__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
+#define __NR_set_robust_list 99
+__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
+ compat_sys_set_robust_list)
+#define __NR_get_robust_list 100
+__SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
+ compat_sys_get_robust_list)
+
+/* kernel/hrtimer.c */
+#define __NR_nanosleep 101
+__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
+
+/* kernel/itimer.c */
+#define __NR_getitimer 102
+__SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer)
+#define __NR_setitimer 103
+__SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer)
+
+/* kernel/kexec.c */
+#define __NR_kexec_load 104
+__SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load)
+
+/* kernel/module.c */
+#define __NR_init_module 105
+__SYSCALL(__NR_init_module, sys_init_module)
+#define __NR_delete_module 106
+__SYSCALL(__NR_delete_module, sys_delete_module)
+
+/* kernel/posix-timers.c */
+#define __NR_timer_create 107
+__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
+#define __NR_timer_gettime 108
+__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
+#define __NR_timer_getoverrun 109
+__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
+#define __NR_timer_settime 110
+__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
+#define __NR_timer_delete 111
+__SYSCALL(__NR_timer_delete, sys_timer_delete)
+#define __NR_clock_settime 112
+__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
+#define __NR_clock_gettime 113
+__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
+#define __NR_clock_getres 114
+__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
+#define __NR_clock_nanosleep 115
+__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
+ compat_sys_clock_nanosleep)
+
+/* kernel/printk.c */
+#define __NR_syslog 116
+__SYSCALL(__NR_syslog, sys_syslog)
+
+/* kernel/ptrace.c */
+#define __NR_ptrace 117
+__SYSCALL(__NR_ptrace, sys_ptrace)
+
+/* kernel/sched/core.c */
+#define __NR_sched_setparam 118
+__SYSCALL(__NR_sched_setparam, sys_sched_setparam)
+#define __NR_sched_setscheduler 119
+__SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler)
+#define __NR_sched_getscheduler 120
+__SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler)
+#define __NR_sched_getparam 121
+__SYSCALL(__NR_sched_getparam, sys_sched_getparam)
+#define __NR_sched_setaffinity 122
+__SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \
+ compat_sys_sched_setaffinity)
+#define __NR_sched_getaffinity 123
+__SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \
+ compat_sys_sched_getaffinity)
+#define __NR_sched_yield 124
+__SYSCALL(__NR_sched_yield, sys_sched_yield)
+#define __NR_sched_get_priority_max 125
+__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
+#define __NR_sched_get_priority_min 126
+__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
+#define __NR_sched_rr_get_interval 127
+__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
+ compat_sys_sched_rr_get_interval)
+
+/* kernel/signal.c */
+#define __NR_restart_syscall 128
+__SYSCALL(__NR_restart_syscall, sys_restart_syscall)
+#define __NR_kill 129
+__SYSCALL(__NR_kill, sys_kill)
+#define __NR_tkill 130
+__SYSCALL(__NR_tkill, sys_tkill)
+#define __NR_tgkill 131
+__SYSCALL(__NR_tgkill, sys_tgkill)
+#define __NR_sigaltstack 132
+__SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack)
+#define __NR_rt_sigsuspend 133
+__SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend)
+#define __NR_rt_sigaction 134
+__SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
+#define __NR_rt_sigprocmask 135
+__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
+#define __NR_rt_sigpending 136
+__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
+#define __NR_rt_sigtimedwait 137
+__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
+ compat_sys_rt_sigtimedwait)
+#define __NR_rt_sigqueueinfo 138
+__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
+ compat_sys_rt_sigqueueinfo)
+#define __NR_rt_sigreturn 139
+__SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn)
+
+/* kernel/sys.c */
+#define __NR_setpriority 140
+__SYSCALL(__NR_setpriority, sys_setpriority)
+#define __NR_getpriority 141
+__SYSCALL(__NR_getpriority, sys_getpriority)
+#define __NR_reboot 142
+__SYSCALL(__NR_reboot, sys_reboot)
+#define __NR_setregid 143
+__SYSCALL(__NR_setregid, sys_setregid)
+#define __NR_setgid 144
+__SYSCALL(__NR_setgid, sys_setgid)
+#define __NR_setreuid 145
+__SYSCALL(__NR_setreuid, sys_setreuid)
+#define __NR_setuid 146
+__SYSCALL(__NR_setuid, sys_setuid)
+#define __NR_setresuid 147
+__SYSCALL(__NR_setresuid, sys_setresuid)
+#define __NR_getresuid 148
+__SYSCALL(__NR_getresuid, sys_getresuid)
+#define __NR_setresgid 149
+__SYSCALL(__NR_setresgid, sys_setresgid)
+#define __NR_getresgid 150
+__SYSCALL(__NR_getresgid, sys_getresgid)
+#define __NR_setfsuid 151
+__SYSCALL(__NR_setfsuid, sys_setfsuid)
+#define __NR_setfsgid 152
+__SYSCALL(__NR_setfsgid, sys_setfsgid)
+#define __NR_times 153
+__SC_COMP(__NR_times, sys_times, compat_sys_times)
+#define __NR_setpgid 154
+__SYSCALL(__NR_setpgid, sys_setpgid)
+#define __NR_getpgid 155
+__SYSCALL(__NR_getpgid, sys_getpgid)
+#define __NR_getsid 156
+__SYSCALL(__NR_getsid, sys_getsid)
+#define __NR_setsid 157
+__SYSCALL(__NR_setsid, sys_setsid)
+#define __NR_getgroups 158
+__SYSCALL(__NR_getgroups, sys_getgroups)
+#define __NR_setgroups 159
+__SYSCALL(__NR_setgroups, sys_setgroups)
+#define __NR_uname 160
+__SYSCALL(__NR_uname, sys_newuname)
+#define __NR_sethostname 161
+__SYSCALL(__NR_sethostname, sys_sethostname)
+#define __NR_setdomainname 162
+__SYSCALL(__NR_setdomainname, sys_setdomainname)
+#define __NR_getrlimit 163
+__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
+#define __NR_setrlimit 164
+__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
+#define __NR_getrusage 165
+__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
+#define __NR_umask 166
+__SYSCALL(__NR_umask, sys_umask)
+#define __NR_prctl 167
+__SYSCALL(__NR_prctl, sys_prctl)
+#define __NR_getcpu 168
+__SYSCALL(__NR_getcpu, sys_getcpu)
+
+/* kernel/time.c */
+#define __NR_gettimeofday 169
+__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
+#define __NR_settimeofday 170
+__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
+#define __NR_adjtimex 171
+__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
+
+/* kernel/timer.c */
+#define __NR_getpid 172
+__SYSCALL(__NR_getpid, sys_getpid)
+#define __NR_getppid 173
+__SYSCALL(__NR_getppid, sys_getppid)
+#define __NR_getuid 174
+__SYSCALL(__NR_getuid, sys_getuid)
+#define __NR_geteuid 175
+__SYSCALL(__NR_geteuid, sys_geteuid)
+#define __NR_getgid 176
+__SYSCALL(__NR_getgid, sys_getgid)
+#define __NR_getegid 177
+__SYSCALL(__NR_getegid, sys_getegid)
+#define __NR_gettid 178
+__SYSCALL(__NR_gettid, sys_gettid)
+#define __NR_sysinfo 179
+__SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
+
+/* ipc/mqueue.c */
+#define __NR_mq_open 180
+__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
+#define __NR_mq_unlink 181
+__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
+#define __NR_mq_timedsend 182
+__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
+#define __NR_mq_timedreceive 183
+__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
+ compat_sys_mq_timedreceive)
+#define __NR_mq_notify 184
+__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
+#define __NR_mq_getsetattr 185
+__SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr)
+
+/* ipc/msg.c */
+#define __NR_msgget 186
+__SYSCALL(__NR_msgget, sys_msgget)
+#define __NR_msgctl 187
+__SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl)
+#define __NR_msgrcv 188
+__SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv)
+#define __NR_msgsnd 189
+__SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
+
+/* ipc/sem.c */
+#define __NR_semget 190
+__SYSCALL(__NR_semget, sys_semget)
+#define __NR_semctl 191
+__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
+#define __NR_semtimedop 192
+__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
+#define __NR_semop 193
+__SYSCALL(__NR_semop, sys_semop)
+
+/* ipc/shm.c */
+#define __NR_shmget 194
+__SYSCALL(__NR_shmget, sys_shmget)
+#define __NR_shmctl 195
+__SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl)
+#define __NR_shmat 196
+__SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat)
+#define __NR_shmdt 197
+__SYSCALL(__NR_shmdt, sys_shmdt)
+
+/* net/socket.c */
+#define __NR_socket 198
+__SYSCALL(__NR_socket, sys_socket)
+#define __NR_socketpair 199
+__SYSCALL(__NR_socketpair, sys_socketpair)
+#define __NR_bind 200
+__SYSCALL(__NR_bind, sys_bind)
+#define __NR_listen 201
+__SYSCALL(__NR_listen, sys_listen)
+#define __NR_accept 202
+__SYSCALL(__NR_accept, sys_accept)
+#define __NR_connect 203
+__SYSCALL(__NR_connect, sys_connect)
+#define __NR_getsockname 204
+__SYSCALL(__NR_getsockname, sys_getsockname)
+#define __NR_getpeername 205
+__SYSCALL(__NR_getpeername, sys_getpeername)
+#define __NR_sendto 206
+__SYSCALL(__NR_sendto, sys_sendto)
+#define __NR_recvfrom 207
+__SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom)
+#define __NR_setsockopt 208
+__SC_COMP(__NR_setsockopt, sys_setsockopt, compat_sys_setsockopt)
+#define __NR_getsockopt 209
+__SC_COMP(__NR_getsockopt, sys_getsockopt, compat_sys_getsockopt)
+#define __NR_shutdown 210
+__SYSCALL(__NR_shutdown, sys_shutdown)
+#define __NR_sendmsg 211
+__SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg)
+#define __NR_recvmsg 212
+__SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg)
+
+/* mm/filemap.c */
+#define __NR_readahead 213
+__SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead)
+
+/* mm/nommu.c, also with MMU */
+#define __NR_brk 214
+__SYSCALL(__NR_brk, sys_brk)
+#define __NR_munmap 215
+__SYSCALL(__NR_munmap, sys_munmap)
+#define __NR_mremap 216
+__SYSCALL(__NR_mremap, sys_mremap)
+
+/* security/keys/keyctl.c */
+#define __NR_add_key 217
+__SYSCALL(__NR_add_key, sys_add_key)
+#define __NR_request_key 218
+__SYSCALL(__NR_request_key, sys_request_key)
+#define __NR_keyctl 219
+__SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl)
+
+/* arch/example/kernel/sys_example.c */
+#define __NR_clone 220
+__SYSCALL(__NR_clone, sys_clone)
+#define __NR_execve 221
+__SC_COMP(__NR_execve, sys_execve, compat_sys_execve)
+
+#define __NR3264_mmap 222
+__SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap)
+/* mm/fadvise.c */
+#define __NR3264_fadvise64 223
+__SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64)
+
+/* mm/, CONFIG_MMU only */
+#ifndef __ARCH_NOMMU
+#define __NR_swapon 224
+__SYSCALL(__NR_swapon, sys_swapon)
+#define __NR_swapoff 225
+__SYSCALL(__NR_swapoff, sys_swapoff)
+#define __NR_mprotect 226
+__SYSCALL(__NR_mprotect, sys_mprotect)
+#define __NR_msync 227
+__SYSCALL(__NR_msync, sys_msync)
+#define __NR_mlock 228
+__SYSCALL(__NR_mlock, sys_mlock)
+#define __NR_munlock 229
+__SYSCALL(__NR_munlock, sys_munlock)
+#define __NR_mlockall 230
+__SYSCALL(__NR_mlockall, sys_mlockall)
+#define __NR_munlockall 231
+__SYSCALL(__NR_munlockall, sys_munlockall)
+#define __NR_mincore 232
+__SYSCALL(__NR_mincore, sys_mincore)
+#define __NR_madvise 233
+__SYSCALL(__NR_madvise, sys_madvise)
+#define __NR_remap_file_pages 234
+__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages)
+#define __NR_mbind 235
+__SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind)
+#define __NR_get_mempolicy 236
+__SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy)
+#define __NR_set_mempolicy 237
+__SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy)
+#define __NR_migrate_pages 238
+__SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages)
+#define __NR_move_pages 239
+__SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages)
+#endif
+
+#define __NR_rt_tgsigqueueinfo 240
+__SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
+ compat_sys_rt_tgsigqueueinfo)
+#define __NR_perf_event_open 241
+__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
+#define __NR_accept4 242
+__SYSCALL(__NR_accept4, sys_accept4)
+#define __NR_recvmmsg 243
+__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
+
+/*
+ * Architectures may provide up to 16 syscalls of their own
+ * starting with this value.
+ */
+#define __NR_arch_specific_syscall 244
+
+#define __NR_wait4 260
+__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
+#define __NR_prlimit64 261
+__SYSCALL(__NR_prlimit64, sys_prlimit64)
+#define __NR_fanotify_init 262
+__SYSCALL(__NR_fanotify_init, sys_fanotify_init)
+#define __NR_fanotify_mark 263
+__SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
+#define __NR_name_to_handle_at 264
+__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
+#define __NR_open_by_handle_at 265
+__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
+ compat_sys_open_by_handle_at)
+#define __NR_clock_adjtime 266
+__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
+#define __NR_syncfs 267
+__SYSCALL(__NR_syncfs, sys_syncfs)
+#define __NR_setns 268
+__SYSCALL(__NR_setns, sys_setns)
+#define __NR_sendmmsg 269
+__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg)
+#define __NR_process_vm_readv 270
+__SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \
+ compat_sys_process_vm_readv)
+#define __NR_process_vm_writev 271
+__SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \
+ compat_sys_process_vm_writev)
+#define __NR_kcmp 272
+__SYSCALL(__NR_kcmp, sys_kcmp)
+#define __NR_finit_module 273
+__SYSCALL(__NR_finit_module, sys_finit_module)
+#define __NR_sched_setattr 274
+__SYSCALL(__NR_sched_setattr, sys_sched_setattr)
+#define __NR_sched_getattr 275
+__SYSCALL(__NR_sched_getattr, sys_sched_getattr)
+#define __NR_renameat2 276
+__SYSCALL(__NR_renameat2, sys_renameat2)
+#define __NR_seccomp 277
+__SYSCALL(__NR_seccomp, sys_seccomp)
+#define __NR_getrandom 278
+__SYSCALL(__NR_getrandom, sys_getrandom)
+#define __NR_memfd_create 279
+__SYSCALL(__NR_memfd_create, sys_memfd_create)
+#define __NR_bpf 280
+__SYSCALL(__NR_bpf, sys_bpf)
+#define __NR_execveat 281
+__SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat)
+#define __NR_userfaultfd 282
+__SYSCALL(__NR_userfaultfd, sys_userfaultfd)
+#define __NR_membarrier 283
+__SYSCALL(__NR_membarrier, sys_membarrier)
+#define __NR_mlock2 284
+__SYSCALL(__NR_mlock2, sys_mlock2)
+#define __NR_copy_file_range 285
+__SYSCALL(__NR_copy_file_range, sys_copy_file_range)
+#define __NR_preadv2 286
+__SC_COMP(__NR_preadv2, sys_preadv2, compat_sys_preadv2)
+#define __NR_pwritev2 287
+__SC_COMP(__NR_pwritev2, sys_pwritev2, compat_sys_pwritev2)
+#define __NR_pkey_mprotect 288
+__SYSCALL(__NR_pkey_mprotect, sys_pkey_mprotect)
+#define __NR_pkey_alloc 289
+__SYSCALL(__NR_pkey_alloc, sys_pkey_alloc)
+#define __NR_pkey_free 290
+__SYSCALL(__NR_pkey_free, sys_pkey_free)
+#define __NR_statx 291
+__SYSCALL(__NR_statx, sys_statx)
+#define __NR_io_pgetevents 292
+__SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents)
+#define __NR_rseq 293
+__SYSCALL(__NR_rseq, sys_rseq)
+
+#undef __NR_syscalls
+#define __NR_syscalls 294
+
+/*
+ * 32 bit systems traditionally used different
+ * syscalls for off_t and loff_t arguments, while
+ * 64 bit systems only need the off_t version.
+ * For new 32 bit platforms, there is no need to
+ * implement the old 32 bit off_t syscalls, so
+ * they take different names.
+ * Here we map the numbers so that both versions
+ * use the same syscall table layout.
+ */
+#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
+#define __NR_fcntl __NR3264_fcntl
+#define __NR_statfs __NR3264_statfs
+#define __NR_fstatfs __NR3264_fstatfs
+#define __NR_truncate __NR3264_truncate
+#define __NR_ftruncate __NR3264_ftruncate
+#define __NR_lseek __NR3264_lseek
+#define __NR_sendfile __NR3264_sendfile
+#define __NR_newfstatat __NR3264_fstatat
+#define __NR_fstat __NR3264_fstat
+#define __NR_mmap __NR3264_mmap
+#define __NR_fadvise64 __NR3264_fadvise64
+#ifdef __NR3264_stat
+#define __NR_stat __NR3264_stat
+#define __NR_lstat __NR3264_lstat
+#endif
+#else
+#define __NR_fcntl64 __NR3264_fcntl
+#define __NR_statfs64 __NR3264_statfs
+#define __NR_fstatfs64 __NR3264_fstatfs
+#define __NR_truncate64 __NR3264_truncate
+#define __NR_ftruncate64 __NR3264_ftruncate
+#define __NR_llseek __NR3264_lseek
+#define __NR_sendfile64 __NR3264_sendfile
+#define __NR_fstatat64 __NR3264_fstatat
+#define __NR_fstat64 __NR3264_fstat
+#define __NR_mmap2 __NR3264_mmap
+#define __NR_fadvise64_64 __NR3264_fadvise64
+#ifdef __NR3264_stat
+#define __NR_stat64 __NR3264_stat
+#define __NR_lstat64 __NR3264_lstat
+#endif
+#endif
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/a.out.h b/libc/include/any-linux-any/asm/a.out.h
new file mode 100644
index 0000000000000000000000000000000000000000..db1281a91c150fac46c8e6e2561648fd41de5191
--- /dev/null
+++ b/libc/include/any-linux-any/asm/a.out.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_X86_A_OUT_H
+#define _ASM_X86_A_OUT_H
+
+struct exec
+{
+ unsigned int a_info; /* Use macros N_MAGIC, etc for access */
+ unsigned a_text; /* length of text, in bytes */
+ unsigned a_data; /* length of data, in bytes */
+ unsigned a_bss; /* length of uninitialized data area for file, in bytes */
+ unsigned a_syms; /* length of symbol table data in file, in bytes */
+ unsigned a_entry; /* start address */
+ unsigned a_trsize; /* length of relocation info for text, in bytes */
+ unsigned a_drsize; /* length of relocation info for data, in bytes */
+};
+
+#define N_TRSIZE(a) ((a).a_trsize)
+#define N_DRSIZE(a) ((a).a_drsize)
+#define N_SYMSIZE(a) ((a).a_syms)
+
+#endif /* _ASM_X86_A_OUT_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/auxvec.h b/libc/include/any-linux-any/asm/auxvec.h
new file mode 100644
index 0000000000000000000000000000000000000000..e971dfca8015c06c0ec9ed185a2cc56d91708d8b
--- /dev/null
+++ b/libc/include/any-linux-any/asm/auxvec.h
@@ -0,0 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef __ASM_AUXVEC_H
+#define __ASM_AUXVEC_H
+
+/* VDSO location */
+#define AT_SYSINFO_EHDR 33
+
+#endif
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/bitfield.h b/libc/include/any-linux-any/asm/bitfield.h
new file mode 100644
index 0000000000000000000000000000000000000000..5e04a8a9cba7019bdde02fb11335a8bcedab1787
--- /dev/null
+++ b/libc/include/any-linux-any/asm/bitfield.h
@@ -0,0 +1,30 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2014 by Ralf Baechle
+ */
+#ifndef __UAPI_ASM_BITFIELD_H
+#define __UAPI_ASM_BITFIELD_H
+
+/*
+ * * Damn ... bitfields depend from byteorder :-(
+ * */
+#ifdef __MIPSEB__
+#define __BITFIELD_FIELD(field, more) \
+ field; \
+ more
+
+#elif defined(__MIPSEL__)
+
+#define __BITFIELD_FIELD(field, more) \
+ more \
+ field;
+
+#else /* !defined (__MIPSEB__) && !defined (__MIPSEL__) */
+#error "MIPS but neither __MIPSEL__ nor __MIPSEB__?"
+#endif
+
+#endif /* __UAPI_ASM_BITFIELD_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/bitsperlong.h b/libc/include/any-linux-any/asm/bitsperlong.h
new file mode 100644
index 0000000000000000000000000000000000000000..9f828751cf2a29e870f4c0417a13c388f5ac7ee0
--- /dev/null
+++ b/libc/include/any-linux-any/asm/bitsperlong.h
@@ -0,0 +1 @@
+#include
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/boot.h b/libc/include/any-linux-any/asm/boot.h
new file mode 100644
index 0000000000000000000000000000000000000000..0f676d5549628f66c8240a881830c6cbd0e29ffc
--- /dev/null
+++ b/libc/include/any-linux-any/asm/boot.h
@@ -0,0 +1,11 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_X86_BOOT_H
+#define _ASM_X86_BOOT_H
+
+/* Internal svga startup constants */
+#define NORMAL_VGA 0xffff /* 80x25 mode */
+#define EXTENDED_VGA 0xfffe /* 80x50 mode */
+#define ASK_VGA 0xfffd /* ask for it at bootup */
+
+
+#endif /* _ASM_X86_BOOT_H */
\ No newline at end of file
diff --git a/libc/include/any-linux-any/asm/bootparam.h b/libc/include/any-linux-any/asm/bootparam.h
new file mode 100644
index 0000000000000000000000000000000000000000..68c947f9f3e7d24fbc90251e52ff4ecc421a6216
--- /dev/null
+++ b/libc/include/any-linux-any/asm/bootparam.h
@@ -0,0 +1,249 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _ASM_X86_BOOTPARAM_H
+#define _ASM_X86_BOOTPARAM_H
+
+/* setup_data types */
+#define SETUP_NONE 0
+#define SETUP_E820_EXT 1
+#define SETUP_DTB 2
+#define SETUP_PCI 3
+#define SETUP_EFI 4
+#define SETUP_APPLE_PROPERTIES 5
+#define SETUP_JAILHOUSE 6
+
+/* ram_size flags */
+#define RAMDISK_IMAGE_START_MASK 0x07FF
+#define RAMDISK_PROMPT_FLAG 0x8000
+#define RAMDISK_LOAD_FLAG 0x4000
+
+/* loadflags */
+#define LOADED_HIGH (1<<0)
+#define KASLR_FLAG (1<<1)
+#define QUIET_FLAG (1<<5)
+#define KEEP_SEGMENTS (1<<6)
+#define CAN_USE_HEAP (1<<7)
+
+/* xloadflags */
+#define XLF_KERNEL_64 (1<<0)
+#define XLF_CAN_BE_LOADED_ABOVE_4G (1<<1)
+#define XLF_EFI_HANDOVER_32 (1<<2)
+#define XLF_EFI_HANDOVER_64 (1<<3)
+#define XLF_EFI_KEXEC (1<<4)
+
+#ifndef __ASSEMBLY__
+
+#include
+#include
+#include
+#include
+#include
+#include