summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2013-06-24 22:52:09 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2013-06-24 22:52:09 -0700
commit96243bfec19d0f543de3ef590a482f7f6dcdaa3d (patch)
tree39806c342989a6306537ccbf60c8f573e08322d2 /src
parentd30a927b79ee0faa5f4547d5d60570f8fcd11fc2 (diff)
Drop Cray (WORD64/MUSTCOPY) support
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Diffstat (limited to 'src')
-rw-r--r--src/FSlibInt.c263
-rw-r--r--src/FSlibint.h43
-rw-r--r--src/FSlibos.h5
3 files changed, 0 insertions, 311 deletions
diff --git a/src/FSlibInt.c b/src/FSlibInt.c
index c6b1cb6..edc66ba 100644
--- a/src/FSlibInt.c
+++ b/src/FSlibInt.c
@@ -330,137 +330,6 @@ _FSRead(
}
}
-#ifdef WORD64
-/*
- * XXX This is a *really* stupid way of doing this....
- */
-
-#define PACKBUFFERSIZE 4096
-
-
-/*
- * _FSRead32 - Read bytes from the socket unpacking each 32 bits
- * into a long (64 bits on a CRAY computer).
- *
- */
-static void
-_doFSRead32(
- register FSServer *svr,
- register long *data,
- register long size,
- register char *packbuffer)
-{
- long *lpack,
- *lp;
- long mask32 = 0x00000000ffffffff;
- long maskw,
- nwords,
- i,
- bits;
-
- _FSReadPad(svr, packbuffer, size);
-
- lp = data;
- lpack = (long *) packbuffer;
- nwords = size >> 2;
- bits = 32;
-
- for (i = 0; i < nwords; i++) {
- maskw = mask32 << bits;
- *lp++ = (*lpack & maskw) >> bits;
- bits = bits ^ 32;
- if (bits) {
- lpack++;
- }
- }
-}
-
-void
-_FSRead32(
- FSServer *svr,
- long *data,
- long len)
-{
- char packbuffer[PACKBUFFERSIZE];
- unsigned nwords = (PACKBUFFERSIZE >> 2); /* bytes to CARD32 */
-
- for (; len > nwords; len -= nwords, data += nwords) {
- _doFSRead32(svr, data, nwords, packbuffer);
- }
- _doFSRead32(svr, data, len, packbuffer);
-}
-
-
-
-/*
- * _FSRead16 - Read bytes from the socket unpacking each 16 bits
- * into a long (64 bits on a CRAY computer).
- *
- */
-static void
-_doFSRead16(
- register FSServer *svr,
- register short *data,
- register long size,
- char *packbuffer)
-{
- long *lpack,
- *lp;
- long mask16 = 0x000000000000ffff;
- long maskw,
- nwords,
- i,
- bits;
-
- _FSRead(svr, packbuffer, size); /* don't do a padded read... */
-
- lp = (long *) data;
- lpack = (long *) packbuffer;
- nwords = size >> 1; /* number of 16 bit words to be unpacked */
- bits = 48;
- for (i = 0; i < nwords; i++) {
- maskw = mask16 << bits;
- *lp++ = (*lpack & maskw) >> bits;
- bits -= 16;
- if (bits < 0) {
- lpack++;
- bits = 48;
- }
- }
-}
-
-void
-_FSRead16(
- FSServer *svr,
- short *data,
- long len)
-{
- char packbuffer[PACKBUFFERSIZE];
- unsigned nwords = (PACKBUFFERSIZE >> 1); /* bytes to CARD16 */
-
- for (; len > nwords; len -= nwords, data += nwords) {
- _doFSRead16(svr, data, nwords, packbuffer);
- }
- _doFSRead16(svr, data, len, packbuffer);
-}
-
-void
-_FSRead16Pad(
- FSServer *svr,
- short *data,
- long size)
-{
- int slop = (size & 3);
- short slopbuf[3];
-
- _FSRead16(svr, data, size);
- if (slop > 0) {
- _FSRead16(svr, slopbuf, 4 - slop);
- }
-}
-
-#endif /* WORD64 */
-
/*
* _FSReadPad - Read bytes from the socket taking into account incomplete
@@ -1141,138 +1010,6 @@ Data(
#endif /* DataRoutineIsProcedure */
-#ifdef WORD64
-/*
- * XXX This is a *really* stupid way of doing this. It should just use
- * svr->bufptr directly, taking into account where in the word it is.
- */
-
-/*
- * Data16 - Place 16 bit data in the buffer.
- *
- * "svr" is a pointer to a FSServer.
- * "data" is a pointer to the data.
- * "len" is the length in bytes of the data.
- */
-
-static void
-doData16(
- register FSServer *svr,
- short *data,
- unsigned len,
- char *packbuffer)
-{
- long *lp,
- *lpack;
- long i,
- nwords,
- bits;
- long mask16 = 0x000000000000ffff;
-
- lp = (long *) data;
- lpack = (long *) packbuffer;
- *lpack = 0;
-
-/* nwords is the number of 16 bit values to be packed,
- * the low order 16 bits of each word will be packed
- * into 64 bit words
- */
- nwords = len >> 1;
- bits = 48;
-
- for (i = 0; i < nwords; i++) {
- *lpack ^= (*lp & mask16) << bits;
- bits -= 16;
- lp++;
- if (bits < 0) {
- lpack++;
- *lpack = 0;
- bits = 48;
- }
- }
- Data(svr, packbuffer, len);
-}
-
-void
-Data16(
- FSServer *svr,
- short *data,
- unsigned len)
-{
- char packbuffer[PACKBUFFERSIZE];
- unsigned nwords = (PACKBUFFERSIZE >> 1); /* bytes to CARD16 */
-
- for (; len > nwords; len -= nwords, data += nwords) {
- doData16(svr, data, nwords, packbuffer);
- }
- doData16(svr, data, len, packbuffer);
-}
-
-/*
- * Data32 - Place 32 bit data in the buffer.
- *
- * "svr" is a pointer to a FSServer.
- * "data" is a pointer to the data.
- * "len" is the length in bytes of the data.
- */
-
-static
-doData32(
- register FSServer *svr,
- long *data,
- unsigned len,
- char *packbuffer)
-{
- long *lp,
- *lpack;
- long i,
- bits,
- nwords;
- long mask32 = 0x00000000ffffffff;
-
- lpack = (long *) packbuffer;
- lp = data;
-
- *lpack = 0;
-
-/* nwords is the number of 32 bit values to be packed
- * the low order 32 bits of each word will be packed
- * into 64 bit words
- */
- nwords = len >> 2;
- bits = 32;
-
- for (i = 0; i < nwords; i++) {
- *lpack ^= (*lp & mask32) << bits;
- bits = bits ^ 32;
- lp++;
- if (bits) {
- lpack++;
- *lpack = 0;
- }
- }
- Data(svr, packbuffer, len);
-}
-
-void
-Data32(
- FSServer *svr,
- short *data,
- unsigned len)
-{
- char packbuffer[PACKBUFFERSIZE];
- unsigned nwords = (PACKBUFFERSIZE >> 2); /* bytes to CARD32 */
-
- for (; len > nwords; len -= nwords, data += nwords) {
- doData32(svr, data, nwords, packbuffer);
- }
- doData32(svr, data, len, packbuffer);
-}
-
-#endif /* WORD64 */
-
-
-
/*
* _FSFreeQ - free the queue of events, called by XCloseServer when there are
* no more displays left on the display list
diff --git a/src/FSlibint.h b/src/FSlibint.h
index 00900fc..60a2ce6 100644
--- a/src/FSlibint.h
+++ b/src/FSlibint.h
@@ -113,27 +113,6 @@ extern FSServer *_FSHeadOfServerList;
#define FSlibServerIOError (1L << 0)
#define FSlibServerClosing (1L << 1)
-/* Need to start requests on 64 bit word boundries
- * on a CRAY computer so add a NoOp (127) if needed.
- * A character pointer on a CRAY computer will be non-zero
- * after shifting right 61 bits of it is not pointing to
- * a word boundary.
- */
-
-#ifdef WORD64
-#define WORD64ALIGN if ((long)svr->bufptr >> 61) {\
- svr->last_req = svr->bufptr;\
- *(svr->bufptr) = FS_Noop;\
- *(svr->bufptr+1) = 0;\
- *(svr->bufptr+2) = 0;\
- *(svr->bufptr+3) = 1;\
- svr->request += 1;\
- svr->bufptr += 4;\
- }
-#else /* else does not require alignment on 64-bit
- * boundaries */
-#define WORD64ALIGN
-#endif /* WORD64 */
/*
* GetReq - Get the next available FS request packet in the buffer and
@@ -145,7 +124,6 @@ extern FSServer *_FSHeadOfServerList;
*/
#define GetReq(name, req) \
- WORD64ALIGN\
if ((svr->bufptr + SIZEOF(fs##name##Req)) > svr->bufmax)\
_FSFlush(svr);\
req = (fs##name##Req *)(svr->last_req = svr->bufptr);\
@@ -158,7 +136,6 @@ extern FSServer *_FSHeadOfServerList;
bytes after the request. "n" must be a multiple of 4! */
#define GetReqExtra(name, n, req) \
- WORD64ALIGN\
if ((svr->bufptr + SIZEOF(fs##name##Req) + n) > svr->bufmax)\
_FSFlush(svr);\
req = (fs##name##Req *)(svr->last_req = svr->bufptr);\
@@ -174,7 +151,6 @@ extern FSServer *_FSHeadOfServerList;
*/
#define GetResReq(name, rid, req) \
- WORD64ALIGN\
if ((svr->bufptr + SIZEOF(fsResourceReq)) > svr->bufmax)\
_FSFlush(svr);\
req = (fsResourceReq *) (svr->last_req = svr->bufptr);\
@@ -190,7 +166,6 @@ extern FSServer *_FSHeadOfServerList;
*/
#define GetEmptyReq(name, req) \
- WORD64ALIGN\
if ((svr->bufptr + SIZEOF(fsReq)) > svr->bufmax)\
_FSFlush(svr);\
req = (fsReq *) (svr->last_req = svr->bufptr);\
@@ -248,13 +223,11 @@ extern void Data();
/*
* provide emulation routines for smaller architectures
*/
-#ifndef WORD64
#define Data16(dpy, data, len) Data((dpy), (char *)(data), (len))
#define Data32(dpy, data, len) Data((dpy), (char *)(data), (len))
#define _FSRead16Pad(dpy, data, len) _FSReadPad((dpy), (char *)(data), (len))
#define _FSRead16(dpy, data, len) _FSRead((dpy), (char *)(data), (len))
#define _FSRead32(dpy, data, len) _FSRead((dpy), (char *)(data), (len))
-#endif /* not WORD64 */
#define PackData16(dpy,data,len) Data16 (dpy, data, len)
#define PackData32(dpy,data,len) Data32 (dpy, data, len)
@@ -262,20 +235,6 @@ extern void Data();
#define min(a,b) (((a) < (b)) ? (a) : (b))
#define max(a,b) (((a) > (b)) ? (a) : (b))
-#ifdef MUSTCOPY
-/* a little bit of magic */
-#define OneDataCard32(svr,dstaddr,srcvar) \
- { svr->bufptr -= 4; Data32 (svr, (char *) &(srcvar), 4); }
-
-#define STARTITERATE(tpvar,type,start,endcond,decr) \
- { register char *cpvar; \
- for (cpvar = (char *) start; endcond; cpvar = NEXTPTR(cpvar,type), decr) { \
- type dummy; memmove ((char *) &dummy, cpvar, SIZEOF(type)); \
- tpvar = (type *) cpvar;
-#define ENDITERATE }}
-
-#else
-
/* srcvar must be a variable for large architecture version */
#define OneDataCard32(svr,dstaddr,srcvar) \
{ *(unsigned long *)(dstaddr) = (srcvar); }
@@ -283,8 +242,6 @@ extern void Data();
#define STARTITERATE(tpvar,type,start,endcond,decr) \
for (tpvar = (type *) start; endcond; tpvar++, decr) {
#define ENDITERATE }
-#endif /* MUSTCOPY - used machines whose C structs
- * don't line up with proto */
#define FSCat(x,y) x##_##y
diff --git a/src/FSlibos.h b/src/FSlibos.h
index 0b5e5ea..615104d 100644
--- a/src/FSlibos.h
+++ b/src/FSlibos.h
@@ -129,12 +129,7 @@ in this Software without prior written authorization from The Open Group.
#undef dirty
#endif
-#ifdef WORD64
-#define NMSKBITS 64
-#else
#define NMSKBITS 32
-#endif
-
#define MSKCNT ((FS_OPEN_MAX + NMSKBITS - 1) / NMSKBITS)
#ifdef LONG64