]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
hpux-1122-updated-support-20030227
authorDouglas Engert <deengert@anl.gov>
Thu, 27 Feb 2003 17:27:25 +0000 (17:27 +0000)
committerDerrick Brashear <shadow@dementia.org>
Thu, 27 Feb 2003 17:27:25 +0000 (17:27 +0000)
updated support for hp-ux 11.22

21 files changed:
Makefile.in
acinclude.m4
src/afs/HPUX/osi_machdep.h
src/afs/HPUX/osi_sleep.c
src/afs/HPUX/osi_vfsops.c
src/afs/HPUX/osi_vnodeops.c
src/afs/VNOPS/afs_vnop_attrs.c
src/afs/afs_prototypes.h
src/cf/osconf.m4
src/config/afs_sysnames.h
src/config/param.hp_ux1122.h [deleted file]
src/config/param.ia64_hpux1122.h [new file with mode: 0644]
src/libafs/Makefile.common.in
src/libafs/MakefileProto.HPUX.in
src/libafsrpc/Makefile.in
src/libuafs/MakefileProto.HPUX.in
src/lwp/Makefile.in
src/lwp/process.c
src/pam/Makefile.in
src/rx/rx_kcommon.h
src/viced/viced.c

index 7f80f1ec3271e66a60ec905660a01ca38ad63fd3..0941519fa7b3648b09fc206ad6f3492a14a2b2bc 100644 (file)
@@ -109,7 +109,7 @@ comerr: util
 
 cmd: comerr
        @case ${SYS_NAME} in \
-       sgi_6* | sun*_5[789] | hp_ux11* | sparc64_linux* | alpha_linux* ) \
+       sgi_6* | sun*_5[789] | hp_ux11* | ia64_hpux* | sparc64_linux* | alpha_linux* ) \
                ${COMPILE_PART1} cmd ${COMPILE_PART2}64 ;; \
        *) \
                ${COMPILE_PART1} cmd ${COMPILE_PART2} ;; \
@@ -201,7 +201,7 @@ viced: cmd comerr vlserver audit
 
 tviced: cmd comerr viced vlserver libafsrpc libafsauthent
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|*fbsd*|*nbsd2*) \
+       alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*fbsd*|*nbsd2*) \
                ${COMPILE_PART1} tviced ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT viced for ${SYS_NAME} ;; \
@@ -223,7 +223,7 @@ null: cmd comerr
 ${TOP_LIBDIR}/libtermlib.a: 
        $(RM) -f ${TOP_LIBDIR}/libtermlib.a
        case ${SYS_NAME} in \
-       rs_aix* | sun4x_* | sunx86_* | sgi_6? | *linux* | ppc_darwin* | *fbsd* | hp_ux1122) \
+       rs_aix* | sun4x_* | sunx86_* | sgi_6? | *linux* | ppc_darwin* | *fbsd* | ia64_hpux*) \
                ln -s libnull.a ${TOP_LIBDIR}/libtermlib.a ;; \
        *) \
                ln -s /usr/lib/libtermlib.a ${TOP_LIBDIR}/libtermlib.a ;; \
@@ -247,7 +247,7 @@ bozo: cmd comerr ntp audit
 vfsck: vol
        set -x; \
        case ${SYS_NAME} in \
-       sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* | *_obsd* | *_nbsd* | sun*_4* | rs_aix5* ) \
+       sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | ia64_hpux* | *fbsd* | *_obsd* | *_nbsd* | sun*_4* | rs_aix5* ) \
                echo skip vfsck for ${SYS_NAME} ;; \
         * ) \
                ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
@@ -266,7 +266,7 @@ login: cmd comerr kauth rxkad
                ${COMPILE_PART1} login ${COMPILE_PART2} ;; \
        parisc_linux24) \
                echo Skipping pam/login for parisc_linux24 ;; \
-       sun4x_* | sunx86_* | hp_ux11* | *linux* | *fbsd* ) \
+       sun4x_* | sunx86_* | hp_ux11* | ia64_hpux* | *linux* | *fbsd* ) \
                ${COMPILE_PART1} pam ${COMPILE_PART2} ;; \
        ppc_darwin* | *_obsd* | *_nbsd* | hp_ux* | rs_aix5* ) \
                echo Skipping login for ${SYS_NAME} ;; \
@@ -356,7 +356,7 @@ libuafs: libuafs_setup vlserver_depinstall rx_depinstall fsint_depinstall \
                rxstat_depinstall lwp_depinstall des
        set -x; \
        case ${SYS_NAME} in \
-       hp_ux102* | *_obsd* | sun*_4* | *_nbsd*) \
+       hp_ux102* | *_obsd* | sun*_4* | *_nbsd*| ia64_hpux1122) \
                echo Skipping libuafs for ${SYS_NAME} ;; \
        * ) \
                ${COMPILE_PART1} libuafs ${COMPILE_PART2} ;; \
@@ -388,7 +388,7 @@ butc: cmd comerr bubasics butm budb bucoord cmd rxgen rx
 
 tbutc: cmd comerr bubasics butm budb bucoord cmd butc
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix4*|*linux*|hp_ux11*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix4*|*linux*|hp_ux11*|ia64_hpux*) \
                ${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT butc for ${SYS_NAME} ;; \
@@ -411,7 +411,7 @@ tests: rxtests ubiktests
 # pthread based user space RX library
 libafsrpc: rx rxkad des
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|*fbsd*|*nbsd2*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*fbsd*|*nbsd2*) \
        ${COMPILE_PART1} libafsrpc ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT libafsrpc for ${SYS_NAME} ;; \
@@ -419,7 +419,7 @@ libafsrpc: rx rxkad des
 
 libafsauthent: ubik auth kauth libafsrpc
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|*fbsd*|*nbsd2*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*fbsd*|*nbsd2*) \
        ${COMPILE_PART1} libafsauthent ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT libafsrpc for ${SYS_NAME} ;; \
@@ -428,7 +428,7 @@ libafsauthent: ubik auth kauth libafsrpc
 # pthread based user space RX library
 shlibafsrpc: rx rxkad des
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
        ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
        *) \
                echo Not building shared libafsrpc for ${SYS_NAME} ;; \
@@ -436,7 +436,7 @@ shlibafsrpc: rx rxkad des
 
 shlibafsauthent: ubik auth kauth shlibafsrpc
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
        ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
        *) \
                echo Not building shared libafsrpc for ${SYS_NAME} ;; \
@@ -456,7 +456,7 @@ libadmin_real:
 
 libadmin: libafsauthent bozo
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*) \
+       alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
                        $(MAKE) libadmin_real ;; \
        *) \
                echo Not building MT libadmin for ${SYS_NAME} ;; \
index 280d3fdf5149cd5558050ba86255e854b8dfa3ed..c84ccf95e93262a8acc9752e66a0611377bce3ee 100644 (file)
@@ -379,7 +379,7 @@ else
                        AFS_SYSNAME="hp_ux110"
                        ;;
                ia64-hp-hpux*)
-                       AFS_SYSNAME="hp_ux1122"
+                       AFS_SYSNAME="ia64_hpux1122"
                        ;;
                hppa*-hp-hpux10*)
                        AFS_SYSNAME="hp_ux102"
index f7ea4c683a2aaa577af6fcd8acafb13aa20990b4..ce823ca0123393ffcb7dabcf8c117644f0b29ee0 100644 (file)
@@ -104,8 +104,8 @@ extern void       afsHashRelease(tid_t key);
  * use the get_sleep_lock.
  * afs_osi_Sleep and afs_osi_Wakeup are defined
  */
-void afs_osi_Sleep(char *event);
-void afs_osi_Wakeup(char *event);
+void afs_osi_Sleep(void *event);
+int afs_osi_Wakeup(void *event);
 #endif
 
 #define        osi_NullHandle(x)       ((x)->proc == (caddr_t) 0)
index 25e862fef293ec81c358ec1dd88fb17dce1b7417..5818e99e79588d61628fdee41b30cbc1f418e808 100644 (file)
@@ -16,10 +16,6 @@ RCSID("$Header$");
 #include "afsincludes.h"       /* Afs-based standard headers */
 #include "afs/afs_stats.h"   /* afs statistics */
 
-#if defined(AFS_HPUX1122_ENV)
-void afs_osi_Wakeup(char *event);
-void afs_osi_Sleep(char *event);
-#endif
 
 static char waitV;
 
@@ -32,10 +28,14 @@ static int afs_osi_CallProc(aproc, arock, ams)
     int code;
 
     AFS_STATCNT(osi_CallProc);
+#if !defined(AFS_HPUX1122_ENV)
     AFS_GUNLOCK();
+#endif
     /* hz is in cycles/second, and timeout's 3rd parm is in cycles */
     code = timeout(aproc, arock, (ams * afs_hz)/1000 + 1);
+#if !defined(AFS_HPUX1122_ENV)
     AFS_GLOCK();
+#endif
     return code;
 }
 
@@ -47,17 +47,34 @@ static int afs_osi_CancelProc(aproc, arock)
     int code = 0;
     AFS_STATCNT(osi_CancelProc);
 
+#if !defined(AFS_HPUX1122_ENV)
     AFS_GUNLOCK();
+#endif
     code = untimeout(aproc, arock);
+#if !defined(AFS_HPUX1122_ENV)
     AFS_GLOCK();
+#endif
     return code;
 }
 
+#if defined(AFS_HPUX1122_ENV)
+static void AfsWaitHack(char * event)
+{
+    lock_t * sleep_lock;
+
+    AFS_STATCNT(WaitHack);
+       sleep_lock = get_sleep_lock(event);
+    wakeup(event);
+       spinunlock(sleep_lock);
+}
+#else
+
 static void AfsWaitHack()
 {
     AFS_STATCNT(WaitHack);
     wakeup(&waitV);
 }
+#endif
 
 void afs_osi_InitWaitHandle(struct afs_osi_WaitHandle *achandle)
 {
@@ -74,7 +91,12 @@ void afs_osi_CancelWait(struct afs_osi_WaitHandle *achandle)
     proc = achandle->proc;
     if (proc == 0) return;
     achandle->proc = (caddr_t) 0;   /* so dude can figure out he was signalled */
+#if defined(AFS_HPUX1122_ENV)
+       afs_osi_Wakeup((char *)achandle);
+#else
     afs_osi_Wakeup(&waitV);
+#endif
+
 }
 
 /* afs_osi_Wait
@@ -85,6 +107,10 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
 {
     int code;
     afs_int32 endTime, tid;
+#if defined(AFS_HPUX1122_ENV)
+       char localwait;
+       char * event;
+#endif
 
     AFS_STATCNT(osi_Wait);
     endTime = osi_Time() + (ams/1000);
@@ -94,12 +120,24 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
        AFS_ASSERT_GLOCK();
        code = 0;
        /* do not do anything for solaris, digital, AIX, and SGI MP */
+#if defined(AFS_HPUX1122_ENV)
+       if (ahandle) { 
+               event = (char *) ahandle;
+    }
+       else {
+               event = &localwait;
+    }
+       afs_osi_CallProc(AfsWaitHack, event, ams);
+       afs_osi_Sleep(event);
+       afs_osi_CancelProc(AfsWaitHack, event);
+#else
        afs_osi_CallProc(AfsWaitHack, (char *) u.u_procp, ams);
        afs_osi_Sleep(&waitV); /* for HP 10.0 */
 
        /* do not do anything for solaris, digital, and SGI MP */
        afs_osi_CancelProc(AfsWaitHack,  (char *) u.u_procp); 
        if (code) break;        /* if something happened, quit now */
+#endif
        /* if we we're cancelled, quit now */
        if (ahandle && (ahandle->proc == (caddr_t) 0)) {
            /* we've been signalled */
@@ -115,93 +153,31 @@ int afs_osi_SleepSig(void *event)
     return 0;
 }
 
-int afs_osi_Wakeup(void *event)
-{
-    wakeup((caddr_t) event);
-    return 0;
-}
-
 #if defined(AFS_HPUX1122_ENV)
-
-/* on HP 11.22 we are using beta semiphore for AFS_GLOCK */
-
-typedef struct afs_event {
-    struct afs_event *next;     /* next in hash chain */
-    char *event;                /* lwp event: an address */
-    int refcount;               /* Is it in use? */
-    int seq;                    /* Sequence number: this is incremented
-                                   by wakeup calls; wait will not return until
-                                   it changes */
-} afs_event_t;
-
-#define HASHSIZE 128
-afs_event_t *afs_evhasht[HASHSIZE];/* Hash table for events */
-#define afs_evhash(event)       (afs_uint32) ((((long)event)>>2) & (HASHSIZE-1));
-int afs_evhashcnt = 0;
-
-/* Get and initialize event structure corresponding to lwp event (i.e. address)
- * */
-static afs_event_t *afs_getevent(char *event)
+void afs_osi_Sleep(void *event)
 {
-    afs_event_t *evp, *newp = 0;
-    int hashcode;
-
-    AFS_ASSERT_GLOCK();
-    hashcode = afs_evhash(event);
-    evp = afs_evhasht[hashcode];
-    while (evp) {
-        if (evp->event == event) {
-            evp->refcount++;
-            return evp;
-        }
-        if (evp->refcount == 0)
-            newp = evp;
-        evp = evp->next;
-    }
-    if (!newp) {
-        newp = (afs_event_t *) osi_AllocSmallSpace(sizeof (afs_event_t));
-        afs_evhashcnt++;
-        newp->next = afs_evhasht[hashcode];
-        afs_evhasht[hashcode] = newp;
-        newp->seq = 0;
-    }
-    newp->event = event;
-    newp->refcount = 1;
-    return newp;
+       lock_t * sleep_lock;
+       
+       AFS_ASSERT_GLOCK();
+       get_sleep_lock(event);
+       AFS_GUNLOCK();
+       sleep((caddr_t) event, PZERO-2);
+       AFS_GLOCK();
 }
-
-
-/* Release the specified event */
-#define relevent(evp) ((evp)->refcount--)
-
-void afs_osi_Sleep(char *event)
+       
+int afs_osi_Wakeup(void *event)
 {
-    struct afs_event *evp;
-    int seq;
+       lock_t * sleep_lock;
 
-    evp = afs_getevent(event);
-    seq = evp->seq;
-    while (seq == evp->seq) {
-        AFS_ASSERT_GLOCK();
-       get_sleep_lock(event);
-        AFS_GUNLOCK();
-        sleep(event, PZERO-2);
-        AFS_GLOCK();
-    }
-    relevent(evp);
+       sleep_lock = get_sleep_lock(event);
+       wakeup((caddr_t) event);
+       spinunlock(sleep_lock);
+       return 0;
 }
-
-void afs_osi_Wakeup(char *event)
+#else
+int afs_osi_Wakeup(void *event)
 {
-    struct afs_event *evp;
-    lock_t * sleep_lock;
-
-    evp = afs_getevent(event);
-    sleep_lock = get_sleep_lock(event);
-    if (evp->refcount > 1) {
-        evp->seq++;
-        wakeup(event);
-    }
-    spinunlock(sleep_lock);
+    wakeup((caddr_t) event);
+    return 0;
 }
 #endif
index bf30d216547b7887237450c53aefcc248533be5a..5c1f7130ac71408aeeed56ae8c4485742777d490 100644 (file)
@@ -208,8 +208,13 @@ osi_InitGlock()
     if ( !afs_Starting ) {
        afs_Starting = 1;
        SPINUNLOCK_USAV(sched_lock, context);
+#if defined(AFS_HPUX1122_ENV)
        b_initsema(&afs_global_sema, 1,  NFS_LOCK_ORDER2, "AFS GLOCK");
         /* afsHash(64); */     /* 64 buckets */
+#else
+    initsema(&afs_global_sema, 1, FILESYS_SEMA_PRI, FILESYS_SEMA_ORDER);
+          afsHash(64);  /* 64 buckets */
+#endif
     } else {
        SPINUNLOCK_USAV(sched_lock, context);
     }
index 90abc853ee3156aea6b2445522189da8432920be..ebeac82c2f316d235ad12c3178930cf9dfa429ed 100644 (file)
@@ -1278,7 +1278,9 @@ retry:
     if (change_to_fstore)
        afspgin_update_dbd(vm_info, bsize);
     
-#if !defined(AFS_HPUX1122_ENV) /* needs to be fixed for 11.22 */
+#if defined(AFS_HPUX1122_ENV) 
+       getppdp()->cnt.v_exfod += count;
+#else
     mpproc_info[getprocindex()].cnt.v_exfod += count;
 #endif
     vmemp_unlockx();      /* free up VM empire */
@@ -1646,18 +1648,25 @@ afs_pageout(vp,prp, start, end, flags)
        /*
         * Update statistics
         */
-#if !defined(AFS_HPUX1122_ENV) /* needs to be checked for 11.22 */
        if (steal) {
            if (flags & PF_DEACT) {
+#if defined(AFS_HPUX1122_ENV)
+               getppdp()->cnt.v_pswpout += npages;
+#else
                mpproc_info[getprocindex()].cnt.v_pswpout += npages;
+#endif
 /*             sar_bswapout += ptod(npages);*/
            }
            else if (vhand) {
+#if defined(AFS_HPUX1122_ENV)
+               getppdp()->cnt.v_pgout++;
+               getppdp()->cnt.v_pgpgout += npages;
+#else
                mpproc_info[getprocindex()].cnt.v_pgout++;
                mpproc_info[getprocindex()].cnt.v_pgpgout += npages;
+#endif
            }
        }
-#endif
 
        /*
         * If time and patience have delivered enough
@@ -1909,7 +1918,11 @@ afs_swapfs_len(bp)
 afs_mmap(vp, off, size_bytes, access)
      struct vnode *vp;
      u_int off;
+#if defined(AFS_HPUX1122_ENV)
+        u_long size_bytes;
+#else
      u_int size_bytes;
+#endif
      int access;
 {
         long bsize = vtoblksz(vp);
@@ -1943,7 +1956,11 @@ int
 afs_unmap(vp,off, size_bytes,access)
      struct vnode *vp;
      u_int off;
+#if defined(AFS_HPUX1122_ENV)
+        u_long size_bytes;
+#else
      u_int size_bytes;
+#endif
      int access;
 {
        return 0;
@@ -1965,6 +1982,7 @@ afs_read_ahead(vp, prp, wrt, space, vaddr, rhead_cnt)
 int
 afs_prealloc(vp, size, ignore_minfree, reserved)
       struct vnode    *vp;
+      /* DEE on 11.22 following is off_t */
       size_t          size;
       int             ignore_minfree;
       int             reserved;
index 00974cf555a3229a2bfaa323e4efe78eb2491adb..dd8543cf65850ec0ebc251c90e0d40a4589ddca4 100644 (file)
@@ -33,6 +33,9 @@ RCSID("$Header$");
 extern afs_rwlock_t afs_xcbhash;
 struct afs_exporter *afs_nfsexporter;
 extern struct vcache *afs_globalVp;
+#if defined(AFS_HPUX1122_ENV)
+extern struct vfs *afs_globalVFS;
+#endif
 
 /* copy out attributes from cache entry */
 int afs_CopyOutAttrs(register struct vcache *avc, register struct vattr *attrs)
@@ -136,6 +139,9 @@ int afs_CopyOutAttrs(register struct vcache *avc, register struct vattr *attrs)
 #else 
     attrs->va_rdev = 1;
 #endif
+#if defined(AFS_HPUX1122_ENV)
+       if (afs_globalVFS) attrs->va_fstype = afs_globalVFS->vfs_mtype;
+#endif
 
     /*
      * Below return 0 (and not 1) blocks if the file is zero length. This conforms
index de4b548021998d29608087ad2028a96c2774062d..b9870742952a8f9a65171163cef824f3cffc74cd 100644 (file)
@@ -905,7 +905,7 @@ extern afs_int32 RXSTATS_ExecuteRequest(struct rx_call *acall);
 
 
 
-#if defined(AFS_SUN5_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
+#if defined(AFS_SUN5_ENV) || defined(AFS_LINUX20_ENV) || defined(AFS_AIX_ENV) || defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV) || defined(AFS_HPUX_ENV)
 #include "osi_prototypes.h"
 #endif
 
index 1c619e6c7459bb43ba4973aae65427ac4f49cc27..d29b84b3db97a5d67b42f3f2b0e6f27199372aa3 100644 (file)
@@ -150,7 +150,7 @@ case $AFS_SYSNAME in
                SHLIB_LINKER="ld -b"
                ;;
 
-       hp_ux1122)
+       ia64_hpux*)
                AR="/usr/bin/ar"
                AS="/usr/ccs/bin/as"
                CC="/opt/ansic/bin/cc"
index 8f13023f3c7a7a841cd0c180eb43705c53d3100f..0d5d448da15f4a8ae18b8e7cf615190d8773f29c 100644 (file)
@@ -44,7 +44,7 @@
 #define SYS_NAME_ID_hp_ux102            414
 #define SYS_NAME_ID_hp_ux110            415
 #define SYS_NAME_ID_hp_ux11i             416
-#define SYS_NAME_ID_hp_ux1122            417
+#define SYS_NAME_ID_ia64_hpux1122               417
 
 #define SYS_NAME_ID_mac2_51             500    
 #define SYS_NAME_ID_mac_aux10           501
diff --git a/src/config/param.hp_ux1122.h b/src/config/param.hp_ux1122.h
deleted file mode 100644 (file)
index 72ab777..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * 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_HPUX1122_ENV 1
-
-#define AFS_64BIT_ENV          1       /* Defines afs_int32 as int, not long. */
-#if defined(__LP64__)
-#define AFS_64BITPOINTER_ENV   1       /* pointers are 64 bits. */
-#endif
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_SYSCALL    48 /* slot reserved for AFS */
-
-/* Machine / Operating system information */
-#define SYS_NAME       "hp_ux1122"
-#define SYS_NAME_ID    SYS_NAME_ID_hp_ux1122
-#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
-
-#define USE_UCONTEXT        /* should be in afsconfig.h */
-
-#endif /* AFS_PARAM_H */
diff --git a/src/config/param.ia64_hpux1122.h b/src/config/param.ia64_hpux1122.h
new file mode 100644 (file)
index 0000000..013303d
--- /dev/null
@@ -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_64BIT_ENV          1       /* Defines afs_int32 as int, not long. */
+#if defined(__LP64__)
+#define AFS_64BITPOINTER_ENV   1       /* pointers are 64 bits. */
+#endif
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_SYSCALL    48 /* slot reserved for AFS */
+
+/* Machine / Operating system information */
+#define SYS_NAME       "ia64_hpux1122"
+#define SYS_NAME_ID    SYS_NAME_ID_ia64_hpux1122
+#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
+
+#define USE_UCONTEXT        /* should be in afsconfig.h */
+
+#endif /* AFS_PARAM_H */
index 07d10ef320fedd4fdd061d2e6409239654c4d740..4ea045d63d60bdfaa8175e381a981ac4731f2aee 100644 (file)
@@ -39,7 +39,7 @@ COMMON_INCLUDE = -I. -I.. -I../nfs \
        -I${TOP_OBJDIR}/src/fsint \
        -I${TOP_OBJDIR}/src/vlserver \
        -I${TOP_INCDIR} \
-       -I${TOP_INCDIR}/afs \
+       -I${TOP_INCDIR}/afs 
 
 # Build rules - CC and CFLAGS are defined in system specific MakefileProtos.
 .SUFFIXES:     .i
index 1bd1145f1b77947fc9f6ee26ea7d240f3b1bc059..24d243be9d0c0e3ee86f5440d4cdb65f43c4ae32 100644 (file)
@@ -59,7 +59,7 @@ KDEFS_64 = +DA2.0W +DS2.0 +M2 +W 478,530
 
 <all>
 
-<hp_ux1122>
+<ia64_hpux1122>
 KDEFS= +kernel -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \
   -DFINE_GRAINED_PROTO_FILES \
   -DMP -Wl,+k $(CPU_KDEFS)
@@ -85,7 +85,7 @@ include Makefile.common
 
 <hp_ux110 hp_ux102>
 BITS = 64 32
-<hp_ux1122>
+<ia64_hpux1122>
 BITS = 64
 <all>
 
@@ -93,7 +93,7 @@ setup:
        -$(RM) -f  h conf net dux machine netinet nfs rpc s200 ufs sys
 <hp_ux110 hp_ux102>
        ln -fs /usr/include/sys h
-<hp_ux1122>
+<ia64_hpux1122>
        ln -fs /etc/conf/h h
 <all>
        ln -fs /etc/conf conf
@@ -106,7 +106,7 @@ setup:
        ln -fs /etc/conf/machine s200
 <hp_ux110 hp_ux102>
        ln -fs /etc/conf/ufs ufs
-<hp_ux1122>
+<ia64_hpux1122>
        ln -fs /etc/conf/sys ufs
 <all>
        ln -fs /usr/include/sys sys
index 6f4d3b2a91506f4e0c2b5d7423cef1dfa252cc54..4f1fae3bf2035ebb48e8718677fa30f581c0cfee 100644 (file)
@@ -17,7 +17,7 @@ CFLAGS = ${COMMON_CFLAGS} -I${srcdir}/../des -I../des -I../rxkad -I${srcdir}/../
 
 SFLAGS=-P -I${TOP_INCDIR}
 RX = ../rx
-CCRULE = ${CC} ${CFLAGS} -c $<
+CCRULE = ${CC} ${CFLAGS} -c $?
 RXKAD = ../rxkad
 RXSTAT = ../rxstat
 FSINT = ../fsint
index 2af86e03b6b5bce6c0f31f4339b6f1a0a13ba281..26028deb1b4417652b03244982af6e8072224be2 100644 (file)
@@ -13,7 +13,7 @@ CC = /opt/ansic/bin/cc
 DEFINES= -D_REENTRANT -DKERNEL -DUKERNEL
 <hp_ux102 hp_ux110>
 KOPTS=-Wp,-H200000 -Wl,-a,archive +DA1.0 +z
-<hp_ux1122>
+<ia64_hpux1122>
 KOPTS=-Wp,-H200000 -Wl,-a,archive_shared
 <all>
 CFLAGS=-I. -I.. -I${TOP_OBJDIR}/src/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
@@ -22,7 +22,7 @@ WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
 
 <hp_ux102 hp_ux110>
 TEST_CFLAGS= -Wp,-H200000 +DA1.0 +z -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux -DAFS_HPUX_ENV
-<hp_ux1122>
+<ia64_hpux1122>
 TEST_CFLAGS= -Wp,-H200000 -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux -DAFS_HPUX_ENV
 <all>
 TEST_LDFLAGS=
index fffb8f512c691c1d4b6337ad67c8e5298b1b2b3d..470d99b37acf88387b5d11ae8693b13ecb71b11b 100644 (file)
@@ -69,7 +69,7 @@ process.o     : process.s process.c
                ${CC} -E -I${TOP_INCDIR} process.S >process.ss ; \
                ${AS} process.ss -o process.o ;  \
                $(RM) -f process.S ;;\
-       hp_ux11* ) \
+       ia64_hpux11* | hp_ux11* ) \
                ${CC} ${CFLAGS} -c ${srcdir}/process.c;; \
        *) \
                /lib/cpp -P -I${TOP_INCDIR} ${srcdir}/process.s process.ss; \
index 46f72cc39f68ff703a4dffc41d82de811114cc38..6ee88e829fe1fbdcdcbe514a9f7c16ff9ce9ac1e 100644 (file)
@@ -37,6 +37,12 @@ char*        newsp;
 {
 #if defined(AFS_IA64_LINUX20_ENV)
        register unsigned long sp __asm__("r12");
+#elif defined(AFS_HPUX1122_ENV)
+/* don't need anything special, will use
+ * ucontext.uc_stack.ss_sp as it matches r12.
+ * This should also work for Linux,
+ * but dont have system to test DEE
+ */
 #else
 #error "You need to update stack pointer register for this platform"
 #endif
@@ -45,7 +51,11 @@ char*        newsp;
 
        savearea->state = 0;
        getcontext(&savearea->ucontext);
+#if defined(AFS_HPUX1122_ENV)
+    savearea->topstack = savearea->ucontext.uc_stack.ss_sp;
+#else
        savearea->topstack = sp;
+#endif
        switch (savearea->state)
        {
                case 0:
index 78563c4c7fe523c5a0a5b69425c65d725cd7313e..05cd27cdff9cc8cdec551a47dc7ce959a6dd9e9b 100644 (file)
@@ -50,7 +50,7 @@ afs_util_krb.o: afs_util.c afs_pam_msg.h afs_message.h afs_util.h
 pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
        set -x; \
        case "$(SYS_NAME)" in \
-       hp_ux*) \
+       hp_ux* | ia64_hpux*) \
                $(LD) $(LDFLAGS) -c ${srcdir}/mapfile.hp -o $@ \
                        afs_setcred.o afs_auth.o afs_util.o \
                        $(SHOBJS) $(LIBS) ;; \
@@ -71,7 +71,7 @@ pam_afs.so.1: $(SHOBJS) afs_setcred.o afs_auth.o afs_util.o
 pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
        set -x; \
        case "$(SYS_NAME)" in \
-       hp_ux*) \
+       hp_ux* | ia64_hpux*) \
                $(LD) $(LDFLAGS) -c ${srcdir}/mapfile.hp -o $@ \
                        afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o \
                        $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
@@ -92,7 +92,7 @@ pam_afs.krb.so.1: $(SHOBJS) afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o
 test_pam: test_pam.o
        set -x; \
        case "$(SYS_NAME)" in \
-       hp_ux*) \
+       hp_ux* | ia64_hpux*) \
                $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
        sun*_5*) \
                $(CC) $(CFLAGS) -o $@ test_pam.o ${PAM_LIBS};; \
index 45bf2878858ce54b65eb20796eaf1cca4529bc13..35081c3c6f8bb7eee45fa2f2b1d7122ebe36fea6 100644 (file)
@@ -45,7 +45,9 @@ typedef unsigned short                  etap_event_t;
 #include "h/dir.h"
 #endif
 #include "h/buf.h"
+#if !defined(AFS_HPUX1122_ENV)
 #include "h/mbuf.h"
+#endif
 #else /* !defined(AFS_SUN5_ENV) && !defined(AFS_XBSD_ENV) */
 #if defined(AFS_FBSD_ENV)
 #include "h/dirent.h"
index 3384a5ae753ee24d8e70e262e3eb6f6fdcf6e35c..57bd9b960cf83615706c95e5bf96c6c63658c1ae 100644 (file)
@@ -243,11 +243,13 @@ static void ResetCheckSignal(void)
 
 #if defined(AFS_HPUX_ENV)
     signo = SIGPOLL;
-#elsif defined(AFS_NT40_ENV)
+#else
+#if defined(AFS_NT40_ENV)
     signo = SIGUSR2;
 #else
     signo = SIGXCPU;
 #endif
+#endif
 
 #if defined(AFS_PTHREAD_ENV)
     softsig_signal(signo, CheckSignal_Signal);