Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Apr 2009 13:11:38 +0000 (UTC)
From:      Rafal Jaworowski <raj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r191375 - in head/sys/powerpc: booke include
Message-ID:  <200904221311.n3MDBcvn056325@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: raj
Date: Wed Apr 22 13:11:38 2009
New Revision: 191375
URL: http://svn.freebsd.org/changeset/base/191375

Log:
  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

Modified:
  head/sys/powerpc/booke/locore.S
  head/sys/powerpc/include/hid.h

Modified: head/sys/powerpc/booke/locore.S
==============================================================================
--- head/sys/powerpc/booke/locore.S	Wed Apr 22 12:52:12 2009	(r191374)
+++ head/sys/powerpc/booke/locore.S	Wed Apr 22 13:11:38 2009	(r191375)
@@ -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

Modified: head/sys/powerpc/include/hid.h
==============================================================================
--- head/sys/powerpc/include/hid.h	Wed Apr 22 12:52:12 2009	(r191374)
+++ head/sys/powerpc/include/hid.h	Wed Apr 22 13:11:38 2009	(r191375)
@@ -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_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904221311.n3MDBcvn056325>