From 5bcc08d92ae9345d6863f555a3dd9ec960e0860f Mon Sep 17 00:00:00 2001 From: Nicholas Noll Date: Thu, 18 Nov 2021 16:40:51 -0800 Subject: feat: filling out system layer's interface --- sys/linux/amd64/arch/bits.h | 1 + sys/linux/amd64/arch/types.h | 33 ++ sys/linux/amd64/syscall.h | 704 +++++++++++++++++----------------- sys/linux/arm/arch/bits.h | 1 + sys/linux/arm/arch/types.h | 36 ++ sys/linux/arm/syscall.h | 790 +++++++++++++++++++------------------- sys/linux/arm64/arch/bits.h | 1 + sys/linux/arm64/arch/types.h | 28 ++ sys/linux/arm64/syscall.h | 590 ++++++++++++++-------------- sys/linux/i386/arch/bits.h | 1 + sys/linux/i386/arch/types.h | 34 ++ sys/linux/i386/syscall.h | 830 ++++++++++++++++++++-------------------- sys/linux/port/arch/constants.h | 45 --- sys/linux/port/arch/errno.h | 134 ------- sys/linux/port/arch/types.h | 35 -- sys/linux/port/os/constants.h | 98 +++++ sys/linux/port/os/errno.h | 134 +++++++ sys/linux/port/os/types.h | 72 ++++ sys/linux/riscv64/arch/bits.h | 1 + sys/linux/riscv64/arch/types.h | 27 ++ sys/linux/riscv64/syscall.h | 590 ++++++++++++++-------------- 21 files changed, 2220 insertions(+), 1965 deletions(-) create mode 100644 sys/linux/amd64/arch/types.h create mode 100644 sys/linux/arm/arch/types.h create mode 100644 sys/linux/arm64/arch/types.h create mode 100644 sys/linux/i386/arch/types.h delete mode 100644 sys/linux/port/arch/constants.h delete mode 100644 sys/linux/port/arch/errno.h delete mode 100644 sys/linux/port/arch/types.h create mode 100644 sys/linux/port/os/constants.h create mode 100644 sys/linux/port/os/errno.h create mode 100644 sys/linux/port/os/types.h create mode 100644 sys/linux/riscv64/arch/types.h (limited to 'sys/linux') diff --git a/sys/linux/amd64/arch/bits.h b/sys/linux/amd64/arch/bits.h index f869385..9ff3228 100644 --- a/sys/linux/amd64/arch/bits.h +++ b/sys/linux/amd64/arch/bits.h @@ -6,6 +6,7 @@ #define INT32 int #define INT64 long #define ADDR long +#define REG long /* abi */ #define PAGESIZE 4096 diff --git a/sys/linux/amd64/arch/types.h b/sys/linux/amd64/arch/types.h new file mode 100644 index 0000000..d22169c --- /dev/null +++ b/sys/linux/amd64/arch/types.h @@ -0,0 +1,33 @@ +#pragma once + +#if 0 +/* + * copied from musl: + * copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. + */ + +struct sys·Info +{ + uint64 devid; + uint64 inode; + uregister_t nlinks; + + uint mode; + uint uid; + uint gid; + + uint _pad; + + uint64 spdevid; + intptr len; + long blklen; + int64 nblk; + + sys·TimeNano access; + sys·TimeNano modify; + sys·TimeNano change; + + long _unused[3]; +}; +#endif diff --git a/sys/linux/amd64/syscall.h b/sys/linux/amd64/syscall.h index cba66be..4664504 100644 --- a/sys/linux/amd64/syscall.h +++ b/sys/linux/amd64/syscall.h @@ -1,354 +1,354 @@ -#define ·Read 0 -#define ·Write 1 -#define ·Open 2 -#define ·Close 3 -#define ·Stat 4 -#define ·FStat 5 -#define ·LStat 6 -#define ·Poll 7 -#define ·LSeek 8 -#define ·MMap 9 -#define ·MProtect 10 -#define ·MUnmap 11 -#define ·Brk 12 -#define ·RtSigAction 13 -#define ·RtSigProcMask 14 -#define ·RtSigReturn 15 -#define ·IoCtl 16 -#define ·PRead64 17 -#define ·PWrite64 18 -#define ·ReadV 19 -#define ·WriteV 20 -#define ·Access 21 -#define ·Pipe 22 -#define ·Select 23 -#define ·SchedYield 24 -#define ·MRemap 25 -#define ·MSync 26 -#define ·MLoaded 27 -#define ·MAdvise 28 -#define ·ShmGet 29 -#define ·ShmAt 30 -#define ·ShmCtl 31 -#define ·Dup 32 -#define ·Dup2 33 -#define ·Pause 34 -#define ·NanoSleep 35 -#define ·GetITimer 36 -#define ·Alarm 37 -#define ·SetITimer 38 -#define ·GetPid 39 -#define ·SendFile 40 -#define ·Socket 41 -#define ·Connect 42 -#define ·Accept 43 -#define ·SendTo 44 -#define ·RecvFrom 45 -#define ·SendMsg 46 -#define ·RecvMsg 47 -#define ·Shutdown 48 -#define ·Bind 49 -#define ·Listen 50 -#define ·GetSockName 51 -#define ·GetPeerName 52 -#define ·SocketPair 53 -#define ·SetSockOpt 54 -#define ·GetSockOpt 55 -#define ·Clone 56 -#define ·Fork 57 -#define ·VFork 58 -#define ·ExecVe 59 -#define ·Exit 60 -#define ·Wait4 61 -#define ·Kill 62 -#define ·UName 63 -#define ·SemGet 64 -#define ·SemOp 65 -#define ·SemCtl 66 -#define ·ShmDt 67 -#define ·MsgGet 68 -#define ·MsgSend 69 -#define ·MsgRecv 70 -#define ·MsgCtl 71 -#define ·FCntl 72 -#define ·FLock 73 -#define ·FSync 74 -#define ·FdAtAsync 75 -#define ·Truncate 76 -#define ·FTruncate 77 -#define ·GetDents 78 -#define ·GetCwd 79 -#define ·Chdir 80 -#define ·FChdir 81 -#define ·Rename 82 -#define ·Mkdir 83 -#define ·Rmdir 84 -#define ·Create 85 -#define ·Link 86 -#define ·Unlink 87 -#define ·SymLink 88 -#define ·ReadLink 89 -#define ·Chmod 90 -#define ·FChmod 91 -#define ·Chown 92 -#define ·FChown 93 -#define ·LChown 94 -#define ·UMask 95 -#define ·GetTimeOfDay 96 -#define ·GetRLimit 97 -#define ·GetRUsage 98 -#define ·SysInfo 99 -#define ·Times 100 -#define ·PTrace 101 -#define ·GetUid 102 -#define ·SysLog 103 -#define ·GetGid 104 -#define ·SetUid 105 -#define ·SetGid 106 -#define ·GetEUid 107 -#define ·GetEGid 108 -#define ·SetPGid 109 -#define ·GetPPid 110 -#define ·GetPGrp 111 -#define ·SetSId 112 -#define ·SetReUid 113 -#define ·SetReGid 114 -#define ·GetGroups 115 -#define ·SetGroups 116 -#define ·SetResUid 117 -#define ·GetResUid 118 -#define ·SetResGid 119 -#define ·GetResGid 120 -#define ·GetPGid 121 -#define ·SetFsUid 122 -#define ·SetFsGid 123 -#define ·GetsId 124 -#define ·CapGet 125 -#define ·CapSet 126 -#define ·RtSigPending 127 -#define ·RtSigTimedWait 128 -#define ·RtSigQueueInfo 129 -#define ·RtSigSuspend 130 -#define ·SiGaltStack 131 -#define ·UTime 132 -#define ·MkNod 133 -#define ·UseLib 134 -#define ·Personality 135 -#define ·UStat 136 -#define ·StatFs 137 -#define ·FStatFs 138 -#define ·SysFs 139 -#define ·GetPriority 140 -#define ·SetPriority 141 -#define ·SchedSetParam 142 -#define ·SchedGetParam 143 -#define ·SchedSetScheduler 144 -#define ·SchedGetScheduler 145 -#define ·SchedGetPriorityMax 146 -#define ·SchedGetPriorityMin 147 -#define ·SchedRrGetInterval 148 -#define ·MLock 149 -#define ·MUnlock 150 -#define ·MLockAll 151 -#define ·MUnlockAll 152 -#define ·VHangUp 153 -#define ·ModifyLdT 154 -#define ·PivotRoot 155 -#define ·SysCtl 156 -#define ·PrCtl 157 -#define ·ArchPrCtl 158 -#define ·AdjTimex 159 -#define ·SetRLimit 160 -#define ·Chroot 161 -#define ·Sync 162 -#define ·Acct 163 -#define ·SetTimeOfDay 164 -#define ·Mount 165 -#define ·UMount2 166 -#define ·SwapOn 167 -#define ·SwapOff 168 -#define ·Reboot 169 -#define ·SetHostname 170 -#define ·SetDomainName 171 -#define ·IoPl 172 -#define ·IoPerm 173 -#define ·CreateModule 174 -#define ·InItModule 175 -#define ·DeleteModule 176 -#define ·GetKernelSyms 177 -#define ·QueryModule 178 -#define ·QuotaCtl 179 -#define ·NfsServCtl 180 -#define ·GetPMsg 181 -#define ·PutPMsg 182 -#define ·AFsSysCall 183 -#define ·TuxCall 184 -#define ·Security 185 -#define ·GetTId 186 -#define ·ReadAhead 187 -#define ·SetXAttr 188 -#define ·LSetXAttr 189 -#define ·FSetXAttr 190 -#define ·GetXAttr 191 -#define ·LGetXAttr 192 -#define ·FGetXAttr 193 -#define ·ListXAttr 194 -#define ·LListXAttr 195 -#define ·FListXAttr 196 -#define ·RemoveXAttr 197 -#define ·LRemoveXAttr 198 -#define ·FRemoveXAttr 199 -#define ·TKill 200 -#define ·Time 201 -#define ·Futex 202 -#define ·SchedSetAffinity 203 -#define ·SchedGetAffinity 204 -#define ·SetThreadArea 205 -#define ·IoSetUp 206 -#define ·IoDestroy 207 -#define ·IoGetEvents 208 -#define ·IoSubmit 209 -#define ·IoCancel 210 -#define ·GetThreadArea 211 -#define ·LookupDCookie 212 -#define ·EPollCreate 213 -#define ·EPollCtlOld 214 -#define ·EPollWaitOld 215 -#define ·RemapFilePages 216 -#define ·GetDents64 217 -#define ·SetTIdAddress 218 -#define ·RestartSysCall 219 -#define ·SemTimeDop 220 -#define ·FAdvise64 221 -#define ·TimerCreate 222 -#define ·TimerSetTime 223 -#define ·TimerGetTime 224 -#define ·TimerGetOverrun 225 -#define ·TimerDelete 226 -#define ·ClockSetTime 227 -#define ·ClockGetTime 228 -#define ·ClockGetRes 229 -#define ·ClockNanoSleep 230 -#define ·ExitGroup 231 -#define ·EPollWait 232 -#define ·EPollCtl 233 -#define ·TgKill 234 -#define ·UTimes 235 -#define ·VServer 236 -#define ·MBind 237 -#define ·SetMemPolicy 238 -#define ·GetMemPolicy 239 -#define ·MQOpen 240 -#define ·MQUnlink 241 -#define ·MQTimedSend 242 -#define ·MQTimedReceive 243 -#define ·MQNotify 244 -#define ·MQGetSetAttr 245 -#define ·KExecLoad 246 -#define ·WaitId 247 -#define ·AddKey 248 -#define ·RequestKey 249 -#define ·KeyCtl 250 -#define ·IoPrIoSet 251 -#define ·IoPrIoGet 252 -#define ·INotifyInIt 253 -#define ·INotifyAddWatch 254 -#define ·INotifyRmWatch 255 -#define ·MigratePages 256 -#define ·OpenAt 257 -#define ·MkdirAt 258 -#define ·MkNodAt 259 -#define ·FChownAt 260 -#define ·FuTimesAt 261 -#define ·NewFStatAt 262 -#define ·UnlinkAt 263 -#define ·RenameAt 264 -#define ·LinkAt 265 -#define ·SymLinkAt 266 -#define ·ReadLinkAt 267 -#define ·FChmodAt 268 -#define ·FAccessAt 269 -#define ·PSelect6 270 -#define ·PPoll 271 -#define ·UnShare 272 -#define ·SetRobustList 273 -#define ·GetRobustList 274 -#define ·Splice 275 -#define ·Tee 276 -#define ·SyncFileRange 277 -#define ·VmSplice 278 -#define ·MovePages 279 -#define ·UTimeNsAt 280 -#define ·EPollPWait 281 -#define ·SignalFd 282 -#define ·TimerFdCreate 283 -#define ·EventFd 284 -#define ·FAllocate 285 -#define ·TimerFdSetTime 286 -#define ·TimerFdGetTime 287 -#define ·Accept4 288 -#define ·SignalFd4 289 -#define ·EventFd2 290 -#define ·EPollCreate1 291 -#define ·Dup3 292 -#define ·Pipe2 293 -#define ·INotifyInIt1 294 -#define ·PreAdv 295 -#define ·PWriteV 296 -#define ·RtTgSigQueueInfo 297 -#define ·PerFEventOpen 298 -#define ·RecvMMsg 299 -#define ·FaNotifyInIt 300 -#define ·FaNotifyMark 301 -#define ·PrLimit64 302 -#define ·NameToHandleAt 303 -#define ·OpenByHandleAt 304 -#define ·ClockAdjTime 305 -#define ·SyncFs 306 -#define ·SendMMsg 307 -#define ·SetNs 308 -#define ·GetCpu 309 -#define ·ProcessVmReadV 310 -#define ·ProcessVmWriteV 311 -#define ·KCmp 312 -#define ·FinItModule 313 -#define ·SchedSetAttr 314 -#define ·SchedGetAttr 315 -#define ·RenameAt2 316 -#define ·SeccoMp 317 -#define ·GetRandom 318 -#define ·MemFdCreate 319 -#define ·KExecFileLoad 320 -#define ·BpF 321 -#define ·ExecVeAt 322 -#define ·UserFaultFd 323 -#define ·MemBarrier 324 -#define ·MLock2 325 -#define ·CopyFileRange 326 -#define ·PreAdv2 327 -#define ·PWriteV2 328 -#define ·PKeyMProtect 329 -#define ·PKeyAllOc 330 -#define ·PKeyFree 331 -#define ·StatX 332 -#define ·IoPGetEvents 333 -#define ·RSeq 334 -#define ·PidFdSendSignal 424 -#define ·IoUringSetUp 425 -#define ·IoUringEnter 426 -#define ·IoUringRegister 427 -#define ·OpenTree 428 -#define ·MoveMount 429 -#define ·FsOpen 430 -#define ·FsConfig 431 -#define ·FsMount 432 -#define ·FsPick 433 -#define ·PidFdOpen 434 -#define ·Clone3 435 -#define ·CloseRange 436 -#define ·OpenAt2 437 -#define ·PidFdGetFd 438 -#define ·FAccessAt2 439 +#define ·Read 0 +#define ·Write 1 +#define ·Open 2 +#define ·Close 3 +#define ·Stat 4 +#define ·FStat 5 +#define ·LStat 6 +#define ·Poll 7 +#define ·LSeek 8 +#define ·MMap 9 +#define ·MProtect 10 +#define ·MUnmap 11 +#define ·Brk 12 +#define ·RtSigAction 13 +#define ·RtSigProcMask 14 +#define ·RtSigReturn 15 +#define ·IoCtl 16 +#define ·PRead64 17 +#define ·PWrite64 18 +#define ·ReadV 19 +#define ·WriteV 20 +#define ·Access 21 +#define ·Pipe 22 +#define ·Select 23 +#define ·SchedYield 24 +#define ·MRemap 25 +#define ·MSync 26 +#define ·MLoaded 27 +#define ·MAdvise 28 +#define ·ShmGet 29 +#define ·ShmAt 30 +#define ·ShmCtl 31 +#define ·Dup 32 +#define ·Dup2 33 +#define ·Pause 34 +#define ·NanoSleep 35 +#define ·GetITimer 36 +#define ·Alarm 37 +#define ·SetITimer 38 +#define ·GetPid 39 +#define ·SendFile 40 +#define ·Socket 41 +#define ·Connect 42 +#define ·Accept 43 +#define ·SendTo 44 +#define ·RecvFrom 45 +#define ·SendMsg 46 +#define ·RecvMsg 47 +#define ·Shutdown 48 +#define ·Bind 49 +#define ·Listen 50 +#define ·GetSockName 51 +#define ·GetPeerName 52 +#define ·SocketPair 53 +#define ·SetSockOpt 54 +#define ·GetSockOpt 55 +#define ·Clone 56 +#define ·Fork 57 +#define ·VFork 58 +#define ·ExecVe 59 +#define ·Exit 60 +#define ·Wait4 61 +#define ·Kill 62 +#define ·UName 63 +#define ·SemGet 64 +#define ·SemOp 65 +#define ·SemCtl 66 +#define ·ShmDt 67 +#define ·MsgGet 68 +#define ·MsgSend 69 +#define ·MsgRecv 70 +#define ·MsgCtl 71 +#define ·FCntl 72 +#define ·FLock 73 +#define ·FSync 74 +#define ·FdAtAsync 75 +#define ·Truncate 76 +#define ·FTruncate 77 +#define ·GetDents 78 +#define ·GetCwd 79 +#define ·Chdir 80 +#define ·FChdir 81 +#define ·Rename 82 +#define ·Mkdir 83 +#define ·Rmdir 84 +#define ·Create 85 +#define ·Link 86 +#define ·Unlink 87 +#define ·SymLink 88 +#define ·ReadLink 89 +#define ·Chmod 90 +#define ·FChmod 91 +#define ·Chown 92 +#define ·FChown 93 +#define ·LChown 94 +#define ·UMask 95 +#define ·GetTimeOfDay 96 +#define ·GetRLimit 97 +#define ·GetRUsage 98 +#define ·SysInfo 99 +#define ·Times 100 +#define ·PTrace 101 +#define ·GetUid 102 +#define ·SysLog 103 +#define ·GetGid 104 +#define ·SetUid 105 +#define ·SetGid 106 +#define ·GetEUid 107 +#define ·GetEGid 108 +#define ·SetPGid 109 +#define ·GetPPid 110 +#define ·GetPGrp 111 +#define ·SetSId 112 +#define ·SetReUid 113 +#define ·SetReGid 114 +#define ·GetGroups 115 +#define ·SetGroups 116 +#define ·SetResUid 117 +#define ·GetResUid 118 +#define ·SetResGid 119 +#define ·GetResGid 120 +#define ·GetPGid 121 +#define ·SetFsUid 122 +#define ·SetFsGid 123 +#define ·GetsId 124 +#define ·CapGet 125 +#define ·CapSet 126 +#define ·RtSigPending 127 +#define ·RtSigTimedWait 128 +#define ·RtSigQueueInfo 129 +#define ·RtSigSuspend 130 +#define ·SiGaltStack 131 +#define ·UTime 132 +#define ·MkNod 133 +#define ·UseLib 134 +#define ·Personality 135 +#define ·UStat 136 +#define ·StatFs 137 +#define ·FStatFs 138 +#define ·SysFs 139 +#define ·GetPriority 140 +#define ·SetPriority 141 +#define ·SchedSetParam 142 +#define ·SchedGetParam 143 +#define ·SchedSetScheduler 144 +#define ·SchedGetScheduler 145 +#define ·SchedGetPriorityMax 146 +#define ·SchedGetPriorityMin 147 +#define ·SchedRrGetInterval 148 +#define ·MLock 149 +#define ·MUnlock 150 +#define ·MLockAll 151 +#define ·MUnlockAll 152 +#define ·VHangUp 153 +#define ·ModifyLdT 154 +#define ·PivotRoot 155 +#define ·SysCtl 156 +#define ·PrCtl 157 +#define ·ArchPrCtl 158 +#define ·AdjTimex 159 +#define ·SetRLimit 160 +#define ·Chroot 161 +#define ·Sync 162 +#define ·Acct 163 +#define ·SetTimeOfDay 164 +#define ·Mount 165 +#define ·UMount2 166 +#define ·SwapOn 167 +#define ·SwapOff 168 +#define ·Reboot 169 +#define ·SetHostname 170 +#define ·SetDomainName 171 +#define ·IoPl 172 +#define ·IoPerm 173 +#define ·CreateModule 174 +#define ·InItModule 175 +#define ·DeleteModule 176 +#define ·GetKernelSyms 177 +#define ·QueryModule 178 +#define ·QuotaCtl 179 +#define ·NfsServCtl 180 +#define ·GetPMsg 181 +#define ·PutPMsg 182 +#define ·AFsSysCall 183 +#define ·TuxCall 184 +#define ·Security 185 +#define ·GetTId 186 +#define ·ReadAhead 187 +#define ·SetXAttr 188 +#define ·LSetXAttr 189 +#define ·FSetXAttr 190 +#define ·GetXAttr 191 +#define ·LGetXAttr 192 +#define ·FGetXAttr 193 +#define ·ListXAttr 194 +#define ·LListXAttr 195 +#define ·FListXAttr 196 +#define ·RemoveXAttr 197 +#define ·LRemoveXAttr 198 +#define ·FRemoveXAttr 199 +#define ·TKill 200 +#define ·Time 201 +#define ·Futex 202 +#define ·SchedSetAffinity 203 +#define ·SchedGetAffinity 204 +#define ·SetThreadArea 205 +#define ·IoSetUp 206 +#define ·IoDestroy 207 +#define ·IoGetEvents 208 +#define ·IoSubmit 209 +#define ·IoCancel 210 +#define ·GetThreadArea 211 +#define ·LookupDCookie 212 +#define ·EPollCreate 213 +#define ·EPollCtlOld 214 +#define ·EPollWaitOld 215 +#define ·RemapFilePages 216 +#define ·GetDents64 217 +#define ·SetTIdAddress 218 +#define ·RestartSysCall 219 +#define ·SemTimeDop 220 +#define ·FAdvise64 221 +#define ·TimerCreate 222 +#define ·TimerSetTime 223 +#define ·TimerGetTime 224 +#define ·TimerGetOverrun 225 +#define ·TimerDelete 226 +#define ·ClockSetTime 227 +#define ·ClockGetTime 228 +#define ·ClockGetRes 229 +#define ·ClockNanoSleep 230 +#define ·ExitGroup 231 +#define ·EPollWait 232 +#define ·EPollCtl 233 +#define ·TgKill 234 +#define ·UTimes 235 +#define ·VServer 236 +#define ·MBind 237 +#define ·SetMemPolicy 238 +#define ·GetMemPolicy 239 +#define ·MQOpen 240 +#define ·MQUnlink 241 +#define ·MQTimedSend 242 +#define ·MQTimedReceive 243 +#define ·MQNotify 244 +#define ·MQGetSetAttr 245 +#define ·KExecLoad 246 +#define ·WaitId 247 +#define ·AddKey 248 +#define ·RequestKey 249 +#define ·KeyCtl 250 +#define ·IoPrIoSet 251 +#define ·IoPrIoGet 252 +#define ·INotifyInIt 253 +#define ·INotifyAddWatch 254 +#define ·INotifyRmWatch 255 +#define ·MigratePages 256 +#define ·OpenAt 257 +#define ·MkdirAt 258 +#define ·MkNodAt 259 +#define ·FChownAt 260 +#define ·FuTimesAt 261 +#define ·NewFStatAt 262 +#define ·UnlinkAt 263 +#define ·RenameAt 264 +#define ·LinkAt 265 +#define ·SymLinkAt 266 +#define ·ReadLinkAt 267 +#define ·FChmodAt 268 +#define ·FAccessAt 269 +#define ·PSelect6 270 +#define ·PPoll 271 +#define ·UnShare 272 +#define ·SetRobustList 273 +#define ·GetRobustList 274 +#define ·Splice 275 +#define ·Tee 276 +#define ·SyncFileRange 277 +#define ·VmSplice 278 +#define ·MovePages 279 +#define ·UTimeNsAt 280 +#define ·EPollPWait 281 +#define ·SignalFd 282 +#define ·TimerFdCreate 283 +#define ·EventFd 284 +#define ·FAllocate 285 +#define ·TimerFdSetTime 286 +#define ·TimerFdGetTime 287 +#define ·Accept4 288 +#define ·SignalFd4 289 +#define ·EventFd2 290 +#define ·EPollCreate1 291 +#define ·Dup3 292 +#define ·Pipe2 293 +#define ·INotifyInIt1 294 +#define ·PreAdv 295 +#define ·PWriteV 296 +#define ·RtTgSigQueueInfo 297 +#define ·PerFEventOpen 298 +#define ·RecvMMsg 299 +#define ·FaNotifyInIt 300 +#define ·FaNotifyMark 301 +#define ·PrLimit64 302 +#define ·NameToHandleAt 303 +#define ·OpenByHandleAt 304 +#define ·ClockAdjTime 305 +#define ·SyncFs 306 +#define ·SendMMsg 307 +#define ·SetNs 308 +#define ·GetCpu 309 +#define ·ProcessVmReadV 310 +#define ·ProcessVmWriteV 311 +#define ·KCmp 312 +#define ·FinItModule 313 +#define ·SchedSetAttr 314 +#define ·SchedGetAttr 315 +#define ·RenameAt2 316 +#define ·SeccoMp 317 +#define ·GetRandom 318 +#define ·MemFdCreate 319 +#define ·KExecFileLoad 320 +#define ·BpF 321 +#define ·ExecVeAt 322 +#define ·UserFaultFd 323 +#define ·MemBarrier 324 +#define ·MLock2 325 +#define ·CopyFileRange 326 +#define ·PreAdv2 327 +#define ·PWriteV2 328 +#define ·PKeyMProtect 329 +#define ·PKeyAllOc 330 +#define ·PKeyFree 331 +#define ·StatX 332 +#define ·IoPGetEvents 333 +#define ·RSeq 334 +#define ·PidFdSendSignal 424 +#define ·IoUringSetUp 425 +#define ·IoUringEnter 426 +#define ·IoUringRegister 427 +#define ·OpenTree 428 +#define ·MoveMount 429 +#define ·FsOpen 430 +#define ·FsConfig 431 +#define ·FsMount 432 +#define ·FsPick 433 +#define ·PidFdOpen 434 +#define ·Clone3 435 +#define ·CloseRange 436 +#define ·OpenAt2 437 +#define ·PidFdGetFd 438 +#define ·FAccessAt2 439 /* assembly routines */ #define asm __asm__ __volatile__ @@ -419,3 +419,5 @@ long _syscall6(long n, long a1, long a2, long a3, long a4, long a5, long a6) "d"(a3), "r"(r10), "r"(r8), "r"(r9) : "rcx", "r11", "memory"); return ret; } + + diff --git a/sys/linux/arm/arch/bits.h b/sys/linux/arm/arch/bits.h index 5f89c49..b842e25 100644 --- a/sys/linux/arm/arch/bits.h +++ b/sys/linux/arm/arch/bits.h @@ -6,6 +6,7 @@ #define INT32 int #define INT64 long long #define ADDR int +#define REG int /* abi */ #define INTPTR_MIN INT32_MIN diff --git a/sys/linux/arm/arch/types.h b/sys/linux/arm/arch/types.h new file mode 100644 index 0000000..536ca5f --- /dev/null +++ b/sys/linux/arm/arch/types.h @@ -0,0 +1,36 @@ +#pragma once + +#if 0 +/* + * copied from musl: + * copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. + */ + +struct sys·Info +{ + uint64 devid; + int _devpad; + long _inotrunc; + + uint mode; + uregister_t nlinks; + uint uid; + uint gid; + uint64 spdevid; + int _spdevpad; + + intptr len; + long blklen; + int64 nblk; + struct { + long sec; + long nano; + } _access32, _modify32, _change32; + uint64 inode; + + sys·TimeNano access; + sys·TimeNano modify; + sys·TimeNano change; +}; +#endif diff --git a/sys/linux/arm/syscall.h b/sys/linux/arm/syscall.h index e7a8f89..0bc3f73 100644 --- a/sys/linux/arm/syscall.h +++ b/sys/linux/arm/syscall.h @@ -1,398 +1,398 @@ -#define ·RestartSysCall 0 -#define ·Exit 1 -#define ·Fork 2 -#define ·Read 3 -#define ·Write 4 -#define ·Open 5 -#define ·Close 6 -#define ·Create 8 -#define ·Link 9 -#define ·Unlink 10 -#define ·ExecVe 11 -#define ·Chdir 12 -#define ·MkNod 14 -#define ·Chmod 15 -#define ·LChown 16 -#define ·LSeek 19 -#define ·GetPid 20 -#define ·Mount 21 -#define ·SetUid 23 -#define ·GetUid 24 -#define ·PTrace 26 -#define ·Pause 29 -#define ·Access 33 -#define ·Nice 34 -#define ·Sync 36 -#define ·Kill 37 -#define ·Rename 38 -#define ·Mkdir 39 -#define ·Rmdir 40 -#define ·Dup 41 -#define ·Pipe 42 -#define ·Times 43 -#define ·Brk 45 -#define ·SetGid 46 -#define ·GetGid 47 -#define ·GetEUid 49 -#define ·GetEGid 50 -#define ·Acct 51 -#define ·UMount2 52 -#define ·IoCtl 54 -#define ·FCntl 55 -#define ·SetPGid 57 -#define ·UMask 60 -#define ·Chroot 61 -#define ·UStat 62 -#define ·Dup2 63 -#define ·GetPPid 64 -#define ·GetPGrp 65 -#define ·SetSId 66 -#define ·SigAction 67 -#define ·SetReUid 70 -#define ·SetReGid 71 -#define ·SigSuspend 72 -#define ·SigPending 73 -#define ·SetHostname 74 -#define ·SetRLimit 75 -#define ·GetRUsage 77 -#define ·GetTimeOfDayTime32 78 -#define ·SetTimeOfDayTime32 79 -#define ·GetGroups 80 -#define ·SetGroups 81 -#define ·SymLink 83 -#define ·ReadLink 85 -#define ·UseLib 86 -#define ·SwapOn 87 -#define ·Reboot 88 -#define ·MUnmap 91 -#define ·Truncate 92 -#define ·FTruncate 93 -#define ·FChmod 94 -#define ·FChown 95 -#define ·GetPriority 96 -#define ·SetPriority 97 -#define ·StatFs 99 -#define ·FStatFs 100 -#define ·SysLog 103 -#define ·SetITimer 104 -#define ·GetITimer 105 -#define ·Stat 106 -#define ·LStat 107 -#define ·FStat 108 -#define ·VHangUp 111 -#define ·Wait4 114 -#define ·SwapOff 115 -#define ·SysInfo 116 -#define ·FSync 118 -#define ·SigReturn 119 -#define ·Clone 120 -#define ·SetDomainName 121 -#define ·UName 122 -#define ·AdjTimex 124 -#define ·MProtect 125 -#define ·SigProcMask 126 -#define ·InItModule 128 -#define ·DeleteModule 129 -#define ·QuotaCtl 131 -#define ·GetPGid 132 -#define ·FChdir 133 -#define ·BdFlush 134 -#define ·SysFs 135 -#define ·Personality 136 -#define ·SetFsUid 138 -#define ·SetFsGid 139 -#define ·LlSeek 140 -#define ·GetDents 141 -#define ·NewSelect 142 -#define ·FLock 143 -#define ·MSync 144 -#define ·ReadV 145 -#define ·WriteV 146 -#define ·GetsId 147 -#define ·FdAtAsync 148 -#define ·SysCtl 149 -#define ·MLock 150 -#define ·MUnlock 151 -#define ·MLockAll 152 -#define ·MUnlockAll 153 -#define ·SchedSetParam 154 -#define ·SchedGetParam 155 -#define ·SchedSetScheduler 156 -#define ·SchedGetScheduler 157 -#define ·SchedYield 158 -#define ·SchedGetPriorityMax 159 -#define ·SchedGetPriorityMin 160 -#define ·SchedRrGetInterval 161 -#define ·NanoSleep 162 -#define ·MRemap 163 -#define ·SetResUid 164 -#define ·GetResUid 165 -#define ·Poll 168 -#define ·NfsServCtl 169 -#define ·SetResGid 170 -#define ·GetResGid 171 -#define ·PrCtl 172 -#define ·RtSigReturn 173 -#define ·RtSigAction 174 -#define ·RtSigProcMask 175 -#define ·RtSigPending 176 -#define ·RtSigTimedWait 177 -#define ·RtSigQueueInfo 178 -#define ·RtSigSuspend 179 -#define ·PRead64 180 -#define ·PWrite64 181 -#define ·Chown 182 -#define ·GetCwd 183 -#define ·CapGet 184 -#define ·CapSet 185 -#define ·SiGaltStack 186 -#define ·SendFile 187 -#define ·VFork 190 -#define ·UGetRLimit 191 -#define ·MMap2 192 -#define ·Truncate64 193 -#define ·FTruncate64 194 -#define ·Stat64 195 -#define ·LStat64 196 -#define ·FStat64 197 -#define ·LChown32 198 -#define ·GetUid32 199 -#define ·GetGid32 200 -#define ·GetEUid32 201 -#define ·GetEGid32 202 -#define ·SetReUid32 203 -#define ·SetReGid32 204 -#define ·GetGroups32 205 -#define ·SetGroups32 206 -#define ·FChown32 207 -#define ·SetResUid32 208 -#define ·GetResUid32 209 -#define ·SetResGid32 210 -#define ·GetResGid32 211 -#define ·Chown32 212 -#define ·SetUid32 213 -#define ·SetGid32 214 -#define ·SetFsUid32 215 -#define ·SetFsGid32 216 -#define ·GetDents64 217 -#define ·PivotRoot 218 -#define ·MLoaded 219 -#define ·MAdvise 220 -#define ·FCntl64 221 -#define ·GetTId 224 -#define ·ReadAhead 225 -#define ·SetXAttr 226 -#define ·LSetXAttr 227 -#define ·FSetXAttr 228 -#define ·GetXAttr 229 -#define ·LGetXAttr 230 -#define ·FGetXAttr 231 -#define ·ListXAttr 232 -#define ·LListXAttr 233 -#define ·FListXAttr 234 -#define ·RemoveXAttr 235 -#define ·LRemoveXAttr 236 -#define ·FRemoveXAttr 237 -#define ·TKill 238 -#define ·SendFile64 239 -#define ·Futex 240 -#define ·SchedSetAffinity 241 -#define ·SchedGetAffinity 242 -#define ·IoSetUp 243 -#define ·IoDestroy 244 -#define ·IoGetEvents 245 -#define ·IoSubmit 246 -#define ·IoCancel 247 -#define ·ExitGroup 248 -#define ·LookupDCookie 249 -#define ·EPollCreate 250 -#define ·EPollCtl 251 -#define ·EPollWait 252 -#define ·RemapFilePages 253 -#define ·SetTIdAddress 256 -#define ·TimerCreate 257 -#define ·TimerSetTime32 258 -#define ·TimerGetTime32 259 -#define ·TimerGetOverrun 260 -#define ·TimerDelete 261 -#define ·ClockSetTime32 262 -#define ·ClockGetTime32 263 -#define ·ClockGetResTime32 264 -#define ·ClockNanoSleepTime32 265 -#define ·StatFs64 266 -#define ·FStatFs64 267 -#define ·TgKill 268 -#define ·UTimes 269 -#define ·FAdvise6464 270 -#define ·ArmFAdvise6464 270 -#define ·PciConfigIoBase 271 -#define ·PciConfigRead 272 -#define ·PciConfigWrite 273 -#define ·MQOpen 274 -#define ·MQUnlink 275 -#define ·MQTimedSend 276 -#define ·MQTimedReceive 277 -#define ·MQNotify 278 -#define ·MQGetSetAttr 279 -#define ·WaitId 280 -#define ·Socket 281 -#define ·Bind 282 -#define ·Connect 283 -#define ·Listen 284 -#define ·Accept 285 -#define ·GetSockName 286 -#define ·GetPeerName 287 -#define ·SocketPair 288 -#define ·Send 289 -#define ·SendTo 290 -#define ·Recv 291 -#define ·RecvFrom 292 -#define ·Shutdown 293 -#define ·SetSockOpt 294 -#define ·GetSockOpt 295 -#define ·SendMsg 296 -#define ·RecvMsg 297 -#define ·SemOp 298 -#define ·SemGet 299 -#define ·SemCtl 300 -#define ·MsgSend 301 -#define ·MsgRecv 302 -#define ·MsgGet 303 -#define ·MsgCtl 304 -#define ·ShmAt 305 -#define ·ShmDt 306 -#define ·ShmGet 307 -#define ·ShmCtl 308 -#define ·AddKey 309 -#define ·RequestKey 310 -#define ·KeyCtl 311 -#define ·SemTimeDop 312 -#define ·VServer 313 -#define ·IoPrIoSet 314 -#define ·IoPrIoGet 315 -#define ·INotifyInIt 316 -#define ·INotifyAddWatch 317 -#define ·INotifyRmWatch 318 -#define ·MBind 319 -#define ·GetMemPolicy 320 -#define ·SetMemPolicy 321 -#define ·OpenAt 322 -#define ·MkdirAt 323 -#define ·MkNodAt 324 -#define ·FChownAt 325 -#define ·FuTimesAt 326 -#define ·FStatAt64 327 -#define ·UnlinkAt 328 -#define ·RenameAt 329 -#define ·LinkAt 330 -#define ·SymLinkAt 331 -#define ·ReadLinkAt 332 -#define ·FChmodAt 333 -#define ·FAccessAt 334 -#define ·PSelect6 335 -#define ·PPoll 336 -#define ·UnShare 337 -#define ·SetRobustList 338 -#define ·GetRobustList 339 -#define ·Splice 340 -#define ·SyncFileRange2 341 -#define ·ArmSyncFileRange 341 -#define ·Tee 342 -#define ·VmSplice 343 -#define ·MovePages 344 -#define ·GetCpu 345 -#define ·EPollPWait 346 -#define ·KExecLoad 347 -#define ·UTimeNsAt 348 -#define ·SignalFd 349 -#define ·TimerFdCreate 350 -#define ·EventFd 351 -#define ·FAllocate 352 -#define ·TimerFdSetTime32 353 -#define ·TimerFdGetTime32 354 -#define ·SignalFd4 355 -#define ·EventFd2 356 -#define ·EPollCreate1 357 -#define ·Dup3 358 -#define ·Pipe2 359 -#define ·INotifyInIt1 360 -#define ·PreAdv 361 -#define ·PWriteV 362 -#define ·RtTgSigQueueInfo 363 -#define ·PerFEventOpen 364 -#define ·RecvMMsg 365 -#define ·Accept4 366 -#define ·FaNotifyInIt 367 -#define ·FaNotifyMark 368 -#define ·PrLimit64 369 -#define ·NameToHandleAt 370 -#define ·OpenByHandleAt 371 -#define ·ClockAdjTime 372 -#define ·SyncFs 373 -#define ·SendMMsg 374 -#define ·SetNs 375 -#define ·ProcessVmReadV 376 -#define ·ProcessVmWriteV 377 -#define ·KCmp 378 -#define ·FinItModule 379 -#define ·SchedSetAttr 380 -#define ·SchedGetAttr 381 -#define ·RenameAt2 382 -#define ·SeccoMp 383 -#define ·GetRandom 384 -#define ·MemFdCreate 385 -#define ·BpF 386 -#define ·ExecVeAt 387 -#define ·UserFaultFd 388 -#define ·MemBarrier 389 -#define ·MLock2 390 -#define ·CopyFileRange 391 -#define ·PreAdv2 392 -#define ·PWriteV2 393 -#define ·PKeyMProtect 394 -#define ·PKeyAllOc 395 -#define ·PKeyFree 396 -#define ·StatX 397 -#define ·RSeq 398 -#define ·IoPGetEvents 399 -#define ·MigratePages 400 -#define ·KExecFileLoad 401 -#define ·ClockGetTime64 403 -#define ·ClockSetTime64 404 -#define ·ClockAdjTime64 405 -#define ·ClockGetResTime64 406 -#define ·ClockNanoSleepTime64 407 -#define ·TimerGetTime64 408 -#define ·TimerSetTime64 409 -#define ·TimerFdGetTime64 410 -#define ·TimerFdSetTime64 411 -#define ·UTimeNsAtTime64 412 -#define ·PSelect6Time64 413 -#define ·PPollTime64 414 -#define ·IoPGetEventsTime64 416 -#define ·RecvMMsgTime64 417 -#define ·MQTimedSendTime64 418 -#define ·MQTimedReceiveTime64 419 -#define ·SemTimeDopTime64 420 -#define ·RtSigTimedWaitTime64 421 -#define ·FutexTime64 422 -#define ·SchedRrGetIntervalTime64 423 -#define ·PidFdSendSignal 424 -#define ·IoUringSetUp 425 -#define ·IoUringEnter 426 -#define ·IoUringRegister 427 -#define ·OpenTree 428 -#define ·MoveMount 429 -#define ·FsOpen 430 -#define ·FsConfig 431 -#define ·FsMount 432 -#define ·FsPick 433 -#define ·PidFdOpen 434 -#define ·Clone3 435 -#define ·CloseRange 436 -#define ·OpenAt2 437 -#define ·PidFdGetFd 438 -#define ·FAccessAt2 439 +#define ·RestartSysCall 0 +#define ·Exit 1 +#define ·Fork 2 +#define ·Read 3 +#define ·Write 4 +#define ·Open 5 +#define ·Close 6 +#define ·Create 8 +#define ·Link 9 +#define ·Unlink 10 +#define ·ExecVe 11 +#define ·Chdir 12 +#define ·MkNod 14 +#define ·Chmod 15 +#define ·LChown 16 +#define ·LSeek 19 +#define ·GetPid 20 +#define ·Mount 21 +#define ·SetUid 23 +#define ·GetUid 24 +#define ·PTrace 26 +#define ·Pause 29 +#define ·Access 33 +#define ·Nice 34 +#define ·Sync 36 +#define ·Kill 37 +#define ·Rename 38 +#define ·Mkdir 39 +#define ·Rmdir 40 +#define ·Dup 41 +#define ·Pipe 42 +#define ·Times 43 +#define ·Brk 45 +#define ·SetGid 46 +#define ·GetGid 47 +#define ·GetEUid 49 +#define ·GetEGid 50 +#define ·Acct 51 +#define ·UMount2 52 +#define ·IoCtl 54 +#define ·FCntl 55 +#define ·SetPGid 57 +#define ·UMask 60 +#define ·Chroot 61 +#define ·UStat 62 +#define ·Dup2 63 +#define ·GetPPid 64 +#define ·GetPGrp 65 +#define ·SetSId 66 +#define ·SigAction 67 +#define ·SetReUid 70 +#define ·SetReGid 71 +#define ·SigSuspend 72 +#define ·SigPending 73 +#define ·SetHostname 74 +#define ·SetRLimit 75 +#define ·GetRUsage 77 +#define ·GetTimeOfDayTime32 78 +#define ·SetTimeOfDayTime32 79 +#define ·GetGroups 80 +#define ·SetGroups 81 +#define ·SymLink 83 +#define ·ReadLink 85 +#define ·UseLib 86 +#define ·SwapOn 87 +#define ·Reboot 88 +#define ·MUnmap 91 +#define ·Truncate 92 +#define ·FTruncate 93 +#define ·FChmod 94 +#define ·FChown 95 +#define ·GetPriority 96 +#define ·SetPriority 97 +#define ·StatFs 99 +#define ·FStatFs 100 +#define ·SysLog 103 +#define ·SetITimer 104 +#define ·GetITimer 105 +#define ·Stat 106 +#define ·LStat 107 +#define ·FStat 108 +#define ·VHangUp 111 +#define ·Wait4 114 +#define ·SwapOff 115 +#define ·SysInfo 116 +#define ·FSync 118 +#define ·SigReturn 119 +#define ·Clone 120 +#define ·SetDomainName 121 +#define ·UName 122 +#define ·AdjTimex 124 +#define ·MProtect 125 +#define ·SigProcMask 126 +#define ·InItModule 128 +#define ·DeleteModule 129 +#define ·QuotaCtl 131 +#define ·GetPGid 132 +#define ·FChdir 133 +#define ·BdFlush 134 +#define ·SysFs 135 +#define ·Personality 136 +#define ·SetFsUid 138 +#define ·SetFsGid 139 +#define ·LlSeek 140 +#define ·GetDents 141 +#define ·NewSelect 142 +#define ·FLock 143 +#define ·MSync 144 +#define ·ReadV 145 +#define ·WriteV 146 +#define ·GetsId 147 +#define ·FdAtAsync 148 +#define ·SysCtl 149 +#define ·MLock 150 +#define ·MUnlock 151 +#define ·MLockAll 152 +#define ·MUnlockAll 153 +#define ·SchedSetParam 154 +#define ·SchedGetParam 155 +#define ·SchedSetScheduler 156 +#define ·SchedGetScheduler 157 +#define ·SchedYield 158 +#define ·SchedGetPriorityMax 159 +#define ·SchedGetPriorityMin 160 +#define ·SchedRrGetInterval 161 +#define ·NanoSleep 162 +#define ·MRemap 163 +#define ·SetResUid 164 +#define ·GetResUid 165 +#define ·Poll 168 +#define ·NfsServCtl 169 +#define ·SetResGid 170 +#define ·GetResGid 171 +#define ·PrCtl 172 +#define ·RtSigReturn 173 +#define ·RtSigAction 174 +#define ·RtSigProcMask 175 +#define ·RtSigPending 176 +#define ·RtSigTimedWait 177 +#define ·RtSigQueueInfo 178 +#define ·RtSigSuspend 179 +#define ·PRead64 180 +#define ·PWrite64 181 +#define ·Chown 182 +#define ·GetCwd 183 +#define ·CapGet 184 +#define ·CapSet 185 +#define ·SiGaltStack 186 +#define ·SendFile 187 +#define ·VFork 190 +#define ·UGetRLimit 191 +#define ·MMap2 192 +#define ·Truncate64 193 +#define ·FTruncate64 194 +#define ·Stat64 195 +#define ·LStat64 196 +#define ·FStat64 197 +#define ·LChown32 198 +#define ·GetUid32 199 +#define ·GetGid32 200 +#define ·GetEUid32 201 +#define ·GetEGid32 202 +#define ·SetReUid32 203 +#define ·SetReGid32 204 +#define ·GetGroups32 205 +#define ·SetGroups32 206 +#define ·FChown32 207 +#define ·SetResUid32 208 +#define ·GetResUid32 209 +#define ·SetResGid32 210 +#define ·GetResGid32 211 +#define ·Chown32 212 +#define ·SetUid32 213 +#define ·SetGid32 214 +#define ·SetFsUid32 215 +#define ·SetFsGid32 216 +#define ·GetDents64 217 +#define ·PivotRoot 218 +#define ·MLoaded 219 +#define ·MAdvise 220 +#define ·FCntl64 221 +#define ·GetTId 224 +#define ·ReadAhead 225 +#define ·SetXAttr 226 +#define ·LSetXAttr 227 +#define ·FSetXAttr 228 +#define ·GetXAttr 229 +#define ·LGetXAttr 230 +#define ·FGetXAttr 231 +#define ·ListXAttr 232 +#define ·LListXAttr 233 +#define ·FListXAttr 234 +#define ·RemoveXAttr 235 +#define ·LRemoveXAttr 236 +#define ·FRemoveXAttr 237 +#define ·TKill 238 +#define ·SendFile64 239 +#define ·Futex 240 +#define ·SchedSetAffinity 241 +#define ·SchedGetAffinity 242 +#define ·IoSetUp 243 +#define ·IoDestroy 244 +#define ·IoGetEvents 245 +#define ·IoSubmit 246 +#define ·IoCancel 247 +#define ·ExitGroup 248 +#define ·LookupDCookie 249 +#define ·EPollCreate 250 +#define ·EPollCtl 251 +#define ·EPollWait 252 +#define ·RemapFilePages 253 +#define ·SetTIdAddress 256 +#define ·TimerCreate 257 +#define ·TimerSetTime32 258 +#define ·TimerGetTime32 259 +#define ·TimerGetOverrun 260 +#define ·TimerDelete 261 +#define ·ClockSetTime32 262 +#define ·ClockGetTime32 263 +#define ·ClockGetResTime32 264 +#define ·ClockNanoSleepTime32 265 +#define ·StatFs64 266 +#define ·FStatFs64 267 +#define ·TgKill 268 +#define ·UTimes 269 +#define ·FAdvise6464 270 +#define ·ArmFAdvise6464 270 +#define ·PciConfigIoBase 271 +#define ·PciConfigRead 272 +#define ·PciConfigWrite 273 +#define ·MQOpen 274 +#define ·MQUnlink 275 +#define ·MQTimedSend 276 +#define ·MQTimedReceive 277 +#define ·MQNotify 278 +#define ·MQGetSetAttr 279 +#define ·WaitId 280 +#define ·Socket 281 +#define ·Bind 282 +#define ·Connect 283 +#define ·Listen 284 +#define ·Accept 285 +#define ·GetSockName 286 +#define ·GetPeerName 287 +#define ·SocketPair 288 +#define ·Send 289 +#define ·SendTo 290 +#define ·Recv 291 +#define ·RecvFrom 292 +#define ·Shutdown 293 +#define ·SetSockOpt 294 +#define ·GetSockOpt 295 +#define ·SendMsg 296 +#define ·RecvMsg 297 +#define ·SemOp 298 +#define ·SemGet 299 +#define ·SemCtl 300 +#define ·MsgSend 301 +#define ·MsgRecv 302 +#define ·MsgGet 303 +#define ·MsgCtl 304 +#define ·ShmAt 305 +#define ·ShmDt 306 +#define ·ShmGet 307 +#define ·ShmCtl 308 +#define ·AddKey 309 +#define ·RequestKey 310 +#define ·KeyCtl 311 +#define ·SemTimeDop 312 +#define ·VServer 313 +#define ·IoPrIoSet 314 +#define ·IoPrIoGet 315 +#define ·INotifyInIt 316 +#define ·INotifyAddWatch 317 +#define ·INotifyRmWatch 318 +#define ·MBind 319 +#define ·GetMemPolicy 320 +#define ·SetMemPolicy 321 +#define ·OpenAt 322 +#define ·MkdirAt 323 +#define ·MkNodAt 324 +#define ·FChownAt 325 +#define ·FuTimesAt 326 +#define ·FStatAt64 327 +#define ·UnlinkAt 328 +#define ·RenameAt 329 +#define ·LinkAt 330 +#define ·SymLinkAt 331 +#define ·ReadLinkAt 332 +#define ·FChmodAt 333 +#define ·FAccessAt 334 +#define ·PSelect6 335 +#define ·PPoll 336 +#define ·UnShare 337 +#define ·SetRobustList 338 +#define ·GetRobustList 339 +#define ·Splice 340 +#define ·SyncFileRange2 341 +#define ·ArmSyncFileRange 341 +#define ·Tee 342 +#define ·VmSplice 343 +#define ·MovePages 344 +#define ·GetCpu 345 +#define ·EPollPWait 346 +#define ·KExecLoad 347 +#define ·UTimeNsAt 348 +#define ·SignalFd 349 +#define ·TimerFdCreate 350 +#define ·EventFd 351 +#define ·FAllocate 352 +#define ·TimerFdSetTime32 353 +#define ·TimerFdGetTime32 354 +#define ·SignalFd4 355 +#define ·EventFd2 356 +#define ·EPollCreate1 357 +#define ·Dup3 358 +#define ·Pipe2 359 +#define ·INotifyInIt1 360 +#define ·PreAdv 361 +#define ·PWriteV 362 +#define ·RtTgSigQueueInfo 363 +#define ·PerFEventOpen 364 +#define ·RecvMMsg 365 +#define ·Accept4 366 +#define ·FaNotifyInIt 367 +#define ·FaNotifyMark 368 +#define ·PrLimit64 369 +#define ·NameToHandleAt 370 +#define ·OpenByHandleAt 371 +#define ·ClockAdjTime 372 +#define ·SyncFs 373 +#define ·SendMMsg 374 +#define ·SetNs 375 +#define ·ProcessVmReadV 376 +#define ·ProcessVmWriteV 377 +#define ·KCmp 378 +#define ·FinItModule 379 +#define ·SchedSetAttr 380 +#define ·SchedGetAttr 381 +#define ·RenameAt2 382 +#define ·SeccoMp 383 +#define ·GetRandom 384 +#define ·MemFdCreate 385 +#define ·BpF 386 +#define ·ExecVeAt 387 +#define ·UserFaultFd 388 +#define ·MemBarrier 389 +#define ·MLock2 390 +#define ·CopyFileRange 391 +#define ·PreAdv2 392 +#define ·PWriteV2 393 +#define ·PKeyMProtect 394 +#define ·PKeyAllOc 395 +#define ·PKeyFree 396 +#define ·StatX 397 +#define ·RSeq 398 +#define ·IoPGetEvents 399 +#define ·MigratePages 400 +#define ·KExecFileLoad 401 +#define ·ClockGetTime64 403 +#define ·ClockSetTime64 404 +#define ·ClockAdjTime64 405 +#define ·ClockGetResTime64 406 +#define ·ClockNanoSleepTime64 407 +#define ·TimerGetTime64 408 +#define ·TimerSetTime64 409 +#define ·TimerFdGetTime64 410 +#define ·TimerFdSetTime64 411 +#define ·UTimeNsAtTime64 412 +#define ·PSelect6Time64 413 +#define ·PPollTime64 414 +#define ·IoPGetEventsTime64 416 +#define ·RecvMMsgTime64 417 +#define ·MQTimedSendTime64 418 +#define ·MQTimedReceiveTime64 419 +#define ·SemTimeDopTime64 420 +#define ·RtSigTimedWaitTime64 421 +#define ·FutexTime64 422 +#define ·SchedRrGetIntervalTime64 423 +#define ·PidFdSendSignal 424 +#define ·IoUringSetUp 425 +#define ·IoUringEnter 426 +#define ·IoUringRegister 427 +#define ·OpenTree 428 +#define ·MoveMount 429 +#define ·FsOpen 430 +#define ·FsConfig 431 +#define ·FsMount 432 +#define ·FsPick 433 +#define ·PidFdOpen 434 +#define ·Clone3 435 +#define ·CloseRange 436 +#define ·OpenAt2 437 +#define ·PidFdGetFd 438 +#define ·FAccessAt2 439 /* assembly routines */ #define asm __asm__ __volatile__ diff --git a/sys/linux/arm64/arch/bits.h b/sys/linux/arm64/arch/bits.h index b09b933..c96db8b 100644 --- a/sys/linux/arm64/arch/bits.h +++ b/sys/linux/arm64/arch/bits.h @@ -6,6 +6,7 @@ #define INT32 int #define INT64 long #define ADDR long +#define REG long /* abi */ #define INTPTR_MIN INT64_MIN diff --git a/sys/linux/arm64/arch/types.h b/sys/linux/arm64/arch/types.h new file mode 100644 index 0000000..65d05f6 --- /dev/null +++ b/sys/linux/arm64/arch/types.h @@ -0,0 +1,28 @@ +#pragma once + +#if 0 +struct sys·Info +{ + uint64 devid; + uint64 inode; + uint mode; + uregister_t nlinks; + + uint uid; + uint gid; + uint64 spdevid; + ulong _pad; + intptr len; + long blklen; + + int __pad; + + int64 nblk; + + sys·TimeNano access; + sys·TimeNano modify; + sys·TimeNano change; + + uint _unused[2]; +}; +#endif diff --git a/sys/linux/arm64/syscall.h b/sys/linux/arm64/syscall.h index efe905e..eb84762 100644 --- a/sys/linux/arm64/syscall.h +++ b/sys/linux/arm64/syscall.h @@ -1,298 +1,298 @@ -#define ·IoSetUp 0 -#define ·IoDestroy 1 -#define ·IoSubmit 2 -#define ·IoCancel 3 -#define ·IoGetEvents 4 -#define ·SetXAttr 5 -#define ·LSetXAttr 6 -#define ·FSetXAttr 7 -#define ·GetXAttr 8 -#define ·LGetXAttr 9 -#define ·FGetXAttr 10 -#define ·ListXAttr 11 -#define ·LListXAttr 12 -#define ·FListXAttr 13 -#define ·RemoveXAttr 14 -#define ·LRemoveXAttr 15 -#define ·FRemoveXAttr 16 -#define ·GetCwd 17 -#define ·LookupDCookie 18 -#define ·EventFd2 19 -#define ·EPollCreate1 20 -#define ·EPollCtl 21 -#define ·EPollPWait 22 -#define ·Dup 23 -#define ·Dup3 24 -#define ·FCntl 25 -#define ·INotifyInIt1 26 -#define ·INotifyAddWatch 27 -#define ·INotifyRmWatch 28 -#define ·IoCtl 29 -#define ·IoPrIoSet 30 -#define ·IoPrIoGet 31 -#define ·FLock 32 -#define ·MkNodAt 33 -#define ·MkdirAt 34 -#define ·UnlinkAt 35 -#define ·SymLinkAt 36 -#define ·LinkAt 37 -#define ·RenameAt 38 -#define ·UMount2 39 -#define ·Mount 40 -#define ·PivotRoot 41 -#define ·NfsServCtl 42 -#define ·StatFs 43 -#define ·FStatFs 44 -#define ·Truncate 45 -#define ·FTruncate 46 -#define ·FAllocate 47 -#define ·FAccessAt 48 -#define ·Chdir 49 -#define ·FChdir 50 -#define ·Chroot 51 -#define ·FChmod 52 -#define ·FChmodAt 53 -#define ·FChownAt 54 -#define ·FChown 55 -#define ·OpenAt 56 -#define ·Close 57 -#define ·VHangUp 58 -#define ·Pipe2 59 -#define ·QuotaCtl 60 -#define ·GetDents64 61 -#define ·LSeek 62 -#define ·Read 63 -#define ·Write 64 -#define ·ReadV 65 -#define ·WriteV 66 -#define ·PRead64 67 -#define ·PWrite64 68 -#define ·PreAdv 69 -#define ·PWriteV 70 -#define ·SendFile 71 -#define ·PSelect6 72 -#define ·PPoll 73 -#define ·SignalFd4 74 -#define ·VmSplice 75 -#define ·Splice 76 -#define ·Tee 77 -#define ·ReadLinkAt 78 -#define ·NewFStatAt 79 -#define ·FStat 80 -#define ·Sync 81 -#define ·FSync 82 -#define ·FdAtAsync 83 -#define ·SyncFileRange 84 -#define ·TimerFdCreate 85 -#define ·TimerFdSetTime 86 -#define ·TimerFdGetTime 87 -#define ·UTimeNsAt 88 -#define ·Acct 89 -#define ·CapGet 90 -#define ·CapSet 91 -#define ·Personality 92 -#define ·Exit 93 -#define ·ExitGroup 94 -#define ·WaitId 95 -#define ·SetTIdAddress 96 -#define ·UnShare 97 -#define ·Futex 98 -#define ·SetRobustList 99 -#define ·GetRobustList 100 -#define ·NanoSleep 101 -#define ·GetITimer 102 -#define ·SetITimer 103 -#define ·KExecLoad 104 -#define ·InItModule 105 -#define ·DeleteModule 106 -#define ·TimerCreate 107 -#define ·TimerGetTime 108 -#define ·TimerGetOverrun 109 -#define ·TimerSetTime 110 -#define ·TimerDelete 111 -#define ·ClockSetTime 112 -#define ·ClockGetTime 113 -#define ·ClockGetRes 114 -#define ·ClockNanoSleep 115 -#define ·SysLog 116 -#define ·PTrace 117 -#define ·SchedSetParam 118 -#define ·SchedSetScheduler 119 -#define ·SchedGetScheduler 120 -#define ·SchedGetParam 121 -#define ·SchedSetAffinity 122 -#define ·SchedGetAffinity 123 -#define ·SchedYield 124 -#define ·SchedGetPriorityMax 125 -#define ·SchedGetPriorityMin 126 -#define ·SchedRrGetInterval 127 -#define ·RestartSysCall 128 -#define ·Kill 129 -#define ·TKill 130 -#define ·TgKill 131 -#define ·SiGaltStack 132 -#define ·RtSigSuspend 133 -#define ·RtSigAction 134 -#define ·RtSigProcMask 135 -#define ·RtSigPending 136 -#define ·RtSigTimedWait 137 -#define ·RtSigQueueInfo 138 -#define ·RtSigReturn 139 -#define ·SetPriority 140 -#define ·GetPriority 141 -#define ·Reboot 142 -#define ·SetReGid 143 -#define ·SetGid 144 -#define ·SetReUid 145 -#define ·SetUid 146 -#define ·SetResUid 147 -#define ·GetResUid 148 -#define ·SetResGid 149 -#define ·GetResGid 150 -#define ·SetFsUid 151 -#define ·SetFsGid 152 -#define ·Times 153 -#define ·SetPGid 154 -#define ·GetPGid 155 -#define ·GetsId 156 -#define ·SetSId 157 -#define ·GetGroups 158 -#define ·SetGroups 159 -#define ·UName 160 -#define ·SetHostname 161 -#define ·SetDomainName 162 -#define ·GetRLimit 163 -#define ·SetRLimit 164 -#define ·GetRUsage 165 -#define ·UMask 166 -#define ·PrCtl 167 -#define ·GetCpu 168 -#define ·GetTimeOfDay 169 -#define ·SetTimeOfDay 170 -#define ·AdjTimex 171 -#define ·GetPid 172 -#define ·GetPPid 173 -#define ·GetUid 174 -#define ·GetEUid 175 -#define ·GetGid 176 -#define ·GetEGid 177 -#define ·GetTId 178 -#define ·SysInfo 179 -#define ·MQOpen 180 -#define ·MQUnlink 181 -#define ·MQTimedSend 182 -#define ·MQTimedReceive 183 -#define ·MQNotify 184 -#define ·MQGetSetAttr 185 -#define ·MsgGet 186 -#define ·MsgCtl 187 -#define ·MsgRecv 188 -#define ·MsgSend 189 -#define ·SemGet 190 -#define ·SemCtl 191 -#define ·SemTimeDop 192 -#define ·SemOp 193 -#define ·ShmGet 194 -#define ·ShmCtl 195 -#define ·ShmAt 196 -#define ·ShmDt 197 -#define ·Socket 198 -#define ·SocketPair 199 -#define ·Bind 200 -#define ·Listen 201 -#define ·Accept 202 -#define ·Connect 203 -#define ·GetSockName 204 -#define ·GetPeerName 205 -#define ·SendTo 206 -#define ·RecvFrom 207 -#define ·SetSockOpt 208 -#define ·GetSockOpt 209 -#define ·Shutdown 210 -#define ·SendMsg 211 -#define ·RecvMsg 212 -#define ·ReadAhead 213 -#define ·Brk 214 -#define ·MUnmap 215 -#define ·MRemap 216 -#define ·AddKey 217 -#define ·RequestKey 218 -#define ·KeyCtl 219 -#define ·Clone 220 -#define ·ExecVe 221 -#define ·MMap 222 -#define ·FAdvise64 223 -#define ·SwapOn 224 -#define ·SwapOff 225 -#define ·MProtect 226 -#define ·MSync 227 -#define ·MLock 228 -#define ·MUnlock 229 -#define ·MLockAll 230 -#define ·MUnlockAll 231 -#define ·MLoaded 232 -#define ·MAdvise 233 -#define ·RemapFilePages 234 -#define ·MBind 235 -#define ·GetMemPolicy 236 -#define ·SetMemPolicy 237 -#define ·MigratePages 238 -#define ·MovePages 239 -#define ·RtTgSigQueueInfo 240 -#define ·PerFEventOpen 241 -#define ·Accept4 242 -#define ·RecvMMsg 243 -#define ·Wait4 260 -#define ·PrLimit64 261 -#define ·FaNotifyInIt 262 -#define ·FaNotifyMark 263 -#define ·NameToHandleAt 264 -#define ·OpenByHandleAt 265 -#define ·ClockAdjTime 266 -#define ·SyncFs 267 -#define ·SetNs 268 -#define ·SendMMsg 269 -#define ·ProcessVmReadV 270 -#define ·ProcessVmWriteV 271 -#define ·KCmp 272 -#define ·FinItModule 273 -#define ·SchedSetAttr 274 -#define ·SchedGetAttr 275 -#define ·RenameAt2 276 -#define ·SeccoMp 277 -#define ·GetRandom 278 -#define ·MemFdCreate 279 -#define ·BpF 280 -#define ·ExecVeAt 281 -#define ·UserFaultFd 282 -#define ·MemBarrier 283 -#define ·MLock2 284 -#define ·CopyFileRange 285 -#define ·PreAdv2 286 -#define ·PWriteV2 287 -#define ·PKeyMProtect 288 -#define ·PKeyAllOc 289 -#define ·PKeyFree 290 -#define ·StatX 291 -#define ·IoPGetEvents 292 -#define ·RSeq 293 -#define ·KExecFileLoad 294 -#define ·PidFdSendSignal 424 -#define ·IoUringSetUp 425 -#define ·IoUringEnter 426 -#define ·IoUringRegister 427 -#define ·OpenTree 428 -#define ·MoveMount 429 -#define ·FsOpen 430 -#define ·FsConfig 431 -#define ·FsMount 432 -#define ·FsPick 433 -#define ·PidFdOpen 434 -#define ·Clone3 435 -#define ·CloseRange 436 -#define ·OpenAt2 437 -#define ·PidFdGetFd 438 -#define ·FAccessAt2 439 +#define ·IoSetUp 0 +#define ·IoDestroy 1 +#define ·IoSubmit 2 +#define ·IoCancel 3 +#define ·IoGetEvents 4 +#define ·SetXAttr 5 +#define ·LSetXAttr 6 +#define ·FSetXAttr 7 +#define ·GetXAttr 8 +#define ·LGetXAttr 9 +#define ·FGetXAttr 10 +#define ·ListXAttr 11 +#define ·LListXAttr 12 +#define ·FListXAttr 13 +#define ·RemoveXAttr 14 +#define ·LRemoveXAttr 15 +#define ·FRemoveXAttr 16 +#define ·GetCwd 17 +#define ·LookupDCookie 18 +#define ·EventFd2 19 +#define ·EPollCreate1 20 +#define ·EPollCtl 21 +#define ·EPollPWait 22 +#define ·Dup 23 +#define ·Dup3 24 +#define ·FCntl 25 +#define ·INotifyInIt1 26 +#define ·INotifyAddWatch 27 +#define ·INotifyRmWatch 28 +#define ·IoCtl 29 +#define ·IoPrIoSet 30 +#define ·IoPrIoGet 31 +#define ·FLock 32 +#define ·MkNodAt 33 +#define ·MkdirAt 34 +#define ·UnlinkAt 35 +#define ·SymLinkAt 36 +#define ·LinkAt 37 +#define ·RenameAt 38 +#define ·UMount2 39 +#define ·Mount 40 +#define ·PivotRoot 41 +#define ·NfsServCtl 42 +#define ·StatFs 43 +#define ·FStatFs 44 +#define ·Truncate 45 +#define ·FTruncate 46 +#define ·FAllocate 47 +#define ·FAccessAt 48 +#define ·Chdir 49 +#define ·FChdir 50 +#define ·Chroot 51 +#define ·FChmod 52 +#define ·FChmodAt 53 +#define ·FChownAt 54 +#define ·FChown 55 +#define ·OpenAt 56 +#define ·Close 57 +#define ·VHangUp 58 +#define ·Pipe2 59 +#define ·QuotaCtl 60 +#define ·GetDents64 61 +#define ·LSeek 62 +#define ·Read 63 +#define ·Write 64 +#define ·ReadV 65 +#define ·WriteV 66 +#define ·PRead64 67 +#define ·PWrite64 68 +#define ·PreAdv 69 +#define ·PWriteV 70 +#define ·SendFile 71 +#define ·PSelect6 72 +#define ·PPoll 73 +#define ·SignalFd4 74 +#define ·VmSplice 75 +#define ·Splice 76 +#define ·Tee 77 +#define ·ReadLinkAt 78 +#define ·NewFStatAt 79 +#define ·FStat 80 +#define ·Sync 81 +#define ·FSync 82 +#define ·FdAtAsync 83 +#define ·SyncFileRange 84 +#define ·TimerFdCreate 85 +#define ·TimerFdSetTime 86 +#define ·TimerFdGetTime 87 +#define ·UTimeNsAt 88 +#define ·Acct 89 +#define ·CapGet 90 +#define ·CapSet 91 +#define ·Personality 92 +#define ·Exit 93 +#define ·ExitGroup 94 +#define ·WaitId 95 +#define ·SetTIdAddress 96 +#define ·UnShare 97 +#define ·Futex 98 +#define ·SetRobustList 99 +#define ·GetRobustList 100 +#define ·NanoSleep 101 +#define ·GetITimer 102 +#define ·SetITimer 103 +#define ·KExecLoad 104 +#define ·InItModule 105 +#define ·DeleteModule 106 +#define ·TimerCreate 107 +#define ·TimerGetTime 108 +#define ·TimerGetOverrun 109 +#define ·TimerSetTime 110 +#define ·TimerDelete 111 +#define ·ClockSetTime 112 +#define ·ClockGetTime 113 +#define ·ClockGetRes 114 +#define ·ClockNanoSleep 115 +#define ·SysLog 116 +#define ·PTrace 117 +#define ·SchedSetParam 118 +#define ·SchedSetScheduler 119 +#define ·SchedGetScheduler 120 +#define ·SchedGetParam 121 +#define ·SchedSetAffinity 122 +#define ·SchedGetAffinity 123 +#define ·SchedYield 124 +#define ·SchedGetPriorityMax 125 +#define ·SchedGetPriorityMin 126 +#define ·SchedRrGetInterval 127 +#define ·RestartSysCall 128 +#define ·Kill 129 +#define ·TKill 130 +#define ·TgKill 131 +#define ·SiGaltStack 132 +#define ·RtSigSuspend 133 +#define ·RtSigAction 134 +#define ·RtSigProcMask 135 +#define ·RtSigPending 136 +#define ·RtSigTimedWait 137 +#define ·RtSigQueueInfo 138 +#define ·RtSigReturn 139 +#define ·SetPriority 140 +#define ·GetPriority 141 +#define ·Reboot 142 +#define ·SetReGid 143 +#define ·SetGid 144 +#define ·SetReUid 145 +#define ·SetUid 146 +#define ·SetResUid 147 +#define ·GetResUid 148 +#define ·SetResGid 149 +#define ·GetResGid 150 +#define ·SetFsUid 151 +#define ·SetFsGid 152 +#define ·Times 153 +#define ·SetPGid 154 +#define ·GetPGid 155 +#define ·GetsId 156 +#define ·SetSId 157 +#define ·GetGroups 158 +#define ·SetGroups 159 +#define ·UName 160 +#define ·SetHostname 161 +#define ·SetDomainName 162 +#define ·GetRLimit 163 +#define ·SetRLimit 164 +#define ·GetRUsage 165 +#define ·UMask 166 +#define ·PrCtl 167 +#define ·GetCpu 168 +#define ·GetTimeOfDay 169 +#define ·SetTimeOfDay 170 +#define ·AdjTimex 171 +#define ·GetPid 172 +#define ·GetPPid 173 +#define ·GetUid 174 +#define ·GetEUid 175 +#define ·GetGid 176 +#define ·GetEGid 177 +#define ·GetTId 178 +#define ·SysInfo 179 +#define ·MQOpen 180 +#define ·MQUnlink 181 +#define ·MQTimedSend 182 +#define ·MQTimedReceive 183 +#define ·MQNotify 184 +#define ·MQGetSetAttr 185 +#define ·MsgGet 186 +#define ·MsgCtl 187 +#define ·MsgRecv 188 +#define ·MsgSend 189 +#define ·SemGet 190 +#define ·SemCtl 191 +#define ·SemTimeDop 192 +#define ·SemOp 193 +#define ·ShmGet 194 +#define ·ShmCtl 195 +#define ·ShmAt 196 +#define ·ShmDt 197 +#define ·Socket 198 +#define ·SocketPair 199 +#define ·Bind 200 +#define ·Listen 201 +#define ·Accept 202 +#define ·Connect 203 +#define ·GetSockName 204 +#define ·GetPeerName 205 +#define ·SendTo 206 +#define ·RecvFrom 207 +#define ·SetSockOpt 208 +#define ·GetSockOpt 209 +#define ·Shutdown 210 +#define ·SendMsg 211 +#define ·RecvMsg 212 +#define ·ReadAhead 213 +#define ·Brk 214 +#define ·MUnmap 215 +#define ·MRemap 216 +#define ·AddKey 217 +#define ·RequestKey 218 +#define ·KeyCtl 219 +#define ·Clone 220 +#define ·ExecVe 221 +#define ·MMap 222 +#define ·FAdvise64 223 +#define ·SwapOn 224 +#define ·SwapOff 225 +#define ·MProtect 226 +#define ·MSync 227 +#define ·MLock 228 +#define ·MUnlock 229 +#define ·MLockAll 230 +#define ·MUnlockAll 231 +#define ·MLoaded 232 +#define ·MAdvise 233 +#define ·RemapFilePages 234 +#define ·MBind 235 +#define ·GetMemPolicy 236 +#define ·SetMemPolicy 237 +#define ·MigratePages 238 +#define ·MovePages 239 +#define ·RtTgSigQueueInfo 240 +#define ·PerFEventOpen 241 +#define ·Accept4 242 +#define ·RecvMMsg 243 +#define ·Wait4 260 +#define ·PrLimit64 261 +#define ·FaNotifyInIt 262 +#define ·FaNotifyMark 263 +#define ·NameToHandleAt 264 +#define ·OpenByHandleAt 265 +#define ·ClockAdjTime 266 +#define ·SyncFs 267 +#define ·SetNs 268 +#define ·SendMMsg 269 +#define ·ProcessVmReadV 270 +#define ·ProcessVmWriteV 271 +#define ·KCmp 272 +#define ·FinItModule 273 +#define ·SchedSetAttr 274 +#define ·SchedGetAttr 275 +#define ·RenameAt2 276 +#define ·SeccoMp 277 +#define ·GetRandom 278 +#define ·MemFdCreate 279 +#define ·BpF 280 +#define ·ExecVeAt 281 +#define ·UserFaultFd 282 +#define ·MemBarrier 283 +#define ·MLock2 284 +#define ·CopyFileRange 285 +#define ·PreAdv2 286 +#define ·PWriteV2 287 +#define ·PKeyMProtect 288 +#define ·PKeyAllOc 289 +#define ·PKeyFree 290 +#define ·StatX 291 +#define ·IoPGetEvents 292 +#define ·RSeq 293 +#define ·KExecFileLoad 294 +#define ·PidFdSendSignal 424 +#define ·IoUringSetUp 425 +#define ·IoUringEnter 426 +#define ·IoUringRegister 427 +#define ·OpenTree 428 +#define ·MoveMount 429 +#define ·FsOpen 430 +#define ·FsConfig 431 +#define ·FsMount 432 +#define ·FsPick 433 +#define ·PidFdOpen 434 +#define ·Clone3 435 +#define ·CloseRange 436 +#define ·OpenAt2 437 +#define ·PidFdGetFd 438 +#define ·FAccessAt2 439 /* assembly routines */ #define asm __asm__ __volatile__ diff --git a/sys/linux/i386/arch/bits.h b/sys/linux/i386/arch/bits.h index 25926c1..b41b43e 100644 --- a/sys/linux/i386/arch/bits.h +++ b/sys/linux/i386/arch/bits.h @@ -6,6 +6,7 @@ #define INT32 int #define INT64 long long #define ADDR int +#define REG int /* abi */ #define PAGESIZE 4096 diff --git a/sys/linux/i386/arch/types.h b/sys/linux/i386/arch/types.h new file mode 100644 index 0000000..be2421a --- /dev/null +++ b/sys/linux/i386/arch/types.h @@ -0,0 +1,34 @@ +#pragma once + +#if 0 +/* + * copied from musl: + * copied from kernel definition, but with padding replaced + * by the corresponding correctly-sized userspace types. + */ + +struct sys·Info +{ + uint64 devid; + int _devpad; + long _inodetrunc; + uint mode; + uregister_t nlinks; + uint uid; + uint gid; + uint64 spdevid; + int _spdevpad; + + intptr len; + long blklen; + int64 nblk; + struct{ + long sec; + long nano; + } _access32, _modify32, _change32; + uint64 inode; + sys·TimeNano access; + sys·TimeNano modify; + sys·TimeNano change; +}; +#endif diff --git a/sys/linux/i386/syscall.h b/sys/linux/i386/syscall.h index 21894bf..5c42f90 100644 --- a/sys/linux/i386/syscall.h +++ b/sys/linux/i386/syscall.h @@ -1,418 +1,418 @@ -#define ·RestartSysCall 0 -#define ·Exit 1 -#define ·Fork 2 -#define ·Read 3 -#define ·Write 4 -#define ·Open 5 -#define ·Close 6 -#define ·WaitPid 7 -#define ·Create 8 -#define ·Link 9 -#define ·Unlink 10 -#define ·ExecVe 11 -#define ·Chdir 12 -#define ·Time 13 -#define ·MkNod 14 -#define ·Chmod 15 -#define ·LChown 16 -#define ·Break 17 -#define ·OldStat 18 -#define ·LSeek 19 -#define ·GetPid 20 -#define ·Mount 21 -#define ·UMount 22 -#define ·SetUid 23 -#define ·GetUid 24 -#define ·STime 25 -#define ·PTrace 26 -#define ·Alarm 27 -#define ·OldFStat 28 -#define ·Pause 29 -#define ·UTime 30 -#define ·STty 31 -#define ·GTty 32 -#define ·Access 33 -#define ·Nice 34 -#define ·FTime 35 -#define ·Sync 36 -#define ·Kill 37 -#define ·Rename 38 -#define ·Mkdir 39 -#define ·Rmdir 40 -#define ·Dup 41 -#define ·Pipe 42 -#define ·Times 43 -#define ·Prof 44 -#define ·Brk 45 -#define ·SetGid 46 -#define ·GetGid 47 -#define ·Signal 48 -#define ·GetEUid 49 -#define ·GetEGid 50 -#define ·Acct 51 -#define ·UMount2 52 -#define ·Lock 53 -#define ·IoCtl 54 -#define ·FCntl 55 -#define ·MPx 56 -#define ·SetPGid 57 -#define ·ULimit 58 -#define ·OldOldUName 59 -#define ·UMask 60 -#define ·Chroot 61 -#define ·UStat 62 -#define ·Dup2 63 -#define ·GetPPid 64 -#define ·GetPGrp 65 -#define ·SetSId 66 -#define ·SigAction 67 -#define ·SGetMask 68 -#define ·SSetMask 69 -#define ·SetReUid 70 -#define ·SetReGid 71 -#define ·SigSuspend 72 -#define ·SigPending 73 -#define ·SetHostname 74 -#define ·SetRLimit 75 -#define ·GetRUsage 77 -#define ·GetTimeOfDayTime32 78 -#define ·SetTimeOfDayTime32 79 -#define ·GetGroups 80 -#define ·SetGroups 81 -#define ·Select 82 -#define ·SymLink 83 -#define ·OldLStat 84 -#define ·ReadLink 85 -#define ·UseLib 86 -#define ·SwapOn 87 -#define ·Reboot 88 -#define ·ReadDir 89 -#define ·MMap 90 -#define ·MUnmap 91 -#define ·Truncate 92 -#define ·FTruncate 93 -#define ·FChmod 94 -#define ·FChown 95 -#define ·GetPriority 96 -#define ·SetPriority 97 -#define ·ProfIl 98 -#define ·StatFs 99 -#define ·FStatFs 100 -#define ·IoPerm 101 -#define ·SocketCall 102 -#define ·SysLog 103 -#define ·SetITimer 104 -#define ·GetITimer 105 -#define ·Stat 106 -#define ·LStat 107 -#define ·FStat 108 -#define ·OldUName 109 -#define ·IoPl 110 -#define ·VHangUp 111 -#define ·Idle 112 -#define ·Vm86Old 113 -#define ·Wait4 114 -#define ·SwapOff 115 -#define ·SysInfo 116 -#define ·Ipc 117 -#define ·FSync 118 -#define ·SigReturn 119 -#define ·Clone 120 -#define ·SetDomainName 121 -#define ·UName 122 -#define ·ModifyLdT 123 -#define ·AdjTimex 124 -#define ·MProtect 125 -#define ·SigProcMask 126 -#define ·CreateModule 127 -#define ·InItModule 128 -#define ·DeleteModule 129 -#define ·GetKernelSyms 130 -#define ·QuotaCtl 131 -#define ·GetPGid 132 -#define ·FChdir 133 -#define ·BdFlush 134 -#define ·SysFs 135 -#define ·Personality 136 -#define ·AFsSysCall 137 -#define ·SetFsUid 138 -#define ·SetFsGid 139 -#define ·LlSeek 140 -#define ·GetDents 141 -#define ·NewSelect 142 -#define ·FLock 143 -#define ·MSync 144 -#define ·ReadV 145 -#define ·WriteV 146 -#define ·GetsId 147 -#define ·FdAtAsync 148 -#define ·SysCtl 149 -#define ·MLock 150 -#define ·MUnlock 151 -#define ·MLockAll 152 -#define ·MUnlockAll 153 -#define ·SchedSetParam 154 -#define ·SchedGetParam 155 -#define ·SchedSetScheduler 156 -#define ·SchedGetScheduler 157 -#define ·SchedYield 158 -#define ·SchedGetPriorityMax 159 -#define ·SchedGetPriorityMin 160 -#define ·SchedRrGetInterval 161 -#define ·NanoSleep 162 -#define ·MRemap 163 -#define ·SetResUid 164 -#define ·GetResUid 165 -#define ·Vm86 166 -#define ·QueryModule 167 -#define ·Poll 168 -#define ·NfsServCtl 169 -#define ·SetResGid 170 -#define ·GetResGid 171 -#define ·PrCtl 172 -#define ·RtSigReturn 173 -#define ·RtSigAction 174 -#define ·RtSigProcMask 175 -#define ·RtSigPending 176 -#define ·RtSigTimedWait 177 -#define ·RtSigQueueInfo 178 -#define ·RtSigSuspend 179 -#define ·PRead64 180 -#define ·PWrite64 181 -#define ·Chown 182 -#define ·GetCwd 183 -#define ·CapGet 184 -#define ·CapSet 185 -#define ·SiGaltStack 186 -#define ·SendFile 187 -#define ·GetPMsg 188 -#define ·PutPMsg 189 -#define ·VFork 190 -#define ·UGetRLimit 191 -#define ·MMap2 192 -#define ·Truncate64 193 -#define ·FTruncate64 194 -#define ·Stat64 195 -#define ·LStat64 196 -#define ·FStat64 197 -#define ·LChown32 198 -#define ·GetUid32 199 -#define ·GetGid32 200 -#define ·GetEUid32 201 -#define ·GetEGid32 202 -#define ·SetReUid32 203 -#define ·SetReGid32 204 -#define ·GetGroups32 205 -#define ·SetGroups32 206 -#define ·FChown32 207 -#define ·SetResUid32 208 -#define ·GetResUid32 209 -#define ·SetResGid32 210 -#define ·GetResGid32 211 -#define ·Chown32 212 -#define ·SetUid32 213 -#define ·SetGid32 214 -#define ·SetFsUid32 215 -#define ·SetFsGid32 216 -#define ·PivotRoot 217 -#define ·MLoaded 218 -#define ·MAdvise 219 -#define ·GetDents64 220 -#define ·FCntl64 221 -#define ·GetTId 224 -#define ·ReadAhead 225 -#define ·SetXAttr 226 -#define ·LSetXAttr 227 -#define ·FSetXAttr 228 -#define ·GetXAttr 229 -#define ·LGetXAttr 230 -#define ·FGetXAttr 231 -#define ·ListXAttr 232 -#define ·LListXAttr 233 -#define ·FListXAttr 234 -#define ·RemoveXAttr 235 -#define ·LRemoveXAttr 236 -#define ·FRemoveXAttr 237 -#define ·TKill 238 -#define ·SendFile64 239 -#define ·Futex 240 -#define ·SchedSetAffinity 241 -#define ·SchedGetAffinity 242 -#define ·SetThreadArea 243 -#define ·GetThreadArea 244 -#define ·IoSetUp 245 -#define ·IoDestroy 246 -#define ·IoGetEvents 247 -#define ·IoSubmit 248 -#define ·IoCancel 249 -#define ·FAdvise64 250 -#define ·ExitGroup 252 -#define ·LookupDCookie 253 -#define ·EPollCreate 254 -#define ·EPollCtl 255 -#define ·EPollWait 256 -#define ·RemapFilePages 257 -#define ·SetTIdAddress 258 -#define ·TimerCreate 259 -#define ·StatFs64 268 -#define ·FStatFs64 269 -#define ·TgKill 270 -#define ·UTimes 271 -#define ·FAdvise6464 272 -#define ·VServer 273 -#define ·MBind 274 -#define ·GetMemPolicy 275 -#define ·SetMemPolicy 276 -#define ·MQOpen 277 -#define ·KExecLoad 283 -#define ·WaitId 284 -#define ·AddKey 286 -#define ·RequestKey 287 -#define ·KeyCtl 288 -#define ·IoPrIoSet 289 -#define ·IoPrIoGet 290 -#define ·INotifyInIt 291 -#define ·INotifyAddWatch 292 -#define ·INotifyRmWatch 293 -#define ·MigratePages 294 -#define ·OpenAt 295 -#define ·MkdirAt 296 -#define ·MkNodAt 297 -#define ·FChownAt 298 -#define ·FuTimesAt 299 -#define ·FStatAt64 300 -#define ·UnlinkAt 301 -#define ·RenameAt 302 -#define ·LinkAt 303 -#define ·SymLinkAt 304 -#define ·ReadLinkAt 305 -#define ·FChmodAt 306 -#define ·FAccessAt 307 -#define ·PSelect6 308 -#define ·PPoll 309 -#define ·UnShare 310 -#define ·SetRobustList 311 -#define ·GetRobustList 312 -#define ·Splice 313 -#define ·SyncFileRange 314 -#define ·Tee 315 -#define ·VmSplice 316 -#define ·MovePages 317 -#define ·GetCpu 318 -#define ·EPollPWait 319 -#define ·UTimeNsAt 320 -#define ·SignalFd 321 -#define ·TimerFdCreate 322 -#define ·EventFd 323 -#define ·FAllocate 324 -#define ·TimerFdSetTime32 325 -#define ·TimerFdGetTime32 326 -#define ·SignalFd4 327 -#define ·EventFd2 328 -#define ·EPollCreate1 329 -#define ·Dup3 330 -#define ·Pipe2 331 -#define ·INotifyInIt1 332 -#define ·PreAdv 333 -#define ·PWriteV 334 -#define ·RtTgSigQueueInfo 335 -#define ·PerFEventOpen 336 -#define ·RecvMMsg 337 -#define ·FaNotifyInIt 338 -#define ·FaNotifyMark 339 -#define ·PrLimit64 340 -#define ·NameToHandleAt 341 -#define ·OpenByHandleAt 342 -#define ·ClockAdjTime 343 -#define ·SyncFs 344 -#define ·SendMMsg 345 -#define ·SetNs 346 -#define ·ProcessVmReadV 347 -#define ·ProcessVmWriteV 348 -#define ·KCmp 349 -#define ·FinItModule 350 -#define ·SchedSetAttr 351 -#define ·SchedGetAttr 352 -#define ·RenameAt2 353 -#define ·SeccoMp 354 -#define ·GetRandom 355 -#define ·MemFdCreate 356 -#define ·BpF 357 -#define ·ExecVeAt 358 -#define ·Socket 359 -#define ·SocketPair 360 -#define ·Bind 361 -#define ·Connect 362 -#define ·Listen 363 -#define ·Accept4 364 -#define ·GetSockOpt 365 -#define ·SetSockOpt 366 -#define ·GetSockName 367 -#define ·GetPeerName 368 -#define ·SendTo 369 -#define ·SendMsg 370 -#define ·RecvFrom 371 -#define ·RecvMsg 372 -#define ·Shutdown 373 -#define ·UserFaultFd 374 -#define ·MemBarrier 375 -#define ·MLock2 376 -#define ·CopyFileRange 377 -#define ·PreAdv2 378 -#define ·PWriteV2 379 -#define ·PKeyMProtect 380 -#define ·PKeyAllOc 381 -#define ·PKeyFree 382 -#define ·StatX 383 -#define ·ArchPrCtl 384 -#define ·IoPGetEvents 385 -#define ·RSeq 386 -#define ·SemGet 393 -#define ·SemCtl 394 -#define ·ShmGet 395 -#define ·ShmCtl 396 -#define ·ShmAt 397 -#define ·ShmDt 398 -#define ·MsgGet 399 -#define ·MsgSend 400 -#define ·MsgRecv 401 -#define ·MsgCtl 402 -#define ·ClockGetTime64 403 -#define ·ClockSetTime64 404 -#define ·ClockAdjTime64 405 -#define ·ClockGetResTime64 406 -#define ·ClockNanoSleepTime64 407 -#define ·TimerGetTime64 408 -#define ·TimerSetTime64 409 -#define ·TimerFdGetTime64 410 -#define ·TimerFdSetTime64 411 -#define ·UTimeNsAtTime64 412 -#define ·PSelect6Time64 413 -#define ·PPollTime64 414 -#define ·IoPGetEventsTime64 416 -#define ·RecvMMsgTime64 417 -#define ·MQTimedSendTime64 418 -#define ·MQTimedReceiveTime64 419 -#define ·SemTimeDopTime64 420 -#define ·RtSigTimedWaitTime64 421 -#define ·FutexTime64 422 -#define ·SchedRrGetIntervalTime64 423 -#define ·PidFdSendSignal 424 -#define ·IoUringSetUp 425 -#define ·IoUringEnter 426 -#define ·IoUringRegister 427 -#define ·OpenTree 428 -#define ·MoveMount 429 -#define ·FsOpen 430 -#define ·FsConfig 431 -#define ·FsMount 432 -#define ·FsPick 433 -#define ·PidFdOpen 434 -#define ·Clone3 435 -#define ·CloseRange 436 -#define ·OpenAt2 437 -#define ·PidFdGetFd 438 -#define ·FAccessAt2 439 +#define ·RestartSysCall 0 +#define ·Exit 1 +#define ·Fork 2 +#define ·Read 3 +#define ·Write 4 +#define ·Open 5 +#define ·Close 6 +#define ·WaitPid 7 +#define ·Create 8 +#define ·Link 9 +#define ·Unlink 10 +#define ·ExecVe 11 +#define ·Chdir 12 +#define ·Time 13 +#define ·MkNod 14 +#define ·Chmod 15 +#define ·LChown 16 +#define ·Break 17 +#define ·OldStat 18 +#define ·LSeek 19 +#define ·GetPid 20 +#define ·Mount 21 +#define ·UMount 22 +#define ·SetUid 23 +#define ·GetUid 24 +#define ·STime 25 +#define ·PTrace 26 +#define ·Alarm 27 +#define ·OldFStat 28 +#define ·Pause 29 +#define ·UTime 30 +#define ·STty 31 +#define ·GTty 32 +#define ·Access 33 +#define ·Nice 34 +#define ·FTime 35 +#define ·Sync 36 +#define ·Kill 37 +#define ·Rename 38 +#define ·Mkdir 39 +#define ·Rmdir 40 +#define ·Dup 41 +#define ·Pipe 42 +#define ·Times 43 +#define ·Prof 44 +#define ·Brk 45 +#define ·SetGid 46 +#define ·GetGid 47 +#define ·Signal 48 +#define ·GetEUid 49 +#define ·GetEGid 50 +#define ·Acct 51 +#define ·UMount2 52 +#define ·Lock 53 +#define ·IoCtl 54 +#define ·FCntl 55 +#define ·MPx 56 +#define ·SetPGid 57 +#define ·ULimit 58 +#define ·OldOldUName 59 +#define ·UMask 60 +#define ·Chroot 61 +#define ·UStat 62 +#define ·Dup2 63 +#define ·GetPPid 64 +#define ·GetPGrp 65 +#define ·SetSId 66 +#define ·SigAction 67 +#define ·SGetMask 68 +#define ·SSetMask 69 +#define ·SetReUid 70 +#define ·SetReGid 71 +#define ·SigSuspend 72 +#define ·SigPending 73 +#define ·SetHostname 74 +#define ·SetRLimit 75 +#define ·GetRUsage 77 +#define ·GetTimeOfDayTime32 78 +#define ·SetTimeOfDayTime32 79 +#define ·GetGroups 80 +#define ·SetGroups 81 +#define ·Select 82 +#define ·SymLink 83 +#define ·OldLStat 84 +#define ·ReadLink 85 +#define ·UseLib 86 +#define ·SwapOn 87 +#define ·Reboot 88 +#define ·ReadDir 89 +#define ·MMap 90 +#define ·MUnmap 91 +#define ·Truncate 92 +#define ·FTruncate 93 +#define ·FChmod 94 +#define ·FChown 95 +#define ·GetPriority 96 +#define ·SetPriority 97 +#define ·ProfIl 98 +#define ·StatFs 99 +#define ·FStatFs 100 +#define ·IoPerm 101 +#define ·SocketCall 102 +#define ·SysLog 103 +#define ·SetITimer 104 +#define ·GetITimer 105 +#define ·Stat 106 +#define ·LStat 107 +#define ·FStat 108 +#define ·OldUName 109 +#define ·IoPl 110 +#define ·VHangUp 111 +#define ·Idle 112 +#define ·Vm86Old 113 +#define ·Wait4 114 +#define ·SwapOff 115 +#define ·SysInfo 116 +#define ·Ipc 117 +#define ·FSync 118 +#define ·SigReturn 119 +#define ·Clone 120 +#define ·SetDomainName 121 +#define ·UName 122 +#define ·ModifyLdT 123 +#define ·AdjTimex 124 +#define ·MProtect 125 +#define ·SigProcMask 126 +#define ·CreateModule 127 +#define ·InItModule 128 +#define ·DeleteModule 129 +#define ·GetKernelSyms 130 +#define ·QuotaCtl 131 +#define ·GetPGid 132 +#define ·FChdir 133 +#define ·BdFlush 134 +#define ·SysFs 135 +#define ·Personality 136 +#define ·AFsSysCall 137 +#define ·SetFsUid 138 +#define ·SetFsGid 139 +#define ·LlSeek 140 +#define ·GetDents 141 +#define ·NewSelect 142 +#define ·FLock 143 +#define ·MSync 144 +#define ·ReadV 145 +#define ·WriteV 146 +#define ·GetsId 147 +#define ·FdAtAsync 148 +#define ·SysCtl 149 +#define ·MLock 150 +#define ·MUnlock 151 +#define ·MLockAll 152 +#define ·MUnlockAll 153 +#define ·SchedSetParam 154 +#define ·SchedGetParam 155 +#define ·SchedSetScheduler 156 +#define ·SchedGetScheduler 157 +#define ·SchedYield 158 +#define ·SchedGetPriorityMax 159 +#define ·SchedGetPriorityMin 160 +#define ·SchedRrGetInterval 161 +#define ·NanoSleep 162 +#define ·MRemap 163 +#define ·SetResUid 164 +#define ·GetResUid 165 +#define ·Vm86 166 +#define ·QueryModule 167 +#define ·Poll 168 +#define ·NfsServCtl 169 +#define ·SetResGid 170 +#define ·GetResGid 171 +#define ·PrCtl 172 +#define ·RtSigReturn 173 +#define ·RtSigAction 174 +#define ·RtSigProcMask 175 +#define ·RtSigPending 176 +#define ·RtSigTimedWait 177 +#define ·RtSigQueueInfo 178 +#define ·RtSigSuspend 179 +#define ·PRead64 180 +#define ·PWrite64 181 +#define ·Chown 182 +#define ·GetCwd 183 +#define ·CapGet 184 +#define ·CapSet 185 +#define ·SiGaltStack 186 +#define ·SendFile 187 +#define ·GetPMsg 188 +#define ·PutPMsg 189 +#define ·VFork 190 +#define ·UGetRLimit 191 +#define ·MMap2 192 +#define ·Truncate64 193 +#define ·FTruncate64 194 +#define ·Stat64 195 +#define ·LStat64 196 +#define ·FStat64 197 +#define ·LChown32 198 +#define ·GetUid32 199 +#define ·GetGid32 200 +#define ·GetEUid32 201 +#define ·GetEGid32 202 +#define ·SetReUid32 203 +#define ·SetReGid32 204 +#define ·GetGroups32 205 +#define ·SetGroups32 206 +#define ·FChown32 207 +#define ·SetResUid32 208 +#define ·GetResUid32 209 +#define ·SetResGid32 210 +#define ·GetResGid32 211 +#define ·Chown32 212 +#define ·SetUid32 213 +#define ·SetGid32 214 +#define ·SetFsUid32 215 +#define ·SetFsGid32 216 +#define ·PivotRoot 217 +#define ·MLoaded 218 +#define ·MAdvise 219 +#define ·GetDents64 220 +#define ·FCntl64 221 +#define ·GetTId 224 +#define ·ReadAhead 225 +#define ·SetXAttr 226 +#define ·LSetXAttr 227 +#define ·FSetXAttr 228 +#define ·GetXAttr 229 +#define ·LGetXAttr 230 +#define ·FGetXAttr 231 +#define ·ListXAttr 232 +#define ·LListXAttr 233 +#define ·FListXAttr 234 +#define ·RemoveXAttr 235 +#define ·LRemoveXAttr 236 +#define ·FRemoveXAttr 237 +#define ·TKill 238 +#define ·SendFile64 239 +#define ·Futex 240 +#define ·SchedSetAffinity 241 +#define ·SchedGetAffinity 242 +#define ·SetThreadArea 243 +#define ·GetThreadArea 244 +#define ·IoSetUp 245 +#define ·IoDestroy 246 +#define ·IoGetEvents 247 +#define ·IoSubmit 248 +#define ·IoCancel 249 +#define ·FAdvise64 250 +#define ·ExitGroup 252 +#define ·LookupDCookie 253 +#define ·EPollCreate 254 +#define ·EPollCtl 255 +#define ·EPollWait 256 +#define ·RemapFilePages 257 +#define ·SetTIdAddress 258 +#define ·TimerCreate 259 +#define ·StatFs64 268 +#define ·FStatFs64 269 +#define ·TgKill 270 +#define ·UTimes 271 +#define ·FAdvise6464 272 +#define ·VServer 273 +#define ·MBind 274 +#define ·GetMemPolicy 275 +#define ·SetMemPolicy 276 +#define ·MQOpen 277 +#define ·KExecLoad 283 +#define ·WaitId 284 +#define ·AddKey 286 +#define ·RequestKey 287 +#define ·KeyCtl 288 +#define ·IoPrIoSet 289 +#define ·IoPrIoGet 290 +#define ·INotifyInIt 291 +#define ·INotifyAddWatch 292 +#define ·INotifyRmWatch 293 +#define ·MigratePages 294 +#define ·OpenAt 295 +#define ·MkdirAt 296 +#define ·MkNodAt 297 +#define ·FChownAt 298 +#define ·FuTimesAt 299 +#define ·FStatAt64 300 +#define ·UnlinkAt 301 +#define ·RenameAt 302 +#define ·LinkAt 303 +#define ·SymLinkAt 304 +#define ·ReadLinkAt 305 +#define ·FChmodAt 306 +#define ·FAccessAt 307 +#define ·PSelect6 308 +#define ·PPoll 309 +#define ·UnShare 310 +#define ·SetRobustList 311 +#define ·GetRobustList 312 +#define ·Splice 313 +#define ·SyncFileRange 314 +#define ·Tee 315 +#define ·VmSplice 316 +#define ·MovePages 317 +#define ·GetCpu 318 +#define ·EPollPWait 319 +#define ·UTimeNsAt 320 +#define ·SignalFd 321 +#define ·TimerFdCreate 322 +#define ·EventFd 323 +#define ·FAllocate 324 +#define ·TimerFdSetTime32 325 +#define ·TimerFdGetTime32 326 +#define ·SignalFd4 327 +#define ·EventFd2 328 +#define ·EPollCreate1 329 +#define ·Dup3 330 +#define ·Pipe2 331 +#define ·INotifyInIt1 332 +#define ·PreAdv 333 +#define ·PWriteV 334 +#define ·RtTgSigQueueInfo 335 +#define ·PerFEventOpen 336 +#define ·RecvMMsg 337 +#define ·FaNotifyInIt 338 +#define ·FaNotifyMark 339 +#define ·PrLimit64 340 +#define ·NameToHandleAt 341 +#define ·OpenByHandleAt 342 +#define ·ClockAdjTime 343 +#define ·SyncFs 344 +#define ·SendMMsg 345 +#define ·SetNs 346 +#define ·ProcessVmReadV 347 +#define ·ProcessVmWriteV 348 +#define ·KCmp 349 +#define ·FinItModule 350 +#define ·SchedSetAttr 351 +#define ·SchedGetAttr 352 +#define ·RenameAt2 353 +#define ·SeccoMp 354 +#define ·GetRandom 355 +#define ·MemFdCreate 356 +#define ·BpF 357 +#define ·ExecVeAt 358 +#define ·Socket 359 +#define ·SocketPair 360 +#define ·Bind 361 +#define ·Connect 362 +#define ·Listen 363 +#define ·Accept4 364 +#define ·GetSockOpt 365 +#define ·SetSockOpt 366 +#define ·GetSockName 367 +#define ·GetPeerName 368 +#define ·SendTo 369 +#define ·SendMsg 370 +#define ·RecvFrom 371 +#define ·RecvMsg 372 +#define ·Shutdown 373 +#define ·UserFaultFd 374 +#define ·MemBarrier 375 +#define ·MLock2 376 +#define ·CopyFileRange 377 +#define ·PreAdv2 378 +#define ·PWriteV2 379 +#define ·PKeyMProtect 380 +#define ·PKeyAllOc 381 +#define ·PKeyFree 382 +#define ·StatX 383 +#define ·ArchPrCtl 384 +#define ·IoPGetEvents 385 +#define ·RSeq 386 +#define ·SemGet 393 +#define ·SemCtl 394 +#define ·ShmGet 395 +#define ·ShmCtl 396 +#define ·ShmAt 397 +#define ·ShmDt 398 +#define ·MsgGet 399 +#define ·MsgSend 400 +#define ·MsgRecv 401 +#define ·MsgCtl 402 +#define ·ClockGetTime64 403 +#define ·ClockSetTime64 404 +#define ·ClockAdjTime64 405 +#define ·ClockGetResTime64 406 +#define ·ClockNanoSleepTime64 407 +#define ·TimerGetTime64 408 +#define ·TimerSetTime64 409 +#define ·TimerFdGetTime64 410 +#define ·TimerFdSetTime64 411 +#define ·UTimeNsAtTime64 412 +#define ·PSelect6Time64 413 +#define ·PPollTime64 414 +#define ·IoPGetEventsTime64 416 +#define ·RecvMMsgTime64 417 +#define ·MQTimedSendTime64 418 +#define ·MQTimedReceiveTime64 419 +#define ·SemTimeDopTime64 420 +#define ·RtSigTimedWaitTime64 421 +#define ·FutexTime64 422 +#define ·SchedRrGetIntervalTime64 423 +#define ·PidFdSendSignal 424 +#define ·IoUringSetUp 425 +#define ·IoUringEnter 426 +#define ·IoUringRegister 427 +#define ·OpenTree 428 +#define ·MoveMount 429 +#define ·FsOpen 430 +#define ·FsConfig 431 +#define ·FsMount 432 +#define ·FsPick 433 +#define ·PidFdOpen 434 +#define ·Clone3 435 +#define ·CloseRange 436 +#define ·OpenAt2 437 +#define ·PidFdGetFd 438 +#define ·FAccessAt2 439 /* assembly routines */ #define asm __asm__ __volatile__ diff --git a/sys/linux/port/arch/constants.h b/sys/linux/port/arch/constants.h deleted file mode 100644 index b8d3878..0000000 --- a/sys/linux/port/arch/constants.h +++ /dev/null @@ -1,45 +0,0 @@ -#pragma once - -/* open */ -#define sys·OCreate 0x40u -#define sys·ONoTTY 0x100u -#define sys·OTrunc 0x200u -#define sys·OAppend 0x400u -#define sys·ONoBlock 0x800u -#define sys·OSync 0x1000u -#define sys·OAsync 0x2000u -#define sys·OLargeFile 0x8000u -#define sys·ODirectory 0x10000u -#define sys·ONoFollow 0x20000u -#define sys·OTmpFile 0x410000u - -/* mmap */ -#define sys·ProtNone 0 -#define sys·ProtRead 1 -#define sys·ProtWrite 2 -#define sys·ProtExec 4 -#define sys·ProtGrowsDown 0x01000000 -#define sys·ProtGrowsUp 0x02000000 - -#define sys·MapFile 0 -#define sys·MapShared 0x01 -#define sys·MapPrivate 0x02 -#define sys·MapSharedValidate 0x03 -#define sys·MapType 0x0f -#define sys·MapFixed 0x10 -#define sys·MapAnon 0x20 -#define sys·MapNoReserve 0x4000 -#define sys·MapGrowsDown 0x0100 -#define sys·MapDenyWrite 0x0800 -#define sys·MapExecutable 0x1000 -#define sys·MapLocked 0x2000 -#define sys·MapPopulate 0x8000 -#define sys·MapNonBlock 0x10000 -#define sys·MapStack 0x20000 -#define sys·MapHugetlb 0x40000 -#define sys·MapSync 0x80000 -#define sys·MapFixedNoReplace 0x100000 - -#define sys·RemapCanMove 1 -#define sys·RemapFixed 2 -#define sys·RemapNoUnmap 4 diff --git a/sys/linux/port/arch/errno.h b/sys/linux/port/arch/errno.h deleted file mode 100644 index 9d7e66e..0000000 --- a/sys/linux/port/arch/errno.h +++ /dev/null @@ -1,134 +0,0 @@ -#define sys·ErrorNotPermit 1 -#define sys·ErrorNoEntry 2 -#define sys·ErrorNoProc 3 -#define sys·ErrorInterrupt 4 -#define sys·ErrorIO 5 -#define sys·ErrorNoDevAddr 6 -#define sys·ErrorArgLen 7 -#define sys·ErrorExecFmt 8 -#define sys·ErrorBadFd 9 -#define sys·ErrorNoChild 10 -#define sys·ErrorAgain 11 -#define sys·ErrorNoMemory 12 -#define sys·ErrorAccess 13 -#define sys·ErrorBadAddr 14 -#define sys·ErrorNotBlk 15 -#define sys·ErrorBusy 16 -#define sys·ErrorExists 17 -#define sys·ErrorExDevice 18 -#define sys·ErrorNoDevice 19 -#define sys·ErrorNotDir 20 -#define sys·ErrorIsDir 21 -#define sys·ErrorBadArg 22 -#define sys·ErrorNoFiles 23 -#define sys·ErrorNoFd 24 -#define sys·ErrorNotTTY 25 -#define sys·ErrorTxtBusy 26 -#define sys·ErrorBigFile 27 -#define sys·ErrorNoSpace 28 -#define sys·ErrorNoSeek 29 -#define sys·ErrorReadOnly 30 -#define sys·ErrorNoLink 31 -#define sys·ErrorBadPipe 32 -#define sys·ErrorBadDomain 33 -#define sys·ErrorBadResult 34 -#define sys·ErrorDeadlock 35 -#define sys·ErrorNameLen 36 -#define sys·ErrorNoLock 37 -#define sys·ErrorNoSyscall 38 -#define sys·ErrorNotEmptyDir 39 -#define sys·ErrorLinkLoop 40 -#define sys·ErrorBlocks sys·ErrorAgain -#define sys·ErrorNoMsg 42 -#define sys·ErrorNoIdent 43 -#define sys·ErrorBadChannel 44 -#define sys·ErrorLvl2NoSync 45 -#define sys·ErrorLvl3Halt 46 -#define sys·ErrorLvl3Reset 47 -#define sys·ErrorLongChannel 48 -#define sys·ErrorNoDriver 49 -#define sys·ErrorNoCSI 50 -#define sys·ErrorLvl2Halt 51 -#define sys·ErrorBadExchange 52 -#define sys·ErrorBadRequest 53 -#define sys·ErrorFullExchange 54 -#define sys·ErrorNoAnode 55 -#define sys·ErrorBadRequestCode 56 -#define sys·ErrorBadSlot 57 -#define sys·ErrorDeadlock2 sys·ErrorDeadlock -#define sys·ErrorBadFont 59 -#define sys·ErrorNoStr 60 -#define sys·ErrorNoData 61 -#define sys·ErrorTimeout 62 -#define sys·ErrorNoStream 63 -#define sys·ErrorNoNet 64 -#define sys·ErrorNoPkg 65 -#define sys·ErrorIsRemote 66 -#define sys·ErrorDeadLink 67 -#define sys·ErrorAdv 68 -#define sys·ErrorSrmnt 69 -#define sys·ErrorCommunicate 70 -#define sys·ErrorProtocol 71 -#define sys·ErrorMultihop 72 -#define sys·ErrorDotDot 73 -#define sys·ErrorBadMsg 74 -#define sys·ErrorOverflow 75 -#define sys·ErrorNotUnique 76 -#define sys·ErrorBadFdState 77 -#define sys·ErrorNewAddress 78 -#define sys·ErrorShlibAccess 79 -#define sys·ErrorBadShlib 80 -#define sys·ErrorBadLibCode 81 -#define sys·ErrorShlibLen 82 -#define sys·ErrorSlibExec 83 -#define sys·ErrorBadWideChar 84 -#define sys·ErrorRestart 85 -#define sys·ErrorStreamPipe 86 -#define sys·ErrorUserLen 87 -#define sys·ErrorNotSocket 88 -#define sys·ErrorNeedDstAddr 89 -#define sys·ErrorMsgLen 90 -#define sys·ErrorBadProtocol 91 -#define sys·ErrorNoProtocol 92 -#define sys·ErrorNoProtocolSupport 93 -#define sys·ErrorNoSocketSupport 94 -#define sys·ErrorProtocolSupport 95 -#define sys·ErrorNoSupport sys·ErrorProtocolSupport -#define sys·ErrorNoPFSupport 96 -#define sys·ErrorNoAFSupport 97 -#define sys·ErrorAddrInUse 98 -#define sys·ErrorAddrNotAvail 99 -#define sys·ErrorNetDown 100 -#define sys·ErrorNetHang 101 -#define sys·ErrorNetReset 102 -#define sys·ErrorAbortConnect 103 -#define sys·ErrorResetConnect 104 -#define sys·ErrorNoBuffer 105 -#define sys·ErrorIsConnect 106 -#define sys·ErrorNotConnect 107 -#define sys·ErrorShutdown 108 -#define sys·ErrorRefsLen 109 -#define sys·ErrorTimedOut 110 -#define sys·ErrorRefuseConnect 111 -#define sys·ErrorHostDown 112 -#define sys·ErrorHostHang 113 -#define sys·ErrorAlreadyConnect 114 -#define sys·ErrorInProgress 115 -#define sys·ErrorStale 116 -#define sys·ErrorNeedClean 117 -#define sys·ErrorNotNamed 118 -#define sys·ErrorNotAvail 119 -#define sys·ErrorIsNamed 120 -#define sys·ErrorRemoteIO 121 -#define sys·ErrorDiskQuota 122 -#define sys·ErrorNoMedium 123 -#define sys·ErrorBadMedium 124 -#define sys·ErrorCancel 125 -#define sys·ErrorNoKey 126 -#define sys·ErrorExpireKey 127 -#define sys·ErrorRevokeKey 128 -#define sys·ErrorRejectKey 129 -#define sys·ErrorOwnerDie 130 -#define sys·ErrorNoRecover 131 -#define sys·ErrorRFKill 132 -#define sys·ErrorHWPoison 133 diff --git a/sys/linux/port/arch/types.h b/sys/linux/port/arch/types.h deleted file mode 100644 index 014e4cb..0000000 --- a/sys/linux/port/arch/types.h +++ /dev/null @@ -1,35 +0,0 @@ -#pragma once - -// XXX: os vs sys prefix... - -typedef struct os·Directory os·Directory; -typedef struct os·DirEntry os·DirEntry; - -struct os·Directory -{ - intptr off; - int fd; - int pad; - int pos, end; - /* buf needs fall on (off_t) 8 byte alignment */ - char buf[2048]; -}; - -struct os·DirEntry -{ - ulong ino; /* inode number */ - ulong off; /* offset to next entry (from start of directory */ - ushort len; /* length of entry (in bytes) */ - uchar type; /* filetype */ - char name[]; /* filename */ -}; - -/* types of DirEntry (last byte) */ -#define os·EntryUnknown 0 -#define os·EntryFifo 1 -#define os·EntryChar 2 -#define os·EntryDir 4 -#define os·EntryBlock 6 -#define os·EntryFile 8 -#define os·EntryLink 10 -#define os·EntrySocket 12 diff --git a/sys/linux/port/os/constants.h b/sys/linux/port/os/constants.h new file mode 100644 index 0000000..8abf1fa --- /dev/null +++ b/sys/linux/port/os/constants.h @@ -0,0 +1,98 @@ +#pragma once + +/* open */ +#define sys·OCreate 0x40u +#define sys·ONoTTY 0x100u +#define sys·OTrunc 0x200u +#define sys·OAppend 0x400u +#define sys·ONoBlock 0x800u +#define sys·OSync 0x1000u +#define sys·OAsync 0x2000u +#define sys·OLargeFile 0x8000u +#define sys·ODirectory 0x10000u +#define sys·ONoFollow 0x20000u +#define sys·OTmpFile 0x410000u + +/* device modes */ +#define sys·ModeFile 0170000 +#define sys·ModeDir 0040000 +#define sys·ModeChar 0020000 +#define sys·ModeBlock 0060000 +#define sys·ModeBasic 0100000 +#define sys·ModeFifo 0010000 +#define sys·ModeLink 0120000 +#define sys·ModeSocket 0140000 + +/* mmap */ +#define sys·ProtNone 0 +#define sys·ProtRead 1 +#define sys·ProtWrite 2 +#define sys·ProtExec 4 +#define sys·ProtGrowsDown 0x01000000 +#define sys·ProtGrowsUp 0x02000000 + +#define sys·MapFile 0 +#define sys·MapShared 0x01 +#define sys·MapPrivate 0x02 +#define sys·MapSharedValidate 0x03 +#define sys·MapType 0x0f +#define sys·MapFixed 0x10 +#define sys·MapAnon 0x20 +#define sys·MapNoReserve 0x4000 +#define sys·MapGrowsDown 0x0100 +#define sys·MapDenyWrite 0x0800 +#define sys·MapExecutable 0x1000 +#define sys·MapLocked 0x2000 +#define sys·MapPopulate 0x8000 +#define sys·MapNonBlock 0x10000 +#define sys·MapStack 0x20000 +#define sys·MapHugetlb 0x40000 +#define sys·MapSync 0x80000 +#define sys·MapFixedNoReplace 0x100000 + +#define sys·RemapCanMove 1 +#define sys·RemapFixed 2 +#define sys·RemapNoUnmap 4 + +/* types of DirEntry (last byte) */ +#define sys·EntryUnknown 0 +#define sys·EntryFifo 1 +#define sys·EntryChar 2 +#define sys·EntryDir 4 +#define sys·EntryBlock 6 +#define sys·EntryFile 8 +#define sys·EntryLink 10 +#define sys·EntrySocket 12 + +/* at flags */ +#define sys·FdCwd (-100) + +#define sys·AtNoFollowLink 0x100 +#define sys·AtRemoveDir 0x200 +#define sys·AtFollowLink 0x400 +#define sys·AtEmptyPath 0x1000 + +/* stat(x) */ + +// flags +#define sys·InfoSyncLegacy 0x0000 +#define sys·InfoSyncType 0x6000 +#define sys·InfoForceSync 0x2000 +#define sys·InfoNoSync 0x4000 + +// masks +#define sys·InfoType 0x00000001u /* want/got stx_mode & s_ifmt */ +#define sys·InfoMode 0x00000002u /* want/got stx_mode & ~s_ifmt */ +#define sys·InfoNLink 0x00000004u /* want/got stx_nlink */ +#define sys·InfoUid 0x00000008u /* want/got stx_uid */ +#define sys·InfoGid 0x00000010u /* want/got stx_gid */ +#define sys·InfoAccessTime 0x00000020u /* want/got stx_atime */ +#define sys·InfoModifyTime 0x00000040u /* want/got stx_mtime */ +#define sys·InfoChangeTime 0x00000080u /* want/got stx_ctime */ +#define sys·InfoInode 0x00000100u /* want/got stx_ino */ +#define sys·InfoSize 0x00000200u /* want/got stx_size */ +#define sys·InfoBlocks 0x00000400u /* want/got stx_blocks */ +#define sys·InfoBasic 0x000007ffu /* the stuff in the normal stat struct*/ +#define sys·InfoCreateTime 0x00000800u /* want/got stx_btime */ +#define sys·InfoMntId 0x00001000u /* got stx_mnt_id */ +#define sys·InfoAll (sys·InfoBasic|sys·InfoCreateTime) diff --git a/sys/linux/port/os/errno.h b/sys/linux/port/os/errno.h new file mode 100644 index 0000000..9d7e66e --- /dev/null +++ b/sys/linux/port/os/errno.h @@ -0,0 +1,134 @@ +#define sys·ErrorNotPermit 1 +#define sys·ErrorNoEntry 2 +#define sys·ErrorNoProc 3 +#define sys·ErrorInterrupt 4 +#define sys·ErrorIO 5 +#define sys·ErrorNoDevAddr 6 +#define sys·ErrorArgLen 7 +#define sys·ErrorExecFmt 8 +#define sys·ErrorBadFd 9 +#define sys·ErrorNoChild 10 +#define sys·ErrorAgain 11 +#define sys·ErrorNoMemory 12 +#define sys·ErrorAccess 13 +#define sys·ErrorBadAddr 14 +#define sys·ErrorNotBlk 15 +#define sys·ErrorBusy 16 +#define sys·ErrorExists 17 +#define sys·ErrorExDevice 18 +#define sys·ErrorNoDevice 19 +#define sys·ErrorNotDir 20 +#define sys·ErrorIsDir 21 +#define sys·ErrorBadArg 22 +#define sys·ErrorNoFiles 23 +#define sys·ErrorNoFd 24 +#define sys·ErrorNotTTY 25 +#define sys·ErrorTxtBusy 26 +#define sys·ErrorBigFile 27 +#define sys·ErrorNoSpace 28 +#define sys·ErrorNoSeek 29 +#define sys·ErrorReadOnly 30 +#define sys·ErrorNoLink 31 +#define sys·ErrorBadPipe 32 +#define sys·ErrorBadDomain 33 +#define sys·ErrorBadResult 34 +#define sys·ErrorDeadlock 35 +#define sys·ErrorNameLen 36 +#define sys·ErrorNoLock 37 +#define sys·ErrorNoSyscall 38 +#define sys·ErrorNotEmptyDir 39 +#define sys·ErrorLinkLoop 40 +#define sys·ErrorBlocks sys·ErrorAgain +#define sys·ErrorNoMsg 42 +#define sys·ErrorNoIdent 43 +#define sys·ErrorBadChannel 44 +#define sys·ErrorLvl2NoSync 45 +#define sys·ErrorLvl3Halt 46 +#define sys·ErrorLvl3Reset 47 +#define sys·ErrorLongChannel 48 +#define sys·ErrorNoDriver 49 +#define sys·ErrorNoCSI 50 +#define sys·ErrorLvl2Halt 51 +#define sys·ErrorBadExchange 52 +#define sys·ErrorBadRequest 53 +#define sys·ErrorFullExchange 54 +#define sys·ErrorNoAnode 55 +#define sys·ErrorBadRequestCode 56 +#define sys·ErrorBadSlot 57 +#define sys·ErrorDeadlock2 sys·ErrorDeadlock +#define sys·ErrorBadFont 59 +#define sys·ErrorNoStr 60 +#define sys·ErrorNoData 61 +#define sys·ErrorTimeout 62 +#define sys·ErrorNoStream 63 +#define sys·ErrorNoNet 64 +#define sys·ErrorNoPkg 65 +#define sys·ErrorIsRemote 66 +#define sys·ErrorDeadLink 67 +#define sys·ErrorAdv 68 +#define sys·ErrorSrmnt 69 +#define sys·ErrorCommunicate 70 +#define sys·ErrorProtocol 71 +#define sys·ErrorMultihop 72 +#define sys·ErrorDotDot 73 +#define sys·ErrorBadMsg 74 +#define sys·ErrorOverflow 75 +#define sys·ErrorNotUnique 76 +#define sys·ErrorBadFdState 77 +#define sys·ErrorNewAddress 78 +#define sys·ErrorShlibAccess 79 +#define sys·ErrorBadShlib 80 +#define sys·ErrorBadLibCode 81 +#define sys·ErrorShlibLen 82 +#define sys·ErrorSlibExec 83 +#define sys·ErrorBadWideChar 84 +#define sys·ErrorRestart 85 +#define sys·ErrorStreamPipe 86 +#define sys·ErrorUserLen 87 +#define sys·ErrorNotSocket 88 +#define sys·ErrorNeedDstAddr 89 +#define sys·ErrorMsgLen 90 +#define sys·ErrorBadProtocol 91 +#define sys·ErrorNoProtocol 92 +#define sys·ErrorNoProtocolSupport 93 +#define sys·ErrorNoSocketSupport 94 +#define sys·ErrorProtocolSupport 95 +#define sys·ErrorNoSupport sys·ErrorProtocolSupport +#define sys·ErrorNoPFSupport 96 +#define sys·ErrorNoAFSupport 97 +#define sys·ErrorAddrInUse 98 +#define sys·ErrorAddrNotAvail 99 +#define sys·ErrorNetDown 100 +#define sys·ErrorNetHang 101 +#define sys·ErrorNetReset 102 +#define sys·ErrorAbortConnect 103 +#define sys·ErrorResetConnect 104 +#define sys·ErrorNoBuffer 105 +#define sys·ErrorIsConnect 106 +#define sys·ErrorNotConnect 107 +#define sys·ErrorShutdown 108 +#define sys·ErrorRefsLen 109 +#define sys·ErrorTimedOut 110 +#define sys·ErrorRefuseConnect 111 +#define sys·ErrorHostDown 112 +#define sys·ErrorHostHang 113 +#define sys·ErrorAlreadyConnect 114 +#define sys·ErrorInProgress 115 +#define sys·ErrorStale 116 +#define sys·ErrorNeedClean 117 +#define sys·ErrorNotNamed 118 +#define sys·ErrorNotAvail 119 +#define sys·ErrorIsNamed 120 +#define sys·ErrorRemoteIO 121 +#define sys·ErrorDiskQuota 122 +#define sys·ErrorNoMedium 123 +#define sys·ErrorBadMedium 124 +#define sys·ErrorCancel 125 +#define sys·ErrorNoKey 126 +#define sys·ErrorExpireKey 127 +#define sys·ErrorRevokeKey 128 +#define sys·ErrorRejectKey 129 +#define sys·ErrorOwnerDie 130 +#define sys·ErrorNoRecover 131 +#define sys·ErrorRFKill 132 +#define sys·ErrorHWPoison 133 diff --git a/sys/linux/port/os/types.h b/sys/linux/port/os/types.h new file mode 100644 index 0000000..6e5c0c6 --- /dev/null +++ b/sys/linux/port/os/types.h @@ -0,0 +1,72 @@ +#pragma once + +/* + * time + */ + +/* timeval */ +typedef struct sys·TimeStamp sys·TimeStamp; + +struct sys·TimeStamp +{ + int64 sec; + uint32 nano; + int32 femto; +}; + +/* + * files + */ + +typedef struct sys·Info sys·Info; +typedef struct sys·Directory sys·Directory; +typedef struct sys·DirEntry sys·DirEntry; + +/* statx */ +struct sys·Info +{ + uint32 mask; + uint32 blksize; + uint64 attr; + uint32 nlink; + uint32 uid; + uint32 gid; + uint16 mode; + uint16 _pad; + uint64 inode; + uint64 size; + uint64 nblk; + uint64 attrmask; + + sys·TimeStamp access, create, status, modify; + + struct{ + uint32 major; + uint32 minor; + }spdev; + struct{ + uint32 major; + uint32 minor; + }device; + + uint64 spare[14]; +}; + +struct sys·Directory +{ + intptr off; + int fd; + int pad; + int pos, end; + /* buf needs fall on (off_t) 8 byte alignment */ + char buf[2048]; +}; + +struct sys·DirEntry +{ + ulong ino; /* inode number */ + ulong off; /* offset to next entry (from start of directory */ + ushort len; /* length of entry (in bytes) */ + uchar type; /* filetype */ + char name[]; /* filename */ +}; diff --git a/sys/linux/riscv64/arch/bits.h b/sys/linux/riscv64/arch/bits.h index b09b933..c96db8b 100644 --- a/sys/linux/riscv64/arch/bits.h +++ b/sys/linux/riscv64/arch/bits.h @@ -6,6 +6,7 @@ #define INT32 int #define INT64 long #define ADDR long +#define REG long /* abi */ #define INTPTR_MIN INT64_MIN diff --git a/sys/linux/riscv64/arch/types.h b/sys/linux/riscv64/arch/types.h new file mode 100644 index 0000000..af908d2 --- /dev/null +++ b/sys/linux/riscv64/arch/types.h @@ -0,0 +1,27 @@ +#pragma once + +#if 0 +struct sys·Info +{ + uint64 devid; + uint64 inode; + uint mode; + + uregister_t nlinks; + + uint uid; + uint gid; + uint64 spdevid; + ulong _pad; + intptr len; + long blklen; + int __pad; + int64 nblock; + + sys·TimeNano access; + sys·TimeNano modify; + sys·TimeNano change; + + unsigned _unused[2]; +} +#endif diff --git a/sys/linux/riscv64/syscall.h b/sys/linux/riscv64/syscall.h index b4f419c..e565dd6 100644 --- a/sys/linux/riscv64/syscall.h +++ b/sys/linux/riscv64/syscall.h @@ -1,298 +1,298 @@ -#define ·IoSetUp 0 -#define ·IoDestroy 1 -#define ·IoSubmit 2 -#define ·IoCancel 3 -#define ·IoGetEvents 4 -#define ·SetXAttr 5 -#define ·LSetXAttr 6 -#define ·FSetXAttr 7 -#define ·GetXAttr 8 -#define ·LGetXAttr 9 -#define ·FGetXAttr 10 -#define ·ListXAttr 11 -#define ·LListXAttr 12 -#define ·FListXAttr 13 -#define ·RemoveXAttr 14 -#define ·LRemoveXAttr 15 -#define ·FRemoveXAttr 16 -#define ·GetCwd 17 -#define ·LookupDCookie 18 -#define ·EventFd2 19 -#define ·EPollCreate1 20 -#define ·EPollCtl 21 -#define ·EPollPWait 22 -#define ·Dup 23 -#define ·Dup3 24 -#define ·FCntl 25 -#define ·INotifyInIt1 26 -#define ·INotifyAddWatch 27 -#define ·INotifyRmWatch 28 -#define ·IoCtl 29 -#define ·IoPrIoSet 30 -#define ·IoPrIoGet 31 -#define ·FLock 32 -#define ·MkNodAt 33 -#define ·MkdirAt 34 -#define ·UnlinkAt 35 -#define ·SymLinkAt 36 -#define ·LinkAt 37 -#define ·UMount2 39 -#define ·Mount 40 -#define ·PivotRoot 41 -#define ·NfsServCtl 42 -#define ·StatFs 43 -#define ·FStatFs 44 -#define ·Truncate 45 -#define ·FTruncate 46 -#define ·FAllocate 47 -#define ·FAccessAt 48 -#define ·Chdir 49 -#define ·FChdir 50 -#define ·Chroot 51 -#define ·FChmod 52 -#define ·FChmodAt 53 -#define ·FChownAt 54 -#define ·FChown 55 -#define ·OpenAt 56 -#define ·Close 57 -#define ·VHangUp 58 -#define ·Pipe2 59 -#define ·QuotaCtl 60 -#define ·GetDents64 61 -#define ·LSeek 62 -#define ·Read 63 -#define ·Write 64 -#define ·ReadV 65 -#define ·WriteV 66 -#define ·PRead64 67 -#define ·PWrite64 68 -#define ·PreAdv 69 -#define ·PWriteV 70 -#define ·SendFile 71 -#define ·PSelect6 72 -#define ·PPoll 73 -#define ·SignalFd4 74 -#define ·VmSplice 75 -#define ·Splice 76 -#define ·Tee 77 -#define ·ReadLinkAt 78 -#define ·FStatAt 79 -#define ·FStat 80 -#define ·Sync 81 -#define ·FSync 82 -#define ·FdAtAsync 83 -#define ·SyncFileRange 84 -#define ·TimerFdCreate 85 -#define ·TimerFdSetTime 86 -#define ·TimerFdGetTime 87 -#define ·UTimeNsAt 88 -#define ·Acct 89 -#define ·CapGet 90 -#define ·CapSet 91 -#define ·Personality 92 -#define ·Exit 93 -#define ·ExitGroup 94 -#define ·WaitId 95 -#define ·SetTIdAddress 96 -#define ·UnShare 97 -#define ·Futex 98 -#define ·SetRobustList 99 -#define ·GetRobustList 100 -#define ·NanoSleep 101 -#define ·GetITimer 102 -#define ·SetITimer 103 -#define ·KExecLoad 104 -#define ·InItModule 105 -#define ·DeleteModule 106 -#define ·TimerCreate 107 -#define ·TimerGetTime 108 -#define ·TimerGetOverrun 109 -#define ·TimerSetTime 110 -#define ·TimerDelete 111 -#define ·ClockSetTime 112 -#define ·ClockGetTime 113 -#define ·ClockGetRes 114 -#define ·ClockNanoSleep 115 -#define ·SysLog 116 -#define ·PTrace 117 -#define ·SchedSetParam 118 -#define ·SchedSetScheduler 119 -#define ·SchedGetScheduler 120 -#define ·SchedGetParam 121 -#define ·SchedSetAffinity 122 -#define ·SchedGetAffinity 123 -#define ·SchedYield 124 -#define ·SchedGetPriorityMax 125 -#define ·SchedGetPriorityMin 126 -#define ·SchedRrGetInterval 127 -#define ·RestartSysCall 128 -#define ·Kill 129 -#define ·TKill 130 -#define ·TgKill 131 -#define ·SiGaltStack 132 -#define ·RtSigSuspend 133 -#define ·RtSigAction 134 -#define ·RtSigProcMask 135 -#define ·RtSigPending 136 -#define ·RtSigTimedWait 137 -#define ·RtSigQueueInfo 138 -#define ·RtSigReturn 139 -#define ·SetPriority 140 -#define ·GetPriority 141 -#define ·Reboot 142 -#define ·SetReGid 143 -#define ·SetGid 144 -#define ·SetReUid 145 -#define ·SetUid 146 -#define ·SetResUid 147 -#define ·GetResUid 148 -#define ·SetResGid 149 -#define ·GetResGid 150 -#define ·SetFsUid 151 -#define ·SetFsGid 152 -#define ·Times 153 -#define ·SetPGid 154 -#define ·GetPGid 155 -#define ·GetsId 156 -#define ·SetSId 157 -#define ·GetGroups 158 -#define ·SetGroups 159 -#define ·UName 160 -#define ·SetHostname 161 -#define ·SetDomainName 162 -#define ·GetRLimit 163 -#define ·SetRLimit 164 -#define ·GetRUsage 165 -#define ·UMask 166 -#define ·PrCtl 167 -#define ·GetCpu 168 -#define ·GetTimeOfDay 169 -#define ·SetTimeOfDay 170 -#define ·AdjTimex 171 -#define ·GetPid 172 -#define ·GetPPid 173 -#define ·GetUid 174 -#define ·GetEUid 175 -#define ·GetGid 176 -#define ·GetEGid 177 -#define ·GetTId 178 -#define ·SysInfo 179 -#define ·MQOpen 180 -#define ·MQUnlink 181 -#define ·MQTimedSend 182 -#define ·MQTimedReceive 183 -#define ·MQNotify 184 -#define ·MQGetSetAttr 185 -#define ·MsgGet 186 -#define ·MsgCtl 187 -#define ·MsgRecv 188 -#define ·MsgSend 189 -#define ·SemGet 190 -#define ·SemCtl 191 -#define ·SemTimeDop 192 -#define ·SemOp 193 -#define ·ShmGet 194 -#define ·ShmCtl 195 -#define ·ShmAt 196 -#define ·ShmDt 197 -#define ·Socket 198 -#define ·SocketPair 199 -#define ·Bind 200 -#define ·Listen 201 -#define ·Accept 202 -#define ·Connect 203 -#define ·GetSockName 204 -#define ·GetPeerName 205 -#define ·SendTo 206 -#define ·RecvFrom 207 -#define ·SetSockOpt 208 -#define ·GetSockOpt 209 -#define ·Shutdown 210 -#define ·SendMsg 211 -#define ·RecvMsg 212 -#define ·ReadAhead 213 -#define ·Brk 214 -#define ·MUnmap 215 -#define ·MRemap 216 -#define ·AddKey 217 -#define ·RequestKey 218 -#define ·KeyCtl 219 -#define ·Clone 220 -#define ·ExecVe 221 -#define ·MMap 222 -#define ·FAdvise64 223 -#define ·SwapOn 224 -#define ·SwapOff 225 -#define ·MProtect 226 -#define ·MSync 227 -#define ·MLock 228 -#define ·MUnlock 229 -#define ·MLockAll 230 -#define ·MUnlockAll 231 -#define ·MLoaded 232 -#define ·MAdvise 233 -#define ·RemapFilePages 234 -#define ·MBind 235 -#define ·GetMemPolicy 236 -#define ·SetMemPolicy 237 -#define ·MigratePages 238 -#define ·MovePages 239 -#define ·RtTgSigQueueInfo 240 -#define ·PerFEventOpen 241 -#define ·Accept4 242 -#define ·RecvMMsg 243 -#define ·ArchSpecificSysCall 244 -#define ·Wait4 260 -#define ·PrLimit64 261 -#define ·FaNotifyInIt 262 -#define ·FaNotifyMark 263 -#define ·NameToHandleAt 264 -#define ·OpenByHandleAt 265 -#define ·ClockAdjTime 266 -#define ·SyncFs 267 -#define ·SetNs 268 -#define ·SendMMsg 269 -#define ·ProcessVmReadV 270 -#define ·ProcessVmWriteV 271 -#define ·KCmp 272 -#define ·FinItModule 273 -#define ·SchedSetAttr 274 -#define ·SchedGetAttr 275 -#define ·RenameAt2 276 -#define ·SeccoMp 277 -#define ·GetRandom 278 -#define ·MemFdCreate 279 -#define ·BpF 280 -#define ·ExecVeAt 281 -#define ·UserFaultFd 282 -#define ·MemBarrier 283 -#define ·MLock2 284 -#define ·CopyFileRange 285 -#define ·PreAdv2 286 -#define ·PWriteV2 287 -#define ·PKeyMProtect 288 -#define ·PKeyAllOc 289 -#define ·PKeyFree 290 -#define ·StatX 291 -#define ·IoPGetEvents 292 -#define ·RSeq 293 -#define ·KExecFileLoad 294 -#define ·PidFdSendSignal 424 -#define ·IoUringSetUp 425 -#define ·IoUringEnter 426 -#define ·IoUringRegister 427 -#define ·OpenTree 428 -#define ·MoveMount 429 -#define ·FsOpen 430 -#define ·FsConfig 431 -#define ·FsMount 432 -#define ·FsPick 433 -#define ·PidFdOpen 434 -#define ·Clone3 435 -#define ·CloseRange 436 -#define ·OpenAt2 437 -#define ·PidFdGetFd 438 -#define ·FAccessAt2 439 +#define ·IoSetUp 0 +#define ·IoDestroy 1 +#define ·IoSubmit 2 +#define ·IoCancel 3 +#define ·IoGetEvents 4 +#define ·SetXAttr 5 +#define ·LSetXAttr 6 +#define ·FSetXAttr 7 +#define ·GetXAttr 8 +#define ·LGetXAttr 9 +#define ·FGetXAttr 10 +#define ·ListXAttr 11 +#define ·LListXAttr 12 +#define ·FListXAttr 13 +#define ·RemoveXAttr 14 +#define ·LRemoveXAttr 15 +#define ·FRemoveXAttr 16 +#define ·GetCwd 17 +#define ·LookupDCookie 18 +#define ·EventFd2 19 +#define ·EPollCreate1 20 +#define ·EPollCtl 21 +#define ·EPollPWait 22 +#define ·Dup 23 +#define ·Dup3 24 +#define ·FCntl 25 +#define ·INotifyInIt1 26 +#define ·INotifyAddWatch 27 +#define ·INotifyRmWatch 28 +#define ·IoCtl 29 +#define ·IoPrIoSet 30 +#define ·IoPrIoGet 31 +#define ·FLock 32 +#define ·MkNodAt 33 +#define ·MkdirAt 34 +#define ·UnlinkAt 35 +#define ·SymLinkAt 36 +#define ·LinkAt 37 +#define ·UMount2 39 +#define ·Mount 40 +#define ·PivotRoot 41 +#define ·NfsServCtl 42 +#define ·StatFs 43 +#define ·FStatFs 44 +#define ·Truncate 45 +#define ·FTruncate 46 +#define ·FAllocate 47 +#define ·FAccessAt 48 +#define ·Chdir 49 +#define ·FChdir 50 +#define ·Chroot 51 +#define ·FChmod 52 +#define ·FChmodAt 53 +#define ·FChownAt 54 +#define ·FChown 55 +#define ·OpenAt 56 +#define ·Close 57 +#define ·VHangUp 58 +#define ·Pipe2 59 +#define ·QuotaCtl 60 +#define ·GetDents64 61 +#define ·LSeek 62 +#define ·Read 63 +#define ·Write 64 +#define ·ReadV 65 +#define ·WriteV 66 +#define ·PRead64 67 +#define ·PWrite64 68 +#define ·PreAdv 69 +#define ·PWriteV 70 +#define ·SendFile 71 +#define ·PSelect6 72 +#define ·PPoll 73 +#define ·SignalFd4 74 +#define ·VmSplice 75 +#define ·Splice 76 +#define ·Tee 77 +#define ·ReadLinkAt 78 +#define ·FStatAt 79 +#define ·FStat 80 +#define ·Sync 81 +#define ·FSync 82 +#define ·FdAtAsync 83 +#define ·SyncFileRange 84 +#define ·TimerFdCreate 85 +#define ·TimerFdSetTime 86 +#define ·TimerFdGetTime 87 +#define ·UTimeNsAt 88 +#define ·Acct 89 +#define ·CapGet 90 +#define ·CapSet 91 +#define ·Personality 92 +#define ·Exit 93 +#define ·ExitGroup 94 +#define ·WaitId 95 +#define ·SetTIdAddress 96 +#define ·UnShare 97 +#define ·Futex 98 +#define ·SetRobustList 99 +#define ·GetRobustList 100 +#define ·NanoSleep 101 +#define ·GetITimer 102 +#define ·SetITimer 103 +#define ·KExecLoad 104 +#define ·InItModule 105 +#define ·DeleteModule 106 +#define ·TimerCreate 107 +#define ·TimerGetTime 108 +#define ·TimerGetOverrun 109 +#define ·TimerSetTime 110 +#define ·TimerDelete 111 +#define ·ClockSetTime 112 +#define ·ClockGetTime 113 +#define ·ClockGetRes 114 +#define ·ClockNanoSleep 115 +#define ·SysLog 116 +#define ·PTrace 117 +#define ·SchedSetParam 118 +#define ·SchedSetScheduler 119 +#define ·SchedGetScheduler 120 +#define ·SchedGetParam 121 +#define ·SchedSetAffinity 122 +#define ·SchedGetAffinity 123 +#define ·SchedYield 124 +#define ·SchedGetPriorityMax 125 +#define ·SchedGetPriorityMin 126 +#define ·SchedRrGetInterval 127 +#define ·RestartSysCall 128 +#define ·Kill 129 +#define ·TKill 130 +#define ·TgKill 131 +#define ·SiGaltStack 132 +#define ·RtSigSuspend 133 +#define ·RtSigAction 134 +#define ·RtSigProcMask 135 +#define ·RtSigPending 136 +#define ·RtSigTimedWait 137 +#define ·RtSigQueueInfo 138 +#define ·RtSigReturn 139 +#define ·SetPriority 140 +#define ·GetPriority 141 +#define ·Reboot 142 +#define ·SetReGid 143 +#define ·SetGid 144 +#define ·SetReUid 145 +#define ·SetUid 146 +#define ·SetResUid 147 +#define ·GetResUid 148 +#define ·SetResGid 149 +#define ·GetResGid 150 +#define ·SetFsUid 151 +#define ·SetFsGid 152 +#define ·Times 153 +#define ·SetPGid 154 +#define ·GetPGid 155 +#define ·GetsId 156 +#define ·SetSId 157 +#define ·GetGroups 158 +#define ·SetGroups 159 +#define ·UName 160 +#define ·SetHostname 161 +#define ·SetDomainName 162 +#define ·GetRLimit 163 +#define ·SetRLimit 164 +#define ·GetRUsage 165 +#define ·UMask 166 +#define ·PrCtl 167 +#define ·GetCpu 168 +#define ·GetTimeOfDay 169 +#define ·SetTimeOfDay 170 +#define ·AdjTimex 171 +#define ·GetPid 172 +#define ·GetPPid 173 +#define ·GetUid 174 +#define ·GetEUid 175 +#define ·GetGid 176 +#define ·GetEGid 177 +#define ·GetTId 178 +#define ·SysInfo 179 +#define ·MQOpen 180 +#define ·MQUnlink 181 +#define ·MQTimedSend 182 +#define ·MQTimedReceive 183 +#define ·MQNotify 184 +#define ·MQGetSetAttr 185 +#define ·MsgGet 186 +#define ·MsgCtl 187 +#define ·MsgRecv 188 +#define ·MsgSend 189 +#define ·SemGet 190 +#define ·SemCtl 191 +#define ·SemTimeDop 192 +#define ·SemOp 193 +#define ·ShmGet 194 +#define ·ShmCtl 195 +#define ·ShmAt 196 +#define ·ShmDt 197 +#define ·Socket 198 +#define ·SocketPair 199 +#define ·Bind 200 +#define ·Listen 201 +#define ·Accept 202 +#define ·Connect 203 +#define ·GetSockName 204 +#define ·GetPeerName 205 +#define ·SendTo 206 +#define ·RecvFrom 207 +#define ·SetSockOpt 208 +#define ·GetSockOpt 209 +#define ·Shutdown 210 +#define ·SendMsg 211 +#define ·RecvMsg 212 +#define ·ReadAhead 213 +#define ·Brk 214 +#define ·MUnmap 215 +#define ·MRemap 216 +#define ·AddKey 217 +#define ·RequestKey 218 +#define ·KeyCtl 219 +#define ·Clone 220 +#define ·ExecVe 221 +#define ·MMap 222 +#define ·FAdvise64 223 +#define ·SwapOn 224 +#define ·SwapOff 225 +#define ·MProtect 226 +#define ·MSync 227 +#define ·MLock 228 +#define ·MUnlock 229 +#define ·MLockAll 230 +#define ·MUnlockAll 231 +#define ·MLoaded 232 +#define ·MAdvise 233 +#define ·RemapFilePages 234 +#define ·MBind 235 +#define ·GetMemPolicy 236 +#define ·SetMemPolicy 237 +#define ·MigratePages 238 +#define ·MovePages 239 +#define ·RtTgSigQueueInfo 240 +#define ·PerFEventOpen 241 +#define ·Accept4 242 +#define ·RecvMMsg 243 +#define ·ArchSpecificSysCall 244 +#define ·Wait4 260 +#define ·PrLimit64 261 +#define ·FaNotifyInIt 262 +#define ·FaNotifyMark 263 +#define ·NameToHandleAt 264 +#define ·OpenByHandleAt 265 +#define ·ClockAdjTime 266 +#define ·SyncFs 267 +#define ·SetNs 268 +#define ·SendMMsg 269 +#define ·ProcessVmReadV 270 +#define ·ProcessVmWriteV 271 +#define ·KCmp 272 +#define ·FinItModule 273 +#define ·SchedSetAttr 274 +#define ·SchedGetAttr 275 +#define ·RenameAt2 276 +#define ·SeccoMp 277 +#define ·GetRandom 278 +#define ·MemFdCreate 279 +#define ·BpF 280 +#define ·ExecVeAt 281 +#define ·UserFaultFd 282 +#define ·MemBarrier 283 +#define ·MLock2 284 +#define ·CopyFileRange 285 +#define ·PreAdv2 286 +#define ·PWriteV2 287 +#define ·PKeyMProtect 288 +#define ·PKeyAllOc 289 +#define ·PKeyFree 290 +#define ·StatX 291 +#define ·IoPGetEvents 292 +#define ·RSeq 293 +#define ·KExecFileLoad 294 +#define ·PidFdSendSignal 424 +#define ·IoUringSetUp 425 +#define ·IoUringEnter 426 +#define ·IoUringRegister 427 +#define ·OpenTree 428 +#define ·MoveMount 429 +#define ·FsOpen 430 +#define ·FsConfig 431 +#define ·FsMount 432 +#define ·FsPick 433 +#define ·PidFdOpen 434 +#define ·Clone3 435 +#define ·CloseRange 436 +#define ·OpenAt2 437 +#define ·PidFdGetFd 438 +#define ·FAccessAt2 439 /* assembly routines */ #define asm __asm__ __volatile__ -- cgit v1.2.1