Index: sysutils/go-wtf/files/patch-gopsutil_aarch64 =================================================================== --- sysutils/go-wtf/files/patch-gopsutil_aarch64 (nonexistent) +++ sysutils/go-wtf/files/patch-gopsutil_aarch64 (working copy) @@ -0,0 +1,407 @@ +https://github.com/shirou/gopsutil/commit/270f6afc220d6dcbc9e1d14e0f6f65fb4d29dfaf + +From 270f6afc220d6dcbc9e1d14e0f6f65fb4d29dfaf Mon Sep 17 00:00:00 2001 +From: Dmitri Goutnik +Date: Tue, 17 Dec 2019 02:51:35 -0500 +Subject: [PATCH] Add support for freebsd/arm64 + +--- + Gopkg.lock | 4 +- + cpu/cpu_freebsd_arm64.go | 9 ++ + disk/disk_freebsd_arm64.go | 115 ++++++++++++++++++ + host/host_freebsd_arm64.go | 39 ++++++ + process/process_freebsd_arm64.go | 201 +++++++++++++++++++++++++++++++ + 6 files changed, 369 insertions(+), 2 deletions(-) + create mode 100644 cpu/cpu_freebsd_arm64.go + create mode 100644 disk/disk_freebsd_arm64.go + create mode 100644 host/host_freebsd_arm64.go + create mode 100644 process/process_freebsd_arm64.go + +diff --git a/cpu/cpu_freebsd_arm64.go b/cpu/cpu_freebsd_arm64.go +new file mode 100644 +index 00000000..57e14528 +--- /dev/null ++++ vendor/github.com/shirou/gopsutil/cpu/cpu_freebsd_arm64.go +@@ -0,0 +1,9 @@ ++package cpu ++ ++type cpuTimes struct { ++ User uint64 ++ Nice uint64 ++ Sys uint64 ++ Intr uint64 ++ Idle uint64 ++} +diff --git a/disk/disk_freebsd_arm64.go b/disk/disk_freebsd_arm64.go +new file mode 100644 +index 00000000..aff604c0 +--- /dev/null ++++ vendor/github.com/shirou/gopsutil/disk/disk_freebsd_arm64.go +@@ -0,0 +1,115 @@ ++// +build freebsd ++// +build arm64 ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs disk/types_freebsd.go ++ ++package disk ++ ++const ( ++ sizeofPtr = 0x8 ++ sizeofShort = 0x2 ++ sizeofInt = 0x4 ++ sizeofLong = 0x8 ++ sizeofLongLong = 0x8 ++ sizeofLongDouble = 0x8 ++ ++ DEVSTAT_NO_DATA = 0x00 ++ DEVSTAT_READ = 0x01 ++ DEVSTAT_WRITE = 0x02 ++ DEVSTAT_FREE = 0x03 ++ ++ MNT_RDONLY = 0x00000001 ++ MNT_SYNCHRONOUS = 0x00000002 ++ MNT_NOEXEC = 0x00000004 ++ MNT_NOSUID = 0x00000008 ++ MNT_UNION = 0x00000020 ++ MNT_ASYNC = 0x00000040 ++ MNT_SUIDDIR = 0x00100000 ++ MNT_SOFTDEP = 0x00200000 ++ MNT_NOSYMFOLLOW = 0x00400000 ++ MNT_GJOURNAL = 0x02000000 ++ MNT_MULTILABEL = 0x04000000 ++ MNT_ACLS = 0x08000000 ++ MNT_NOATIME = 0x10000000 ++ MNT_NOCLUSTERR = 0x40000000 ++ MNT_NOCLUSTERW = 0x80000000 ++ MNT_NFS4ACLS = 0x00000010 ++ ++ MNT_WAIT = 1 ++ MNT_NOWAIT = 2 ++ MNT_LAZY = 3 ++ MNT_SUSPEND = 4 ++) ++ ++const ( ++ sizeOfDevstat = 0x120 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++ _C_long_double int64 ++) ++ ++type Statfs struct { ++ Version uint32 ++ Type uint32 ++ Flags uint64 ++ Bsize uint64 ++ Iosize uint64 ++ Blocks uint64 ++ Bfree uint64 ++ Bavail int64 ++ Files uint64 ++ Ffree int64 ++ Syncwrites uint64 ++ Asyncwrites uint64 ++ Syncreads uint64 ++ Asyncreads uint64 ++ Spare [10]uint64 ++ Namemax uint32 ++ Owner uint32 ++ Fsid Fsid ++ Charspare [80]uint8 ++ Fstypename [16]int8 ++ Mntfromname [1024]int8 ++ Mntonname [1024]int8 ++} ++type Fsid struct { ++ Val [2]int32 ++} ++ ++type Devstat struct { ++ Sequence0 uint32 ++ Allocated int32 ++ Start_count uint32 ++ End_count uint32 ++ Busy_from Bintime ++ Dev_links _Ctype_struct___0 ++ Device_number uint32 ++ Device_name [16]int8 ++ Unit_number int32 ++ Bytes [4]uint64 ++ Operations [4]uint64 ++ Duration [4]Bintime ++ Busy_time Bintime ++ Creation_time Bintime ++ Block_size uint32 ++ Tag_types [3]uint64 ++ Flags uint32 ++ Device_type uint32 ++ Priority uint32 ++ Id *byte ++ Sequence1 uint32 ++ Pad_cgo_0 [4]byte ++} ++type Bintime struct { ++ Sec int64 ++ Frac uint64 ++} ++ ++type _Ctype_struct___0 struct { ++ Empty uint64 ++} +diff --git a/host/host_freebsd_arm64.go b/host/host_freebsd_arm64.go +new file mode 100644 +index 00000000..88dc11fc +--- /dev/null ++++ vendor/github.com/shirou/gopsutil/host/host_freebsd_arm64.go +@@ -0,0 +1,39 @@ ++// +build freebsd ++// +build arm64 ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs host/types_freebsd.go ++ ++package host ++ ++const ( ++ sizeofPtr = 0x8 ++ sizeofShort = 0x2 ++ sizeofInt = 0x4 ++ sizeofLong = 0x8 ++ sizeofLongLong = 0x8 ++ sizeOfUtmpx = 0xc5 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++) ++ ++type Utmp struct { ++ Line [8]int8 ++ Name [16]int8 ++ Host [16]int8 ++ Time int32 ++} ++ ++type Utmpx struct { ++ Type uint8 ++ Tv uint64 ++ Id [8]int8 ++ Pid uint32 ++ User [32]int8 ++ Line [16]int8 ++ Host [128]int8 ++} +diff --git a/process/process_freebsd_arm64.go b/process/process_freebsd_arm64.go +new file mode 100644 +index 00000000..99781d1a +--- /dev/null ++++ vendor/github.com/shirou/gopsutil/process/process_freebsd_arm64.go +@@ -0,0 +1,201 @@ ++// +build freebsd ++// +build arm64 ++// Code generated by cmd/cgo -godefs; DO NOT EDIT. ++// cgo -godefs process/types_freebsd.go ++ ++package process ++ ++const ( ++ CTLKern = 1 ++ KernProc = 14 ++ KernProcPID = 1 ++ KernProcProc = 8 ++ KernProcPathname = 12 ++ KernProcArgs = 7 ++) ++ ++const ( ++ sizeofPtr = 0x8 ++ sizeofShort = 0x2 ++ sizeofInt = 0x4 ++ sizeofLong = 0x8 ++ sizeofLongLong = 0x8 ++) ++ ++const ( ++ sizeOfKinfoVmentry = 0x488 ++ sizeOfKinfoProc = 0x440 ++) ++ ++const ( ++ SIDL = 1 ++ SRUN = 2 ++ SSLEEP = 3 ++ SSTOP = 4 ++ SZOMB = 5 ++ SWAIT = 6 ++ SLOCK = 7 ++) ++ ++type ( ++ _C_short int16 ++ _C_int int32 ++ _C_long int64 ++ _C_long_long int64 ++) ++ ++type Timespec struct { ++ Sec int64 ++ Nsec int64 ++} ++ ++type Timeval struct { ++ Sec int64 ++ Usec int64 ++} ++ ++type Rusage struct { ++ Utime Timeval ++ Stime Timeval ++ Maxrss int64 ++ Ixrss int64 ++ Idrss int64 ++ Isrss int64 ++ Minflt int64 ++ Majflt int64 ++ Nswap int64 ++ Inblock int64 ++ Oublock int64 ++ Msgsnd int64 ++ Msgrcv int64 ++ Nsignals int64 ++ Nvcsw int64 ++ Nivcsw int64 ++} ++ ++type Rlimit struct { ++ Cur int64 ++ Max int64 ++} ++ ++type KinfoProc struct { ++ Structsize int32 ++ Layout int32 ++ Args *int64 /* pargs */ ++ Paddr *int64 /* proc */ ++ Addr *int64 /* user */ ++ Tracep *int64 /* vnode */ ++ Textvp *int64 /* vnode */ ++ Fd *int64 /* filedesc */ ++ Vmspace *int64 /* vmspace */ ++ Wchan *byte ++ Pid int32 ++ Ppid int32 ++ Pgid int32 ++ Tpgid int32 ++ Sid int32 ++ Tsid int32 ++ Jobc int16 ++ Spare_short1 int16 ++ Tdev_freebsd11 uint32 ++ Siglist [16]byte /* sigset */ ++ Sigmask [16]byte /* sigset */ ++ Sigignore [16]byte /* sigset */ ++ Sigcatch [16]byte /* sigset */ ++ Uid uint32 ++ Ruid uint32 ++ Svuid uint32 ++ Rgid uint32 ++ Svgid uint32 ++ Ngroups int16 ++ Spare_short2 int16 ++ Groups [16]uint32 ++ Size uint64 ++ Rssize int64 ++ Swrss int64 ++ Tsize int64 ++ Dsize int64 ++ Ssize int64 ++ Xstat uint16 ++ Acflag uint16 ++ Pctcpu uint32 ++ Estcpu uint32 ++ Slptime uint32 ++ Swtime uint32 ++ Cow uint32 ++ Runtime uint64 ++ Start Timeval ++ Childtime Timeval ++ Flag int64 ++ Kiflag int64 ++ Traceflag int32 ++ Stat uint8 ++ Nice int8 ++ Lock uint8 ++ Rqindex uint8 ++ Oncpu_old uint8 ++ Lastcpu_old uint8 ++ Tdname [17]uint8 ++ Wmesg [9]uint8 ++ Login [18]uint8 ++ Lockname [9]uint8 ++ Comm [20]int8 ++ Emul [17]uint8 ++ Loginclass [18]uint8 ++ Moretdname [4]uint8 ++ Sparestrings [46]uint8 ++ Spareints [2]int32 ++ Tdev uint64 ++ Oncpu int32 ++ Lastcpu int32 ++ Tracer int32 ++ Flag2 int32 ++ Fibnum int32 ++ Cr_flags uint32 ++ Jid int32 ++ Numthreads int32 ++ Tid int32 ++ Pri Priority ++ Rusage Rusage ++ Rusage_ch Rusage ++ Pcb *int64 /* pcb */ ++ Kstack *byte ++ Udata *byte ++ Tdaddr *int64 /* thread */ ++ Spareptrs [6]*byte ++ Sparelongs [12]int64 ++ Sflag int64 ++ Tdflags int64 ++} ++ ++type Priority struct { ++ Class uint8 ++ Level uint8 ++ Native uint8 ++ User uint8 ++} ++ ++type KinfoVmentry struct { ++ Structsize int32 ++ Type int32 ++ Start uint64 ++ End uint64 ++ Offset uint64 ++ Vn_fileid uint64 ++ Vn_fsid_freebsd11 uint32 ++ Flags int32 ++ Resident int32 ++ Private_resident int32 ++ Protection int32 ++ Ref_count int32 ++ Shadow_count int32 ++ Vn_type int32 ++ Vn_size uint64 ++ Vn_rdev_freebsd11 uint32 ++ Vn_mode uint16 ++ Status uint16 ++ Vn_fsid uint64 ++ Vn_rdev uint64 ++ X_kve_ispare [8]int32 ++ Path [1024]uint8 ++} Property changes on: sysutils/go-wtf/files/patch-gopsutil_aarch64 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: sysutils/go-wtf/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go =================================================================== --- sysutils/go-wtf/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go (nonexistent) +++ sysutils/go-wtf/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go (working copy) @@ -0,0 +1,24 @@ +From 33540a1f603772f9d4b761f416f5c10dade23e96 Mon Sep 17 00:00:00 2001 +From: Tobias Klauser +Date: Fri, 25 Oct 2019 21:13:51 +0200 +Subject: [PATCH] unix: don't use non-existing uint128 type on freebsd/arm64 + +CL 179099 introduced type FpReg on freebsd, on freebsd/arm64 using a +type uint128. This type doesn't exist in Go. + +Change-Id: Ie7f065f38f2cc2c163abdfa7dddad886b8edbe3b +Reviewed-on: https://go-review.googlesource.com/c/sys/+/203419 +Run-TryBot: Tobias Klauser +TryBot-Result: Gobot Gobot +Reviewed-by: Brad Fitzpatrick +--- vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go.orig 2019-08-18 13:42:05 UTC ++++ vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go +@@ -397,7 +397,7 @@ type Reg struct { + } + + type FpReg struct { +- Fp_q [32]uint128 ++ Fp_q [512]uint8 + Fp_sr uint32 + Fp_cr uint32 + } Property changes on: sysutils/go-wtf/files/patch-vendor_golang.org_x_sys_unix_ztypes__freebsd__arm64.go ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property