]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
STABLE12-hpux11i-ia64-hpux-1122-20030523
authorDouglas Engert <deengert@anl.gov>
Wed, 28 May 2003 19:08:37 +0000 (19:08 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 28 May 2003 19:08:37 +0000 (19:08 +0000)
FIXES 1490

so 1.2.10 will support hpux 11i and 11.22

35 files changed:
Makefile.in
acinclude.m4
src/afs/HPUX/osi_groups.c
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/VNOPS/afs_vnop_readdir.c
src/afs/afs_osi.c
src/afs/afs_util.c
src/afs/sysincludes.h
src/afsd/Makefile.in
src/afsd/afs.hpux1122.driver [new file with mode: 0644]
src/config/Makefile.hp_ux11i.in [new file with mode: 0644]
src/config/Makefile.ia64_hpux1122.in [new file with mode: 0644]
src/config/afs_sysnames.h
src/config/param.hp_ux11i.h [new file with mode: 0644]
src/config/param.hp_ux11i_usr.h [new file with mode: 0644]
src/config/param.ia64_hpux1122.h [new file with mode: 0644]
src/config/param.ia64_hpux1122_usr.h [new file with mode: 0644]
src/dir/dir.c
src/libafs/MakefileProto.HPUX.in
src/libuafs/MakefileProto.HPUX.in
src/lwp/Makefile.in
src/lwp/lwp.h
src/lwp/process.c
src/pam/Makefile.in
src/pinstall/install.c
src/rx/HPUX/rx_kmutex.h
src/rx/rx_kcommon.c
src/rx/rx_kcommon.h
src/rx/rx_packet.c
src/venus/Makefile.in
src/viced/viced.c

index 5fc92dfe189fa121fb21a63dd3b1554e49f3e869..56a5f5e9377c095b021e901a8e8b79c5a59b9fe3 100644 (file)
@@ -137,7 +137,7 @@ comerr: util
 
 cmd: comerr
        @case ${SYS_NAME} in \
-       sgi_6* | sun4x_5[789] | hp_ux11* | sparc64_linux* | alpha_linux* ) \
+       sgi_6* | sun4x_5[789] | hp_ux11* | ia64_hpux* | sparc64_linux* | alpha_linux* ) \
                ${COMPILE_PART1} cmd ${COMPILE_PART2}64 ;; \
        *) \
                ${COMPILE_PART1} cmd ${COMPILE_PART2} ;; \
@@ -243,7 +243,7 @@ viced: project vlserver audit
 
 tviced: project viced vlserver libafsrpc libafsauthent
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux110) \
+       alpha_dux*|sgi_*|sun*_5*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
                ${COMPILE_PART1} tviced  ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT viced for ${SYS_NAME} ;; \
@@ -264,7 +264,7 @@ null: project
 
 gtx: project null auth # kauth rxkad ?
        case ${SYS_NAME} in \
-         rs_aix* | sun*_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd*) \
+         rs_aix* | sun*_5? | sgi_6? | *linux* | ppc_darwin* | *fbsd* | ia64_hpux*) \
                $(RM) -f ${TOP_LIBDIR}/libtermlib.a; \
                ln -s libnull.a ${TOP_LIBDIR}/libtermlib.a; \
                ${COMPILE_PART1} gtx ${COMPILE_PART2};; \
@@ -295,7 +295,7 @@ bozo: project ntp audit
 vfsck: vol
        set -x; \
        case ${SYS_NAME} in \
-       sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | *fbsd* | *_obsd* | sun*_4* ) \
+       sgi_* | *linux* | rs_aix42 | ppc_darwin* | hp_ux* | ia64_hpux* | *fbsd* | *_obsd* | sun*_4* ) \
                echo skip vfsck for ${SYS_NAME} ;; \
         * ) \
                ${COMPILE_PART1} vfsck ${COMPILE_PART2} ;; \
@@ -316,7 +316,7 @@ login: project kauth rxkad
                echo Skipping pam/login for parisc_linux24 ;; \
        amd64_linux24) \
                echo Skipping pam/login for amd64_linux24 ;; \
-       sun*_* | hp_ux11* | *linux* | *fbsd* ) \
+       sun*_* | hp_ux11* | ia64_hpux* | *linux* | *fbsd* ) \
                ${COMPILE_PART1} pam ${COMPILE_PART2} ;; \
        ppc_darwin* | *_obsd* ) \
                echo Skipping login for ${SYS_NAME} ;; \
@@ -416,7 +416,7 @@ butc: project bubasics butm budb bucoord cmd
 
 tbutc: project bubasics butm budb bucoord cmd butc
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_*|rs_aix4*|*linux*|hp_ux110) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix4*|*linux*|hp_ux11*|ia64_hpux*) \
                ${COMPILE_PART1} tbutc ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT butc for ${SYS_NAME} ;; \
@@ -439,7 +439,7 @@ tests: rxtests ubiktests
 # pthread based user space RX library
 libafsrpc: rx rxkad des
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*fbsd*) \
        ${COMPILE_PART1} libafsrpc  ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT libafsrpc for ${SYS_NAME} ;; \
@@ -447,7 +447,7 @@ libafsrpc: rx rxkad des
 
 libafsauthent: ubik auth kauth libafsrpc
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110|*fbsd*) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*|*fbsd*) \
        ${COMPILE_PART1} libafsauthent  ${COMPILE_PART2} ;; \
        *) \
                echo Not building MT libafsrpc for ${SYS_NAME} ;; \
@@ -457,7 +457,7 @@ shlibafsrpc: rx rxkad des
        case ${SYS_NAME} in \
        amd64_linux24) \
                echo Skipping shlibafsprc for amd64_linux24 ;; \
-       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
        ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \
        *) \
                echo Not building shared libafsrpc for ${SYS_NAME} ;; \
@@ -467,7 +467,7 @@ shlibafsauthent: ubik auth kauth shlibafsrpc
        case ${SYS_NAME} in \
        amd64_linux24) \
                echo Skipping shlibafsauthent for amd64_linux24 ;; \
-       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
        ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \
        *) \
                echo Not building shared libafsrpc for ${SYS_NAME} ;; \
@@ -487,7 +487,7 @@ libadmin_real:
 
 libadmin: libafsauthent bozo
        case ${SYS_NAME} in \
-       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux110) \
+       alpha_dux*|sgi_*|sun*_*|rs_aix*|*linux*|hp_ux11*|ia64_hpux*) \
                        $(MAKE) libadmin_real ;; \
        *) \
                echo Not building MT libadmin for ${SYS_NAME} ;; \
index 7a507921be7091cfc3f059e39d46af956f59fa19..81ee1126cd91b91763fcd4f843754908524d97c5 100644 (file)
@@ -347,9 +347,15 @@ else
                i?86-*-freebsd4.6*)
                        AFS_SYSNAME="i386_fbsd_46"
                        ;;
-               hppa*-hp-hpux11*)
+               hppa*-hp-hpux11.0*)
                        AFS_SYSNAME="hp_ux110"
                        ;;
+               hppa*-hp-hpux11.11)
+                        AFS_SYSNAME="hp_ux11i"
+                       ;;
+               ia64-hp-hpux*)
+                       AFS_SYSNAME="ia64_hpux1122"
+                       ;;
                hppa*-hp-hpux10*)
                        AFS_SYSNAME="hp_ux102"
                        ;;
index 49ac59497a1e3fbaa2f6721cab7d42fc902275ef..1d2ac650636adf3fd0c8ab1b4b15e65e2506ff28 100644 (file)
@@ -133,6 +133,9 @@ afs_setgroups(
     int *gp;
     struct ucred *newcr;
     ulong_t s;
+#if defined(AFS_HPUX110_ENV)
+    register ulong_t context;
+#endif
 
     AFS_STATCNT(afs_setgroups);
     
@@ -147,8 +150,14 @@ afs_setgroups(
            /* somebody else might have a pointer to this structure.
             ** make sure we do not have a race condition */
            newcr = *cred;
+#if defined(AFS_HPUX110_ENV)
+               /* all of the uniprocessor spinlocks are not defined. */
+               /* I assume the UP and MP are now handled together */
+               MP_SPINLOCK_USAV(cred_lock, context);
+#else
            s = UP_SPL6();
            SPINLOCK(cred_lock);
+#endif
        }
     
     /* copy the group info */
@@ -168,8 +177,12 @@ afs_setgroups(
        }
     else
        {
+#if defined(AFS_HPUX110_ENV)
+               MP_SPINUNLOCK_USAV(cred_lock, context);
+#else
            (void) UP_SPLX(s);
            SPINUNLOCK(cred_lock);
+#endif
        }
     return (setuerror(0), 0);
 }
index 2ea60216657ce92ec82a6e7157f0bc23603b9eb3..e7b8312f471b96e1f2d4cac6c31ae28f9deb6de0 100644 (file)
@@ -49,10 +49,15 @@ extern struct timeval time;
  * HP uses global mutex to protect afs land
  */
 
+#if !defined(AFS_HPUX110_ENV)
 extern sema_t afs_global_sema;
+#else
+extern b_sema_t afs_global_sema;
+#endif
 
 extern void osi_InitGlock(void);
 
+#if !defined(AFS_HPUX110_ENV)
 extern void       afsHash(int nbuckets);
 extern sv_sema_t *afsHashInsertFind(tid_t key);
 extern sv_sema_t *afsHashFind(tid_t key);
@@ -64,6 +69,11 @@ extern void       afsHashRelease(tid_t key);
 #define AFS_GLOCK()     MP_PXSEMA(&afs_global_sema, AFS_SAVE_SEMA)
 #define AFS_GUNLOCK()   (AFS_ASSERT_GLOCK(), MP_VXSEMA(&afs_global_sema,AFS_FIND_SEMA), (!uniprocessor ? (afsHashRelease(AFS_GLOCK_PID),0) : 0))
 #define ISAFS_GLOCK()   (!uniprocessor ? owns_sema(&afs_global_sema):1)
+#else
+#define AFS_GLOCK()  b_psema(&afs_global_sema)
+#define AFS_GUNLOCK() b_vsema(&afs_global_sema)
+#define ISAFS_GLOCK() b_owns_sema(&afs_global_sema)
+#endif
 
 #define AFS_RXGLOCK() 
 #define AFS_RXGUNLOCK()
@@ -75,6 +85,7 @@ extern void       afsHashRelease(tid_t key);
 #define USERPRI     NET_SPLX(splvar)
 #endif /* KERNEL */
 
+#if !defined(AFS_HPUX110_ENV)
 /* 
  * On HP, the global lock is an alpha semaphore, hence it is automatically
  * released and reacquired aroubd a sleep() and wakeup().
@@ -82,13 +93,32 @@ extern void       afsHashRelease(tid_t key);
 
 #define        afs_osi_Sleep(x)        sleep((caddr_t) x,PZERO-2)
 #define        afs_osi_Wakeup(x)       wakeup((caddr_t) x)
+#else
+/*
+ * On 11.* global lock is a beta semaphore, hence we need to
+ * release and reacquire around sleep and wakeup. We also need to
+ * use the get_sleep_lock.
+ * afs_osi_Sleep and afs_osi_Wakeup are defined
+ */
+void afs_osi_Sleep(void *event);
+int afs_osi_Wakeup(void *event);
+#endif
+
+
 #define        osi_NullHandle(x)       ((x)->proc == (caddr_t) 0)
 
+#if !defined(AFS_HPUX110_ENV)
 extern caddr_t kmem_alloc();
+#endif
+
 #include <sys/kthread_iface.h> /* for kt_cred() */
 
 /* Expected to be available as a patch from HP */
 /* See section D of the top level README for details */
+#if defined(AFS_HPUX110_ENV)
+#include <sys/vfs_vm.h>
+#else
 #include <vfs_vm.h>
+#endif
 
 #endif /* _OSI_MACHDEP_H_ */
index 248c8585db00da91a7f188c48ae56a8e3688f5a7..0c9e87437cbe96eb460c6e43de76790ae6522ca3 100644 (file)
@@ -18,8 +18,9 @@ RCSID("$Header$");
 
 
 
-
+#if !defined(AFS_HPUX110_ENV)
 static char waitV;
+#endif
 
 /* call procedure aproc with arock as an argument, in ams milliseconds */
 static int afs_osi_CallProc(aproc, arock, ams)
@@ -30,10 +31,14 @@ static int afs_osi_CallProc(aproc, arock, ams)
     int code;
 
     AFS_STATCNT(osi_CallProc);
+#if !defined(AFS_HPUX110_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_HPUX110_ENV)
     AFS_GLOCK();
+#endif
     return code;
 }
 
@@ -45,17 +50,34 @@ static int afs_osi_CancelProc(aproc, arock)
     int code = 0;
     AFS_STATCNT(osi_CancelProc);
 
+#if !defined(AFS_HPUX110_ENV)
     AFS_GUNLOCK();
+#endif
     code = untimeout(aproc, arock);
+#if !defined(AFS_HPUX110_ENV)
     AFS_GLOCK();
+#endif
     return code;
 }
 
+#if defined(AFS_HPUX110_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)
 {
@@ -72,7 +94,11 @@ 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_HPUX110_ENV)
+   afs_osi_Wakeup((char *)achandle);
+#else
     afs_osi_Wakeup(&waitV);
+#endif
 }
 
 /* afs_osi_Wait
@@ -83,6 +109,10 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
 {
     int code;
     afs_int32 endTime, tid;
+#if defined(AFS_HPUX110_ENV)
+   char localwait;
+   char * event;
+#endif
 
     AFS_STATCNT(osi_Wait);
     endTime = osi_Time() + (ams/1000);
@@ -92,12 +122,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_HPUX110_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 */
@@ -106,3 +148,27 @@ int afs_osi_Wait(afs_int32 ams, struct afs_osi_WaitHandle *ahandle, int aintok)
     } while (osi_Time() < endTime);
     return code;
 }
+
+#if defined(AFS_HPUX110_ENV)
+void afs_osi_Sleep(void *event)
+{
+   lock_t * sleep_lock;
+   
+   AFS_ASSERT_GLOCK();
+   get_sleep_lock(event);
+   AFS_GUNLOCK();
+   sleep((caddr_t) event, PZERO-2);
+   AFS_GLOCK();
+}
+
+int afs_osi_Wakeup(void *event)
+{
+    lock_t * sleep_lock;
+
+   sleep_lock = get_sleep_lock(event);
+   wakeup((caddr_t) event);
+   spinunlock(sleep_lock);
+   return 0;
+}
+#endif
+
index 26624c3b55714d67dc349fee32ff8002c051d21e..04d12aaeb07293d370771734abb6da5f2a9d312d 100644 (file)
@@ -182,6 +182,9 @@ struct vfsops Afs_vfsops = {
 static int afs_Starting = 0;
 
 #pragma align 64
+#if defined(AFS_HPUX110_ENV)
+b_sema_t afs_global_sema = {0};
+#else
 sema_t afs_global_sema = {
    NULL, 0, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, /* sa_type */
    0, 0, 0, 0, 0, 0, 0, NULL, /* sa_link */
@@ -190,6 +193,7 @@ sema_t afs_global_sema = {
    , 0, 0, 0, NULL
 #endif
   };
+#endif
 
 void
 osi_InitGlock()
@@ -200,8 +204,12 @@ osi_InitGlock()
     if ( !afs_Starting ) {
        afs_Starting = 1;
        SPINUNLOCK_USAV(sched_lock, context);
+#if defined(AFS_HPUX110_ENV)
+       b_initsema(&afs_global_sema, 1,  NFS_LOCK_ORDER2, "AFS GLOCK");
+#else
        initsema(&afs_global_sema, 1, FILESYS_SEMA_PRI, FILESYS_SEMA_ORDER);
         afsHash(64);   /* 64 buckets */
+#endif
     } else {
        SPINUNLOCK_USAV(sched_lock, context);
     }
index cafe4b5e4fa75a0d6a06a18be1ffce332d86716c..d12f84bc2e5dad5d4db5550d8b42b9e504748090 100644 (file)
@@ -49,7 +49,20 @@ extern int afs_close();
 
 #define vtoblksz(vp)   ((vp)->v_vfsp->vfs_bsize)
 
+#if defined(AFS_HPUX110_ENV)
+/* We no longer need to lock on the VM Empire,
+ * or at least that is what is claimed. 
+ * so we will noopt the vmemp_ routines
+ * This needs to be looked at closer.
+ */
+#define vmemp_lockx()
+#undef  vmemp_returnx
+#define vmemp_returnx(a) return(a)
+#define vmemp_unlockx()
+#endif
+
 
+#if !defined(AFS_HPUX110_ENV)
 /*
  * Copy an mbuf to the contiguous area pointed to by cp.
  * Skip <off> bytes and copy <len> bytes.
@@ -92,6 +105,7 @@ m_cpytoc(m, off, len, cp)
 
        return (len);
 }
+#endif
 
 /* 
  *  Note that the standard Sun vnode interface doesn't haven't an vop_lockf(), so this code is
@@ -160,7 +174,11 @@ afs_lockf( vp, flag, len, cred, fp, LB, UB )
 }
 
 
-#include "../machine/vmparam.h"        /* For KERNELSPACE */
+#if defined(AFS_HPUX1122_ENV)
+#include "../machine/vm/vmparam.h"
+#else
+#include "../machine/vmparam.h"       /* For KERNELSPACE */
+#endif
 #include "../h/debug.h"
 #include "../h/types.h"
 #include "../h/param.h"
@@ -1262,7 +1280,11 @@ retry:
     if (change_to_fstore)
        afspgin_update_dbd(vm_info, bsize);
     
+#if defined(AFS_HPUX110_ENV)
+       getppdp()->cnt.v_exfod += count;
+#else
     mpproc_info[getprocindex()].cnt.v_exfod += count;
+#endif
     vmemp_unlockx();      /* free up VM empire */
     *ret_startindex = startindex;
     
@@ -1630,12 +1652,21 @@ afs_pageout(vp,prp, start, end, flags)
         */
        if (steal) {
            if (flags & PF_DEACT) {
+#if defined(AFS_HPUX110_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_HPUX110_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
            }
        }
 
@@ -1889,7 +1920,11 @@ afs_swapfs_len(bp)
 afs_mmap(vp, off, size_bytes, access)
      struct vnode *vp;
      u_int off;
+#if defined(AFS_HPUX1111_ENV)
+         u_long size_bytes;
+#else
      u_int size_bytes;
+#endif
      int access;
 {
         long bsize = vtoblksz(vp);
@@ -1923,7 +1958,11 @@ int
 afs_unmap(vp,off, size_bytes,access)
      struct vnode *vp;
      u_int off;
+#if defined(AFS_HPUX1111_ENV)
+        u_long size_bytes;
+#else
      u_int size_bytes;
+#endif
      int access;
 {
        return 0;
@@ -1945,6 +1984,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;
@@ -1984,9 +2024,19 @@ afs_ioctl(vp, com, data, flag, cred)
        return(ENOTTY);
 }
 
+#if defined(AFS_HPUX1111_ENV)
+/* looks like even if appl is 32 bit, we need to round to 8 bytes */
+/* This had no effect, it must not be being used */
+
+#define roundtoint(x)   (((x) + (sizeof(long) - 1)) & ~(sizeof(long) - 1))
+#define reclen(dp)      roundtoint(((dp)->d_namlen + 1 + (sizeof(u_long)) +\
+                                sizeof(u_int) + 2 * sizeof(u_short)))
+#else
+
 #define roundtoint(x)   (((x) + (sizeof(int) - 1)) & ~(sizeof(int) - 1))
 #define reclen(dp)      roundtoint(((dp)->d_namlen + 1 + (sizeof(u_long)) +\
                                 2 * sizeof(u_short)))
+#endif
 
 int
 afs_readdir(vp, uiop, cred)
index f78dafe44c0762f33362c0ae01bd9f1b27800c02..f8ed5f7bf5f24ea60d1fd0b47cf19f62f76475b7 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_HPUX110_ENV)
+extern struct vfs *afs_globalVFS;
+#endif
 
 /* copy out attributes from cache entry */
 afs_CopyOutAttrs(avc, attrs)
@@ -160,6 +163,11 @@ afs_CopyOutAttrs(avc, attrs)
 #else 
     attrs->va_rdev = 1;
 #endif
+
+#if defined(AFS_HPUX110_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
      * better with the other filesystems that do return 0.     
index 8bcbcc4e55d1378c47a10b1ca1f24d9a9ecea59c..a9e886cdeda403b3f8229df0db4d9d3bed4a06df 100644 (file)
@@ -31,6 +31,11 @@ RCSID("$Header$");
 #include "../afs/nfsclient.h"
 #include "../afs/afs_osidnlc.h"
 
+#if    defined(AFS_HPUX1122_ENV)
+#define DIRPAD 7
+#else
+#define DIRPAD 3
+#endif
 
 /**
  * A few definitions. This is until we have a proper header file
@@ -172,7 +177,7 @@ struct minnfs_direct {
     u_short    d_reclen;
     u_short    d_namlen;
 };
-#define NDIRSIZ_LEN(len)   ((sizeof (struct dirent)+4 - (MAXNAMLEN+1)) + (((len)+1 + 3) &~ 3))
+#define NDIRSIZ_LEN(len)   ((sizeof (struct dirent)+4 - (MAXNAMLEN+1)) + (((len)+1 + DIRPAD) &~ DIRPAD))
 #endif
 #endif /* !defined(UKERNEL) */
 
@@ -200,7 +205,7 @@ int afs_rd_stash_i = 0;
 */
 #if    defined(AFS_HPUX100_ENV)
 #define DIRSIZ_LEN(len) \
-    ((sizeof (struct __dirent) - (_MAXNAMLEN+1)) + (((len)+1 + 3) &~ 3))
+    ((sizeof (struct __dirent) - (_MAXNAMLEN+1)) + (((len)+1 + DIRPAD) &~ DIRPAD))
 #else
 #if    defined(AFS_SUN56_ENV)
 #define DIRSIZ_LEN(len) ((18 + (len) + 1 + 7) & ~7 )
@@ -406,7 +411,7 @@ int                 off;
 
     /* pad out the remaining characters with zeros */
     if (code == 0) { 
-       AFS_UIOMOVE(bufofzeros, ((slen + 4) & ~3) - slen, UIO_READ,
+        AFS_UIOMOVE(bufofzeros, ((slen + 1 + DIRPAD) & ~DIRPAD) - slen, UIO_READ,
                    auio, code);
     }
     AFS_MOVE_LOCK();
@@ -620,7 +625,7 @@ tagain:
                    AFS_UIOMOVE(ode->name, o_slen, UIO_READ, auio, code);
                /* pad out the remaining characters with zeros */
                if (code == 0) {
-                   AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen, UIO_READ, auio, code);
+                   AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen, UIO_READ, auio, code);
                }
                /* pad out the difference between rlen and slen... */
                if (DIRSIZ_LEN(o_slen) < rlen) {
@@ -683,7 +688,7 @@ tagain:
                    AFS_UIOMOVE(ode->name, o_slen, UIO_READ, auio, code);
                /* pad out the remaining characters with zeros */
                if (code == 0) {
-                   AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen, UIO_READ, auio, code);
+                    AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen, UIO_READ, auio, code);
                }
                /* pad out the difference between rlen and slen... */
                if (DIRSIZ_LEN(o_slen) < rlen) {
@@ -734,7 +739,7 @@ tagain:
                AFS_UIOMOVE(ode->name, o_slen, UIO_READ, auio, code);
            /* pad out the remaining characters with zeros */
            if (code == 0) {
-               AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen,
+               AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen,
                            UIO_READ, auio, code);
            }
            /* pad out the difference between rlen and slen... */
@@ -882,7 +887,7 @@ tagain:
                }
                /* pad out the remaining characters with zeros */
                if (code == 0) {
-                   AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen, UIO_READ, auio, code);
+                   AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen, UIO_READ, auio, code);
                }
                /* pad out the difference between rlen and slen... */
                if (NDIRSIZ_LEN(o_slen) < rlen) {
@@ -931,7 +936,7 @@ tagain:
                    AFS_UIOMOVE(ode->name, o_slen, UIO_READ, auio, code);
                /* pad out the remaining characters with zeros */
                if (code == 0) {
-                   AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen, UIO_READ, auio, code);
+                   AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen, UIO_READ, auio, code);
                }
                /* pad out the difference between rlen and slen... */
                if (NDIRSIZ_LEN(o_slen) < rlen) {
@@ -977,7 +982,7 @@ tagain:
                AFS_UIOMOVE(ode->name, o_slen, UIO_READ, auio, code);
            /* pad out the remaining characters with zeros */
            if (code == 0) {
-               AFS_UIOMOVE(bufofzeros, ((o_slen + 4) & ~3) - o_slen, UIO_READ, auio, code);
+               AFS_UIOMOVE(bufofzeros, ((o_slen + 1 + DIRPAD) & ~DIRPAD) - o_slen, UIO_READ, auio, code);
            }
            /* pad out the difference between rlen and slen... */
            if (NDIRSIZ_LEN(o_slen) < rlen) {
index 277786a83d679877dd36bd6007308e2f51ea71a7..89a38d4e891c47be6a1f3651ce46716786ac0467 100644 (file)
@@ -399,12 +399,18 @@ afs_osi_SetTime(atv)
 #endif
 #ifdef AFS_HPUX_ENV
     {
+#if !defined(AFS_HPUX1122_ENV)
+ /* drop the setting of the clock for now. spl7 is not
+ * known on hpux11.22
+ */
+
     register ulong_t s;
     struct timeval t;
     t.tv_sec = atv->tv_sec;
     t.tv_usec = atv->tv_usec;
     s = spl7(); time = t; (void) splx(s);
     resettodr(atv);
+#endif
     }
 #else
     {
index 4fc259bbae3cd614e5b6b8c29dfebcf4a00855ce..3a745276e9e89dae68caa62452b1e10b490ec102 100644 (file)
@@ -150,7 +150,11 @@ extern afs_int32 afs_showflags;
 
 afs_warn(a,b,c,d,e,f,g,h,i,j)
 char *a;
+#if defined(AFS_USE_VOID_PTR)
+void *b, *c, *d, *e, *f, *g, *h, *i, *j;
+#else
 long b,c,d,e,f,g,h,i,j;
+#endif
 {
     AFS_STATCNT(afs_warn);
     
index 5f5d0aab6bbf02acd23a0b87a60cc895b318d3a4..4539cf9d2787f6f38ed00941bb2a1848030abc3b 100644 (file)
@@ -219,6 +219,9 @@ typedef unsigned short                  etap_event_t;
 struct vfspage;                        /* for vnode.h compiler warnings */
 #    include "../h/swap.h"     /* for struct swpdbd, for vnode.h compiler warnings */
 #    include "../h/dbd.h"      /* for union idbd, for vnode.h compiler warnings */
+#ifdef AFS_HPUX110_ENV
+#    include "../h/resource.h"
+#endif
 #  endif /* AFS_HPUX_ENV */
 #if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD40_ENV)
 #  include <sys/uio.h>
@@ -270,7 +273,9 @@ MALLOC_DECLARE(M_AFS);
 #ifdef AFS_SUN5_ENV
 #  include "../h/time.h"
 #else
+#if !defined(AFS_HPUX_ENV)
 #  include "../h/mbuf.h"
+#endif
 #endif /* AFS_SUN5_ENV */
 
 #include "../rpc/types.h"
index f07062e07cb0cdd9ca4a00fa988244527767b1dc..f9ab85da2c97ce9980d8f7acae8ed53962e45b0e 100644 (file)
@@ -111,6 +111,9 @@ dest: ${DEST}/root.client/usr/vice/etc/afsd ${DEST}/etc/vsys
                         ${INSTALL} -f afs.rc.solaris.2_5 ${DEST}/root.client/usr/vice/etc/modload/afs.rc ;;\
                alpha_osf* ) \
                        ${INSTALL} -f afs.rc.alpha ${DEST}/root.client/usr/vice/etc/dkload/afs.rc ;;\
+               ia64_hpux1122 ) \
+                       ${INSTALL} -f afs.rc.hpux10 ${DEST}/root.client/usr/vice/etc/dkload/afs.rc ;\
+                       ${INSTALL} -f afs.hpux1122.driver ${DEST}/root.client/usr/vice/etc/afs.driver ;;\
                hp_ux10? | hp_ux11? ) \
                        ${INSTALL} -f afs.rc.hpux10 ${DEST}/root.client/usr/vice/etc/dkload/afs.rc ;\
                        ${INSTALL} -f afs.hpux102.driver ${DEST}/root.client/usr/vice/etc/afs.driver ;;\
diff --git a/src/afsd/afs.hpux1122.driver b/src/afsd/afs.hpux1122.driver
new file mode 100644 (file)
index 0000000..5aa0429
--- /dev/null
@@ -0,0 +1,126 @@
+* 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
+
+*
+* $Revision$
+*
+* The following devices are those that can be specified in the system
+* description file.  The name specified must agree with the name shown,
+* or with an alias.
+*
+* name          handle          type    mask    block   char
+*
+$DEVICE
+afs             afsc            10      100       -1      -1
+** Reserved for Third Party and User Drivers.
+*               ---             -       -       -1      38
+*               ---             -       -       -1      39
+*               ---             -       -       -1      40
+*               ---             -       -       -1      41
+*               ---             -       -       -1      42
+*               ---             -       -       -1      43
+*               ---             -       -       8       -1
+*               ---             -       -       15      -1
+*               ---             -       -       16      -1
+*               ---             -       -       17      -1
+*               ---             -       -       18      -1
+$$$
+
+$CDIO
+*
+* The following entries form the cdio table.
+* field 1: cdio name
+* field 2: required, optional
+*
+$$$
+
+$DRIVER_INSTALL
+***************************************************************************
+* Driver install table
+*
+* This table contains the name of drivers which have converged I/O header
+* structures and install entry points.  Drivers in this table should not
+* be defined in the driver table above.
+***************************************************************************
+* Driver     Block major     Char major
+$$$
+
+$ALIAS
+*
+* The following entries form the alias table.
+* field 1: product #    field 2: driver name
+*
+$$$
+
+$TUNABLE
+*
+* The following entries form the tunable parameter table.  Any of these
+* values can be overwritten in the dfile.  However, before changing any
+* value, know the ramifications of your change.
+*
+$$$
+
+$DRIVER_DEPENDENCY
+*
+* Driver dependency table, if one driver is present, what
+* other drivers should also be in the dfile.
+* NOTE: A maximum of 6 dependency entries my follow the driver name.
+* NOTE: This mechanism does not support chaining.  In other words, if
+*       a driver is included as a dependency, that driver will not be
+*       checked for its dependencies.
+*
+* Driver name   <dependency>  <dependency> .....
+*
+$$$
+
+$DRIVER_LIBRARY
+*
+* The driver/library table.  This table defines which libraries a given
+* driver depends on.  If the driver is included in the dfile, then the
+* libraries that driver depends on will be included on the ld(1) command
+* line.  Only optional libraries *need* to be specified in this table,
+* (but required ones can be included, as well).
+*
+* Driver handle    <libraries>
+*
+* subsystems first 
+afs             libafs64.nonfs.a
+$$$
+
+$LIBRARY
+*
+* The library table.  Each element in the library table describes
+* one unique library.  The flag member is a boolean value, it is
+* initialized to 1 if the library should *always* be included on
+* the ld(1) command line, or 0 if the library is optional (i.e. it
+* is only included when one or more drivers require it).  The order
+* of the library table determines the order of the libraries on the
+* ld(1) command line, (i.e. defines an implicit load order).  New
+* libraries must be added to this table.
+* Note: libhp-ux.a must be the last entry, do not place anything after it.
+*
+* Library   <required>
+*
+libafs64.nonfs.a        0
+$$$
+
+$SUBSYSTEMS_DEFINE
+* Subsystem #define table.  For any subsystem that is found in the dfile
+* and appears below, a #define is generated in the conf.c file.  This
+* is used to include any space defined in space.h.
+afs
+$$$
+
+$DRIVER_PRODUCT
+* 
+* Driver product table.  The following generates a table of supported products
+* for a given interface card.  The input is a driver handle followed by a list
+* of product/vendor id's. What is produced is a table of these product/vendor
+* id's to be used by the interface driver for further qualification during
+* booting and the setting of root device location.
+*
+$$$
diff --git a/src/config/Makefile.hp_ux11i.in b/src/config/Makefile.hp_ux11i.in
new file mode 100644 (file)
index 0000000..719835a
--- /dev/null
@@ -0,0 +1,37 @@
+# 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
+
+AFS_OSTYPE = HPUX
+CC=/opt/ansic/bin/cc
+MT_CC=/opt/ansic/bin/cc
+XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE
+XCFLAGS=${XCFLAGS0} +DA1.0
+XCFLAGS64=${XCFLAGS0} +DA2.0W
+MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
+XLIBS=@LIB_AFSDB@
+XLIBELFA=-lelf
+TXLIBS=/usr/lib/libHcurses.a
+MTLIBS=-lpthread
+SHLIB_SUFFIX=sl
+SHLIB_LDFLAGS=-b -Bsymbolic
+SHLIB_LINKER=ld -b
+LWP_OPTMZ=-O
+OPTMZ=-O
+DBG=-g
+RANLIB=/usr/bin/ranlib
+INSTALL=${TOP_SRCDIR}/pinstall/pinstall
+RM=/bin/rm
+CP=/bin/cp
+AR=/bin/ar
+AS=/usr/ccs/bin/as
+MV=/bin/mv
+LD=/bin/ld   
+LEX=/opt/langtools/bin/lex
+DBM=/lib/libndbm.a
+PAM_CFLAGS=+DA1.0 +z -Wl,+k
+PAMLIBS=/usr/lib/libpam.1
+YACC=/opt/langtools/bin/yacc
diff --git a/src/config/Makefile.ia64_hpux1122.in b/src/config/Makefile.ia64_hpux1122.in
new file mode 100644 (file)
index 0000000..01a0eb4
--- /dev/null
@@ -0,0 +1,37 @@
+# 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
+
+AFS_OSTYPE = HPUX
+CC=/opt/ansic/bin/cc
+MT_CC=/opt/ansic/bin/cc
+XCFLAGS0=-ldld -lc -Wp,-H200000 -Wl,-a,archive_shared -DAUTH_DBM_LOG +z -Wl,+k -D_LARGEFILE64_SOURCE
+XCFLAGS=${XCFLAGS0} 
+XCFLAGS64=${XCFLAGS0} +DD64
+MT_CFLAGS=-D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV ${XCFLAGS}
+XLIBS=@LIB_AFSDB@
+XLIBELFA=-lelf
+TXLIBS=/usr/lib/hpux32/libcurses.so
+MTLIBS=-lpthread
+SHLIB_SUFFIX=sl
+SHLIB_LDFLAGS=-b -Bsymbolic
+SHLIB_LINKER=ld -b
+LWP_OPTMZ=-O
+OPTMZ=-O
+DBG=-g
+RANLIB=/usr/bin/ranlib
+INSTALL=${TOP_SRCDIR}/pinstall/pinstall
+RM=/bin/rm
+CP=/bin/cp
+AR=/bin/ar
+AS=/usr/ccs/bin/as
+MV=/bin/mv
+LD=/bin/ld   
+LEX=/opt/langtools/bin/lex
+DBM=/usr/lib/hpux32/libndbm.so
+PAM_CFLAGS=-b +z -Wl,+k
+PAMLIBS=/usr/lib/hpux32/libpam.so
+YACC=/opt/langtools/bin/yacc
index 9131d030bf4d6d87dc6aaa5e2be2f844805ea8b5..f3e8928fbab0aa396da8dab041e288f5e23f8862 100644 (file)
@@ -43,6 +43,9 @@
 #define SYS_NAME_ID_hp800_ux101                 413
 #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_ia64_hpux1122       417
+
 
 #define SYS_NAME_ID_mac2_51             500    
 #define SYS_NAME_ID_mac_aux10           501
diff --git a/src/config/param.hp_ux11i.h b/src/config/param.hp_ux11i.h
new file mode 100644 (file)
index 0000000..5d5ac68
--- /dev/null
@@ -0,0 +1,96 @@
+/*
+ * 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_64BIT_ENV          1       /* Defines afs_int32 as int, not long. */
+#define AFS_64BITPOINTER_ENV   1       /* pointers are 64 bits. */
+
+#include <afs/afs_sysnames.h>
+
+#define AFS_SYSCALL    48 /* slot reserved for AFS */
+
+/* Machine / Operating system information */
+#define SYS_NAME       "hp_ux11i"
+#define SYS_NAME_ID    SYS_NAME_ID_hp_ux11i
+#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_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/config/param.hp_ux11i_usr.h b/src/config/param.hp_ux11i_usr.h
new file mode 100644 (file)
index 0000000..7f869a9
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * 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
+ */
+
+#ifndef        AFS_PARAM_H
+#define        AFS_PARAM_H
+
+#define AFS_VFS_ENV    1
+/* Used only in vfsck code; is it needed any more???? */
+#define RXK_LISTENER_ENV       1
+#define AFS_USERSPACE_IP_ADDR  1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+
+#define UKERNEL                        1       /* user space kernel */
+#define AFS_GREEDY43_ENV       1       /* Used only in rx/rx_user.c */
+#define AFS_ENV                        1
+#define AFS_USR_HPUX_ENV       1
+
+#include <afs/afs_sysnames.h>
+
+/*#define AFS_GLOBAL_SUNLOCK   1*/     /* For global locking */
+
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
+
+#define AFS_SYSCALL   48 /* slot reserved for AFS */
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS   1
+
+/* Machine / Operating system information */
+#define SYS_NAME       "hp_ux11i"
+#define SYS_NAME_ID    SYS_NAME_ID_hp_ux11i
+#define AFSBIG_ENDIAN  1
+#define AFS_HAVE_FFS            1       /* Use system's ffs. */
+#define AFS_HAVE_STATVFS       0       /* System doesn't support statvfs */
+
+/* Extra kernel definitions (from kdefs file) */
+#ifdef KERNEL
+#define        AFS_UIOFMODE            1       /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
+#define        AFS_SYSVLOCK            1       /* sys v locking supported */
+/*#define      AFS_USEBUFFERS  1*/
+#define        afsio_iov       uio_iov
+#define        afsio_iovcnt    uio_iovcnt
+#define        afsio_offset    uio_offset
+#define        afsio_seg       uio_segflg
+#define        afsio_fmode     uio_fmode
+#define        afsio_resid     uio_resid
+#define        AFS_UIOSYS      1
+#define        AFS_UIOUSER     UIO_USERSPACE
+#define        AFS_CLBYTES     CLBYTES
+#define        AFS_MINCHANGE   2
+#define        VATTR_NULL      usr_vattr_null
+#endif /* KERNEL */
+#define        AFS_DIRENT      
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#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..7a84604
--- /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 */
diff --git a/src/config/param.ia64_hpux1122_usr.h b/src/config/param.ia64_hpux1122_usr.h
new file mode 100644 (file)
index 0000000..dbd7292
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * 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
+ */
+
+#ifndef        AFS_PARAM_H
+#define        AFS_PARAM_H
+
+#define AFS_VFS_ENV    1
+/* Used only in vfsck code; is it needed any more???? */
+#define RXK_LISTENER_ENV       1
+#define AFS_USERSPACE_IP_ADDR  1
+#define AFS_GCPAGS             0       /* if nonzero, garbage collect PAGs */
+
+#define UKERNEL                        1       /* user space kernel */
+#define AFS_GREEDY43_ENV       1       /* Used only in rx/rx_user.c */
+#define AFS_ENV                        1
+#define AFS_USR_HPUX_ENV       1
+
+#include <afs/afs_sysnames.h>
+
+/*#define AFS_GLOBAL_SUNLOCK   1*/     /* For global locking */
+
+#define        AFS_3DISPARES           1       /* Utilize the 3 available disk inode 'spares' */
+
+#define AFS_SYSCALL   48 /* slot reserved for AFS */
+
+/* File system entry (used if mount.h doesn't define MOUNT_AFS */
+#define AFS_MOUNT_AFS   1
+
+/* 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       /* Use system's ffs. */
+#define AFS_HAVE_STATVFS       0       /* System doesn't support statvfs */
+#define AFS_USE_VOID_PTR 1
+
+/* Extra kernel definitions (from kdefs file) */
+#ifdef KERNEL
+#define        AFS_UIOFMODE            1       /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
+#define        AFS_SYSVLOCK            1       /* sys v locking supported */
+/*#define      AFS_USEBUFFERS  1*/
+#define        afsio_iov       uio_iov
+#define        afsio_iovcnt    uio_iovcnt
+#define        afsio_offset    uio_offset
+#define        afsio_seg       uio_segflg
+#define        afsio_fmode     uio_fmode
+#define        afsio_resid     uio_resid
+#define        AFS_UIOSYS      1
+#define        AFS_UIOUSER     UIO_USERSPACE
+#define        AFS_CLBYTES     CLBYTES
+#define        AFS_MINCHANGE   2
+#define        VATTR_NULL      usr_vattr_null
+#endif /* KERNEL */
+#define        AFS_DIRENT      
+#ifndef CMSERVERPREF
+#define CMSERVERPREF
+#endif
+
+#endif /* AFS_PARAM_H */
index 401647d67ba1f0d84ace8c31252163e9c6391604..2d9cd85f7e4596495ff09d40568ea2736fc78029 100644 (file)
@@ -76,7 +76,7 @@ RCSID("$Header$");
 #ifndef AFS_LINUX20_ENV
 #include "../netinet/in.h"
 #endif
-#if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV)
+#if !defined(AFS_SUN5_ENV) && !defined(AFS_LINUX20_ENV) && !defined(AFS_HPUX110_ENV)
 #include "../h/mbuf.h"
 #endif
 #else /* !defined(UKERNEL) */
index 29830be64c892639b59825b6deafc68f5ba1436c..6370a1e9120ee9868f5cbd37f6449effe68807ed 100644 (file)
@@ -66,6 +66,7 @@ AFS_OS_NONFSOBJS = \
 # seems to hang).  When the compiler sees the +ES1.Xindirect_calls
 # option, however, it issues a warning and turns off +Z.
 #
+<hp_ux110 hp_ux102 hp_ux11i>
 KDEFS= +ES1.Xindirect_calls +XixdU +Hx0 +ESlit +ESsfc +ESssf -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \
        -DMP +R500 -Wl,+k $(CPU_KDEFS)
 KDEFS_32 = +DA1.0 +DS1.0
@@ -73,10 +74,20 @@ KDEFS_32 = +DA1.0 +DS1.0
 # warning 478: "+Z" and "+ES1.Xindirect_calls" are mutually exclusive. "+Z" ignored.
 # warning 530: LP64 migration: Casting from loose to strict alignment: Resulting pointer may be misaligned.
 KDEFS_64 = +DA2.0W +DS2.0 +M2 +W 478,530
+
+<ia64_hpux1122>
+KDEFS= +kernel -Wp,-H300000 -D_KERNEL -D_KERNEL_BUILD -D_UNSUPPORTED \
+  -DFINE_GRAINED_PROTO_FILES \
+  -DMP -Wl,+k $(CPU_KDEFS)
+KDEFS_32 =
+KDEFS_64 = +DD64
+
+<all>
+
 DEFINES= -DAFSDEBUG -DKERNEL -DAFS -DVICE -DNFS -DUFS -DINET -DQUOTA -DGETMOUNT -DHPONCPLUS
 OPTF=${OPT} 
 OPTF2=${OPT2} 
-CFLAGS=-I. -I.. -I../h -I../nfs -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
+CFLAGS=-I. -I.. -I../h -I../nfs -I../conf -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KDEFS) $(KOPTS) ${DBUG}
 
 # Name of directory to hold object files and libraries.
 KOBJ=STATIC
@@ -90,11 +101,20 @@ DESTDIRS = hpux_destdirs
 
 include Makefile.common
 
+<hp_ux11i hp_ux110 hp_ux102>
 BITS = 64 32
+<ia64_hpux1122>
+BITS = 64
+<all>
 
 setup:
-       -$(RM) -f  h net dux machine netinet nfs rpc s200 ufs sys
+       -$(RM) -f  h net dux machine netinet nfs rpc s200 ufs sys conf
+<hp_ux102>
        ln -s /usr/include/sys h
+<hp_ux110 hp_ux11i ia64_hpux1122>
+       ln -s /etc/conf/h h
+<all>
+       ln -s /etc/conf conf
        ln -s /etc/conf/net net
        ln -s /etc/conf/dux dux
        ln -s /etc/conf/machine machine
@@ -102,7 +122,11 @@ setup:
        ln -s /etc/conf/nfs nfs
        ln -s /usr/include/rpc rpc
        ln -s /etc/conf/machine s200
+<hp_ux11i hp_ux110 hp_ux102>
        ln -s /etc/conf/ufs ufs
+<ia64_hpux1122>
+       ln -s /etc/conf/sys ufs
+<all>
        ln -s /usr/include/sys sys
        for b in $(BITS); do \
            for t in $(KOBJ); do \
index 0057b011add533800dab5c4b996eef9aaeb464ee..1b7b218fbfcf99acf72dc19274f749307fe7b5b6 100644 (file)
@@ -30,12 +30,20 @@ include ../config/Makefile.${SYS_NAME}
 # System specific build commands and flags
 CC = /opt/ansic/bin/cc
 DEFINES= -D_REENTRANT -DAFSDEBUG -DKERNEL -DUKERNEL -DAFS -DVICE
+<hp_ux102 hp_ux110 hp_ux11i>
 KOPTS=-Wp,-H200000 -Wl,-a,archive +DA1.0 +z
+<ia64_hpux1122>
+KOPTS=-Wp,-H200000 -Wl,-a,archive_shared
+<all>
 CFLAGS=-I. -I.. -I${TOP_SRCDIR}/config ${FSINCLUDES} $(DEFINES) $(KOPTS) ${DBUG}
 OPTF=-O
 WEBOPTS = -I../nsapi -DNETSCAPE_NSAPI -DNET_SSL -DXP_UNIX -DMCC_HTTPD
 
+<hp_ux102 hp_ux110 hp_ux11i>
 TEST_CFLAGS= -Wp,-H200000 +DA1.0 +z -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux -DAFS_HPUX_ENV
+<ia64_hpux1122>
+TEST_CFLAGS= -Wp,-H200000 -D_POSIX_C_SOURCE=199506L -DAFS_PTHREAD_ENV -Dhpux -DAFS_HPUX_ENV
+<all>
 TEST_LDFLAGS=
 TEST_LIBS=-lnsl -lm -lpthread -ldld -lc
 
index f1779c577f53e166124dd48b7cdde3ca581f6c46..80f0dec17af52f65c98e96c5e48cd3683fd6955d 100644 (file)
@@ -73,7 +73,7 @@ process.o     : process.s process.c
                /usr/bin/cpp -P process.fbsd.s > process.ss; \
                ${AS} -o process.o process.ss; \
                $(RM) process.ss ;; \
-       hp* | *_linux* | sgi_64 | sgi_65 ) \
+       hp* | *_linux* | sgi_64 | sgi_65 | ia64_hpux* ) \
                ${CC} ${CFLAGS} -c process.c;; \
        alpha_osf1 | alpha_osf20 |  alpha_osf30 | alpha_osf32 | alpha_osf32c | alpha_dux?? ) \
                ${AS} -v  -P -DOSF -I${TOP_INCDIR} -DASSEMBLER process.s; \
index 4e9c202a97825e2b4eea3057ed85df914c399772..0216e83508314e65084fa1fd59fa1e944626fa0f 100644 (file)
@@ -293,11 +293,21 @@ extern
  * cases, and also between machines apparently running the same OS
  * version.
  */
+
+/*
+ * On ia64 where the ucontext is used, it can be an extra 48K
+ * Need to account for this.  There might be two of these on the
+ * stack too. This needs to be checked.
+ */
+#if defined(USE_UCONTEXT) && defined(HAVE_UCONTEXT_H)
+#define AFS_LWP_MINSTACKSIZE  (288 * 1024)
+#else
 #if defined(AFS_LINUX22_ENV)
 #define AFS_LWP_MINSTACKSIZE   (192 * 1024)
 #else
 #define AFS_LWP_MINSTACKSIZE   (48 * 1024)
 #endif
+#endif
 
 /* Action to take on stack overflow. */
 #define LWP_SOQUIET    1               /* do nothing */
index f95fa61cddbc8b9d7e3fc407ba2ecdbd04ef5a63..91742101408ea2017c433eb7be6dbbad1aca7e58 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
+ */
 #elif defined(AFS_AMD64_LINUX24_ENV)
         register unsigned long sp __asm__("sp");
 #else
@@ -47,7 +53,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 6f932735c76a8f7636f0990a0df1aafc677f7882..cc424c865c628eb46bea3c145492535e8af3310c 100644 (file)
@@ -69,7 +69,7 @@ afs_util_krb.o: afs_util.c 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 mapfile.hp -o $@ afs_setcred.o afs_auth.o afs_util.o\
                        $(SHOBJS) $(LIBS) ;; \
        sun*_5*) \
@@ -86,7 +86,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 mapfile.hp -o $@ \
                        afs_setcred_krb.o afs_auth_krb.o afs_util_krb.o $(SHOBJS) $(LDFLAGS) $(KLIBS) ;; \
        sun*_5*) \
@@ -103,7 +103,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 ${PAMLIBS};; \
        sun*_5*) \
                $(CC) $(CFLAGS) -o $@ test_pam.o ${PAMLIBS};; \
index 665f0f5d14c338656b54b49828c1e2cc890078f3..43f9b60c8bf6fcb9094a771c77521e719aa87db9 100644 (file)
@@ -162,7 +162,8 @@ atoo(astr)
 static int
 quickStrip (iname, oname, ignored, copy_only)
 char *iname, *oname; {
-       int pid, status;
+       int pid;
+       pid_t status;
        static char *strip[] = {
                "strip", 0, 0,
        };
@@ -186,7 +187,7 @@ char *iname, *oname; {
                exit(1);
 
            default:                    /* parent       */
-               if (waitpid(pid, &status, 0) != pid) {
+               if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
                        perror("waitpid");
                        return -1;
                }
@@ -232,7 +233,7 @@ char *iname, *oname; {
                exit(1);
 
            default:                    /* parent       */
-               if (waitpid(pid, &status, 0) != pid) {
+               if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
                        perror("waitpid");
                        return -1;
                }
index a1584c5184c5e5df88406c3cde98cb399751702a..007a9ee89963d282c465ffdf5533ba2f50dffad2 100644 (file)
@@ -112,11 +112,18 @@ extern void osirx_AssertMine(afs_kmutex_t *lockaddr, char *msg);
 
 #define MUTEX_TRYENTER(a) b_cpsema(a)
 
+#ifdef AFS_HPUX1111_ENV
+#define MUTEX_ENTER(a) \
+   ((b_owns_sema(a)) ? osi_Panic("Already Held") : b_psema(a))
+#define MUTEX_EXIT(a) \
+   ((b_owns_sema(a)) ? b_vsema(a) : osi_Panic("mutex not held"))
+#else
 #define MUTEX_ENTER(a) \
     ((b_owns_sema(a)) ? (osi_Panic("Already Held"), 0) : b_psema(a))
 
 #define MUTEX_EXIT(a) \
     ((b_owns_sema(a)) ? b_vsema(a) : (osi_Panic("mutex not held"), 0))
+#endif
 
 #undef MUTEX_ISMINE
 #define MUTEX_ISMINE(a) b_owns_sema(a)
index 4105a72fc6c6cb2f900bb29ed951acbaed1e065e..9418d77e056453ef4c4b7a7589c387a7d0b22daa 100644 (file)
@@ -750,7 +750,9 @@ struct osi_socket *rxk_NewSocket(short aport)
 {
     register afs_int32 code;
     struct socket *newSocket;
+#if !defined(AFS_HPUX110_ENV)
     register struct mbuf *nam;
+#endif
     struct sockaddr_in myaddr;
     int wow;
 #ifdef AFS_HPUX110_ENV
@@ -804,7 +806,9 @@ struct osi_socket *rxk_NewSocket(short aport)
     code = sobind(newSocket, bindnam, addrsize);
     if (code) {
        soclose(newSocket);
+#if !defined(AFS_HPUX110_ENV)
        m_freem(nam);
+#endif
        goto bad;
     }
 
index 557ca6e4decb5ee5467bc22366b9de06ea3a44f0..a4fc0894e425443695976ca67c7006d8a821d11d 100644 (file)
@@ -47,7 +47,9 @@ typedef unsigned short                  etap_event_t;
 #include "../h/dir.h"
 #endif
 #include "../h/buf.h"
+#if !defined(AFS_HPUX110_ENV)
 #include "../h/mbuf.h"
+#endif
 #else
 #if defined(AFS_XBSD_ENV)
 #include "../h/dirent.h"
index 5485d954a3db7de4631883eae4a77b1eae5945e6..6f2034b3bf388b30b76684a56b4ba9512640c1ac 100644 (file)
@@ -33,7 +33,7 @@ RCSID("$Header$");
 #include "../afs/sysincludes.h"
 #endif
 #include "../h/socket.h"
-#if !defined(AFS_SUN5_ENV) &&  !defined(AFS_LINUX20_ENV)
+#if !defined(AFS_SUN5_ENV) &&  !defined(AFS_LINUX20_ENV) && !defined(AFS_HPUX110_ENV)
 #if    !defined(AFS_OSF_ENV) && !defined(AFS_AIX41_ENV)
 #include "../sys/mount.h"   /* it gets pulled in by something later anyway */
 #endif
@@ -959,7 +959,7 @@ int osi_NetSend(socket, addr, dvec, nvecs, length, istack)
  * message receipt is done in rxk_input or rx_put.
  */
 
-#ifdef AFS_SUN5_ENV
+#if defined(AFS_SUN5_ENV) || defined(AFS_HPUX110_ENV)
 /*
  * Copy an mblock to the contiguous area pointed to by cp.
  * MTUXXX Supposed to skip <off> bytes and copy <len> bytes,
@@ -1081,7 +1081,7 @@ return len;
 
 #if !defined(AFS_LINUX20_ENV)
 int rx_mb_to_packet(amb, free, hdr_len, data_len, phandle)
-#ifdef AFS_SUN5_ENV
+#if defined(AFS_SUN5_ENV) || defined(AFS_HPUX110_ENV)
 mblk_t *amb;
 #else
 struct mbuf *amb;
index 60e1509d78bc6f4a5d9b60c85e108277b27ea2b4..16bdb7007007bcd70a5e23ee5ca6a58f2b18d582 100644 (file)
@@ -114,6 +114,8 @@ ${DEST}/etc/kdump: kdump
        hp_ux11* ) \
                ${INSTALLex} -f kdump.sh.hp_ux11 $@; \
                ${INSTALL} -s -f $? ${DEST}/etc/kdump32;; \
+       ia64_hpux11* ) \
+               echo skipping kdump for ${SYS_NAME} ;; \
        *) \
                ${INSTALL} -s $? $@ ;; \
        esac
index 19e6349dcb7f3a8326bee169bf207ad192759ce5..962e463b8e686481ea8656e6c0233fc2fb4c0c4c 100644 (file)
@@ -229,11 +229,13 @@ static void ResetCheckSignal(void)
 
 #if defined(AFS_HPUX_ENV)
     signo = SIGPOLL;
-#elif defined(AFS_NT40_ENV)
+#else
+#if defined(AFS_NT40_ENV)
     signo = SIGUSR2;
 #else
     signo = SIGXCPU;
 #endif
+#endif
 
 #if defined(AFS_PTHREAD_ENV) && !defined(AFS_NT40_ENV)
     softsig_signal(signo, CheckSignal_Signal);