From d7fba9784e99ca4465c9cc04b611cf309e637d33 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Fri, 19 Dec 2003 14:24:01 -0500 Subject: The palcode will now build by simply typing make in this directory. Most of the changes were to fix broken macros in platfrom_tlaser.s palcode/Makefile: Completly new makefile to build palcode palcode/ev5_alpha_defs.h: fixed a broken define palcode/ev5_impure.h: macro fixes palcode/platform_srcmax.s: manual macro expansion of broken macros... this file isn't needed to build tlaser palcode palcode/platform_tlaser.s: lots of fixups to make the code assemble --- system/alpha/palcode/platform_tlaser.s | 39 ++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'system/alpha/palcode/platform_tlaser.s') diff --git a/system/alpha/palcode/platform_tlaser.s b/system/alpha/palcode/platform_tlaser.s index 000ed9f38..d5a8b9fdd 100644 --- a/system/alpha/palcode/platform_tlaser.s +++ b/system/alpha/palcode/platform_tlaser.s @@ -1,6 +1,8 @@ // build_fixed_image: not sure what means // real_mm to be replaced during rewrite // remove_save_state remove_restore_state can be remooved to save space ?? + + #define egore 0 #define acore 0 #define beh_model 0 @@ -30,7 +32,8 @@ #include "fromHudsonOsf.h" #include "dc21164FromGasSources.h" #include "cserve.h" -#include "simos.h" +#include "tlaserreg.h" +//#include "simos.h" #define ldlp ldl_p @@ -158,10 +161,10 @@ _x: sll _rsum,22,_rsum; \ addq _raddr,_rsum,_raddr; \ blbs _scratch,1f; \ - lda _raddr,tlep_lintrsum0_offset(_raddr); \ + lda _raddr,0x1180(_raddr); \ br r31,2f; \ 1: \ - lda _raddr,tlep_lintrsum1_offset(_raddr); \ + lda _raddr,0x11c0(_raddr); \ 2: ldlp _rsum,0(_raddr) @@ -211,9 +214,9 @@ _x: lda _raddr,0xff88(zero); \ sll _raddr,24,_raddr; \ blbs _whami,1f; \ - lda _raddr,tlep_tlintrsum0_offset(_raddr);\ + lda _raddr,0x1180(_raddr);\ br zero,2f; \ -1: lda _raddr,tlep_tlintrsum1_offset(_raddr);\ +1: lda _raddr,0x11c0(_raddr);\ 2: srl _whami,1,_whami; \ addq _raddr,_whami,_raddr; \ mb; \ @@ -442,7 +445,7 @@ EXPORT(sys_wripir) //++ // Send out the IP Intr //-- - stqp r14, TLSB_TLIPINTR_OFFSET(r13) // Write to TLIPINTR reg + stqp r14, 0x40(r13) // Write to TLIPINTR reg WAS TLSB_TLIPINTR_OFFSET wmb // Push out the store hw_rei @@ -739,7 +742,7 @@ sys_int_23: beq r14, 1f Get_TLSB_Node_Address(r14,r10) - lda r10, tlsb_tlilid3_offset(r10) // Get base TLILID address + lda r10, 0xac0(r10) // Get base TLILID address ldlp r13, 0(r10) // Read the TLILID register bne r13, pal_post_dev_interrupt @@ -763,7 +766,7 @@ sys_int_22: beq r14, 1f Get_TLSB_Node_Address(r14,r10) - lda r10, tlsb_tlilid2_offset(r10) // Get base TLILID address + lda r10, 0xa80(r10) // Get base TLILID address ldlp r13, 0(r10) // Read the TLILID register #if turbo_pcia_intr_fix == 0 @@ -792,7 +795,7 @@ sys_int_21: beq r14, 1f Get_TLSB_Node_Address(r14,r10) - lda r10, tlsb_tlilid1_offset(r10) // Get base TLILID address + lda r10, 0xa40(r10) // Get base TLILID address ldlp r13, 0(r10) // Read the TLILID register #if turbo_pcia_intr_fix == 0 @@ -954,7 +957,7 @@ tlep_ecc: srl r14, 1, r14 // shift off cpu number Get_TLSB_Node_Address(r14,r10) // compute our nodespace address - ldlp r13, tlsb_tlber_offset(r10) // read our TLBER + ldlp r13, 0x40(r10) // read our TLBER WAS tlsb_tlber_offset srl r13, 17, r13 // shift down the CWDE/CRDE bits and r13, 3, r13 // mask the CWDE/CRDE bits @@ -1515,7 +1518,7 @@ sys_reset: lda r11, 0x7(r31) // Set shadow copy of PS - kern mode, IPL=7 lda r1, 0x1F(r31) mtpr r1, ipl // set internal =1F - mtpr r31, ps // set new ps=0, Ibox copy + mtpr r31, ev5__ps // set new ps=0, Ibox copy mtpr r31, dtb_cm // set new ps=0, Mbox copy // Create the PALtemp pt_intmask - @@ -1591,7 +1594,8 @@ sys_reset: mtpr r1, pt_scbb // load scbb mtpr r31, pt_prbr // clear out prbr #ifdef SIMOS - or zero,kludge_initial_pcbb,r1 +// or zero,kludge_initial_pcbb,r1 + GET_ADDR(r1, (kludge_initial_pcbb-pal_base), r1) #else mfpr r1, pal_base //orig sget_addr r1, (kludge_initial_pcbb-pal$base), r1, verify=0// get address for temp pcbb @@ -1849,7 +1853,8 @@ EXPORT(sys_machine_check) lda r0, scb_v_procmchk(r31) // SCB vector mfpr r13, pt_mces // Get MCES sll r0, 16, r0 // Move SCBv to correct position - bis r13, #<1@mces$v_mchk>, r14 // Set MCES bit +// bis r13, #<1@mces$v_mchk>, r14 // Set MCES bit + bis r13, BIT(mces_v_mchk), r14 // Set MCES bit zap r14, 0x3C, r14 // Clear mchk_code word and SCBv word @@ -1979,9 +1984,11 @@ EXPORT(sys_mchk_collect_iprs) and r25, r4, r4 bne r4, sys_cpu_mchk_not_retryable - bis r31, #<1@>, r4 +// bis r31, #<1@>, r4 + bis r31, BIT((ei_stat_v_unc_ecc_err-ei_stat_v_bc_tperr)), r4 and r25, r4, r4 // Isolate the Uncorrectable Error Bit - bis r31, #<1@>, r6 +// bis r31, #<1@>, r6 + bis r31, BIT((ei_stat_v_fil_ird-ei_stat_v_bc_tperr)), r6 // Isolate the Iread bit cmovne r6, 0, r4 // r4 = 0 if IRD or if No Uncorrectable Error bne r4, sys_cpu_mchk_not_retryable @@ -2360,7 +2367,7 @@ sys_post_mchk_trap: bge r25, 3f mtpr r31, dtb_cm - mtpr r31, ps + mtpr r31, ev5__ps mtpr r30, pt_usp // save user stack mfpr r30, pt_ksp -- cgit v1.2.3