diff --git a/src/cf/osconf.m4 b/src/cf/osconf.m4 index 9ce927be21..d98a1fe2bd 100644 --- a/src/cf/osconf.m4 +++ b/src/cf/osconf.m4 @@ -319,7 +319,7 @@ case $AFS_SYSNAME in XLIBS="${LIB_AFSDB} -framework CoreFoundation" ;; - *_darwin_190 | *_darwin_200) + *_darwin_190 | *_darwin_200 | *_darwin_210) AFSD_LDFLAGS="-F/System/Library/PrivateFrameworks -framework DiskArbitration -framework SystemConfiguration -framework IOKit -framework CoreFoundation" MT_CFLAGS="-D_REENTRANT" MT_LIBS='${XLIBS}' diff --git a/src/cf/sysname.m4 b/src/cf/sysname.m4 index c0f441469c..9a0927ebcb 100644 --- a/src/cf/sysname.m4 +++ b/src/cf/sysname.m4 @@ -198,6 +198,14 @@ else AFS_SYSNAME="arm_darwin_200" OSXSDK="macosx11.0" ;; + x86_64-apple-darwin21.*) + AFS_SYSNAME="x86_darwin_210" + OSXSDK="macosx12.0" + ;; + arm-apple-darwin21.*) + AFS_SYSNAME="arm_darwin_210" + OSXSDK="macosx12.0" + ;; sparc-sun-solaris2.8) AFS_SYSNAME="sun4x_58" ;; @@ -384,6 +392,9 @@ case $AFS_SYSNAME in *_darwin_200) AFS_PARAM=param.darwin_200.h ;; + *_darwin_210) + AFS_PARAM=param.darwin_210.h + ;; *) AFS_PARAM=param.${AFS_SYSNAME}.h ;; diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index 57e088942c..08c2ac1d17 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -97,6 +97,8 @@ #define SYS_NAME_ID_x86_darwin_200 544 #define SYS_NAME_ID_amd64_darwin_200 545 #define SYS_NAME_ID_arm_darwin_200 546 +#define SYS_NAME_ID_amd64_darwin_210 547 +#define SYS_NAME_ID_arm_darwin_210 548 #define SYS_NAME_ID_next_mach20 601 #define SYS_NAME_ID_next_mach30 602 diff --git a/src/config/param.darwin_210.h b/src/config/param.darwin_210.h new file mode 100644 index 0000000000..475965255d --- /dev/null +++ b/src/config/param.darwin_210.h @@ -0,0 +1,195 @@ +#ifndef AFS_PARAM_H +# define AFS_PARAM_H + +# ifndef UKERNEL +/* This section for kernel libafs compiles only */ + +# define AFS_ENV 1 +# define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ +# define AFS_64BIT_CLIENT 1 +# define AFS_64BIT_IOPS_ENV 1 +# define AFS_64BIT_SIZEOF 1 /* seriously? */ + +# include + +# define AFS_DARWIN_ENV +# define AFS_DARWIN70_ENV +# define AFS_DARWIN80_ENV +# define AFS_DARWIN90_ENV +# define AFS_DARWIN100_ENV +# define AFS_DARWIN110_ENV +# define AFS_DARWIN120_ENV +# define AFS_DARWIN130_ENV +# define AFS_DARWIN140_ENV +# define AFS_DARWIN150_ENV +# define AFS_DARWIN160_ENV +# define AFS_DARWIN170_ENV +# define AFS_DARWIN180_ENV +# define AFS_DARWIN190_ENV +# define AFS_DARWIN200_ENV +# define AFS_DARWIN210_ENV +# undef AFS_NONFSTRANS +# define AFS_NONFSTRANS +# define AFS_SYSCALL 230 +# define AFS_NAMEI_ENV 1 +# define DARWIN_REFBASE 3 +# define AFS_WARNUSER_MARINER_ENV 1 +# define AFS_CACHE_VNODE_PATH +# define AFS_NEW_BKG 1 +# define NEED_IOCTL32 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS) */ +# define AFS_MOUNT_AFS "afs" + +# define AFS_HAVE_FFS 1 /* Use system's ffs. */ + +# define AFS_GCPAGS 0 +# define RXK_UPCALL_ENV 1 +# define RXK_TIMEDSLEEP_ENV 1 +# define AFS_USERSPACE_IP_ADDR 1 +# define AFS_SOCKPROXY_ENV 1 + +# ifdef KERNEL +# undef MACRO_BEGIN +# undef MACRO_END + +# include + +# define AFS_GLOBAL_SUNLOCK 1 +# define AFS_VFS34 1 /* What is VFS34??? */ + +# define afsio_iov uio_iov +# define afsio_iovcnt uio_iovcnt +# define afsio_offset uio_offset +# define afsio_seg uio_segflg +# define afsio_resid uio_resid + +# define AFS_UIOSYS UIO_SYSSPACE +# define AFS_UIOUSER UIO_USERSPACE +# define AFS_CLBYTES CLBYTES +# define AFS_KALLOC(x) _MALLOC(x, M_TEMP, M_WAITOK) +# define AFS_KFREE(x,y) _FREE(x,M_TEMP) + +# define v_count v_usecount +# define v_vfsp v_mount +# define vfs_bsize mnt_stat.f_bsize +# define vfs_fsid mnt_stat.f_fsid +# define va_nodeid va_fileid +# define vfs_vnodecovered mnt_vnodecovered +# define direct dirent + +# define BIND_8_COMPAT +# endif /* KERNEL */ + +# else /* !defined(UKERNEL) */ + +/* This section for user space compiles only */ + +# define AFS_ENV 1 +# define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ +# define AFS_64BIT_CLIENT 1 + +# include + +# define AFS_USERSPACE_ENV +# define AFS_USR_DARWIN_ENV +# define AFS_USR_DARWIN70_ENV +# define AFS_USR_DARWIN80_ENV +# define AFS_USR_DARWIN90_ENV +# define AFS_USR_DARWIN100_ENV +# define AFS_USR_DARWIN110_ENV +# define AFS_USR_DARWIN120_ENV +# define AFS_USR_DARWIN130_ENV +# define AFS_USR_DARWIN140_ENV +# define AFS_USR_DARWIN150_ENV +# define AFS_USR_DARWIN160_ENV +# define AFS_USR_DARWIN170_ENV +# define AFS_USR_DARWIN180_ENV +# define AFS_USR_DARWIN190_ENV +# define AFS_USR_DARWIN200_ENV +# define AFS_USR_DARWIN210_ENV + +# undef AFS_NONFSTRANS +# define AFS_NONFSTRANS + +# define AFS_SYSCALL 230 +# define DARWIN_REFBASE 0 +# define AFS_WARNUSER_MARINER_ENV 1 + +/* File system entry (used if mount.h doesn't define MOUNT_AFS) */ +# define AFS_MOUNT_AFS "afs" + +# define AFS_HAVE_FFS 1 /* Use system's ffs. */ + +# define AFS_UIOSYS UIO_SYSSPACE +# define AFS_UIOUSER UIO_USERSPACE + +# define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ +# define RXK_LISTENER_ENV 1 + +# define AFS_VFS34 1 /* What is VFS34??? */ + +# define afsio_iov uio_iov +# define afsio_iovcnt uio_iovcnt +# define afsio_offset uio_offset +# define afsio_seg uio_segflg +# define afsio_resid uio_resid + +# define VATTR_NULL usr_vattr_null + +# define AFS_DIRENT +# ifndef CMSERVERPREF +# define CMSERVERPREF +# endif + +# define BIND_8_COMPAT +# endif /* !defined(UKERNEL) */ + +/* Machine / Operating system information */ +# if defined(__amd64__) + +# define AFS_X86_ENV 1 +# define AFS_64BITUSERPOINTER_ENV 1 + +# define sys_x86_darwin_12 1 +# define sys_x86_darwin_13 1 +# define sys_x86_darwin_14 1 +# define sys_x86_darwin_60 1 +# define sys_x86_darwin_70 1 +# define sys_x86_darwin_80 1 +# define sys_x86_darwin_90 1 +# define sys_x86_darwin_100 1 +# define sys_amd64_darwin_100 1 +# define sys_amd64_darwin_110 1 +# define sys_amd64_darwin_120 1 +# define sys_amd64_darwin_130 1 +# define sys_amd64_darwin_140 1 +# define sys_amd64_darwin_150 1 +# define sys_amd64_darwin_160 1 +# define sys_amd64_darwin_170 1 +# define sys_amd64_darwin_180 1 +# define sys_amd64_darwin_190 1 +# define sys_amd64_darwin_200 1 +# define sys_amd64_darwin_210 1 + +# define SYS_NAME "amd64_darwin_210" +# define SYS_NAME_ID SYS_NAME_ID_amd64_darwin_210 +# define AFSLITTLE_ENDIAN 1 + +# elif defined(__arm64__) + +# define AFS_ARM_ENV 1 +# define AFS_ARM64_DARWIN_ENV 1 + +# define sys_arm_darwin_200 1 +# define sys_arm_darwin_210 1 + +# define SYS_NAME "arm_darwin_210" +# define SYS_NAME_ID SYS_NAME_ID_arm_darwin_210 +# define AFSLITTLE_ENDIAN 1 + +# else +# error Unsupported architecture +# endif /* __amd64__ */ + +#endif /* AFS_PARAM_H */ diff --git a/src/libafs/afs.arm_darwin_210.plist.in b/src/libafs/afs.arm_darwin_210.plist.in new file mode 100644 index 0000000000..a1385718c5 --- /dev/null +++ b/src/libafs/afs.arm_darwin_210.plist.in @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + afs + CFBundleIdentifier + org.openafs.filesystems.afs + CFBundleInfoDictionaryVersion + 8.0 + CFBundleName + afs + CFBundlePackageType + KEXT + CFBundleShortVersionString + @MACOS_VERSION@ + CFBundleSignature + ???? + CFBundleVersion + @MACOS_VERSION@ + OSBundleLibraries + + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.libkern + 8.0 + + + diff --git a/src/libafs/afs.x86_darwin_210.plist.in b/src/libafs/afs.x86_darwin_210.plist.in new file mode 100644 index 0000000000..a1385718c5 --- /dev/null +++ b/src/libafs/afs.x86_darwin_210.plist.in @@ -0,0 +1,33 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + afs + CFBundleIdentifier + org.openafs.filesystems.afs + CFBundleInfoDictionaryVersion + 8.0 + CFBundleName + afs + CFBundlePackageType + KEXT + CFBundleShortVersionString + @MACOS_VERSION@ + CFBundleSignature + ???? + CFBundleVersion + @MACOS_VERSION@ + OSBundleLibraries + + com.apple.kpi.bsd + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.libkern + 8.0 + + +