This was a straightforward copy the 22 stuff patch, with one minor exception.

I added a 'typedef unsigned int uint32_t;' to one of the new param header 
files for i386_linux3 to fix a problem with building kdump.c. 

I have not tested running the kernel module/cache manager for this,
however, it compiled fine, and the user space stuff works. (I might be
able to test it next week some time when I can reboot one of these
machines, can't do that at the moment though.)

-- Nathan

------------------------------------------------------------
Nathan Neulinger                       EMail:  [EMAIL PROTECTED]
University of Missouri - Rolla         Phone: (573) 341-4841
Computing Services                       Fax: (573) 341-4216
Index: BUILDNOTES
===================================================================
RCS file: /cvs/openafs/src/BUILDNOTES,v
retrieving revision 1.1
diff -u -r1.1 BUILDNOTES
--- BUILDNOTES  2000/12/02 18:17:50     1.1
+++ BUILDNOTES  2000/12/14 15:47:01
@@ -1,5 +1,10 @@
 In this file you'll find notes to help you build OpenAFS on various platforms.
 
+Redhat 5.2 (i386_linux3):
+       Transarc AFS used i386_linux22 for this, if you're going to build
+       OpenAFS using the @sys links, you need to change the sysname to
+       i386_linux3 first using the 'fs sysname' command.
+
 Redhat 7.0 (i386_linux22): 
        src/venus/kdump.c may fail to compile with the gcc included with 
        RedHat 7.0; You'll need to use kgcc to compile it.  You should 
Index: README
===================================================================
RCS file: /cvs/openafs/src/README,v
retrieving revision 1.4
diff -u -r1.4 README
--- README      2000/12/02 18:06:26     1.4
+++ README      2000/12/14 15:47:01
@@ -20,6 +20,8 @@
 
       alpha_dux40/
       i386_linux22/
+      i386_linux3/
+      i386_linux24/
       rs_aix42/
       sun4x_56/
       sun4x_57/
@@ -33,6 +35,10 @@
 
       hp_ux110/
       sgi_65/
+
+         NOTE: i386_linux22 is 2.2.x kernel with glibc 2.0.x, transarc used
+               i386_linux22 for this, so if building on AFS, you'll need to change
+               your sysname first.
 
    2. Within each of those directories, create a dest/ and obj/ directory.
 
Index: WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm
===================================================================
RCS file: 
/cvs/openafs/src/WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm  2000/11/04 
02:18:58     1.1
+++ WINNT/doc/install/Documentation/en_US/html/SysAdminGd/auagd016.htm  2000/12/14 
+15:47:04
@@ -753,6 +753,8 @@
               .proto \
               .sun4x_56 \
               .i386_linux22 \
+              .i386_linux3 \
+              .i386_linux24 \
               .hp_ux110
 </PRE>
 <P><H3><A NAME="HDRWQ596" HREF="auagd002.htm#ToC_523">The Makefile Instructions 
Section</A></H3>
Index: WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm
===================================================================
RCS file: 
/cvs/openafs/src/WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm  2000/11/04 
02:20:29     1.1
+++ WINNT/doc/install/Documentation/ja_JP/html/SysAdminGd/auagd016.htm  2000/12/14 
+15:47:04
@@ -524,6 +524,8 @@
               .proto \
               .sun4x_56 \
               .i386_linux22 \
+              .i386_linux3 \
+              .i386_linux24 \
               .hp_ux110
 </PRE>
 <P><H3><A NAME="HDRWQ597" HREF="auagd002.htm#ToC_523">MAKE 
�t�@�C���̖��ߋ@�\�O���[�v</A></H3>
Index: WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm
===================================================================
RCS file: 
/cvs/openafs/src/WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm,v
retrieving revision 1.1
diff -u -r1.1 auagd016.htm
--- WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm  2000/11/04 
02:20:50     1.1
+++ WINNT/doc/install/Documentation/ko_KR/html/SysAdminGd/auagd016.htm  2000/12/14 
+15:47:06
@@ -702,6 +702,8 @@
               .proto \
               .sun4x_56 \
               .i386_linux22 \
+              .i386_linux3 \
+              .i386_linux24 \
               .hp_ux110
 </PRE>
 <P><H3><A NAME="HDRWQ444" HREF="auagd002.htm#ToC_523">Makefile ���� ����</A></H3>
Index: config/afs_sysnames.h
===================================================================
RCS file: /cvs/openafs/src/config/afs_sysnames.h,v
retrieving revision 1.4
diff -u -r1.4 afs_sysnames.h
--- config/afs_sysnames.h       2000/11/06 04:24:47     1.4
+++ config/afs_sysnames.h       2000/12/14 15:47:07
@@ -109,6 +109,7 @@
 #define SYS_NAME_ID_i386_linux2                1500
 #define SYS_NAME_ID_i386_linux22       1501
 #define SYS_NAME_ID_i386_linux24        1502
+#define SYS_NAME_ID_i386_linux3        1503
 
 #define SYS_NAME_ID_ppc_linux2          1600
 #define SYS_NAME_ID_ppc_linux22         1601
Index: libafs/MakefileProto.LINUX
===================================================================
RCS file: /cvs/openafs/src/libafs/MakefileProto.LINUX,v
retrieving revision 1.3
diff -u -r1.3 MakefileProto.LINUX
--- libafs/MakefileProto.LINUX  2000/11/05 20:02:57     1.3
+++ libafs/MakefileProto.LINUX  2000/12/14 15:47:08
@@ -36,7 +36,7 @@
 CC = gcc
 LD = ld
 # -Wall
-<i386_linux22 i386_linux24>
+<i386_linux3 i386_linux22 i386_linux24>
 CCFLAGS =   -O2 -fomit-frame-pointer \
        -fno-strength-reduce -pipe -m486 -malign-loops=2 -malign-jumps=2 \
        -malign-functions=2
@@ -91,7 +91,7 @@
                rm -f sys; \
                ln -s $${IDIR} sys; \
                rm -f asm; \
-<i386_linux22 i386_linux24>
+<i386_linux3 i386_linux22 i386_linux24>
                ln -s ${LINUX_SRCDIR}$$v/include/asm-i386 asm ; \
 <ppc_linux22 ppc_linux24>
                ln -s ${LINUX_SRCDIR}$$v/include/asm-ppc asm ; \
# 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

# Keep macros within each section in sorted order for clean diff displays.
#
# AFS_OSTYPE used to indicate suffixes and os specific subdirectories.
AFS_OSTYPE = LINUX

# Base directory for linux kernel source. Actually a prefix which is complete
# when LINUX_VERS is appended to it.
LINUX_SRCDIR = /usr/src/linux-
# Default list of Linux kernels to build. Build will run only if all
# can be built. To build a different set, specify LINUX_VERS to make.
LINUX_VERS = 2.2.5-15 2.2.10 2.2.12 2.2.12-20 2.2.13 2.2.14

#
# compilation and link editor flags
DBG=-g
OPTMZ=-O2
PAM_CFLAGS = -O2 -Dlinux -DLINUX_PAM -fPIC
# Put -O2 here to _ensure_ all Makefiles pick it up.
XCFLAGS= -O2
MT_CFLAGS=-DAFS_PTHREAD_ENV -pthread -D_REENTRANT ${XCFLAGS}
XLDFLAGS=
SHARE_LDFLAGS = -shared -Xlinker -x
SHLIB_SUFFIX=so
SHLIB_CFLAGS=
#
# libraries
MTLIBS=-lpthread
TXLIBS= /usr/lib/libncurses.so
XLIBS=
#
# programs
AR=ar
AS=as
CP=cp
INSTALL=${SRCDIR}bin/install
LD=ld   
MT_CC=cc
MV=mv
RANLIB=ranlib
RM=rm
WASHTOOL=${SRCDIR}bin/washtool
#
# Other OS specific requirements
#
YACC = bison -y
LEX = flex -l
# Used in des library.
CRYPT_OBJ = crypt.o
/*
 * 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 _PARAM_I386_LINUX3_H_
#define _PARAM_I386_LINUX3_H_

/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
 * it's a judgment call. If something is obviously i386 specific, use that
 * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
 * in the sysname is the current version of the client. This takes into
 * account the perferred OS user space configuration as well as the kernel.
 */

#define AFS_LINUX20_ENV 1
#define AFS_LINUX22_ENV 1
#define AFS_I386_LINUX20_ENV    1
#define AFS_I386_LINUX3_ENV   1
#define AFS_I386_LINUX22_ENV    1
#define AFS_NONFSTRANS 1

#define AFS_MOUNT_AFS "afs"     /* The name of the filesystem type. */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV  1
#define AFS_NAMEI_ENV     1   /* User space interface to file system */
#include <afs/afs_sysnames.h>

#define AFS_USERSPACE_IP_ADDR 1
#define RXK_LISTENER_ENV 1
#define AFS_GCPAGS              0       /* if nonzero, garbage collect PAGs */


/* Machine / Operating system information */
#define SYS_NAME        "i386_linux3"
#define SYS_NAME_ID     SYS_NAME_ID_i386_linux3
#define AFSLITTLE_ENDIAN    1
#define AFS_HAVE_FFS        1       /* Use system's ffs. */
#define AFS_HAVE_STATVFS    0   /* System doesn't support statvfs */
#define AFS_VM_RDWR_ENV     1   /* read/write implemented via VM */

#if defined(__KERNEL__) && !defined(KDUMP_KERNEL)
#include <linux/config.h>
#ifdef CONFIG_SMP
#undef CONFIG_SMP
#endif
/* Using "AFS_SMP" to map to however many #define's are required to get
 * MP to compile for Linux
 */
#ifdef AFS_SMP
#define CONFIG_SMP
#ifndef CONFIG_X86_LOCAL_APIC
#define CONFIG_X86_LOCAL_APIC
#endif
#define __SMP__
#define AFS_GLOBAL_SUNLOCK
#endif

#endif /* __KERNEL__  && !DUMP_KERNEL*/

#ifdef KERNEL
#ifndef MIN
#define MIN(A,B) ((A) < (B) ? (A) : (B))
#endif
#ifndef MAX
#define MAX(A,B) ((A) > (B) ? (A) : (B))
#endif
#endif /* KERNEL */

typedef unsigned int uint32_t;

#endif /* _PARAM_I386_LINUX3_H_ */
/*
 * 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 _PARAM_USR_I386_LINUX3_H_
#define _PARAM_USR_I386_LINUX3_H_

/* In user space the AFS_LINUX20_ENV should be sufficient. In the kernel,
 * it's a judgment call. If something is obviously i386 specific, use that
 * #define instead. Note that "20" refers to the linux 2.0 kernel. The "2"
 * in the sysname is the current version of the client. This takes into
 * account the perferred OS user space configuration as well as the kernel.
 */

#define UKERNEL                 1       /* user space kernel */
#define AFS_ENV                 1
#define AFS_USR_LINUX20_ENV     1
#define AFS_USR_LINUX3_ENV      1
#define AFS_USR_LINUX22_ENV     1
#define AFS_NONFSTRANS 1

#define AFS_MOUNT_AFS "afs"     /* The name of the filesystem type. */
#define AFS_SYSCALL 137
#define AFS_64BIT_IOPS_ENV  1
#define AFS_NAMEI_ENV     1   /* User space interface to file system */
#include <afs/afs_sysnames.h>

#define AFS_USERSPACE_IP_ADDR 1
#define RXK_LISTENER_ENV 1
#define AFS_GCPAGS              0       /* if nonzero, garbage collect PAGs */


/* Machine / Operating system information */
#define SYS_NAME        "i386_linux3"
#define SYS_NAME_ID     SYS_NAME_ID_i386_linux3
#define AFSLITTLE_ENDIAN    1
#define AFS_HAVE_FFS        1       /* Use system's ffs. */
#define AFS_HAVE_STATVFS    0   /* System doesn't support statvfs */
#define AFS_VM_RDWR_ENV     1   /* read/write implemented via VM */

#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     MCLBYTES
#define AFS_MINCHANGE   2
#define VATTR_NULL      usr_vattr_null

#define AFS_DIRENT
#ifndef CMSERVERPREF
#define CMSERVERPREF
#endif

#endif /* _PARAM_USR_I386_LINUX3_H_ */

Reply via email to