Hello,

Just put together a rudimentary patch to add support for Linux running on HP's PA-Risc 
(HPPA) processors.

1. The only test I have is the one embedded in the Makefile; if there are more 
strenuous tests,
please point me to them.

2. The PA-Risc architecture has both 32- and 64-bit processors. Both are supported by 
Linux, although the
userland toys are lagging behind on the 64-bit binaries. My point here is,

   a. I have a 32-bit processor, with gcc 3.0.2 configured for 32-bit binaries,
      as per distributed with Debian "pre-" woody. If a user has their compiler
      configured for 64-bit emission, I don't anything in the patch to detect that,
      and set your #define for 64-bit longs (SIXTY_FOUR_BIT_LONG)

   b. Even if a 64-bit processor, I don't have code to throttle the compiler back to 
32-bit
      mode, and unset the 64-bit long #define.

3. There's some questions regarding instruction scheduling to use with some of the 
processors. I
document the connidrum in ./config, in case someone else has better information, or 
gcc changes
it's -mschedule=xx -march=xx flags at some time in the future.

4. Manifest

  a. Linux 2.4.16-pa24
  b. Glibc 2.2.4
  c. Gcc 3.0.2
  d. Binutils 2.11.92.0.12.3

Bryan Headley
[EMAIL PROTECTED]



diff -urN openssl-0.9.6c/Configure openssl-0.9.6c_parisc/Configure
--- openssl-0.9.6c/Configure    Thu Dec  6 07:11:39 2001
+++ openssl-0.9.6c_parisc/Configure     Sun Dec 23 14:00:25 2001
@@ -270,6 +270,9 @@
 #### HP MPE/iX http://jazz.external.hp.com/src/openssl/
 "MPE/iX-gcc", "gcc:-D_ENDIAN -DBN_DIV2W -O3 -DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE 
-I/SYSLOG/PUB::(unknown):-L/SYSLOG/PUB -lsyslog -lsocket -lcurses:BN_LLONG DES_PTR 
DES_UNROLL DES_RISC1:::",
 
+#### PARISC Linux setups
+"linux-parisc","gcc:-DB_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall 
+-DBN_DIV2W::-D_REENTRANT::BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR::",
+
 # Dec Alpha, OSF/1 - the alpha164-cc is historical, for the conversion
 # from the older DEC C Compiler to the newer compiler.  It's now the
 # same as the preferred entry, alpha-cc.  If you are still using the
diff -urN openssl-0.9.6c/config openssl-0.9.6c_parisc/config
--- openssl-0.9.6c/config       Wed Dec 19 13:37:41 2001
+++ openssl-0.9.6c_parisc/config        Sun Dec 23 12:14:55 2001
@@ -503,6 +503,26 @@
        sun4d)  OUT="linux-sparcv8" ;;
        *)      OUT="linux-sparcv7" ;;
        esac ;;
+  parisc-*-linux2)
+        CPUARCH=`awk '/cpu family/{print substr($5,1,3)}' /proc/cpuinfo`
+       CPUSCHEDULE=`awk '/^cpu.[       ]: PA/{print substr($3,3)}' /proc/cpuinfo`
+
+       # ??TODO ??  Model transformations
+       # 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that 
+off
+       #    assuming no further arch. identification will ever be used by GCC.
+       # 1. I'm most concerned about whether is a 7300LC is closer to a 7100 versus a 
+7100LC.
+       # 2. The variant 64-bit processors cause concern should GCC support explicit 
+schedulers
+       #    for these chips in the future.
+       #         PA7300LC -> 7100LC (1.1)
+       #         PA8200   -> 8000   (2.0)
+       #         PA8500   -> 8000   (2.0)
+       #         PA8600   -> 8000   (2.0)
+
+       CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8?00/8000/'`
+       # Finish Model transformations
+
+       options="$options -mschedule=$CPUSCHEDULE -march=$CPUARCH"
+       OUT="linux-parisc" ;;
   arm*-*-linux2) OUT="linux-elf-arm" ;;
   s390-*-linux2) OUT="linux-s390" ;;
   *-*-linux2) OUT="linux-elf" ;;
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to