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]