diff options
Diffstat (limited to 'libgloss/hp74x/diagnose.h')
-rw-r--r-- | libgloss/hp74x/diagnose.h | 168 |
1 files changed, 0 insertions, 168 deletions
diff --git a/libgloss/hp74x/diagnose.h b/libgloss/hp74x/diagnose.h deleted file mode 100644 index 23eb847..0000000 --- a/libgloss/hp74x/diagnose.h +++ /dev/null @@ -1,168 +0,0 @@ -/**************************************************************************** - - THIS SOFTWARE IS NOT COPYRIGHTED - - HP offers the following for use in the public domain. HP makes no - warranty with regard to the software or it's performance and the - user accepts the software "AS IS" with all faults. - - HP DISCLAIMS ANY WARRANTIES, EXPRESS OR IMPLIED, WITH REGARD - TO THIS SOFTWARE INCLUDING BUT NOT LIMITED TO THE WARRANTIES - OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. - -****************************************************************************/ - - /* Diagnose register definitions */ - - -#ifdef PCXL - -#define CPU_DIAG_0_L2IHPMC_BIT 6 /* Level 2 I-cache error flag */ -#define CPU_DIAG_0_L2DHPMC_BIT 8 /* Level 2 D-cache error flag */ -#define CPU_DIAG_0_L1IHPMC_BIT 10 /* Level 1 I-cache error flag */ -#define CPU_DIAG_0_L2PARERR_BIT 15 /* rightmost bit */ -#define CPU_DIAG_0_PREV_HPMC_PREP_BIT 16 /* Previous HPMC finished */ -#define CPU_DIAG_0_PWR_FAIL_BIT 17 -#define CPU_DIAG_0_EXPECT_HPMC_BIT 18 /* Expecting HPMC */ - - /* Mask for Read/clear bits in CPU diagnose register 0 */ -#define CPU0_MASK 0x02AF0000 - -#else /* PCXT */ - -#define CPU_DIAG_0_PREV_HPMC_PREP_BIT 3 /* Previous HPMC finished */ -#define CPU_DIAG_0_BOOTING_BIT 4 -#define CPU_DIAG_0_EXPECT_HPMC_BIT 5 /* Expecting HPMC */ - -#define CPU_DIAG_0_DHPMC_BIT 10 -#define CPU_DIAG_0_ILPMC_BIT 14 -#define CPU_DIAG_0_HTOC_BIT 23 - - /* Mask for Read/clear bits in CPU diagnose register 0 */ -#define CPU0_MASK 0x00220100 - -#endif - - /* Diagnose instruction macros */ - -#ifdef PCXL - -/*** Different PCXL diagnose commands ***/ - -/* Original mfcpu replaced with the two commands mfcpu_t & mfcpu_c */ -mfcpu_t .macro diag_reg,gen_reg - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = diag_reg {27 .. 31} - {11 .. 15} = 0x0 {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0xa0 {24 .. 31} - {27 .. 31} = gen_reg {27 .. 31} - .endm - -mfcpu_c .macro diag_reg,gen_reg - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = diag_reg {27 .. 31} - {11 .. 15} = gen_reg {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0x30 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -mtcpu .macro gen_reg,diag_reg - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = diag_reg {27 .. 31} - {11 .. 15} = gen_reg {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0x12 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -shdw_gr .macro - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = 0x0 {27 .. 31} - {11 .. 15} = 0x0 {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0xd0 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -gr_shdw .macro - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = 0x0 {27 .. 31} - {11 .. 15} = 0x0 {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0xd2 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -#else - -/*** original PCXT version ***/ - -/* Originally was mfcpu without the _c */ -mfcpu_c .macro diag_reg,gen_reg - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = diag_reg {27 .. 31} - {11 .. 15} = gen_reg {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0xd0 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -mtcpu .macro gen_reg,diag_reg - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = diag_reg {27 .. 31} - {11 .. 15} = gen_reg {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0xb0 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -shdw_gr .macro - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = 0x2 {27 .. 31} - {11 .. 15} = 0x0 {27 .. 31} - {16 .. 18} = 0x1 {29 .. 31} - {19 .. 26} = 0x30 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -gr_shdw .macro - { 0 .. 5} = 0x5 {26 .. 31} - { 6 .. 10} = 0x2 {27 .. 31} - {11 .. 15} = 0x0 {27 .. 31} - {16 .. 18} = 0x0 {29 .. 31} - {19 .. 26} = 0x31 {24 .. 31} - {27 .. 31} = 0x0 {27 .. 31} - .endm - -#endif - - - /* Actual commands used doubled instructions for cpu timing */ - - -#define SHDW_GR shdw_gr ! \ - shdw_gr - - - /* Break instruction definitions */ - -#define i13BREAK 0xa5a /* im13 field for specified functions */ -#define i5REG 0x06 /* Init registers */ -#define i5BP 0x09 /* GDB breakpoint */ -#define i5PSW 0x0b /* Get PSW */ -#define i5INLINE 0x0e /* Get INLINE */ - -BR_INIT_REGS .macro - break i5REG,i13BREAK - .endm - -BR_GET_PSW .macro - break i5PSW,i13BREAK - .endm - -BR_INLINE .macro - break i5INLINE,i13BREAK - .endm - |