diff --git a/lisp/alloc.c b/lisp/alloc.c
index 658541e1df11ac9eb7439e740ab1fd6614547cf5..3973b38db960d55565b0bb6c28f0c072ae86efa7 100644
--- a/lisp/alloc.c
+++ b/lisp/alloc.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alloc.c,v 1.1 1992/07/28 20:14:02 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/alloc.c,v 1.2 1994/03/27 15:19:55 hallgren Exp $ */
 
 #include "lisp.h"
 #include "internals.h"
@@ -108,8 +108,11 @@ lispobj alloc_string(char *str)
 
 lispobj alloc_sap(void *ptr)
 {
+#ifndef alpha
     struct sap *sap = (struct sap *)alloc_unboxed(type_Sap, 1);
-
+#else
+    struct sap *sap = (struct sap *)alloc_unboxed(type_Sap, 3);
+#endif
     sap->pointer = ptr;
 
     return (lispobj) sap | type_OtherPointer;
diff --git a/lisp/backtrace.c b/lisp/backtrace.c
index 7d3e24086d30e0f33a18bbb188ba1a5601510527..9a3cf45c607595856f2e00e380014f2980baa84a 100644
--- a/lisp/backtrace.c
+++ b/lisp/backtrace.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.2 1993/01/10 17:22:33 wlott Exp $
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/backtrace.c,v 1.3 1994/03/27 15:19:14 hallgren Exp $
  *
  * Simple backtrace facility.  More or less from Rob's lisp version.
  */
@@ -17,16 +17,28 @@
    better not change. */
 
 struct call_frame {
+#ifndef alpha
 	struct call_frame *old_cont;
+#else
+        u32 old_cont;
+#endif
 	lispobj saved_lra;
         lispobj code;
 	lispobj other_state[5];
 };
 
 struct call_info {
+#ifndef alpha
     struct call_frame *frame;
+#else
+    u32 frame;
+#endif
     int interrupted;
+#ifndef alpha
     struct code *code;
+#else
+    u32 code;
+#endif
     lispobj lra;
     int pc; /* Note: this is the trace file offset, not the actual pc. */
 };
@@ -104,7 +116,11 @@ info_from_sigcontext(struct call_info *info, struct sigcontext *csp)
     }
     if (info->code != NULL)
         info->pc = pc - (unsigned long) info->code -
+#ifndef alpha
             (HEADER_LENGTH(info->code->header) * sizeof(lispobj));
+#else
+            (HEADER_LENGTH(((struct code *)info->code)->header) * sizeof(lispobj));
+#endif
     else
         info->pc = 0;
 }
@@ -145,7 +161,11 @@ previous_info(struct call_info *info)
         if (info->code != NULL)
             info->pc = (unsigned long)PTR(info->lra) -
                 (unsigned long)info->code -
+#ifndef alpha
                 (HEADER_LENGTH(info->code->header) * sizeof(lispobj));
+#else
+                (HEADER_LENGTH(((struct code *)info->code)->header) * sizeof(lispobj));
+#endif
         else
             info->pc = 0;
     }
@@ -169,7 +189,11 @@ backtrace(int nframes)
 
             printf("CODE: 0x%08X, ", (unsigned long) info.code | type_OtherPointer);
 
+#ifndef alpha
             function = info.code->entry_points;
+#else
+            function = ((struct code *)info.code)->entry_points;
+#endif
             while (function != NIL) {
                 struct function *header;
                 lispobj name;
diff --git a/lisp/core.h b/lisp/core.h
index 8a98cf6c86b1dc569731c911dd09a670596ebde8..3fd6f5ba7d8a35727ee2a982a018f0d59d33f0c1 100644
--- a/lisp/core.h
+++ b/lisp/core.h
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/core.h,v 1.2 1993/04/28 01:58:30 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/core.h,v 1.3 1994/03/27 15:17:54 hallgren Exp $ */
 
 #ifndef _CORE_H_
 #define _CORE_H_
@@ -19,11 +19,19 @@
 #define READ_ONLY_SPACE_ID (3)
 
 struct ndir_entry {
+#ifndef alpha
 	long identifier;
 	long nwords;
 	long data_page;
 	long address;
 	long page_count;
+#else
+	u32 identifier;
+	u32 nwords;
+	u32 data_page;
+	u32 address;
+	u32 page_count;
+#endif
 };
 
 extern lispobj load_core_file(char *file);
diff --git a/lisp/coreparse.c b/lisp/coreparse.c
index e9418e4d60e171e4c24fbf60852c23fbd3a8e996..3029c6b15c8579607efb17ae6da5aebc3f7cbada 100644
--- a/lisp/coreparse.c
+++ b/lisp/coreparse.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.2 1993/04/28 01:58:31 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/coreparse.c,v 1.3 1994/03/27 15:26:25 hallgren Exp $ */
 #include <stdio.h>
 #include <sys/types.h>
 #include <sys/file.h>
@@ -40,7 +40,7 @@ static void process_directory(int fd, long *ptr, int count)
 		addr);
 	}
 
-#if 0
+#ifdef 0
 	printf("Space ID = %d, free pointer = 0x%08x.\n", id, free_pointer);
 #endif
 
@@ -73,7 +73,11 @@ static void process_directory(int fd, long *ptr, int count)
 lispobj load_core_file(char *file)
 {
     int fd = open(file, O_RDONLY), count;
+#ifndef alpha
     long header[CORE_PAGESIZE / sizeof(long)], val, len, *ptr;
+#else
+    u32 header[CORE_PAGESIZE / sizeof(u32)], val, len, *ptr;
+#endif
     lispobj initial_function = NIL;
 
     if (fd < 0) {
@@ -121,7 +125,11 @@ lispobj load_core_file(char *file)
 
 	  case CORE_NDIRECTORY:
 	    process_directory(fd, ptr,
+#ifndef alpha
 		  (len-2) / (sizeof(struct ndir_entry) / sizeof(long)));
+#else
+		  (len-2) / (sizeof(struct ndir_entry) / sizeof(u32)));
+#endif
 	    break;
 
 	  case CORE_INITIAL_FUNCTION:
diff --git a/lisp/gc.c b/lisp/gc.c
index 191dc19eee9dac6dc9a156e2c11cc94eb07c4c79..856390f55152fb3ba32e5e50af73f2d06286d7da 100644
--- a/lisp/gc.c
+++ b/lisp/gc.c
@@ -1,7 +1,7 @@
 /*
  * Stop and Copy GC based on Cheney's algorithm.
  *
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.6 1993/07/27 15:00:59 hallgren Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/gc.c,v 1.7 1994/03/27 15:17:01 hallgren Exp $
  * 
  * Written by Christopher Hoover.
  */
@@ -143,20 +143,31 @@ static double tv_diff(struct timeval *x, struct timeval *y)
 
 static void zero_stack(void)
 {
+#ifndef alpha
     unsigned long *ptr = (unsigned long *)current_control_stack_pointer;
-
+#else
+    u32 *ptr = (u32 *)current_control_stack_pointer;
+#endif
   search:
     do {
 	if (*ptr)
 	    goto fill;
 	ptr++;
+#ifndef alpha
     } while (((unsigned long)ptr) & (BYTES_ZERO_BEFORE_END-1));
+#else
+    } while (((u32)ptr) & (BYTES_ZERO_BEFORE_END-1));
+#endif
     return;
 
   fill:
     do {
 	*ptr++ = 0;
+#ifndef alpha
     } while (((unsigned long)ptr) & (BYTES_ZERO_BEFORE_END-1));
+#else
+    } while (((u32)ptr) & (BYTES_ZERO_BEFORE_END-1));
+#endif
     goto search;
 }
 
diff --git a/lisp/interrupt.c b/lisp/interrupt.c
index dc698c1cfceca785e9e3b8f7e65034fa598d8563..28738babd995fda508feed65f9ed1235dd1236a8 100644
--- a/lisp/interrupt.c
+++ b/lisp/interrupt.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.2 1992/09/08 20:25:46 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/interrupt.c,v 1.3 1994/03/27 15:32:03 hallgren Exp $ */
 
 /* Interrupt handing magic. */
 
@@ -47,6 +47,12 @@ void fake_foreign_function_call(struct sigcontext *context)
     /* Get current LISP state from context */
 #ifdef reg_ALLOC
     current_dynamic_space_free_pointer = (lispobj *)SC_REG(context, reg_ALLOC);
+#ifdef alpha
+    if((long) current_dynamic_space_free_pointer & 1) {
+      printf("Dead in fake_foriegn_function-call, context = %x\n",context);
+      lose("");
+    }
+#endif
 #endif
 #ifdef reg_BSP
     current_binding_stack_pointer = (lispobj *)SC_REG(context, reg_BSP);
diff --git a/lisp/lisp.h b/lisp/lisp.h
index 2ea27b4f251965daf83625448097273cebb49ab1..a30b9b8c737c96949c61bcc611b487ccdd7d67c5 100644
--- a/lisp/lisp.h
+++ b/lisp/lisp.h
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.h,v 1.1 1992/07/28 20:14:40 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lisp.h,v 1.2 1994/03/27 15:27:35 hallgren Exp $ */
 
 #ifndef _LISP_H_
 #define _LISP_H_
@@ -18,7 +18,13 @@
 #define SYMBOL(obj) ((struct symbol *)((obj)-type_OtherPointer))
 #define FDEFN(obj) ((struct fdefn *)((obj)-type_OtherPointer))
 
+#ifndef alpha
 typedef unsigned long lispobj;
+#else
+typedef unsigned int u32;
+typedef signed int s32;
+typedef u32 lispobj;
+#endif
 
 #define make_fixnum(n) ((lispobj)((n)<<2))
 #define fixnum_value(n) (((long)n)>>2)
diff --git a/lisp/lispregs.h b/lisp/lispregs.h
index 956f072244b1ae104c88475e5f49aff18e54c852..e7071dfc89916fa90f4ba3e19a12760c0f3c3ae0 100644
--- a/lisp/lispregs.h
+++ b/lisp/lispregs.h
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.1 1992/07/28 20:14:41 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/lispregs.h,v 1.2 1994/03/27 15:20:39 hallgren Exp $ */
 
 #ifdef mips
 #include "mips-lispregs.h"
@@ -20,6 +20,10 @@
 #include "hppa-lispregs.h"
 #endif
 
+#ifdef alpha
+#include "alpha-lispregs.h"
+#endif
+
 #ifndef LANGUAGE_ASSEMBLY
 extern char *lisp_register_names[];
 #endif
diff --git a/lisp/monitor.c b/lisp/monitor.c
index e752f9cfb1bdd2eebd090a0ef5130866841d51f9..dea2b598e5cf36774170431f6d6d6e46ecef8c24 100644
--- a/lisp/monitor.c
+++ b/lisp/monitor.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.c,v 1.3 1993/04/28 01:59:00 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.c,v 1.4 1994/03/27 15:21:16 hallgren Exp $ */
 
 #include <stdio.h>
 #include <sys/types.h>
@@ -101,9 +101,17 @@ static void dump_cmd(char **ptr)
     }
 
     while (count-- > 0) {
-        printf("0x%08X: ", (unsigned long)addr);
+#ifndef alpha
+        printf("0x%08X: ", (unsigned long) addr);
+#else
+        printf("0x%08X: ", (u32) addr);
+#endif
         if (valid_addr((os_vm_address_t)addr)) {
+#ifndef alpha
             unsigned long *lptr = (unsigned long *)addr;
+#else
+            u32 *lptr = (unsigned long *)addr;
+#endif
             unsigned short *sptr = (unsigned short *)addr;
             unsigned char *cptr = (unsigned char *)addr;
 
diff --git a/lisp/os.h b/lisp/os.h
index d0d16c69341a5cc75cacb50a86608077cbdcc357..cca772966fba46a00b1f97ced4d677559db0fa93 100644
--- a/lisp/os.h
+++ b/lisp/os.h
@@ -1,5 +1,5 @@
 /*
- * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.2 1993/07/27 15:40:17 hallgren Exp $
+ * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/os.h,v 1.3 1994/03/27 15:22:39 hallgren Exp $
  *
  * Common interface for os-dependent functions.
  *
@@ -19,6 +19,10 @@
 #else
 #ifdef hpux
 #include "hpux-os.h"
+#else
+#ifdef osf1
+#include "osf1-os.h"
+#endif
 #endif
 #endif
 #endif
diff --git a/lisp/print.c b/lisp/print.c
index c330171925a1a19f24bbfe2ccc9f3760eed100dd..5cb9211da5c600072ea396e0dd75d0d6fd0ecd63 100644
--- a/lisp/print.c
+++ b/lisp/print.c
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.c,v 1.2 1993/02/26 09:02:05 ram Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/print.c,v 1.3 1994/03/27 15:18:07 hallgren Exp $ */
 #include <stdio.h>
 
 #include "print.h"
@@ -124,12 +124,20 @@ static void newline(char *label)
 
 static void brief_fixnum(lispobj obj)
 {
+#ifndef alpha
     printf("%d", ((long)obj)>>2);
+#else
+    printf("%d", ((s32)obj)>>2);
+#endif
 }
 
 static void print_fixnum(lispobj obj)
 {
+#ifndef alpha
     printf(": %d", ((long)obj)>>2);
+#else
+    printf(": %d", ((s32)obj)>>2);
+#endif
 }
 
 static void brief_otherimm(lispobj obj)
@@ -348,9 +356,15 @@ static void print_otherptr(lispobj obj)
     if (!valid_addr(obj))
 	    printf("(invalid address)");
     else {
+#ifndef alpha
         unsigned long *ptr; 
         unsigned long header;
         unsigned long length;
+#else
+        u32 *ptr; 
+        u32 header;
+        u32 length;
+#endif
         int count, type, index;
         char *cptr, buffer[16];
 
@@ -458,7 +472,11 @@ static void print_otherptr(lispobj obj)
 
             case type_Sap:
                 NEWLINE;
+#ifndef alpha
                 printf("0x%08x", *ptr);
+#else
+                printf("0x%016lx", *(long*)(ptr+1));
+#endif
                 break;
 
             case type_WeakPointer:
diff --git a/lisp/undefineds.h b/lisp/undefineds.h
index c6fab8e2f149f88c89f7534618573352f6d78ccf..3d2c59e70dd4db3215e3ac9bced00952615b845a 100644
--- a/lisp/undefineds.h
+++ b/lisp/undefineds.h
@@ -1,5 +1,5 @@
 /* Routines that must be linked into the core for lisp to work. */
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.2 1993/07/27 15:11:19 hallgren Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/undefineds.h,v 1.3 1994/03/27 15:24:12 hallgren Exp $ */
 
 /* Pick up all the syscalls. */
 accept,
@@ -71,7 +71,7 @@ open,
 pipe,
 profil,
 ptrace,
-#if !defined(SUNOS) && !defined(parisc)
+#if !defined(SUNOS) && !defined(parisc) && !defined(osf1)
 quota,
 #endif
 read,
@@ -96,7 +96,7 @@ sethostname,
 setitimer,
 setpgrp,
 setpriority,
-#if !defined(SUNOS) && !defined(parisc)
+#if !defined(SUNOS) && !defined(parisc) && !defined(osf1)
 setquota,
 #endif
 #ifndef hpux
@@ -139,7 +139,9 @@ unlink,
 utimes,
 #endif
 vfork,
+#ifndef osf1
 vhangup,
+#endif
 wait,
 wait3,
 write,
@@ -184,3 +186,4 @@ gethostbyaddr,
 /* Other random things. */
 getwd,
 ttyname
+
diff --git a/lisp/validate.h b/lisp/validate.h
index b01d8f59e7be5d80cfc0bd2f99985eb1e58a5050..60567c8256bbf99fafa3cd7e9d4025d8eedf3956 100644
--- a/lisp/validate.h
+++ b/lisp/validate.h
@@ -1,4 +1,4 @@
-/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/validate.h,v 1.1 1992/07/28 20:15:37 wlott Exp $ */
+/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/validate.h,v 1.2 1994/03/27 15:22:16 hallgren Exp $ */
 
 #if !defined(_INCLUDE_VALIDATE_H_)
 #define _INCLUDE_VALIDATE_H_
@@ -23,6 +23,10 @@
 #include "x86-validate.h"
 #endif
 
+#ifdef alpha
+#include "alpha-validate.h"
+#endif
+
 extern void validate(void);
 
 #endif