diff options
author | raj <raj@FreeBSD.org> | 2009-04-22 13:11:38 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2009-04-22 13:11:38 +0000 |
commit | 8f223712ebdf58e26ef092e1181641c478e5cd27 (patch) | |
tree | 84f339ba66bce8e572cae8d1409ffc2a45766fb3 | |
parent | 37d071982a18633dd2c39083e25fd407e11e8875 (diff) | |
download | FreeBSD-src-8f223712ebdf58e26ef092e1181641c478e5cd27.zip FreeBSD-src-8f223712ebdf58e26ef092e1181641c478e5cd27.tar.gz |
Centralize setting HID0/1 for E500. Rename HID defines which are specific
to E500 rather than shared within Book-E family.
Obtained from: Freescale, Semihalf
-rw-r--r-- | sys/powerpc/booke/locore.S | 10 | ||||
-rw-r--r-- | sys/powerpc/include/hid.h | 15 |
2 files changed, 21 insertions, 4 deletions
diff --git a/sys/powerpc/booke/locore.S b/sys/powerpc/booke/locore.S index 7034c46..f62d994 100644 --- a/sys/powerpc/booke/locore.S +++ b/sys/powerpc/booke/locore.S @@ -29,6 +29,7 @@ #include "assym.s" #include <machine/asm.h> +#include <machine/hid.h> #include <machine/param.h> #include <machine/spr.h> #include <machine/psl.h> @@ -103,6 +104,15 @@ __start: mtmsr %r3 isync + lis %r3, HID0_E500_DEFAULT_SET@h + ori %r3, %r3, HID0_E500_DEFAULT_SET@l + mtspr SPR_HID0, %r3 + isync + lis %r3, HID1_E500_DEFAULT_SET@h + ori %r3, %r3, HID1_E500_DEFAULT_SET@l + mtspr SPR_HID1, %r3 + isync + /* Invalidate all entries in TLB0 */ li %r3, 0 bl tlb_inval_all diff --git a/sys/powerpc/include/hid.h b/sys/powerpc/include/hid.h index 41602fd..3ba5b55 100644 --- a/sys/powerpc/include/hid.h +++ b/sys/powerpc/include/hid.h @@ -32,7 +32,7 @@ /* Hardware Implementation Dependent registers for the PowerPC */ -#define HID0_EMCP 0x80000000 /* Enable MCP */ +#define HID0_EMCP 0x80000000 /* Enable machine check pin */ #define HID0_DBP 0x40000000 /* Disable 60x bus parity generation */ #define HID0_EBA 0x20000000 /* Enable 60x bus address parity checking */ #define HID0_EBD 0x10000000 /* Enable 60x bus data parity checking */ @@ -73,9 +73,9 @@ #define HID0_AIM_TBEN 0x04000000 /* Time base enable (7450) */ -#define HID0_BOOKE_TBEN 0x00004000 /* Time Base and decr. enable */ -#define HID0_BOOKE_SEL_TBCLK 0x00002000 /* Select Time Base clock */ -#define HID0_BOOKE_MAS7UPDEN 0x00000080 /* Enable MAS7 update (e500v2) */ +#define HID0_E500_TBEN 0x00004000 /* Time Base and decr. enable */ +#define HID0_E500_SEL_TBCLK 0x00002000 /* Select Time Base clock */ +#define HID0_E500_MAS7UPDEN 0x00000080 /* Enable MAS7 update (e500v2) */ #define HID0_BITMASK \ "\20" \ @@ -147,6 +147,13 @@ * 7457: XBSEN = Extended BAT Block Size Enable */ +#define HID1_E500_ABE 0x00001000 /* Address broadcast enable */ +#define HID1_E500_ASTME 0x00002000 /* Address bus streaming mode enable */ +#define HID1_E500_RFXE 0x00020000 /* Read fault exception enable */ + +#define HID0_E500_DEFAULT_SET (HID0_EMCP | HID0_E500_TBEN) +#define HID1_E500_DEFAULT_SET (HID1_E500_ABE | HID1_E500_ASTME) + #define HID5_970_DCBZ_SIZE_HI 0x01000000 /* dcbz does a 32-byte store */ #endif /* _POWERPC_HID_H_ */ |