diff -r -c cmucl-src.orig/compiler/hppa/parms.lisp cmucl-src/compiler/hppa/parms.lisp *** cmucl-src.orig/compiler/hppa/parms.lisp Sun Oct 30 20:42:45 1994 --- cmucl-src/compiler/hppa/parms.lisp Fri Aug 28 14:33:57 1998 *************** *** 130,136 **** (defparameter target-dynamic-space-start #x30000000) ;; The space-register holding the lisp heap. ! (defconstant lisp-heap-space 4) ;; The space-register holding the C text segment. (defconstant c-text-space 4) --- 130,136 ---- (defparameter target-dynamic-space-start #x30000000) ;; The space-register holding the lisp heap. ! (defconstant lisp-heap-space 5) ;; The space-register holding the C text segment. (defconstant c-text-space 4) diff -r -c cmucl-src.orig/lisp/Config.hp700_ux90 cmucl-src/lisp/Config.hp700_ux90 *** cmucl-src.orig/lisp/Config.hp700_ux90 Sat Jun 7 08:25:30 1997 --- cmucl-src/lisp/Config.hp700_ux90 Wed Sep 2 09:58:11 1998 *************** *** 1,16 **** ! CPPFLAGS = -Dparisc -I. -I/usr/local/lib/gcc-lib/hppa1.1-hp-hpux/2.6.0/include \ -I/usr/include -I/usr/include/X11R5 LINK.o = gcc $(LDFLAGS) $(TARGET_ARCH) CC = gcc NM = hpux-nm ! CFLAGS = -O ! ASFLAGS = -O -DNEW_FORMAT UNDEFSYMPATTERN=-u & ASSEM_SRC = hppa-assem.S ARCH_SRC = hppa-arch.c OS_SRC = hpux-os.c undefineds.c ! OS_LINK_FLAGS= -Wl,-a,archive OS_LIBS= -lBSD /lib/pa1.1/libm.a %.o: %.S $(PREPROCESS.S) $< | as -o $@ --- 1,19 ---- ! CPPFLAGS = -Dparisc -I. -I/usr/cygnus/lib/gcc-lib/hppa1.1-hp-hpux9.05/2.6-95q3/include \ -I/usr/include -I/usr/include/X11R5 LINK.o = gcc $(LDFLAGS) $(TARGET_ARCH) CC = gcc NM = hpux-nm ! CFLAGS = -g ! ASFLAGS = -g -DNEW_FORMAT UNDEFSYMPATTERN=-u & ASSEM_SRC = hppa-assem.S ARCH_SRC = hppa-arch.c OS_SRC = hpux-os.c undefineds.c ! OS_LINK_FLAGS= -Wl,-a,archive -N OS_LIBS= -lBSD /lib/pa1.1/libm.a %.o: %.S $(PREPROCESS.S) $< | as -o $@ + + %.S: %.s + cp $^ $@ diff -r -c cmucl-src.orig/lisp/hppa-assem.s cmucl-src/lisp/hppa-assem.s *** cmucl-src.orig/lisp/hppa-assem.s Thu Feb 16 16:51:13 1995 --- cmucl-src/lisp/hppa-assem.s Wed Sep 2 08:46:29 1998 *************** *** 23,31 **** call_into_lisp .proc .callinfo entry_gr=18,save_rp ! .enter /* arg0=function, arg1=cfp, arg2=nargs */ /* Clear the descriptor regs, moving in args as approporate. */ copy r0,reg_CODE copy r0,reg_FDEFN --- 23,49 ---- call_into_lisp .proc .callinfo entry_gr=18,save_rp ! .entry /* arg0=function, arg1=cfp, arg2=nargs */ + stw rp,-0x14(sr0,sp) + stwm r3,0x40(sr0,sp) + stw r4,-0x3c(sr0,sp) + stw r5,-0x38(sr0,sp) + stw r6,-0x34(sr0,sp) + stw r7,-0x30(sr0,sp) + stw r8,-0x2c(sr0,sp) + stw r9,-0x28(sr0,sp) + stw r10,-0x24(sr0,sp) + stw r11,-0x20(sr0,sp) + stw r12,-0x1c(sr0,sp) + stw r13,-0x18(sr0,sp) + stw r14,-0x14(sr0,sp) + stw r15,-0x10(sr0,sp) + stw r16,-0xc(sr0,sp) + stw r17,-0x8(sr0,sp) + stw r18,-0x4(sr0,sp) + /* Clear the descriptor regs, moving in args as approporate. */ copy r0,reg_CODE copy r0,reg_FDEFN *************** *** 88,94 **** /* And into lisp we go. */ .export break_here break_here ! be,n 0(sr4,reg_LIP) .align 8 lra --- 106,114 ---- /* And into lisp we go. */ .export break_here break_here ! be,n 0(sr5,reg_LIP) ! ! break 0,0 .align 8 lra *************** *** 124,131 **** /* Turn off pseudo-atomic and check for traps. */ addit,od -4,reg_ALLOC,reg_ALLOC /* And thats all. */ ! .leave .procend --- 144,172 ---- /* Turn off pseudo-atomic and check for traps. */ addit,od -4,reg_ALLOC,reg_ALLOC + + ldw -0x54(sr0,sp),rp + ldw -0x4(sr0,sp),r18 + ldw -0x8(sr0,sp),r17 + ldw -0xc(sr0,sp),r16 + ldw -0x10(sr0,sp),r15 + ldw -0x14(sr0,sp),r14 + ldw -0x18(sr0,sp),r13 + ldw -0x1c(sr0,sp),r12 + ldw -0x20(sr0,sp),r11 + ldw -0x24(sr0,sp),r10 + ldw -0x28(sr0,sp),r9 + ldw -0x2c(sr0,sp),r8 + ldw -0x30(sr0,sp),r7 + ldw -0x34(sr0,sp),r6 + ldw -0x38(sr0,sp),r5 + ldw -0x3c(sr0,sp),r4 + bv r0(rp) + ldwm -0x40(sr0,sp),r3 + + /* And thats all. */ ! .exit .procend *************** *** 226,245 **** sanctify_for_execution .proc .callinfo ! .enter /* arg0=start addr, arg1=length in bytes */ add arg0,arg1,arg1 ldo -1(arg1),arg1 depi 0,31,5,arg0 depi 0,31,5,arg1 ! ldsid (arg0),r19 ! mtsp r19,sr1 ! ldi 32,r19 ; bytes per cache line sanctify_loop fdc 0(sr1,arg0) comb,< arg0,arg1,sanctify_loop ! fic,m r19(sr1,arg0) ! .leave .procend --- 267,290 ---- sanctify_for_execution .proc .callinfo ! .entry /* arg0=start addr, arg1=length in bytes */ add arg0,arg1,arg1 ldo -1(arg1),arg1 depi 0,31,5,arg0 depi 0,31,5,arg1 ! ldsid (arg0),t1 ! mtsp t1,sr1 ! ldi 32,t1 ; bytes per cache line sanctify_loop fdc 0(sr1,arg0) comb,< arg0,arg1,sanctify_loop ! fic,m t1(sr1,arg0) ! ! bv r0(rp) ! nop ! ! .exit .procend *************** *** 291,297 **** save_state .proc .callinfo entry_gr=18,entry_fr=21,save_rp,calls ! .enter /* Remember the function we want to invoke */ copy arg0,r19 --- 336,371 ---- save_state .proc .callinfo entry_gr=18,entry_fr=21,save_rp,calls ! .entry ! ! stw rp,-0x14(sr0,sp) ! fstds,ma fr12,8(sr0,sp) ! fstds,ma fr13,8(sr0,sp) ! fstds,ma fr14,8(sr0,sp) ! fstds,ma fr15,8(sr0,sp) ! fstds,ma fr16,8(sr0,sp) ! fstds,ma fr17,8(sr0,sp) ! fstds,ma fr18,8(sr0,sp) ! fstds,ma fr19,8(sr0,sp) ! fstds,ma fr20,8(sr0,sp) ! fstds,ma fr21,8(sr0,sp) ! stwm r3,0x70(sr0,sp) ! stw r4,-0x6c(sr0,sp) ! stw r5,-0x68(sr0,sp) ! stw r6,-0x64(sr0,sp) ! stw r7,-0x60(sr0,sp) ! stw r8,-0x5c(sr0,sp) ! stw r9,-0x58(sr0,sp) ! stw r10,-0x54(sr0,sp) ! stw r11,-0x50(sr0,sp) ! stw r12,-0x4c(sr0,sp) ! stw r13,-0x48(sr0,sp) ! stw r14,-0x44(sr0,sp) ! stw r15,-0x40(sr0,sp) ! stw r16,-0x3c(sr0,sp) ! stw r17,-0x38(sr0,sp) ! stw r18,-0x34(sr0,sp) ! /* Remember the function we want to invoke */ copy arg0,r19 *************** *** 305,312 **** ble 0(4,r19) copy r31, r2 _restore_state ! .leave .procend .export restore_state --- 379,418 ---- ble 0(4,r19) copy r31, r2 + .export _restore_state _restore_state ! ! ldw -0xd4(sr0,sp),rp ! ldw -0x34(sr0,sp),r18 ! ldw -0x38(sr0,sp),r17 ! ldw -0x3c(sr0,sp),r16 ! ldw -0x40(sr0,sp),r15 ! ldw -0x44(sr0,sp),r14 ! ldw -0x48(sr0,sp),r13 ! ldw -0x4c(sr0,sp),r12 ! ldw -0x50(sr0,sp),r11 ! ldw -0x54(sr0,sp),r10 ! ldw -0x58(sr0,sp),r9 ! ldw -0x5c(sr0,sp),r8 ! ldw -0x60(sr0,sp),r7 ! ldw -0x64(sr0,sp),r6 ! ldw -0x68(sr0,sp),r5 ! ldw -0x6c(sr0,sp),r4 ! ldwm -0x70(sr0,sp),r3 ! fldds,mb -8(sr0,sp),fr21 ! fldds,mb -8(sr0,sp),fr20 ! fldds,mb -8(sr0,sp),fr19 ! fldds,mb -8(sr0,sp),fr18 ! fldds,mb -8(sr0,sp),fr17 ! fldds,mb -8(sr0,sp),fr16 ! fldds,mb -8(sr0,sp),fr15 ! fldds,mb -8(sr0,sp),fr14 ! fldds,mb -8(sr0,sp),fr13 ! bv r0(rp) ! fldds,mb -8(sr0,sp),fr12 ! ! ! .exit .procend .export restore_state *************** *** 324,331 **** SingleStepTraps break trap_SingleStepBreakpoint,0 break trap_SingleStepBreakpoint,0 ! ! .align 8 .export function_end_breakpoint_guts --- 430,438 ---- SingleStepTraps break trap_SingleStepBreakpoint,0 break trap_SingleStepBreakpoint,0 ! /* Missing !! NOT ! there's a break 0,0 in the new version here!!! ! */ .align 8 .export function_end_breakpoint_guts diff -r -c cmucl-src.orig/lisp/hppa-lispregs.h cmucl-src/lisp/hppa-lispregs.h *** cmucl-src.orig/lisp/hppa-lispregs.h Tue Jul 27 08:04:16 1993 --- cmucl-src/lisp/hppa-lispregs.h Wed Aug 19 17:34:45 1998 *************** *** 41,46 **** --- 41,91 ---- #define reg_NSP REG(30) #define reg_LIP REG(31) + #if defined(hpux) && defined(LANGUAGE_ASSEMBLY) + #define r0 %r0 + #define r1 %r1 + #define r2 %r2 + #define r3 %r3 + #define r4 %r4 + #define r5 %r5 + #define r6 %r6 + #define r7 %r7 + #define r8 %r8 + #define r9 %r9 + #define r10 %r10 + #define r11 %r11 + #define r12 %r12 + #define r13 %r13 + #define r14 %r14 + #define r15 %r15 + #define r16 %r16 + #define r17 %r17 + #define r18 %r18 + #define r19 %r19 + #define r31 %r31 + #define sp %sp + #define sr0 %sr0 + #define sr1 %sr1 + #define sr4 %sr4 + #define sr5 %sr5 + #define t1 %r22 + #define arg0 %arg0 + #define arg1 %arg1 + #define arg2 %arg2 + #define ret0 %ret0 + #define dp %dp + #define rp %rp + #define fr12 %fr12 + #define fr13 %fr13 + #define fr14 %fr14 + #define fr15 %fr15 + #define fr16 %fr16 + #define fr17 %fr17 + #define fr18 %fr18 + #define fr19 %fr19 + #define fr20 %fr20 + #define fr21 %fr21 + #endif #define REGNAMES \ "ZERO", "NFP", "CFUNC", "CSP", "CFP", "BSP", "NULL", "ALLOC", \ diff -r -c cmucl-src.orig/lisp/hppa-validate.h cmucl-src/lisp/hppa-validate.h *** cmucl-src.orig/lisp/hppa-validate.h Thu Oct 27 10:13:54 1994 --- cmucl-src/lisp/hppa-validate.h Fri Aug 28 15:00:31 1998 *************** *** 15,25 **** #define STATIC_SPACE_SIZE (0x08000000) #define DYNAMIC_0_SPACE_START (0x30000000) ! #define DYNAMIC_1_SPACE_START (0x38000000) ! #define DYNAMIC_SPACE_SIZE (0x08000000) ! #define CONTROL_STACK_START (0x50000000) #define CONTROL_STACK_SIZE (0x00100000) ! #define BINDING_STACK_START (0x70000000) #define BINDING_STACK_SIZE (0x00100000) --- 15,25 ---- #define STATIC_SPACE_SIZE (0x08000000) #define DYNAMIC_0_SPACE_START (0x30000000) ! #define DYNAMIC_1_SPACE_START (0x50000000) ! #define DYNAMIC_SPACE_SIZE (0x20000000) ! #define CONTROL_STACK_START (0x70000000) #define CONTROL_STACK_SIZE (0x00100000) ! #define BINDING_STACK_START (0x71000000) #define BINDING_STACK_SIZE (0x00100000) diff -r -c cmucl-src.orig/lisp/undefineds.h cmucl-src/lisp/undefineds.h *** cmucl-src.orig/lisp/undefineds.h Sat Jun 7 08:25:41 1997 --- cmucl-src/lisp/undefineds.h Thu Feb 19 18:58:19 1998 *************** *** 108,114 **** #if !defined(SVR4) || defined(SOLARIS25) setpriority, #endif ! #if !defined(mach) && !defined(SOLARIS) && !defined(__FreeBSD__) && !defined(SUNOS) && !defined(osf1) && !defined(irix) setquota, #endif #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25) --- 108,114 ---- #if !defined(SVR4) || defined(SOLARIS25) setpriority, #endif ! #if !defined(mach) && !defined(SOLARIS) && !defined(__FreeBSD__) && !defined(SUNOS) && !defined(osf1) && !defined(irix) && !defined(hpux) setquota, #endif #if !defined(hpux) && !defined(SVR4) || defined(SOLARIS25)