httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From vent...@phoenix.rsn.hp.com (Jeff Venters)
Subject ConvexOS 11.x improvement based on apache 1.2.1
Date Wed, 13 Aug 1997 05:59:01 GMT
Greetings,

I have added *better* support for ConvexOS 11.* (a BSD 4.2 derivative
similar to SUNOS).  FYI: ConvexOS 11.x runs on 4 generations of Vector
Supercomputer products (C2, C34, C38, C4).

The following changes are pretty simple and are based on Apache 1.2.1.  
I've added support for mmap() and cleaned up the supplied options for build
(conf.h and Configure).  Please let me know if you have any comments or
questions (venters@convex.hp.com).

Overview of changes:

    1.  Updated conf.h to include better info for ConvexOS.  mmap() should 
        now be used, etc. - much faster than previous version.

    2.  Updated configure script to add CFLAGS: -ext, -O1

    3.  http_main.c: ConvexOS has a slightly different implementation
	of the mmap () system call (don't blame me I didn't do it :-).  
	Added special case mmap() for -DCONVEXOS11


The patch list (diff -c3 orig new) is included below (separated by ====).

Jeff Venters,
Convex Division of Hewlett-Packard

================================================================
*** orig.http_main.c	Wed Aug 13 00:04:12 1997
--- http_main.c	Wed Aug 13 00:07:04 1997
***************
*** 666,673 ****
--- 666,692 ----
  
  #elif defined(MAP_ANON) || defined(MAP_FILE)
  /* BSD style */
+ #ifdef CONVEXOS11
+     /*
+      * 9-Aug-97 - Jeff Venters (venters@convex.hp.com)
+      * ConvexOS maps address space as follows:
+      *   0x00000000 - 0x7fffffff : Kernel
+      *   0x80000000 - 0xffffffff : User
+      * Start mmapped area 1GB above start of text.
+      *
+      * Also, the length requires a pointer as the actual length is
+      * returned (rounded up to a page boundary).
+      */
+     {
+ 	unsigned len = SCOREBOARD_SIZE;
+ 	
+ 	m = mmap((caddr_t)0xC0000000, &len,
+ 		PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, NOFD, 0);
+     }
+ #else
      m = mmap((caddr_t)0, SCOREBOARD_SIZE,
  	     PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0);
+ #endif
      if (m == (caddr_t)-1)
      {
  	perror("mmap");
================================================================
*** orig.Configure	Wed Aug 13 00:00:57 1997
--- Configure	Wed Aug 13 00:03:46 1997
***************
*** 469,475 ****
  	;;
      *convex-v11*)
  	OS='CONVEXOS11'
! 	CFLAGS="$CFLAGS -DCONVEXOS11"
  	CC='cc'
  	DEF_WANTHSREGEX=yes
  	;;
--- 469,476 ----
  	;;
      *convex-v11*)
  	OS='CONVEXOS11'
! 	CFLAGS="$CFLAGS -ext -DCONVEXOS11"
! 	OPTIM="-O1" # scalar optimization only
  	CC='cc'
  	DEF_WANTHSREGEX=yes
  	;;
================================================================
*** orig.conf.h	Tue Aug 12 23:52:51 1997
--- conf.h	Tue Aug 12 23:57:16 1997
***************
*** 295,304 ****
  extern int strcasecmp(const char *,const char *);
  extern int strncasecmp(const char *,const char *,unsigned);
  
- #elif defined(CONVEXOS)
- #define HAVE_GMTOFF
- #define NEED_STRDUP
- 
  #elif defined(AUX)
  /* These are to let -Wall compile more cleanly */
  extern int strcasecmp(const char *, const char *);
--- 295,300 ----
***************
*** 491,496 ****
--- 487,498 ----
  
  /* Convex OS v11 */
  #elif defined(CONVEXOS11)
+ #undef HAVE_GMTOFF
+ #undef NO_KILLPG
+ #undef NO_SETSID
+ #undef NEED_STRDUP
+ #define HAVE_MMAP
+ 
  #define NO_TIMEZONE
  #include <stdio.h>
  #include <sys/types.h>

Mime
View raw message