@zigc/lib 0.17.0-dev.607 → 0.17.0-dev.633
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/Maker/PkgConfig.zig +14 -7
- package/compiler/Maker/Step/Compile.zig +6 -6
- package/compiler/Maker/Step/Fmt.zig +1 -1
- package/compiler/Maker/Step/Run.zig +42 -39
- package/compiler/Maker/Step/TranslateC.zig +1 -1
- package/compiler/Maker/Step.zig +47 -16
- package/compiler/Maker.zig +54 -44
- package/libc/include/aarch64-netbsd-none/aarch64/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/aarch64/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/aarch64/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/aarch64/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/aarch64/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/aarch64/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/aarch64/vmparam.h +4 -4
- package/libc/include/aarch64-netbsd-none/machine/armreg.h +259 -22
- package/libc/include/aarch64-netbsd-none/machine/byte_swap.h +3 -2
- package/libc/include/aarch64-netbsd-none/machine/cpu.h +26 -1
- package/libc/include/aarch64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/aarch64-netbsd-none/machine/pmap.h +7 -33
- package/libc/include/aarch64-netbsd-none/machine/sljit_machdep.h +1 -1
- package/libc/include/aarch64-netbsd-none/machine/vmparam.h +4 -4
- package/libc/include/arm-netbsd-eabi/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/asm.h +48 -19
- package/libc/include/arm-netbsd-eabi/machine/byte_swap.h +121 -0
- package/libc/include/arm-netbsd-eabi/machine/cpu.h +1 -3
- package/libc/include/arm-netbsd-eabi/machine/float.h +2 -1
- package/libc/include/arm-netbsd-eabi/machine/lwp_private.h +81 -0
- package/libc/include/arm-netbsd-eabi/machine/mcontext.h +5 -51
- package/libc/include/arm-netbsd-eabi/machine/mutex.h +1 -1
- package/libc/include/arm-netbsd-eabi/machine/proc.h +2 -2
- package/libc/include/arm-netbsd-eabi/machine/profile.h +28 -96
- package/libc/include/arm-netbsd-eabi/machine/setjmp.h +7 -6
- package/libc/include/arm-netbsd-eabi/machine/sysarch.h +85 -0
- package/libc/include/generic-netbsd/altq/altq.h +2 -2
- package/libc/include/generic-netbsd/altq/altq_afmap.h +2 -1
- package/libc/include/generic-netbsd/altq/altq_classq.h +8 -6
- package/libc/include/generic-netbsd/altq/altq_jobs.h +37 -37
- package/libc/include/generic-netbsd/altq/altq_rmclass.h +8 -8
- package/libc/include/generic-netbsd/altq/altq_var.h +2 -2
- package/libc/include/generic-netbsd/arm/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/arm/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/arm/asm.h +48 -19
- package/libc/include/generic-netbsd/arm/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/arm/cpu.h +1 -3
- package/libc/include/generic-netbsd/arm/cputypes.h +12 -1
- package/libc/include/generic-netbsd/arm/float.h +2 -1
- package/libc/include/generic-netbsd/arm/lwp_private.h +81 -0
- package/libc/include/generic-netbsd/arm/mcontext.h +5 -51
- package/libc/include/generic-netbsd/arm/mutex.h +1 -1
- package/libc/include/generic-netbsd/arm/proc.h +2 -2
- package/libc/include/generic-netbsd/arm/profile.h +28 -96
- package/libc/include/generic-netbsd/arm/setjmp.h +7 -6
- package/libc/include/generic-netbsd/arpa/nameser.h +3 -3
- package/libc/include/generic-netbsd/arpa/nameser_compat.h +3 -3
- package/libc/include/generic-netbsd/assert.h +12 -22
- package/libc/include/generic-netbsd/bitstring.h +5 -5
- package/libc/include/generic-netbsd/cdbw.h +2 -2
- package/libc/include/generic-netbsd/crypto/cryptodev.h +99 -92
- package/libc/include/generic-netbsd/dev/i2c/emcfaninfo.h +234 -0
- package/libc/include/generic-netbsd/dev/i2c/emcfanreg.h +127 -0
- package/libc/include/generic-netbsd/dev/i2o/i2o.h +3 -366
- package/libc/include/generic-netbsd/dev/ic/hd44780var.h +3 -1
- package/libc/include/generic-netbsd/dev/ic/scmdreg.h +2 -2
- package/libc/include/generic-netbsd/dev/ic/stireg.h +777 -0
- package/libc/include/generic-netbsd/dev/ic/summitreg.h +214 -0
- package/libc/include/generic-netbsd/dev/iscsi/iscsi.h +1 -1
- package/libc/include/generic-netbsd/dev/pci/amrreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/mlyreg.h +2 -2
- package/libc/include/generic-netbsd/dev/pci/pcidevs.h +177 -22
- package/libc/include/generic-netbsd/dev/pci/pcidevs_data.h +14971 -14588
- package/libc/include/generic-netbsd/dev/pci/pcireg.h +14 -14
- package/libc/include/generic-netbsd/dev/pckbc/pckbdreg.h +2 -1
- package/libc/include/generic-netbsd/dev/pcmcia/if_rayreg.h +2 -2
- package/libc/include/generic-netbsd/dev/raidframe/raidframeio.h +1 -1
- package/libc/include/generic-netbsd/dev/scsipi/scsi_disk.h +42 -7
- package/libc/include/generic-netbsd/dev/scsipi/scsi_spc.h +2 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipi_all.h +83 -2
- package/libc/include/generic-netbsd/dev/scsipi/scsipiconf.h +3 -1
- package/libc/include/generic-netbsd/dev/tc/sfbreg.h +3 -3
- package/libc/include/generic-netbsd/dev/tc/sticio.h +2 -2
- package/libc/include/generic-netbsd/dev/usb/umcpmio_hid_reports.h +499 -0
- package/libc/include/generic-netbsd/dev/usb/umcpmio_io.h +45 -0
- package/libc/include/generic-netbsd/dev/usb/usb.h +44 -6
- package/libc/include/generic-netbsd/dev/vndvar.h +2 -2
- package/libc/include/generic-netbsd/dev/wscons/wsconsio.h +19 -1
- package/libc/include/generic-netbsd/dev/wscons/wsksymdef.h +2 -2
- package/libc/include/generic-netbsd/dirent.h +1 -1
- package/libc/include/generic-netbsd/dlfcn.h +4 -2
- package/libc/include/generic-netbsd/elf.h +32 -20
- package/libc/include/generic-netbsd/elfdefinitions.h +1 -1
- package/libc/include/generic-netbsd/evbarm/intr.h +1 -1
- package/libc/include/generic-netbsd/evbmips/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/execinfo.h +4 -2
- package/libc/include/generic-netbsd/fcntl.h +26 -2
- package/libc/include/generic-netbsd/float.h +58 -2
- package/libc/include/generic-netbsd/fmtmsg.h +2 -2
- package/libc/include/generic-netbsd/fs/hfs/libhfs.h +1 -1
- package/libc/include/generic-netbsd/fs/nilfs/nilfs_fs.h +2 -2
- package/libc/include/generic-netbsd/gelf.h +2 -2
- package/libc/include/generic-netbsd/i386/asm.h +12 -4
- package/libc/include/generic-netbsd/i386/byte_swap.h +2 -2
- package/libc/include/generic-netbsd/i386/cpu.h +15 -4
- package/libc/include/generic-netbsd/i386/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/i386/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/i386/mcontext.h +6 -24
- package/libc/include/generic-netbsd/i386/param.h +9 -1
- package/libc/include/generic-netbsd/i386/pcb.h +6 -2
- package/libc/include/generic-netbsd/i386/ptrace.h +2 -2
- package/libc/include/generic-netbsd/i386/types.h +2 -1
- package/libc/include/generic-netbsd/i386/wchar_limits.h +1 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_extern.h +6 -1
- package/libc/include/generic-netbsd/isofs/cd9660/cd9660_mount.h +7 -1
- package/libc/include/generic-netbsd/langinfo.h +2 -1
- package/libc/include/generic-netbsd/lauxlib.h +1 -1
- package/libc/include/generic-netbsd/libelf.h +6 -15
- package/libc/include/generic-netbsd/limits.h +1 -1
- package/libc/include/generic-netbsd/lua.h +1 -1
- package/libc/include/generic-netbsd/luaconf.h +1 -1
- package/libc/include/generic-netbsd/lualib.h +1 -1
- package/libc/include/generic-netbsd/lwp.h +1 -1
- package/libc/include/generic-netbsd/machine/ansi.h +2 -2
- package/libc/include/generic-netbsd/machine/aout_machdep.h +39 -2
- package/libc/include/generic-netbsd/machine/arm32/pmap.h +8 -32
- package/libc/include/generic-netbsd/machine/arm32/vmparam.h +5 -5
- package/libc/include/generic-netbsd/machine/asm.h +271 -2
- package/libc/include/generic-netbsd/machine/bswap.h +9 -1
- package/libc/include/generic-netbsd/machine/byte_swap.h +42 -64
- package/libc/include/generic-netbsd/machine/cdefs.h +7 -2
- package/libc/include/generic-netbsd/machine/cpu.h +207 -30
- package/libc/include/generic-netbsd/machine/cputypes.h +12 -1
- package/libc/include/generic-netbsd/machine/disklabel.h +41 -42
- package/libc/include/generic-netbsd/machine/elf_machdep.h +143 -2
- package/libc/include/generic-netbsd/machine/endian.h +1 -1
- package/libc/include/generic-netbsd/machine/fenv.h +35 -2
- package/libc/include/generic-netbsd/machine/float.h +58 -2
- package/libc/include/generic-netbsd/machine/frame.h +129 -2
- package/libc/include/generic-netbsd/machine/ieee.h +3 -2
- package/libc/include/generic-netbsd/machine/ieeefp.h +43 -2
- package/libc/include/generic-netbsd/machine/int_const.h +32 -2
- package/libc/include/generic-netbsd/machine/int_fmtio.h +380 -2
- package/libc/include/generic-netbsd/machine/int_limits.h +2 -2
- package/libc/include/generic-netbsd/machine/int_mwgwtypes.h +2 -2
- package/libc/include/generic-netbsd/machine/int_types.h +2 -2
- package/libc/include/generic-netbsd/machine/kcore.h +39 -2
- package/libc/include/generic-netbsd/machine/limits.h +2 -2
- package/libc/include/generic-netbsd/machine/lock.h +2 -2
- package/libc/include/generic-netbsd/machine/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/machine/math.h +3 -2
- package/libc/include/generic-netbsd/machine/mcontext.h +149 -2
- package/libc/include/generic-netbsd/machine/mutex.h +127 -2
- package/libc/include/generic-netbsd/machine/param.h +90 -23
- package/libc/include/generic-netbsd/machine/pcb.h +54 -2
- package/libc/include/generic-netbsd/machine/pmap.h +262 -2
- package/libc/include/generic-netbsd/machine/proc.h +75 -2
- package/libc/include/generic-netbsd/machine/profile.h +116 -2
- package/libc/include/generic-netbsd/machine/psl.h +2 -2
- package/libc/include/generic-netbsd/machine/pte.h +346 -2
- package/libc/include/generic-netbsd/machine/ptrace.h +62 -2
- package/libc/include/generic-netbsd/machine/reg.h +124 -2
- package/libc/include/generic-netbsd/machine/reloc.h +2 -2
- package/libc/include/generic-netbsd/machine/setjmp.h +69 -2
- package/libc/include/generic-netbsd/machine/signal.h +39 -2
- package/libc/include/generic-netbsd/machine/sljit_machdep.h +1 -1
- package/libc/include/generic-netbsd/machine/sysarch.h +2 -84
- package/libc/include/generic-netbsd/machine/sysreg.h +354 -0
- package/libc/include/generic-netbsd/machine/trap.h +2 -2
- package/libc/include/generic-netbsd/machine/types.h +118 -6
- package/libc/include/generic-netbsd/machine/vmparam.h +235 -2
- package/libc/include/generic-netbsd/machine/wchar_limits.h +2 -2
- package/libc/include/generic-netbsd/math.h +19 -6
- package/libc/include/generic-netbsd/md2.h +6 -3
- package/libc/include/generic-netbsd/mips/asm.h +69 -17
- package/libc/include/generic-netbsd/mips/bswap.h +3 -1
- package/libc/include/generic-netbsd/mips/cpu.h +7 -7
- package/libc/include/generic-netbsd/mips/elf_machdep.h +2 -1
- package/libc/include/generic-netbsd/mips/fenv.h +2 -1
- package/libc/include/generic-netbsd/mips/float.h +3 -2
- package/libc/include/generic-netbsd/mips/frame.h +3 -2
- package/libc/include/generic-netbsd/mips/limits.h +4 -13
- package/libc/include/generic-netbsd/mips/lwp_private.h +87 -0
- package/libc/include/generic-netbsd/mips/mcontext.h +2 -53
- package/libc/include/generic-netbsd/mips/mips3_pte.h +2 -2
- package/libc/include/generic-netbsd/mips/mips_param.h +16 -2
- package/libc/include/generic-netbsd/mips/mutex.h +1 -1
- package/libc/include/generic-netbsd/mips/types.h +1 -1
- package/libc/include/generic-netbsd/mips/vmparam.h +1 -1
- package/libc/include/generic-netbsd/miscfs/kernfs/kernfs.h +2 -2
- package/libc/include/generic-netbsd/miscfs/procfs/procfs.h +33 -2
- package/libc/include/generic-netbsd/miscfs/specfs/specdev.h +1 -2
- package/libc/include/generic-netbsd/monetary.h +2 -1
- package/libc/include/generic-netbsd/net/agr/if_agrioctl.h +2 -2
- package/libc/include/generic-netbsd/net/bpf.h +11 -4
- package/libc/include/generic-netbsd/net/bpfdesc.h +1 -1
- package/libc/include/generic-netbsd/net/dlt.h +222 -48
- package/libc/include/generic-netbsd/net/if.h +20 -5
- package/libc/include/generic-netbsd/net/if_bridgevar.h +2 -3
- package/libc/include/generic-netbsd/net/if_ether.h +4 -3
- package/libc/include/generic-netbsd/net/if_lagg.h +2 -2
- package/libc/include/generic-netbsd/net/if_media.h +2 -2
- package/libc/include/generic-netbsd/net/if_ppp.h +1 -3
- package/libc/include/generic-netbsd/net/if_stats.h +19 -5
- package/libc/include/generic-netbsd/net/net_stats.h +13 -6
- package/libc/include/generic-netbsd/net/npf.h +33 -5
- package/libc/include/generic-netbsd/net/pfkeyv2.h +1 -1
- package/libc/include/generic-netbsd/net/route.h +4 -4
- package/libc/include/generic-netbsd/net80211/ieee80211_node.h +3 -2
- package/libc/include/generic-netbsd/net80211/ieee80211_var.h +2 -2
- package/libc/include/generic-netbsd/netbt/hci.h +3 -3
- package/libc/include/generic-netbsd/netdb.h +2 -2
- package/libc/include/generic-netbsd/netinet/icmp6.h +6 -2
- package/libc/include/generic-netbsd/netinet/in.h +17 -17
- package/libc/include/generic-netbsd/netinet/in_var.h +5 -9
- package/libc/include/generic-netbsd/netinet/ip_mroute.h +24 -28
- package/libc/include/generic-netbsd/netinet/ip_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/sctp.h +4 -4
- package/libc/include/generic-netbsd/netinet/tcp_var.h +2 -2
- package/libc/include/generic-netbsd/netinet/tcp_vtw.h +2 -2
- package/libc/include/generic-netbsd/netinet6/in6_var.h +7 -33
- package/libc/include/generic-netbsd/netinet6/ip6_var.h +2 -2
- package/libc/include/generic-netbsd/nfs/krpc.h +9 -4
- package/libc/include/generic-netbsd/nfs/nfs.h +5 -3
- package/libc/include/generic-netbsd/nfs/nfsdiskless.h +37 -20
- package/libc/include/generic-netbsd/nfs/nfsm_subs.h +4 -7
- package/libc/include/generic-netbsd/nfs/nfsmount.h +3 -4
- package/libc/include/generic-netbsd/nfs/nfsnode.h +9 -6
- package/libc/include/generic-netbsd/nfs/nfsproto.h +5 -2
- package/libc/include/generic-netbsd/nfs/nfsrtt.h +8 -4
- package/libc/include/generic-netbsd/nfs/nfsrvcache.h +9 -3
- package/libc/include/generic-netbsd/nfs/rpcv2.h +5 -3
- package/libc/include/generic-netbsd/nfs/xdr_subs.h +6 -5
- package/libc/include/generic-netbsd/nl_types.h +3 -1
- package/libc/include/generic-netbsd/ntfs/ntfs_inode.h +2 -2
- package/libc/include/generic-netbsd/poll.h +8 -2
- package/libc/include/generic-netbsd/prop/prop_object.h +48 -3
- package/libc/include/generic-netbsd/protocols/talkd.h +2 -2
- package/libc/include/generic-netbsd/pthread.h +51 -12
- package/libc/include/generic-netbsd/regex.h +2 -1
- package/libc/include/generic-netbsd/riscv/ansi.h +3 -0
- package/libc/include/generic-netbsd/riscv/aout_machdep.h +40 -0
- package/libc/include/generic-netbsd/riscv/asm.h +272 -0
- package/libc/include/generic-netbsd/riscv/bswap.h +11 -0
- package/libc/include/generic-netbsd/riscv/byte_swap.h +99 -0
- package/libc/include/generic-netbsd/riscv/cdefs.h +8 -0
- package/libc/include/generic-netbsd/riscv/cpu.h +242 -0
- package/libc/include/generic-netbsd/riscv/disklabel.h +68 -0
- package/libc/include/generic-netbsd/riscv/elf_machdep.h +144 -0
- package/libc/include/generic-netbsd/riscv/endian.h +3 -0
- package/libc/include/generic-netbsd/riscv/endian_machdep.h +3 -0
- package/libc/include/generic-netbsd/riscv/fenv.h +36 -0
- package/libc/include/generic-netbsd/riscv/float.h +59 -0
- package/libc/include/generic-netbsd/riscv/ieee.h +4 -0
- package/libc/include/generic-netbsd/riscv/ieeefp.h +44 -0
- package/libc/include/generic-netbsd/riscv/int_const.h +33 -0
- package/libc/include/generic-netbsd/riscv/int_fmtio.h +381 -0
- package/libc/include/generic-netbsd/riscv/int_limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_mwgwtypes.h +3 -0
- package/libc/include/generic-netbsd/riscv/int_types.h +3 -0
- package/libc/include/generic-netbsd/riscv/kcore.h +40 -0
- package/libc/include/generic-netbsd/riscv/limits.h +3 -0
- package/libc/include/generic-netbsd/riscv/lock.h +3 -0
- package/libc/include/generic-netbsd/riscv/lwp_private.h +83 -0
- package/libc/include/generic-netbsd/riscv/math.h +4 -0
- package/libc/include/generic-netbsd/riscv/mcontext.h +150 -0
- package/libc/include/generic-netbsd/riscv/mutex.h +128 -0
- package/libc/include/generic-netbsd/riscv/param.h +110 -0
- package/libc/include/generic-netbsd/riscv/pcb.h +55 -0
- package/libc/include/generic-netbsd/riscv/pmap.h +263 -0
- package/libc/include/generic-netbsd/riscv/proc.h +76 -0
- package/libc/include/generic-netbsd/riscv/profile.h +117 -0
- package/libc/include/generic-netbsd/riscv/pte.h +347 -0
- package/libc/include/generic-netbsd/riscv/ptrace.h +63 -0
- package/libc/include/generic-netbsd/riscv/reg.h +125 -0
- package/libc/include/generic-netbsd/riscv/rwlock.h +1 -0
- package/libc/include/generic-netbsd/riscv/setjmp.h +70 -0
- package/libc/include/generic-netbsd/riscv/signal.h +40 -0
- package/libc/include/generic-netbsd/riscv/sysarch.h +3 -0
- package/libc/include/generic-netbsd/riscv/sysreg.h +354 -0
- package/libc/include/generic-netbsd/riscv/types.h +123 -0
- package/libc/include/generic-netbsd/riscv/vmparam.h +236 -0
- package/libc/include/generic-netbsd/riscv/wchar_limits.h +13 -0
- package/libc/include/generic-netbsd/rmd160.h +3 -3
- package/libc/include/generic-netbsd/rpc/xdr.h +3 -3
- package/libc/include/generic-netbsd/rpcsvc/yp_prot.h +3 -2
- package/libc/include/generic-netbsd/rump/rump_namei.h +2 -2
- package/libc/include/generic-netbsd/rump/rump_syscalls.h +4 -4
- package/libc/include/generic-netbsd/rump/rumpuser.h +6 -1
- package/libc/include/generic-netbsd/rump/rumpvnode_if.h +2 -2
- package/libc/include/generic-netbsd/sha1.h +3 -3
- package/libc/include/generic-netbsd/sha2.h +8 -1
- package/libc/include/generic-netbsd/signal.h +4 -4
- package/libc/include/generic-netbsd/sparc/asm.h +10 -1
- package/libc/include/generic-netbsd/sparc/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc/cgtworeg.h +2 -2
- package/libc/include/generic-netbsd/sparc/cpu.h +1 -1
- package/libc/include/generic-netbsd/sparc/float.h +3 -1
- package/libc/include/generic-netbsd/sparc/limits.h +4 -6
- package/libc/include/generic-netbsd/sparc/lwp_private.h +51 -0
- package/libc/include/generic-netbsd/sparc/mcontext.h +4 -22
- package/libc/include/generic-netbsd/sparc/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc/param.h +4 -2
- package/libc/include/generic-netbsd/sparc/pmap.h +2 -2
- package/libc/include/generic-netbsd/sparc/psl.h +6 -3
- package/libc/include/generic-netbsd/sparc/types.h +2 -2
- package/libc/include/generic-netbsd/sparc64/bswap.h +9 -1
- package/libc/include/generic-netbsd/sparc64/cpu.h +2 -2
- package/libc/include/generic-netbsd/sparc64/ctlreg.h +8 -7
- package/libc/include/generic-netbsd/sparc64/intr.h +1 -1
- package/libc/include/generic-netbsd/sparc64/lwp_private.h +3 -0
- package/libc/include/generic-netbsd/sparc64/mcontext.h +4 -4
- package/libc/include/generic-netbsd/sparc64/mutex.h +1 -1
- package/libc/include/generic-netbsd/sparc64/param.h +8 -2
- package/libc/include/generic-netbsd/sparc64/psl.h +7 -2
- package/libc/include/generic-netbsd/sparc64/pte.h +2 -2
- package/libc/include/generic-netbsd/sparc64/vmparam.h +1 -1
- package/libc/include/generic-netbsd/ssp/ssp.h +16 -6
- package/libc/include/generic-netbsd/stdalign.h +3 -3
- package/libc/include/generic-netbsd/stdarg.h +2 -2
- package/libc/include/generic-netbsd/stddef.h +90 -12
- package/libc/include/generic-netbsd/stdlib.h +11 -2
- package/libc/include/generic-netbsd/stdnoreturn.h +2 -2
- package/libc/include/generic-netbsd/string.h +66 -39
- package/libc/include/generic-netbsd/strings.h +17 -3
- package/libc/include/generic-netbsd/sys/atomic.h +10 -5
- package/libc/include/generic-netbsd/sys/bitops.h +2 -2
- package/libc/include/generic-netbsd/sys/bootblock.h +13 -2
- package/libc/include/generic-netbsd/sys/bswap.h +46 -20
- package/libc/include/generic-netbsd/sys/buf.h +3 -3
- package/libc/include/generic-netbsd/sys/cdefs.h +44 -6
- package/libc/include/generic-netbsd/sys/cdefs_aout.h +8 -1
- package/libc/include/generic-netbsd/sys/cdefs_elf.h +9 -2
- package/libc/include/generic-netbsd/sys/chio.h +2 -2
- package/libc/include/generic-netbsd/sys/clock.h +5 -1
- package/libc/include/generic-netbsd/sys/common_limits.h +3 -1
- package/libc/include/generic-netbsd/sys/condvar.h +1 -1
- package/libc/include/generic-netbsd/sys/conf.h +4 -3
- package/libc/include/generic-netbsd/sys/container_of.h +75 -0
- package/libc/include/generic-netbsd/sys/device.h +20 -13
- package/libc/include/generic-netbsd/sys/disk.h +8 -1
- package/libc/include/generic-netbsd/sys/disklabel.h +2 -2
- package/libc/include/generic-netbsd/sys/disklabel_gpt.h +7 -1
- package/libc/include/generic-netbsd/sys/efiio.h +1 -1
- package/libc/include/generic-netbsd/sys/elfdefinitions.h +2368 -1591
- package/libc/include/generic-netbsd/sys/endian.h +17 -17
- package/libc/include/generic-netbsd/sys/evcnt.h +15 -2
- package/libc/include/generic-netbsd/sys/event.h +3 -2
- package/libc/include/generic-netbsd/sys/exec.h +2 -2
- package/libc/include/generic-netbsd/sys/exec_elf.h +32 -20
- package/libc/include/generic-netbsd/sys/fcntl.h +26 -2
- package/libc/include/generic-netbsd/sys/fd_set.h +3 -3
- package/libc/include/generic-netbsd/sys/featuretest.h +24 -6
- package/libc/include/generic-netbsd/sys/file.h +18 -6
- package/libc/include/generic-netbsd/sys/filedesc.h +8 -4
- package/libc/include/generic-netbsd/sys/futex.h +11 -11
- package/libc/include/generic-netbsd/sys/ieee754.h +2 -2
- package/libc/include/generic-netbsd/sys/ipc.h +2 -2
- package/libc/include/generic-netbsd/sys/ipmi.h +4 -2
- package/libc/include/generic-netbsd/sys/ksem.h +1 -1
- package/libc/include/generic-netbsd/sys/ktrace.h +6 -4
- package/libc/include/generic-netbsd/sys/lock.h +2 -2
- package/libc/include/generic-netbsd/sys/lua.h +1 -1
- package/libc/include/generic-netbsd/sys/lwp.h +25 -92
- package/libc/include/generic-netbsd/sys/mbuf.h +15 -13
- package/libc/include/generic-netbsd/sys/mman.h +11 -3
- package/libc/include/generic-netbsd/sys/mount.h +1 -2
- package/libc/include/generic-netbsd/sys/msg.h +3 -3
- package/libc/include/generic-netbsd/sys/mutex.h +1 -3
- package/libc/include/generic-netbsd/sys/namei.h +32 -17
- package/libc/include/generic-netbsd/sys/param.h +11 -8
- package/libc/include/generic-netbsd/sys/pipe.h +10 -11
- package/libc/include/generic-netbsd/sys/poll.h +8 -2
- package/libc/include/generic-netbsd/sys/proc.h +15 -15
- package/libc/include/generic-netbsd/sys/ptrace.h +24 -7
- package/libc/include/generic-netbsd/sys/ptree.h +2 -1
- package/libc/include/generic-netbsd/sys/queue.h +37 -37
- package/libc/include/generic-netbsd/sys/rbtree.h +23 -9
- package/libc/include/generic-netbsd/sys/resourcevar.h +2 -2
- package/libc/include/generic-netbsd/sys/rmd160.h +3 -3
- package/libc/include/generic-netbsd/sys/rndio.h +1 -1
- package/libc/include/generic-netbsd/sys/rwlock.h +1 -2
- package/libc/include/generic-netbsd/sys/sched.h +1 -1
- package/libc/include/generic-netbsd/sys/sdt.h +181 -111
- package/libc/include/generic-netbsd/sys/sem.h +7 -2
- package/libc/include/generic-netbsd/sys/sha1.h +3 -3
- package/libc/include/generic-netbsd/sys/sha2.h +8 -1
- package/libc/include/generic-netbsd/sys/shm.h +2 -2
- package/libc/include/generic-netbsd/sys/siginfo.h +5 -5
- package/libc/include/generic-netbsd/sys/signal.h +1 -1
- package/libc/include/generic-netbsd/sys/sigtypes.h +4 -4
- package/libc/include/generic-netbsd/sys/sleepq.h +14 -27
- package/libc/include/generic-netbsd/sys/socket.h +3 -1
- package/libc/include/generic-netbsd/sys/socketvar.h +4 -4
- package/libc/include/generic-netbsd/sys/stat.h +5 -5
- package/libc/include/generic-netbsd/sys/stdalign.h +55 -0
- package/libc/include/generic-netbsd/sys/stdarg.h +2 -2
- package/libc/include/generic-netbsd/sys/stddef.h +156 -0
- package/libc/include/generic-netbsd/sys/swap.h +2 -2
- package/libc/include/generic-netbsd/sys/syncobj.h +9 -6
- package/libc/include/generic-netbsd/sys/syscall.h +29 -8
- package/libc/include/generic-netbsd/sys/syscallargs.h +89 -12
- package/libc/include/generic-netbsd/sys/sysctl.h +94 -86
- package/libc/include/generic-netbsd/sys/syslimits.h +8 -1
- package/libc/include/generic-netbsd/sys/syslog.h +6 -7
- package/libc/include/generic-netbsd/sys/time.h +10 -8
- package/libc/include/generic-netbsd/sys/tree.h +13 -13
- package/libc/include/generic-netbsd/sys/tty.h +2 -2
- package/libc/include/generic-netbsd/sys/ttycom.h +7 -1
- package/libc/include/generic-netbsd/sys/types.h +1 -1
- package/libc/include/generic-netbsd/sys/ucontext.h +46 -49
- package/libc/include/generic-netbsd/sys/un.h +12 -4
- package/libc/include/generic-netbsd/sys/unistd.h +103 -102
- package/libc/include/generic-netbsd/sys/unpcb.h +2 -2
- package/libc/include/generic-netbsd/sys/vmmeter.h +1 -39
- package/libc/include/generic-netbsd/sys/vnode_if.h +2 -2
- package/libc/include/generic-netbsd/sys/vnode_impl.h +6 -3
- package/libc/include/generic-netbsd/sys/wapbl_replay.h +2 -2
- package/libc/include/generic-netbsd/sys/wchan.h +37 -0
- package/libc/include/generic-netbsd/syslog.h +6 -7
- package/libc/include/generic-netbsd/time.h +44 -8
- package/libc/include/generic-netbsd/tzfile.h +11 -6
- package/libc/include/generic-netbsd/uchar.h +1 -1
- package/libc/include/generic-netbsd/ucontext.h +2 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs.h +31 -16
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_dir.h +1 -1
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extents.h +5 -5
- package/libc/include/generic-netbsd/ufs/ext2fs/ext2fs_extern.h +4 -4
- package/libc/include/generic-netbsd/ufs/ffs/ffs_extern.h +1 -1
- package/libc/include/generic-netbsd/ufs/ffs/fs.h +3 -3
- package/libc/include/generic-netbsd/ufs/ufs/quota2.h +2 -2
- package/libc/include/generic-netbsd/unistd.h +11 -5
- package/libc/include/generic-netbsd/unwind.h +1 -1
- package/libc/include/generic-netbsd/util.h +15 -1
- package/libc/include/generic-netbsd/uvm/uvm.h +1 -5
- package/libc/include/generic-netbsd/uvm/uvm_extern.h +3 -4
- package/libc/include/generic-netbsd/uvm/uvm_object.h +2 -2
- package/libc/include/generic-netbsd/uvm/uvm_param.h +1 -1
- package/libc/include/generic-netbsd/uvm/uvm_swap.h +14 -3
- package/libc/include/generic-netbsd/wchar.h +7 -2
- package/libc/include/generic-netbsd/x86/bootinfo.h +4 -1
- package/libc/include/generic-netbsd/x86/cpu.h +18 -1
- package/libc/include/generic-netbsd/x86/cpu_extended_state.h +3 -1
- package/libc/include/generic-netbsd/x86/cpuvar.h +4 -1
- package/libc/include/generic-netbsd/x86/float.h +24 -1
- package/libc/include/generic-netbsd/x86/ieee.h +11 -7
- package/libc/include/generic-netbsd/x86/lwp_private.h +56 -0
- package/libc/include/generic-netbsd/x86/mutex.h +1 -1
- package/libc/include/generic-netbsd/x86/specialreg.h +111 -23
- package/libc/include/m68k-netbsd-none/m68k/asm.h +11 -2
- package/libc/include/m68k-netbsd-none/m68k/bus_dma.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/byte_swap.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_30.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/cacheops_40.h +3 -1
- package/libc/include/m68k-netbsd-none/m68k/cacheops_60.h +5 -3
- package/libc/include/m68k-netbsd-none/m68k/cpu.h +86 -59
- package/libc/include/m68k-netbsd-none/m68k/cpuframe.h +5 -5
- package/libc/include/m68k-netbsd-none/m68k/fenv.h +6 -4
- package/libc/include/m68k-netbsd-none/m68k/float.h +26 -1
- package/libc/include/m68k-netbsd-none/m68k/frame.h +31 -19
- package/libc/include/m68k-netbsd-none/m68k/ieee.h +13 -8
- package/libc/include/m68k-netbsd-none/m68k/ieeefp.h +3 -3
- package/libc/include/m68k-netbsd-none/m68k/int_limits.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/intr.h +211 -0
- package/libc/include/m68k-netbsd-none/m68k/kcore.h +31 -31
- package/libc/include/m68k-netbsd-none/m68k/lwp_private.h +64 -0
- package/libc/include/m68k-netbsd-none/m68k/m68k.h +3 -7
- package/libc/include/m68k-netbsd-none/m68k/mcontext.h +5 -36
- package/libc/include/m68k-netbsd-none/m68k/mmu_30.h +105 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_40.h +232 -0
- package/libc/include/m68k-netbsd-none/m68k/mmu_51.h +273 -0
- package/libc/include/m68k-netbsd-none/m68k/mutex.h +1 -1
- package/libc/include/m68k-netbsd-none/m68k/pcb.h +2 -2
- package/libc/include/m68k-netbsd-none/m68k/pmap_motorola.h +32 -23
- package/libc/include/m68k-netbsd-none/m68k/psl.h +26 -7
- package/libc/include/m68k-netbsd-none/m68k/pte_motorola.h +37 -26
- package/libc/include/m68k-netbsd-none/m68k/trap.h +7 -7
- package/libc/include/m68k-netbsd-none/mac68k/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/mac68k/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/mac68k/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/mac68k/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/mac68k/z8530var.h +2 -2
- package/libc/include/m68k-netbsd-none/machine/cpu.h +1 -57
- package/libc/include/m68k-netbsd-none/machine/intr.h +3 -2
- package/libc/include/m68k-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/m68k-netbsd-none/machine/pmap.h +20 -2
- package/libc/include/m68k-netbsd-none/machine/z8530var.h +2 -2
- package/libc/include/mips-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/evbppc/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ansi.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/aout_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/asm.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cdefs.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/cpu.h +65 -0
- package/libc/include/powerpc-netbsd-eabi/machine/disklabel.h +69 -0
- package/libc/include/powerpc-netbsd-eabi/machine/elf_machdep.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/endian.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/fenv.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/float.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/frame.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieee.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ieeefp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_const.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_fmtio.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_mwgwtypes.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/int_types.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/kcore.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/limits.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lock.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/lwp_private.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/math.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mcontext.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/mutex.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/param.h +43 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pcb.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pmap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/proc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/profile.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/psl.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/pte.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/ptrace.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reg.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/reloc.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/setjmp.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/signal.h +3 -0
- package/libc/include/{mips-netbsd-eabi → powerpc-netbsd-eabi}/machine/sljit_machdep.h +1 -1
- package/libc/include/powerpc-netbsd-eabi/machine/trap.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/types.h +11 -0
- package/libc/include/powerpc-netbsd-eabi/machine/vmparam.h +3 -0
- package/libc/include/powerpc-netbsd-eabi/machine/wchar_limits.h +3 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/asm.h +12 -2
- package/libc/include/powerpc-netbsd-eabi/powerpc/bswap.h +14 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cpu.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fenv.h +2 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/pmap.h +3 -3
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieee.h +7 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/limits.h +4 -13
- package/libc/include/powerpc-netbsd-eabi/powerpc/lwp_private.h +79 -0
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mcontext.h +6 -50
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/mutex.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pmap.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pmap.h +1 -1
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/psl.h +2 -2
- package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/vmparam.h +1 -1
- package/libc/include/riscv32-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv32-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv32-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv32-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/riscv64-netbsd-none/machine/bswap.h +11 -0
- package/libc/include/riscv64-netbsd-none/machine/endian_machdep.h +3 -0
- package/libc/include/riscv64-netbsd-none/machine/rwlock.h +1 -0
- package/libc/include/riscv64-netbsd-none/machine/wchar_limits.h +4 -0
- package/libc/include/sparc-netbsd-none/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/asm.h +10 -1
- package/libc/include/sparc-netbsd-none/machine/cgtworeg.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/cpu.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/float.h +3 -1
- package/libc/include/sparc-netbsd-none/machine/limits.h +4 -6
- package/libc/include/sparc-netbsd-none/machine/lwp_private.h +51 -0
- package/libc/include/sparc-netbsd-none/machine/mcontext.h +4 -22
- package/libc/include/sparc-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc-netbsd-none/machine/param.h +4 -2
- package/libc/include/sparc-netbsd-none/machine/pmap.h +2 -2
- package/libc/include/sparc-netbsd-none/machine/psl.h +6 -3
- package/libc/include/sparc-netbsd-none/machine/sxreg.h +5 -1
- package/libc/include/sparc-netbsd-none/machine/types.h +2 -2
- package/libc/include/sparc-netbsd-none/sparc/sxreg.h +5 -1
- package/libc/include/sparc64-netbsd-none/machine/cpu.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/ctlreg.h +8 -7
- package/libc/include/sparc64-netbsd-none/machine/intr.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/sparc64-netbsd-none/machine/mcontext.h +4 -4
- package/libc/include/sparc64-netbsd-none/machine/mutex.h +1 -1
- package/libc/include/sparc64-netbsd-none/machine/param.h +8 -2
- package/libc/include/sparc64-netbsd-none/machine/psl.h +7 -2
- package/libc/include/sparc64-netbsd-none/machine/pte.h +2 -2
- package/libc/include/sparc64-netbsd-none/machine/vmparam.h +1 -1
- package/libc/include/x86-netbsd-none/machine/asm.h +12 -4
- package/libc/include/x86-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86-netbsd-none/machine/cpu.h +15 -4
- package/libc/include/x86-netbsd-none/machine/elf_machdep.h +2 -1
- package/libc/include/x86-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86-netbsd-none/machine/mcontext.h +6 -24
- package/libc/include/x86-netbsd-none/machine/param.h +9 -1
- package/libc/include/x86-netbsd-none/machine/pcb.h +6 -2
- package/libc/include/x86-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86-netbsd-none/machine/types.h +2 -1
- package/libc/include/x86_64-netbsd-none/amd64/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/amd64/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/amd64/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/amd64/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/amd64/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/amd64/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/amd64/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/amd64/types.h +2 -1
- package/libc/include/x86_64-netbsd-none/machine/asm.h +11 -3
- package/libc/include/x86_64-netbsd-none/machine/byte_swap.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/cpu.h +13 -3
- package/libc/include/x86_64-netbsd-none/machine/frame.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/lwp_private.h +3 -0
- package/libc/include/x86_64-netbsd-none/machine/mcontext.h +5 -23
- package/libc/include/x86_64-netbsd-none/machine/param.h +23 -4
- package/libc/include/x86_64-netbsd-none/machine/pcb.h +14 -3
- package/libc/include/x86_64-netbsd-none/machine/ptrace.h +2 -2
- package/libc/include/x86_64-netbsd-none/machine/types.h +2 -1
- package/libc/netbsd/abilists +0 -0
- package/libc/netbsd/lib/csu/arch/riscv/crt0.S +62 -0
- package/libc/netbsd/lib/csu/common/crt0-common.c +32 -7
- package/libc/netbsd/lib/csu/common/csu-common.h +2 -0
- package/package.json +1 -1
- package/std/Build/Cache/Path.zig +27 -28
- package/std/Build/Cache.zig +1 -0
- package/std/Build/Configuration.zig +0 -8
- package/std/Build/Step/Compile.zig +2 -8
- package/std/Build/Step/ObjCopy.zig +2 -2
- package/std/Build/Step/Options.zig +2 -2
- package/std/Build/Step/Run.zig +0 -33
- package/std/Build.zig +1 -1
- package/std/Target.zig +3 -1
- package/std/debug/Pdb.zig +61 -34
- package/std/debug/SelfInfo/Elf.zig +12 -9
- package/std/debug/SelfInfo/Windows.zig +3 -5
- package/std/debug/cpu_context.zig +62 -14
- package/std/zig/target.zig +2 -1
- package/std/zig.zig +12 -0
- package/libc/include/arm-netbsd-eabi/machine/frame.h +0 -130
- package/libc/include/generic-netbsd/powerpc/bswap.h +0 -8
- package/libc/include/mips-netbsd-eabi/machine/psl.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/reloc.h +0 -3
- package/libc/include/mips-netbsd-eabi/machine/trap.h +0 -3
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/asm.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/bswap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/disklabel.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fenv.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieee.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mcontext.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/mutex.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pmap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/psl.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/evbppc/wchar_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/machine/intr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ansi.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/aout_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/cdefs.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/elf_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/endian_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/float.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/fpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/frame.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/cpu.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ibm4xx/tlb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ieeefp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_const.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_fmtio.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_limits.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_mwgwtypes.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/int_types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/kcore.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/lock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/math.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/bat.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/hid_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/sr_601.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/oea/vmparam.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/param.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pcb.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/proc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/profile.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/pte.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/ptrace.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reg.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/reloc.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/rwlock.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/setjmp.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/signal.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/sljit_machdep.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/spr.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/trap.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/types.h +0 -0
- /package/libc/include/{generic-netbsd → powerpc-netbsd-eabi}/powerpc/wchar_limits.h +0 -0
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/* $NetBSD: mutex.h,v 1.7 2024/11/25 22:04:14 skrll Exp $ */
|
|
2
|
+
|
|
3
|
+
/*-
|
|
4
|
+
* Copyright (c) 2002, 2007 The NetBSD Foundation, Inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* This code is derived from software contributed to The NetBSD Foundation
|
|
8
|
+
* by Jason R. Thorpe and Andrew Doran.
|
|
9
|
+
*
|
|
10
|
+
* Redistribution and use in source and binary forms, with or without
|
|
11
|
+
* modification, are permitted provided that the following conditions
|
|
12
|
+
* are met:
|
|
13
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer.
|
|
15
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
16
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
17
|
+
* documentation and/or other materials provided with the distribution.
|
|
18
|
+
*
|
|
19
|
+
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
20
|
+
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
21
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
22
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
23
|
+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
24
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
25
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
26
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
27
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
28
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
#ifndef _RISCV_MUTEX_H_
|
|
33
|
+
#define _RISCV_MUTEX_H_
|
|
34
|
+
|
|
35
|
+
#include <sys/types.h>
|
|
36
|
+
|
|
37
|
+
#ifndef __MUTEX_PRIVATE
|
|
38
|
+
|
|
39
|
+
struct kmutex {
|
|
40
|
+
uintptr_t mtx_pad1;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
#else /* __MUTEX_PRIVATE */
|
|
44
|
+
|
|
45
|
+
#include <sys/cdefs.h>
|
|
46
|
+
|
|
47
|
+
#include <sys/param.h>
|
|
48
|
+
|
|
49
|
+
#include <machine/intr.h>
|
|
50
|
+
|
|
51
|
+
struct kmutex {
|
|
52
|
+
volatile uintptr_t mtx_owner;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
#ifdef _KERNEL
|
|
56
|
+
|
|
57
|
+
#ifdef _LP64
|
|
58
|
+
#define MTX_ASMOP_SFX ".d" // doubleword atomic op
|
|
59
|
+
#else
|
|
60
|
+
#define MTX_ASMOP_SFX ".w" // word atomic op
|
|
61
|
+
#endif
|
|
62
|
+
|
|
63
|
+
#define MTX_LOCK __BIT(8) // just one bit
|
|
64
|
+
#define MTX_IPL __BITS(7,4) // only need 4 bits
|
|
65
|
+
|
|
66
|
+
#undef MUTEX_SPIN_IPL // override <sys/mutex.h>
|
|
67
|
+
#define MUTEX_SPIN_IPL(a) riscv_mutex_spin_ipl(a)
|
|
68
|
+
#define MUTEX_INITIALIZE_SPIN_IPL(a,b) riscv_mutex_initialize_spin_ipl(a,b)
|
|
69
|
+
#define MUTEX_SPINBIT_LOCK_INIT(a) riscv_mutex_spinbit_lock_init(a)
|
|
70
|
+
#define MUTEX_SPINBIT_LOCK_TRY(a) riscv_mutex_spinbit_lock_try(a)
|
|
71
|
+
#define MUTEX_SPINBIT_LOCKED_P(a) riscv_mutex_spinbit_locked_p(a)
|
|
72
|
+
#define MUTEX_SPINBIT_LOCK_UNLOCK(a) riscv_mutex_spinbit_lock_unlock(a)
|
|
73
|
+
|
|
74
|
+
static inline ipl_cookie_t
|
|
75
|
+
riscv_mutex_spin_ipl(kmutex_t *__mtx)
|
|
76
|
+
{
|
|
77
|
+
return (ipl_cookie_t){._spl = __SHIFTOUT(__mtx->mtx_owner, MTX_IPL)};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static inline void
|
|
81
|
+
riscv_mutex_initialize_spin_ipl(kmutex_t *__mtx, int ipl)
|
|
82
|
+
{
|
|
83
|
+
__mtx->mtx_owner = (__mtx->mtx_owner & ~MTX_IPL)
|
|
84
|
+
| __SHIFTIN(ipl, MTX_IPL);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
static inline void
|
|
88
|
+
riscv_mutex_spinbit_lock_init(kmutex_t *__mtx)
|
|
89
|
+
{
|
|
90
|
+
__mtx->mtx_owner &= ~MTX_LOCK;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
static inline bool
|
|
94
|
+
riscv_mutex_spinbit_locked_p(const kmutex_t *__mtx)
|
|
95
|
+
{
|
|
96
|
+
return (__mtx->mtx_owner & MTX_LOCK) != 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
static inline bool
|
|
100
|
+
riscv_mutex_spinbit_lock_try(kmutex_t *__mtx)
|
|
101
|
+
{
|
|
102
|
+
uintptr_t __old;
|
|
103
|
+
__asm __volatile(
|
|
104
|
+
"amoor" MTX_ASMOP_SFX ".aq\t%0, %1, (%2)"
|
|
105
|
+
: "=r"(__old)
|
|
106
|
+
: "r"(MTX_LOCK), "r"(__mtx));
|
|
107
|
+
return (__old & MTX_LOCK) == 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
static inline void
|
|
111
|
+
riscv_mutex_spinbit_lock_unlock(kmutex_t *__mtx)
|
|
112
|
+
{
|
|
113
|
+
__asm __volatile(
|
|
114
|
+
"amoand" MTX_ASMOP_SFX ".rl\tx0, %0, (%1)"
|
|
115
|
+
:: "r"(~MTX_LOCK), "r"(__mtx));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
#endif /* _KERNEL */
|
|
119
|
+
|
|
120
|
+
#if 0
|
|
121
|
+
#define __HAVE_MUTEX_STUBS 1
|
|
122
|
+
#define __HAVE_SPIN_MUTEX_STUBS 1
|
|
123
|
+
#endif
|
|
124
|
+
#define __HAVE_SIMPLE_MUTEXES 1
|
|
125
|
+
|
|
126
|
+
#endif /* __MUTEX_PRIVATE */
|
|
127
|
+
|
|
128
|
+
#endif /* _RISCV_MUTEX_H_ */
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/* $NetBSD: param.h,v 1.8 2023/05/07 12:41:48 skrll Exp $ */
|
|
2
|
+
|
|
3
|
+
/*-
|
|
4
|
+
* Copyright (c) 2014 The NetBSD Foundation, Inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* This code is derived from software contributed to The NetBSD Foundation
|
|
8
|
+
* by Matt Thomas of 3am Software Foundry.
|
|
9
|
+
*
|
|
10
|
+
* Redistribution and use in source and binary forms, with or without
|
|
11
|
+
* modification, are permitted provided that the following conditions
|
|
12
|
+
* are met:
|
|
13
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer.
|
|
15
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
16
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
17
|
+
* documentation and/or other materials provided with the distribution.
|
|
18
|
+
*
|
|
19
|
+
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
20
|
+
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
21
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
22
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
23
|
+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
24
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
25
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
26
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
27
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
28
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
#ifndef _RISCV_PARAM_H_
|
|
33
|
+
#define _RISCV_PARAM_H_
|
|
34
|
+
|
|
35
|
+
#ifdef _KERNEL_OPT
|
|
36
|
+
#include "opt_param.h"
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* Machine dependent constants for all OpenRISC processors
|
|
41
|
+
*/
|
|
42
|
+
|
|
43
|
+
/*
|
|
44
|
+
* For KERNEL code:
|
|
45
|
+
* MACHINE must be defined by the individual port. This is so that
|
|
46
|
+
* uname returns the correct thing, etc.
|
|
47
|
+
*
|
|
48
|
+
* For non-KERNEL code:
|
|
49
|
+
* If ELF, MACHINE and MACHINE_ARCH are forced to "or1k/or1k".
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
#ifdef _LP64
|
|
53
|
+
#define _MACHINE_ARCH riscv64
|
|
54
|
+
#define MACHINE_ARCH "riscv64"
|
|
55
|
+
#define _MACHINE_ARCH32 riscv32
|
|
56
|
+
#define MACHINE_ARCH32 "riscv32"
|
|
57
|
+
#else
|
|
58
|
+
#define _MACHINE_ARCH riscv32
|
|
59
|
+
#define MACHINE_ARCH "riscv32"
|
|
60
|
+
#endif
|
|
61
|
+
#define _MACHINE riscv
|
|
62
|
+
#define MACHINE "riscv"
|
|
63
|
+
|
|
64
|
+
#define MID_MACHINE MID_RISCV
|
|
65
|
+
|
|
66
|
+
/* RISC-V specific macro to align a stack pointer (downwards). */
|
|
67
|
+
#define STACK_ALIGNBYTES (16UL - 1)
|
|
68
|
+
#define ALIGNBYTES32 __BIGGEST_ALIGNMENT__
|
|
69
|
+
|
|
70
|
+
#define NKMEMPAGES_MIN_DEFAULT ((128UL * 1024 * 1024) >> PAGE_SHIFT)
|
|
71
|
+
#define NKMEMPAGES_MAX_UNLIMITED 1
|
|
72
|
+
|
|
73
|
+
#define PGSHIFT 12
|
|
74
|
+
#define NBPG (1 << PGSHIFT)
|
|
75
|
+
#define PGOFSET (NBPG - 1)
|
|
76
|
+
|
|
77
|
+
#define UPAGES 2
|
|
78
|
+
#define USPACE (UPAGES << PGSHIFT)
|
|
79
|
+
#define USPACE_ALIGN NBPG
|
|
80
|
+
|
|
81
|
+
/*
|
|
82
|
+
* Constants related to network buffer management.
|
|
83
|
+
* MCLBYTES must be no larger than NBPG (the software page size), and
|
|
84
|
+
* NBPG % MCLBYTES must be zero.
|
|
85
|
+
*/
|
|
86
|
+
#define MSIZE 512 /* size of an mbuf */
|
|
87
|
+
|
|
88
|
+
#ifndef MCLSHIFT
|
|
89
|
+
#define MCLSHIFT 11 /* convert bytes to m_buf clusters */
|
|
90
|
+
/* 2K cluster can hold Ether frame */
|
|
91
|
+
#endif /* MCLSHIFT */
|
|
92
|
+
|
|
93
|
+
#define MCLBYTES (1 << MCLSHIFT) /* size of a m_buf cluster */
|
|
94
|
+
|
|
95
|
+
#ifndef MSGBUFSIZE
|
|
96
|
+
#define MSGBUFSIZE 65536 /* default message buffer size */
|
|
97
|
+
#endif
|
|
98
|
+
|
|
99
|
+
#define MAXCPUS 32
|
|
100
|
+
|
|
101
|
+
#ifdef _KERNEL
|
|
102
|
+
void delay(unsigned long);
|
|
103
|
+
#define DELAY(x) delay(x)
|
|
104
|
+
#endif
|
|
105
|
+
|
|
106
|
+
#define riscv_btop(x) ((unsigned long)(x) >> PGSHIFT)
|
|
107
|
+
#define riscv_ptob(x) ((unsigned long)(x) << PGSHIFT)
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
#endif /* _RISCV_PARAM_H_ */
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/* $NetBSD: pcb.h,v 1.3 2024/08/04 08:16:25 skrll Exp $ */
|
|
2
|
+
|
|
3
|
+
/*-
|
|
4
|
+
* Copyright (c) 2014 The NetBSD Foundation, Inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* This code is derived from software contributed to The NetBSD Foundation
|
|
8
|
+
* by Matt Thomas of 3am Software Foundry.
|
|
9
|
+
*
|
|
10
|
+
* Redistribution and use in source and binary forms, with or without
|
|
11
|
+
* modification, are permitted provided that the following conditions
|
|
12
|
+
* are met:
|
|
13
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer.
|
|
15
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
16
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
17
|
+
* documentation and/or other materials provided with the distribution.
|
|
18
|
+
*
|
|
19
|
+
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
20
|
+
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
21
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
22
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
23
|
+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
24
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
25
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
26
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
27
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
28
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
#ifndef _RISCV_PCB_H_
|
|
33
|
+
#define _RISCV_PCB_H_
|
|
34
|
+
|
|
35
|
+
#include <riscv/reg.h>
|
|
36
|
+
|
|
37
|
+
struct pcb_faultinfo {
|
|
38
|
+
void *pfi_faultptep;
|
|
39
|
+
vaddr_t pfi_faultaddr;
|
|
40
|
+
u_int pfi_repeats;
|
|
41
|
+
pid_t pfi_lastpid;
|
|
42
|
+
uint8_t pfi_cause;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
struct pcb {
|
|
46
|
+
struct fpreg pcb_fpregs;
|
|
47
|
+
struct pcb_faultinfo pcb_faultinfo;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
struct md_coredump {
|
|
51
|
+
struct reg reg;
|
|
52
|
+
struct fpreg fpreg;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
#endif /* _RISCV_PCB_H_ */
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
/* $NetBSD: pmap.h,v 1.24.2.2 2026/04/02 18:13:22 martin Exp $ */
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* Copyright (c) 2014, 2019, 2021 The NetBSD Foundation, Inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* This code is derived from software contributed to The NetBSD Foundation
|
|
8
|
+
* by Matt Thomas (of 3am Software Foundry), Maxime Villard, and
|
|
9
|
+
* Nick Hudson.
|
|
10
|
+
*
|
|
11
|
+
* Redistribution and use in source and binary forms, with or without
|
|
12
|
+
* modification, are permitted provided that the following conditions
|
|
13
|
+
* are met:
|
|
14
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
15
|
+
* notice, this list of conditions and the following disclaimer.
|
|
16
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
17
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
18
|
+
* documentation and/or other materials provided with the distribution.
|
|
19
|
+
*
|
|
20
|
+
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
21
|
+
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
22
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
23
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
24
|
+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
25
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
26
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
27
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
28
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
29
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
30
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
#ifndef _RISCV_PMAP_H_
|
|
34
|
+
#define _RISCV_PMAP_H_
|
|
35
|
+
|
|
36
|
+
#ifdef _KERNEL_OPT
|
|
37
|
+
#include "opt_modular.h"
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
#if !defined(_MODULE)
|
|
41
|
+
|
|
42
|
+
#include <sys/cdefs.h>
|
|
43
|
+
#include <sys/types.h>
|
|
44
|
+
#include <sys/pool.h>
|
|
45
|
+
#include <sys/evcnt.h>
|
|
46
|
+
|
|
47
|
+
#include <uvm/uvm_physseg.h>
|
|
48
|
+
#include <uvm/pmap/vmpagemd.h>
|
|
49
|
+
|
|
50
|
+
#include <riscv/pte.h>
|
|
51
|
+
#include <riscv/sysreg.h>
|
|
52
|
+
|
|
53
|
+
#define PMAP_SEGTABSIZE NPTEPG
|
|
54
|
+
#define PMAP_PDETABSIZE NPTEPG
|
|
55
|
+
|
|
56
|
+
#ifdef _LP64
|
|
57
|
+
#define PTPSHIFT 3
|
|
58
|
+
/* This is SV57. */
|
|
59
|
+
//#define XSEGSHIFT (SEGSHIFT + SEGLENGTH + SEGLENGTH + SEGLENGTH)
|
|
60
|
+
|
|
61
|
+
/* This is SV48. */
|
|
62
|
+
//#define XSEGSHIFT (SEGSHIFT + SEGLENGTH + SEGLENGTH)
|
|
63
|
+
|
|
64
|
+
/* This is SV39. */
|
|
65
|
+
#define XSEGSHIFT (SEGSHIFT + SEGLENGTH)
|
|
66
|
+
#define NBXSEG (1ULL << XSEGSHIFT)
|
|
67
|
+
#define XSEGOFSET (NBXSEG - 1) /* byte offset into xsegment */
|
|
68
|
+
#define XSEGLENGTH (PGSHIFT - 3)
|
|
69
|
+
#define NXSEGPG (1 << XSEGLENGTH)
|
|
70
|
+
#else
|
|
71
|
+
#define PTPSHIFT 2
|
|
72
|
+
#define XSEGSHIFT SEGSHIFT
|
|
73
|
+
#endif
|
|
74
|
+
|
|
75
|
+
#define SEGLENGTH (PGSHIFT - PTPSHIFT)
|
|
76
|
+
#define SEGSHIFT (SEGLENGTH + PGSHIFT)
|
|
77
|
+
#define NBSEG (1 << SEGSHIFT) /* bytes/segment */
|
|
78
|
+
#define SEGOFSET (NBSEG - 1) /* byte offset into segment */
|
|
79
|
+
|
|
80
|
+
#define KERNEL_PID 0
|
|
81
|
+
|
|
82
|
+
#define PMAP_HWPAGEWALKER 1
|
|
83
|
+
#define PMAP_TLB_MAX 1
|
|
84
|
+
#define PMAP_TLB_ALWAYS_ASIDS false
|
|
85
|
+
#ifdef _LP64
|
|
86
|
+
#define PMAP_INVALID_PDETAB_ADDRESS ((pmap_pdetab_t *)(VM_MIN_KERNEL_ADDRESS - PAGE_SIZE))
|
|
87
|
+
#define PMAP_INVALID_SEGTAB_ADDRESS ((pmap_segtab_t *)(VM_MIN_KERNEL_ADDRESS - PAGE_SIZE))
|
|
88
|
+
#else
|
|
89
|
+
#define PMAP_INVALID_PDETAB_ADDRESS ((pmap_pdetab_t *)0xdeadbeef)
|
|
90
|
+
#define PMAP_INVALID_SEGTAB_ADDRESS ((pmap_segtab_t *)0xdeadbeef)
|
|
91
|
+
#endif
|
|
92
|
+
#define PMAP_TLB_NUM_PIDS (__SHIFTOUT_MASK(SATP_ASID) + 1)
|
|
93
|
+
#define PMAP_TLB_BITMAP_LENGTH PMAP_TLB_NUM_PIDS
|
|
94
|
+
#define PMAP_TLB_FLUSH_ASID_ON_RESET true
|
|
95
|
+
|
|
96
|
+
#define pmap_phys_address(x) (x)
|
|
97
|
+
|
|
98
|
+
#ifndef __BSD_PTENTRY_T__
|
|
99
|
+
#define __BSD_PTENTRY_T__
|
|
100
|
+
#ifdef _LP64
|
|
101
|
+
#define PRIxPTE PRIx64
|
|
102
|
+
#else
|
|
103
|
+
#define PRIxPTE PRIx32
|
|
104
|
+
#endif
|
|
105
|
+
#endif /* __BSD_PTENTRY_T__ */
|
|
106
|
+
|
|
107
|
+
#define PMAP_NEED_PROCWR
|
|
108
|
+
static inline void
|
|
109
|
+
pmap_procwr(struct proc *p, vaddr_t va, vsize_t len)
|
|
110
|
+
{
|
|
111
|
+
__asm __volatile("fence\trw,rw; fence.i" ::: "memory");
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#include <uvm/pmap/tlb.h>
|
|
115
|
+
#include <uvm/pmap/pmap_devmap.h>
|
|
116
|
+
#include <uvm/pmap/pmap_tlb.h>
|
|
117
|
+
#include <uvm/pmap/pmap_synci.h>
|
|
118
|
+
|
|
119
|
+
#define PMAP_GROWKERNEL
|
|
120
|
+
#define PMAP_STEAL_MEMORY
|
|
121
|
+
|
|
122
|
+
#ifdef _KERNEL
|
|
123
|
+
|
|
124
|
+
#define __HAVE_PMAP_MD
|
|
125
|
+
struct pmap_md {
|
|
126
|
+
paddr_t md_ppn;
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
static inline void
|
|
130
|
+
pmap_md_icache_sync_all(void)
|
|
131
|
+
{
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
static inline void
|
|
135
|
+
pmap_md_icache_sync_range_index(vaddr_t va, vsize_t size)
|
|
136
|
+
{
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
struct vm_page *
|
|
140
|
+
pmap_md_alloc_poolpage(int);
|
|
141
|
+
vaddr_t pmap_md_map_poolpage(paddr_t, vsize_t);
|
|
142
|
+
void pmap_md_unmap_poolpage(vaddr_t, vsize_t);
|
|
143
|
+
|
|
144
|
+
bool pmap_md_direct_mapped_vaddr_p(vaddr_t);
|
|
145
|
+
paddr_t pmap_md_direct_mapped_vaddr_to_paddr(vaddr_t);
|
|
146
|
+
vaddr_t pmap_md_direct_map_paddr(paddr_t);
|
|
147
|
+
void pmap_md_init(void);
|
|
148
|
+
bool pmap_md_io_vaddr_p(vaddr_t);
|
|
149
|
+
bool pmap_md_ok_to_steal_p(const uvm_physseg_t, size_t);
|
|
150
|
+
void pmap_md_pdetab_init(struct pmap *);
|
|
151
|
+
void pmap_md_pdetab_fini(struct pmap *);
|
|
152
|
+
void pmap_md_tlb_info_attach(struct pmap_tlb_info *, struct cpu_info *);
|
|
153
|
+
void pmap_md_xtab_activate(struct pmap *, struct lwp *);
|
|
154
|
+
void pmap_md_xtab_deactivate(struct pmap *);
|
|
155
|
+
|
|
156
|
+
void pmap_pte_xmae(void);
|
|
157
|
+
void pmap_bootstrap(vaddr_t, vaddr_t);
|
|
158
|
+
|
|
159
|
+
vsize_t pmap_kenter_range(vaddr_t, paddr_t, vsize_t, vm_prot_t, u_int);
|
|
160
|
+
|
|
161
|
+
#ifdef _LP64
|
|
162
|
+
extern vaddr_t pmap_direct_base;
|
|
163
|
+
extern vaddr_t pmap_direct_end;
|
|
164
|
+
#define PMAP_DIRECT_MAP(pa) RISCV_PA_TO_KVA(pa)
|
|
165
|
+
#define PMAP_DIRECT_UNMAP(va) RISCV_KVA_TO_PA(va)
|
|
166
|
+
|
|
167
|
+
/*
|
|
168
|
+
* Other hooks for the pool allocator.
|
|
169
|
+
*/
|
|
170
|
+
#define POOL_PHYSTOV(pa) RISCV_PA_TO_KVA((paddr_t)(pa))
|
|
171
|
+
#define POOL_VTOPHYS(va) RISCV_KVA_TO_PA((vaddr_t)(va))
|
|
172
|
+
|
|
173
|
+
#endif /* _LP64 */
|
|
174
|
+
|
|
175
|
+
#define MEGAPAGE_TRUNC(x) ((x) & ~SEGOFSET)
|
|
176
|
+
#define MEGAPAGE_ROUND(x) MEGAPAGE_TRUNC((x) + SEGOFSET)
|
|
177
|
+
|
|
178
|
+
#define PMAP_DEV __BIT(29) /* 0x2000_0000 */
|
|
179
|
+
|
|
180
|
+
#define DEVMAP_ALIGN(x) MEGAPAGE_TRUNC((x))
|
|
181
|
+
#define DEVMAP_SIZE(x) MEGAPAGE_ROUND((x))
|
|
182
|
+
#define DEVMAP_FLAGS PMAP_DEV
|
|
183
|
+
|
|
184
|
+
#ifdef __PMAP_PRIVATE
|
|
185
|
+
|
|
186
|
+
static inline bool
|
|
187
|
+
pmap_md_tlb_check_entry(void *ctx, vaddr_t va, tlb_asid_t asid, pt_entry_t pte)
|
|
188
|
+
{
|
|
189
|
+
// TLB not walked and so not called.
|
|
190
|
+
return false;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
static inline void
|
|
194
|
+
pmap_md_page_syncicache(struct vm_page_md *mdpg, const kcpuset_t *onproc)
|
|
195
|
+
{
|
|
196
|
+
__asm __volatile("fence\trw,rw; fence.i" ::: "memory");
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/*
|
|
200
|
+
* Virtual Cache Alias helper routines. Not a problem for RISCV CPUs.
|
|
201
|
+
*/
|
|
202
|
+
static inline bool
|
|
203
|
+
pmap_md_vca_add(struct vm_page_md *mdpg, vaddr_t va, pt_entry_t *nptep)
|
|
204
|
+
{
|
|
205
|
+
return false;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
static inline void
|
|
209
|
+
pmap_md_vca_remove(struct vm_page_md *mdpg, vaddr_t va)
|
|
210
|
+
{
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
static inline void
|
|
214
|
+
pmap_md_vca_clean(struct vm_page_md *mdpg, vaddr_t va, int op)
|
|
215
|
+
{
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
static inline size_t
|
|
219
|
+
pmap_md_tlb_asid_max(void)
|
|
220
|
+
{
|
|
221
|
+
const register_t satp = csr_satp_read();
|
|
222
|
+
const register_t test = satp | SATP_ASID;
|
|
223
|
+
|
|
224
|
+
csr_satp_write(test);
|
|
225
|
+
|
|
226
|
+
const register_t ret = __SHIFTOUT(csr_satp_read(), SATP_ASID);
|
|
227
|
+
csr_satp_write(satp);
|
|
228
|
+
|
|
229
|
+
KASSERT(ret < PMAP_TLB_NUM_PIDS);
|
|
230
|
+
return ret;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
static inline pt_entry_t *
|
|
234
|
+
pmap_md_nptep(pt_entry_t *ptep)
|
|
235
|
+
{
|
|
236
|
+
return ptep + 1;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
#endif /* __PMAP_PRIVATE */
|
|
240
|
+
#endif /* _KERNEL */
|
|
241
|
+
|
|
242
|
+
#include <uvm/pmap/pmap.h>
|
|
243
|
+
|
|
244
|
+
#endif /* !_MODULE */
|
|
245
|
+
|
|
246
|
+
#if defined(MODULAR) || defined(_MODULE)
|
|
247
|
+
/*
|
|
248
|
+
* Define a compatible vm_page_md so that struct vm_page is the same size
|
|
249
|
+
* whether we are using modules or not.
|
|
250
|
+
*/
|
|
251
|
+
#ifndef __HAVE_VM_PAGE_MD
|
|
252
|
+
#define __HAVE_VM_PAGE_MD
|
|
253
|
+
|
|
254
|
+
struct vm_page_md {
|
|
255
|
+
uintptr_t mdpg_dummy[3];
|
|
256
|
+
};
|
|
257
|
+
__CTASSERT(sizeof(struct vm_page_md) == sizeof(uintptr_t)*3);
|
|
258
|
+
|
|
259
|
+
#endif /* !__HAVE_VM_PAGE_MD */
|
|
260
|
+
|
|
261
|
+
#endif /* MODULAR || _MODULE */
|
|
262
|
+
|
|
263
|
+
#endif /* !_RISCV_PMAP_H_ */
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* $NetBSD: proc.h,v 1.6 2024/08/04 08:16:25 skrll Exp $ */
|
|
2
|
+
|
|
3
|
+
/*-
|
|
4
|
+
* Copyright (c) 2014 The NetBSD Foundation, Inc.
|
|
5
|
+
* All rights reserved.
|
|
6
|
+
*
|
|
7
|
+
* This code is derived from software contributed to The NetBSD Foundation
|
|
8
|
+
* by Matt Thomas of 3am Software Foundry.
|
|
9
|
+
*
|
|
10
|
+
* Redistribution and use in source and binary forms, with or without
|
|
11
|
+
* modification, are permitted provided that the following conditions
|
|
12
|
+
* are met:
|
|
13
|
+
* 1. Redistributions of source code must retain the above copyright
|
|
14
|
+
* notice, this list of conditions and the following disclaimer.
|
|
15
|
+
* 2. Redistributions in binary form must reproduce the above copyright
|
|
16
|
+
* notice, this list of conditions and the following disclaimer in the
|
|
17
|
+
* documentation and/or other materials provided with the distribution.
|
|
18
|
+
*
|
|
19
|
+
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
|
20
|
+
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
|
21
|
+
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
22
|
+
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
|
23
|
+
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
24
|
+
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
25
|
+
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
26
|
+
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
27
|
+
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
28
|
+
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
29
|
+
* POSSIBILITY OF SUCH DAMAGE.
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
#ifndef _RISCV_PROC_H_
|
|
33
|
+
#define _RISCV_PROC_H_
|
|
34
|
+
|
|
35
|
+
#include <sys/param.h>
|
|
36
|
+
#include <riscv/vmparam.h>
|
|
37
|
+
|
|
38
|
+
struct lwp;
|
|
39
|
+
|
|
40
|
+
/*
|
|
41
|
+
* Machine-dependent part of the lwp structure for RISCV
|
|
42
|
+
*/
|
|
43
|
+
struct trapframe;
|
|
44
|
+
|
|
45
|
+
struct mdlwp {
|
|
46
|
+
struct trapframe *md_utf; /* trapframe from userspace */
|
|
47
|
+
struct trapframe *md_ktf; /* trapframe from userspace */
|
|
48
|
+
struct faultbuf *md_onfault; /* registers to store on fault */
|
|
49
|
+
unsigned long md_usp; /* for locore.S */
|
|
50
|
+
unsigned long md_ss_addr; /* single step address for ptrace */
|
|
51
|
+
int md_ss_instr; /* single step instruction for ptrace */
|
|
52
|
+
volatile int md_astpending; /* AST pending on return to userland */
|
|
53
|
+
#if 0
|
|
54
|
+
#if USPACE > PAGE_SIZE
|
|
55
|
+
int md_upte[USPACE/4096]; /* ptes for mapping u page */
|
|
56
|
+
#else
|
|
57
|
+
int md_dpte[USPACE/4096]; /* dummy ptes to keep the same */
|
|
58
|
+
#endif
|
|
59
|
+
#endif
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
struct mdproc {
|
|
63
|
+
/* syscall entry for this process */
|
|
64
|
+
void (*md_syscall)(struct trapframe *);
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
#ifdef _KERNEL
|
|
68
|
+
#define LWP0_CPU_INFO &cpu_info_store[0] /* staticly set in lwp0 */
|
|
69
|
+
#if 0
|
|
70
|
+
#define LWP0_MD_INITIALIZER { \
|
|
71
|
+
.md_utf = (void *)0xdeadbeef, \
|
|
72
|
+
}
|
|
73
|
+
#endif
|
|
74
|
+
#endif /* _KERNEL */
|
|
75
|
+
|
|
76
|
+
#endif /* _RISCV_PROC_H_ */
|