From 40e03e078f02fd819a187457678b001065a0972f Mon Sep 17 00:00:00 2001 From: Douglas Engert Date: Thu, 14 Apr 2005 02:38:37 +0000 Subject: [PATCH] hpux1123-parisc-20050413 FIXES 18245 hpux 11.23 changes for parisc --- Makefile.in | 4 +- src/config/afs_sysnames.h | 1 + src/config/param.hp_ux1123.h | 102 +++++++++++++++++++++++++++++++ src/libafs/MakefileProto.HPUX.in | 47 ++++++++++---- 4 files changed, 139 insertions(+), 15 deletions(-) create mode 100644 src/config/param.hp_ux1123.h diff --git a/Makefile.in b/Makefile.in index 4c63a2b558..7c9d50e149 100644 --- a/Makefile.in +++ b/Makefile.in @@ -73,7 +73,7 @@ packages: dest ${COMPILE_PART1} packaging/HP-UX && swpackage -s psf-1.2.10-transarc-paths-11.11 ;; \ ia64_hpux1122 ) \ ${COMPILE_PART1} packaging/HP-UX && swpackage -s psf-1.2.10-transarc-paths-11.22 ;; \ - ia64_hpux1123 ) \ + ia64_hpux1123 | hp_ux1123) \ ${COMPILE_PART1} packaging/HP-UX && swpackage -s psf-1.2.10-transarc-paths-11.23 ;; \ *) \ echo Not building packages for ${SYS_NAME} ;; \ @@ -416,7 +416,7 @@ libuafs: libuafs_setup vlserver_depinstall rx_depinstall fsint_depinstall \ rxstat_depinstall lwp_depinstall sys_depinstall des set -x; \ case ${SYS_NAME} in \ - hp_ux102* | *_obsd* | sun*_4* | *_nbsd*| hp_ux11i | ia64_hpux112*) \ + hp_ux102* | *_obsd* | sun*_4* | *_nbsd*| hp_ux11i | hp_ux112* | ia64_hpux112*) \ echo Skipping libuafs for ${SYS_NAME} ;; \ * ) \ ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \ diff --git a/src/config/afs_sysnames.h b/src/config/afs_sysnames.h index 54ec3f5292..892fdee60c 100644 --- a/src/config/afs_sysnames.h +++ b/src/config/afs_sysnames.h @@ -48,6 +48,7 @@ #define SYS_NAME_ID_hp_ux11i 416 #define SYS_NAME_ID_ia64_hpux1122 417 #define SYS_NAME_ID_ia64_hpux1123 418 +#define SYS_NAME_ID_hp_ux1123 419 #define SYS_NAME_ID_mac2_51 500 #define SYS_NAME_ID_mac_aux10 501 diff --git a/src/config/param.hp_ux1123.h b/src/config/param.hp_ux1123.h new file mode 100644 index 0000000000..73c0d68d22 --- /dev/null +++ b/src/config/param.hp_ux1123.h @@ -0,0 +1,102 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * All Rights Reserved. + * + * This software has been released under the terms of the IBM Public + * License. For details, see the LICENSE file in the top-level source + * directory or online at http://www.openafs.org/dl/license10.html + */ + +/* THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT */ + +#ifndef AFS_PARAM_H +#define AFS_PARAM_H + +#define AFS_HPUX_ENV 1 +#define AFS_HPUX90_ENV 1 +#define AFS_HPUX100_ENV 1 +#define AFS_HPUX101_ENV 1 +#define AFS_HPUX102_ENV 1 +#define AFS_HPUX110_ENV 1 +#define AFS_HPUX1111_ENV 1 +#define AFS_HPUX1122_ENV 1 +#define AFS_HPUX1123_ENV 1 + +#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */ +#define AFS_64BIT_CLIENT 1 +#if defined(__LP64__) +#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */ +#endif + +#include + +#define AFS_SYSCALL 48 /* slot reserved for AFS */ + +/* Machine / Operating system information */ +#define SYS_NAME "hp_ux1123" +#define SYS_NAME_ID SYS_NAME_ID_hp_ux1123 +#define AFSBIG_ENDIAN 1 +#define AFS_HAVE_FFS 1 +#define AFS_HAVE_STATVFS 1 /* System supports statvfs */ +#define AFS_GLOBAL_SUNLOCK 1 +#define RXK_LISTENER_ENV 1 +#define AFS_USERSPACE_IP_ADDR 1 +#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */ +#define AFS_USE_VOID_PTR 1 +/* + * #define AFS_VM_RDWR_ENV 1 + */ +#define AFS_TEXT_ENV 1 /* Older kernels use TEXT */ +#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */ +#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk*/ +#define nearInodeHash(volid, hval) { \ + unsigned char* ts = (unsigned char*)&(volid)+sizeof(volid)-1;\ + for ( (hval)=0; ts >= (unsigned char*)&(volid); ts--){\ + (hval) *= 173; \ + (hval) += *ts; \ + } \ + } + +/* Extra kernel definitions (from kdefs file) */ +#ifdef KERNEL +#define _KERNEL 1 +#define afsio_iov uio_iov +#define afsio_iovcnt uio_iovcnt +#define afsio_offset uio_offset +#define afsio_seg uio_seg +#define afsio_resid uio_resid +#define AFS_UIOSYS UIOSEG_KERNEL +#define AFS_UIOUSER UIOSEG_USER +#define AFS_CLBYTES CLBYTES +#define AFS_MINCHANGE 2 +#define osi_GetTime(x) do { struct timeval osi_GetTimeVar; uniqtime(&osi_GetTimeVar); (x)->tv_sec = osi_GetTimeVar.tv_sec; (x)->tv_usec = osi_GetTimeVar.tv_usec; } while(0) +#define AFS_KALLOC kmem_alloc +#define AFS_KFREE kmem_free +#define VATTR_NULL vattr_null + +#if defined(__LP64__) +#define AFS_HPUX_64BIT_ENV 1 +#endif + +#ifndef UKERNEL +/* + * On HP-UX, sys/socket.h includes sys/uio.h, and sys/file.h and + * sys/uio.h #include each other, and there's no simple way to avoid a + * warning about the struct uio declaration not being visible outside + * of some prototype or other. So, we put in a tenative declaration to + * supress the warnings. + */ +struct uio; + +#define memset(A, B, S) bzero(A, S) +#define memcpy(B, A, S) bcopy(A, B, S) +#define memcmp(A, B, S) bcmp(A, B, S) +#endif +#endif /* KERNEL */ +#define AFS_DIRENT +/* Non-standard definitions */ +#ifndef EDQUOT +#define EDQUOT 69 /* Disc quota exceeded */ +#endif + +#endif /* AFS_PARAM_H */ diff --git a/src/libafs/MakefileProto.HPUX.in b/src/libafs/MakefileProto.HPUX.in index 7ebfb1687b..594584eba8 100644 --- a/src/libafs/MakefileProto.HPUX.in +++ b/src/libafs/MakefileProto.HPUX.in @@ -21,13 +21,13 @@ AFS_OS_OBJS = \ osi_vm.o AFS_OS_NFSOBJS = \ - + hpux_mod_nfs.modmeta.o \ osi_vfsops_nfs.o AFS_OS_NONFSOBJS = \ - + hpux_mod.modmeta.o \ osi_vfsops.o @@ -57,6 +57,8 @@ AFS_OS_NONFSOBJS = \ # for 11.23, see the DDK BE/Sample_makefiles/Makefile.bld # for mod drivers. # +# 11.23 uses new compiler, with new options. The same compiler is on pa_risc and ia64 +# KDEFS= +ES1.Xindirect_calls +XixdU +Hx0 +ESlit +ESsfc +ESssf -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \ -DMP +R500 -Wl,+k $(CPU_KDEFS) @@ -76,6 +78,12 @@ KDEFS_32 = KDEFS_64 = +DD64 +ARCH=ipf + + +ARCH=pa + + CCOPTS_common= -Ae +DD64 +O2 @@ -93,11 +101,24 @@ IDENTS_ipf= -DKERNEL_DEBUGGER -DVARIABLE_UAREA -D_SYSCALL_64 -D__NO_PA_HDRS LDOPTS_ipf= +noobjdebug +# Definitions which apply to PA only + +CCOPTS_pa= +DS2.0 +ES1.Xindirect_calls +ESlit +ESsfc +ESssf \ + +ordering_unaware +Oentrysched +Ofastaccess +Omultiprocessor \ + -Wp,-H300000 +Xid + +IDENTS_pa= -DCOMB_FLIPPER -DKGDB_ON -DLP64_TMP_NODBG -DNEW_MFCTL_W \ + -DNEW_RDB -DPARISC -DRDB -DSPP_OBP_BOOT -DSPP_RUNWAY_ERR_ENABLED \ + -D__NO_EM_HDRS -D__ROSEVILLE__ -D__TEMP64__ -D__hp9000s800 + +LDOPTS_pa= + + # above from the Makefile.bld example -LDOPTS= $(LDOPTS_ipf) +LDOPTS= ${LDOPTS_${ARCH}} KDEFS= $(CCOPTS_common) $(IDENTS_common) $(CPU_KDEFS) -KDEFS_64= $(CCOPTS_ipf) $(IDENTS_ipf) +KDEFS_64= ${CCOPTS_${ARCH}} ${IDENTS_${ARCH}} MODLINK=/opt/ddk/11.23/BE/bin/modlink MODMETA=/opt/ddk/11.23/BE/bin/modmeta @@ -121,7 +142,7 @@ include Makefile.common BITS = 64 32 - + BITS = 64 @@ -144,7 +165,7 @@ setup: ln -fs /etc/conf/ufs ufs ln -fs /etc/conf/sys ufs - + ln -fs /usr/include/sys h ln -fs /usr/include/net net ln -fs /usr/include/netinet netinet @@ -190,10 +211,10 @@ hpux_destdirs_libafs: dest_libafs # Below this line are targets when in the static directory: - + LIBAFS = libafs$(BITSUFFIX).a LIBAFSNONFS = libafs$(BITSUFFIX).nonfs.a - + LIBAFS = afs$(BITSUFFIX)_nfs LIBAFSNONFS =afs$(BITSUFFIX) @@ -222,22 +243,22 @@ $(DEST_LIBAFSNONFS): $(LIBAFSNONFS) ${INSTALL} -f $? $@ ${LIBAFS}: $(AFSAOBJS) $(AFSNFSOBJS) - + $(AR) cru $@ $? $(RANLIB) $@ - + $(MODLINK) -o $@ $(AFSAOBJS) $(AFSNFSOBJS) ${LIBAFSNONFS}: $(AFSAOBJS) $(AFSNONFSOBJS) - + $(AR) cru $@ $? $(RANLIB) $@ - + $(MODLINK) -o $@ $(AFSAOBJS) $(AFSNONFSOBJS) - + hpux_mod.modmeta.c: $(TOP_SRCDIR)/afs/$(MKAFS_OSTYPE)/hpux_mod.modmeta $(MODMETA) ${IDENTS_common} ${IDENTS_ipf} \ -DAFSLIB_NAME=${LIBAFSNONFS} \