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} ;; \
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} ;; \
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};; \
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} ;; \
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} ;; \
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} ;; \
# 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} ;; \
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} ;; \
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} ;; \
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} ;; \
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} ;; \
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"
;;
int *gp;
struct ucred *newcr;
ulong_t s;
+#if defined(AFS_HPUX110_ENV)
+ register ulong_t context;
+#endif
AFS_STATCNT(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 */
}
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);
}
* 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);
#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()
#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().
#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_ */
-
+#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)
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;
}
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)
{
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
{
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);
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 */
} 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
+
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 */
, 0, 0, 0, NULL
#endif
};
+#endif
void
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);
}
#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.
return (len);
}
+#endif
/*
* Note that the standard Sun vnode interface doesn't haven't an vop_lockf(), so this code is
}
-#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"
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;
*/
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
}
}
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);
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;
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;
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)
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)
#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.
#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
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) */
*/
#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 )
/* 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();
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) {
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) {
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... */
}
/* 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) {
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) {
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) {
#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
{
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);
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>
#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"
${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 ;;\
--- /dev/null
+* 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.
+*
+$$$
--- /dev/null
+# 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
--- /dev/null
+# 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
#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
--- /dev/null
+/*
+ * 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 */
--- /dev/null
+/*
+ * 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 */
--- /dev/null
+/*
+ * 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 */
--- /dev/null
+/*
+ * 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 */
#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) */
# 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
# 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
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
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 \
# 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
/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; \
* 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 */
{
#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
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:
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*) \
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*) \
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};; \
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,
};
exit(1);
default: /* parent */
- if (waitpid(pid, &status, 0) != pid) {
+ if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
exit(1);
default: /* parent */
- if (waitpid(pid, &status, 0) != pid) {
+ if (waitpid(pid, &status, 0) != pid && errno != ECHILD) {
perror("waitpid");
return -1;
}
#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)
{
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
code = sobind(newSocket, bindnam, addrsize);
if (code) {
soclose(newSocket);
+#if !defined(AFS_HPUX110_ENV)
m_freem(nam);
+#endif
goto bad;
}
#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"
#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
* 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,
#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;
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
#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);