change log for rtems (2011-06-17)

rtems-vc at rtems.org rtems-vc at rtems.org
Fri Jun 17 14:10:27 UTC 2011


 *joel* (on branch rtems-4-10-branch):
Fix formatting.

M  1.130  c/src/lib/libbsp/powerpc/mvme5500/ChangeLog
M 1.122.2.3  c/src/lib/libbsp/powerpc/mvme5500/ChangeLog

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.129 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.130
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.129	Tue Jun  7 08:26:40 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog	Fri Jun 17 08:24:34 2011
@@ -108,6 +108,7 @@
 	* irq/irq.c, network/if_1GHz/POSSIBLEBUG: Removed.
 
 2009-05-08 	Kate Feng <feng1 at bnl.gov>
+
 	* include/bsp.h, start/start.S, startup/bspstart.c: 
 	added CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK in bsp.h.
 	removed BSP_INIT_STACK_SIZE in bsp.h -- it uses __stack defined
@@ -504,25 +505,26 @@
 
 2005-05-17      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * irq/GT64260Int.c, irq/irq.c, irq/irq.h: Modified to use rtems/irq.h.
+	* irq/GT64260Int.c, irq/irq.c, irq/irq.h: Modified to use rtems/irq.h.
 
 2005-05-12      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * README.VME, include/bsp.h, irq/irq.h, network/GT64260eth.c,
-        pci/detect_host_bridge.c, pci/gtpcireg.h, pci/pci.c, pci/pci.h,
-        pci/pci_interface.c, pci/pcifinddevice.c: 
-        Submitted by Kate Feng <feng1 at bnl.gov> as RTEMS-MVME5500 BSP v1.1 release.
-        Modifications made to merge this release with the current tree.
+	* README.VME, include/bsp.h, irq/irq.h, network/GT64260eth.c,
+	pci/detect_host_bridge.c, pci/gtpcireg.h, pci/pci.c, pci/pci.h,
+	pci/pci_interface.c, pci/pcifinddevice.c: 
+	Submitted by Kate Feng <feng1 at bnl.gov> as RTEMS-MVME5500 BSP
+	v1.1 release.  Modifications made to merge this release with
+	the current tree.
 
 2005-05-10      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * network/GT64260eth.c: Fixed warning. 
-        *  pci/pci.c, pci/pci.h: Modified to depend upon rtems/pci.h
+	* network/GT64260eth.c: Fixed warning. 
+	*  pci/pci.c, pci/pci.h: Modified to depend upon rtems/pci.h
 
 2005-05-04      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * pci/pci.c, pci/pci.h, startup/bspstart.c: Name change to support
-        common PCI interface
+	* pci/pci.c, pci/pci.h, startup/bspstart.c: Name change to support
+	common PCI interface
 
 2005-04-15	Joel Sherrill <joel at OARcorp.com>
 
@@ -532,13 +534,13 @@
 
 2005-04-15      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        PR 779/bsp
-        * irq/irq.c, irq/irq.h, irq/irq_init.c, network/GT64260eth.c: add
-        parameter to new exception interrupt handlers in powerpc bsps
+	PR 779/bsp
+	* irq/irq.c, irq/irq.h, irq/irq_init.c, network/GT64260eth.c: add
+	parameter to new exception interrupt handlers in powerpc bsps
 
 2005-04-15      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * startup/linkcmds: add missing section to link cmds
+	* startup/linkcmds: add missing section to link cmds
 
 2005-03-14	Joel Sherrill <joel at OARcorp.com>
 

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.2 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.3
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.2	Wed May 18 00:08:36 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog	Fri Jun 17 08:22:14 2011
@@ -86,6 +86,7 @@
 	* irq/irq.c, network/if_1GHz/POSSIBLEBUG: Removed.
 
 2009-05-08 	Kate Feng <feng1 at bnl.gov>
+
 	* include/bsp.h, start/start.S, startup/bspstart.c: 
 	added CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK in bsp.h.
 	removed BSP_INIT_STACK_SIZE in bsp.h -- it uses __stack defined
@@ -295,7 +296,8 @@
 
 2007-09-14	Joel Sherrill <joel.sherrill at OARcorp.com>
 
-	* network/GT64260eth.c, network/GT64260eth.h, network/GT64260ethreg.h: Removed.
+	* network/GT64260eth.c, network/GT64260eth.h,
+	network/GT64260ethreg.h: Removed.
 
 2007-09-14	Joel Sherrill <joel.sherrill at OARcorp.com>
 
@@ -482,25 +484,26 @@
 
 2005-05-17      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * irq/GT64260Int.c, irq/irq.c, irq/irq.h: Modified to use rtems/irq.h.
+	* irq/GT64260Int.c, irq/irq.c, irq/irq.h: Modified to use rtems/irq.h.
 
 2005-05-12      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * README.VME, include/bsp.h, irq/irq.h, network/GT64260eth.c,
-        pci/detect_host_bridge.c, pci/gtpcireg.h, pci/pci.c, pci/pci.h,
-        pci/pci_interface.c, pci/pcifinddevice.c: 
-        Submitted by Kate Feng <feng1 at bnl.gov> as RTEMS-MVME5500 BSP v1.1 release.
-        Modifications made to merge this release with the current tree.
+	* README.VME, include/bsp.h, irq/irq.h, network/GT64260eth.c,
+	pci/detect_host_bridge.c, pci/gtpcireg.h, pci/pci.c, pci/pci.h,
+	pci/pci_interface.c, pci/pcifinddevice.c: 
+	Submitted by Kate Feng <feng1 at bnl.gov> as RTEMS-MVME5500 BSP v1.1
+	release.  Modifications made to merge this release with the
+	current tree.
 
 2005-05-10      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * network/GT64260eth.c: Fixed warning. 
-        *  pci/pci.c, pci/pci.h: Modified to depend upon rtems/pci.h
+	* network/GT64260eth.c: Fixed warning. 
+	*  pci/pci.c, pci/pci.h: Modified to depend upon rtems/pci.h
 
 2005-05-04      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * pci/pci.c, pci/pci.h, startup/bspstart.c: Name change to support
-        common PCI interface
+	* pci/pci.c, pci/pci.h, startup/bspstart.c: Name change to support
+	common PCI interface
 
 2005-04-15	Joel Sherrill <joel at OARcorp.com>
 
@@ -510,13 +513,13 @@
 
 2005-04-15      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        PR 779/bsp
-        * irq/irq.c, irq/irq.h, irq/irq_init.c, network/GT64260eth.c: add
-        parameter to new exception interrupt handlers in powerpc bsps
+	PR 779/bsp
+	* irq/irq.c, irq/irq.h, irq/irq_init.c, network/GT64260eth.c: add
+	parameter to new exception interrupt handlers in powerpc bsps
 
 2005-04-15      Jennifer Averett <jennifer.averett at oarcorp.com>
 
-        * startup/linkcmds: add missing section to link cmds
+	* startup/linkcmds: add missing section to link cmds
 
 2005-03-14	Joel Sherrill <joel at OARcorp.com>
 


 *joel* (on branch rtems-4-10-branch):
2011-04-10      Kate Feng <feng at bnl.gov>

	PR 1786/bsps
	* Makefile.am: Add support for Altivec.
	* startup/bspstart.c, Makefile.am: Use shared/startup/zerobss.c instead.
	* make/custom/mvme5500.cfg: Change CPU_CFLAGS to
	"-mcpu=7450 -mtune=7450 -Dmpc7455"
	* irq/BSP_irq.c, pci/detect_host_bridge.c, pci.c, pcifinddevice.c:
	Remove warnings.
	* vme/VMEConfig.h, include/bsp.h: use VME shared IRQ handlers.
	* network/if_100MHz/GT64260eth.c: Recycle the Rx mbuf if there
	is any Rx error.

M  1.131  c/src/lib/libbsp/powerpc/mvme5500/ChangeLog
M 1.122.2.4  c/src/lib/libbsp/powerpc/mvme5500/ChangeLog
M   1.40  c/src/lib/libbsp/powerpc/mvme5500/Makefile.am
M 1.39.2.1  c/src/lib/libbsp/powerpc/mvme5500/Makefile.am
M    1.7  c/src/lib/libbsp/powerpc/mvme5500/bsp_specs
M 1.6.2.1  c/src/lib/libbsp/powerpc/mvme5500/bsp_specs
M   1.23  c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h
M 1.19.2.2  c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h
M    1.6  c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c
M 1.5.2.1  c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c
M    1.3  c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg
M 1.2.2.1  c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg
M    1.9  c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c
M 1.8.2.1  c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c
M    1.9  c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c
M 1.8.2.1  c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c
M    1.6  c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c
M 1.5.2.1  c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c
M   1.17  c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c
M 1.16.2.1  c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c
M    1.9  c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c
M 1.8.2.1  c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c
M   1.10  c/src/lib/libbsp/powerpc/mvme5500/start/start.S
M 1.9.2.1  c/src/lib/libbsp/powerpc/mvme5500/start/start.S
M   1.36  c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c
M 1.34.2.1  c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c
M    1.5  c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h
M 1.4.2.1  c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.130 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.131
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.130	Fri Jun 17 08:24:34 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog	Fri Jun 17 08:24:46 2011
@@ -1,3 +1,16 @@
+2011-04-10      Kate Feng <feng at bnl.gov>
+
+	PR 1786/bsps
+	* Makefile.am: Add support for Altivec.
+	* startup/bspstart.c, Makefile.am: Use shared/startup/zerobss.c instead.
+	* make/custom/mvme5500.cfg: Change CPU_CFLAGS to
+	"-mcpu=7450 -mtune=7450 -Dmpc7455"
+	* irq/BSP_irq.c, pci/detect_host_bridge.c, pci.c, pcifinddevice.c:
+	Remove warnings.
+	* vme/VMEConfig.h, include/bsp.h: use VME shared IRQ handlers.
+	* network/if_100MHz/GT64260eth.c: Recycle the Rx mbuf if there
+	is any Rx error.
+
 2011-06-07	Sebastian Huber <sebastian.huber at embedded-brains.de>
 
 	* configure.ac: Use standard cache BSP options.

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.3 rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.4
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog:1.122.2.3	Fri Jun 17 08:22:14 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/ChangeLog	Fri Jun 17 08:22:24 2011
@@ -1,3 +1,16 @@
+2011-04-10      Kate Feng <feng at bnl.gov>
+
+	PR 1786/bsps
+	* Makefile.am: Add support for Altivec.
+	* startup/bspstart.c, Makefile.am: Use shared/startup/zerobss.c instead.
+	* make/custom/mvme5500.cfg: Change CPU_CFLAGS to
+	"-mcpu=7450 -mtune=7450 -Dmpc7455"
+	* irq/BSP_irq.c, pci/detect_host_bridge.c, pci.c, pcifinddevice.c:
+	Remove warnings.
+	* vme/VMEConfig.h, include/bsp.h: use VME shared IRQ handlers.
+	* network/if_100MHz/GT64260eth.c: Recycle the Rx mbuf if there
+	is any Rx error.
+
 2011-05-17	Till Straumann <strauman at slac.stanford.edu>
 
 	PR1797/bsps

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.39 rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.40
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.39	Sat Nov 28 00:24:47 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am	Fri Jun 17 08:24:47 2011
@@ -34,6 +34,7 @@
 libbsp_a_SOURCES += startup/bspstart.c \
     ../../powerpc/shared/startup/pgtbl_setup.c startup/pgtbl_activate.c \
     ../../powerpc/shared/startup/pretaskinghook.c \
+    ../../powerpc/shared/startup/zerobss.c \
     ../../powerpc/shared/startup/bspgetworkarea.c \
     ../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
     ../../shared/bsppredriverhook.c startup/bspclean.c \
@@ -121,7 +122,9 @@
     ../../../libcpu/@RTEMS_CPU@/@exceptions@/exc_bspsupport.rel \
     ../../../libcpu/@RTEMS_CPU@/@exceptions@/irq_bspsupport.rel \
     ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \
-    ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel
+    ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel\
+    ../../../libcpu/@RTEMS_CPU@/mpc6xx/altivec.rel
+
 if HAS_NETWORKING
 libbsp_a_LIBADD += network.rel
 endif

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.39 rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.39.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am:1.39	Sat Nov 28 00:24:47 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/Makefile.am	Fri Jun 17 08:22:24 2011
@@ -34,6 +34,7 @@
 libbsp_a_SOURCES += startup/bspstart.c \
     ../../powerpc/shared/startup/pgtbl_setup.c startup/pgtbl_activate.c \
     ../../powerpc/shared/startup/pretaskinghook.c \
+    ../../powerpc/shared/startup/zerobss.c \
     ../../powerpc/shared/startup/bspgetworkarea.c \
     ../../powerpc/shared/startup/sbrk.c ../../shared/bootcard.c \
     ../../shared/bsppredriverhook.c startup/bspclean.c \
@@ -121,7 +122,9 @@
     ../../../libcpu/@RTEMS_CPU@/@exceptions@/exc_bspsupport.rel \
     ../../../libcpu/@RTEMS_CPU@/@exceptions@/irq_bspsupport.rel \
     ../../../libcpu/@RTEMS_CPU@/mpc6xx/mmu.rel \
-    ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel
+    ../../../libcpu/@RTEMS_CPU@/mpc6xx/timer.rel\
+    ../../../libcpu/@RTEMS_CPU@/mpc6xx/altivec.rel
+
 if HAS_NETWORKING
 libbsp_a_LIBADD += network.rel
 endif

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.6 rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.7
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.6	Sat Dec  6 22:31:01 2008
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs	Fri Jun 17 08:24:47 2011
@@ -4,8 +4,7 @@
 
 *startfile:
 %{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s \
-  mvme5500start.o%s -e __rtems_entry_point -u __vectors}}
+%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -e __rtems_entry_point -u __vectors mvme5500start.o%s}}
 
 *link:
 %{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic}

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.6 rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.6.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs:1.6	Sat Dec  6 22:31:01 2008
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/bsp_specs	Fri Jun 17 08:22:24 2011
@@ -4,8 +4,7 @@
 
 *startfile:
 %{!qrtems: %(old_startfile)} \
-%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s \
-  mvme5500start.o%s -e __rtems_entry_point -u __vectors}}
+%{!nostdlib: %{qrtems: ecrti%O%s rtems_crti%O%s crtbegin.o%s -e __rtems_entry_point -u __vectors mvme5500start.o%s}}
 
 *link:
 %{!qrtems: %(old_link)} %{qrtems: -dp -Bstatic}

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.22 rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.23
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.22	Wed May 18 00:26:52 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h	Fri Jun 17 08:24:47 2011
@@ -103,11 +103,7 @@
 
 /* The glues to Till's vmeUniverse, although the name does not
  * actually reflect the relevant architect of the MVME5500.
- * Till TODO ? :  BSP_PCI_DO_EOI instead ?
- * BSP_EXT_IRQ0 instead of BSP_PCI_IRQ0 ?
- *
  */
-#define BSP_PIC_DO_EOI  inl(0xc34)  /* PCI IACK */
 #define BSP_PCI_IRQ0 BSP_GPP_IRQ_LOWEST_OFFSET
 
 /*

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19.2.1 rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19.2.2
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h:1.19.2.1	Wed May 18 00:08:36 2011
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/include/bsp.h	Fri Jun 17 08:22:24 2011
@@ -103,11 +103,7 @@
 
 /* The glues to Till's vmeUniverse, although the name does not
  * actually reflect the relevant architect of the MVME5500.
- * Till TODO ? :  BSP_PCI_DO_EOI instead ?
- * BSP_EXT_IRQ0 instead of BSP_PCI_IRQ0 ?
- *
  */
-#define BSP_PIC_DO_EOI  inl(0xc34)  /* PCI IACK */
 #define BSP_PCI_IRQ0 BSP_GPP_IRQ_LOWEST_OFFSET
 
 /*

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.5 rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.6
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.5	Sun Nov 29 22:24:25 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c	Fri Jun 17 08:24:47 2011
@@ -381,7 +381,8 @@
      * bit 10:GPP interrupts as level sensitive(1) or edge sensitive(0).
      * MOTload default is set as level sensitive(1). Set it agin to make sure.
      */
-    out_le32(GT_CommUnitArb_Ctrl, (in_le32(GT_CommUnitArb_Ctrl)| (1<<10)));
+    out_le32((volatile unsigned int *)GT_CommUnitArb_Ctrl,
+	     (in_le32((volatile unsigned int *)GT_CommUnitArb_Ctrl)| (1<<10)));
 
 #if 0
     printk("BSP_irqMask_reg[0] = 0x%x, BSP_irqCause_reg[0] 0x%x\n",

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.5 rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.5.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c:1.5	Sun Nov 29 22:24:25 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/irq/BSP_irq.c	Fri Jun 17 08:22:24 2011
@@ -381,7 +381,8 @@
      * bit 10:GPP interrupts as level sensitive(1) or edge sensitive(0).
      * MOTload default is set as level sensitive(1). Set it agin to make sure.
      */
-    out_le32(GT_CommUnitArb_Ctrl, (in_le32(GT_CommUnitArb_Ctrl)| (1<<10)));
+    out_le32((volatile unsigned int *)GT_CommUnitArb_Ctrl,
+	     (in_le32((volatile unsigned int *)GT_CommUnitArb_Ctrl)| (1<<10)));
 
 #if 0
     printk("BSP_irqMask_reg[0] = 0x%x, BSP_irqCause_reg[0] 0x%x\n",

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.2 rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.3
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.2	Wed Oct 21 05:53:38 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg	Fri Jun 17 08:24:47 2011
@@ -9,12 +9,12 @@
 RTEMS_CPU=powerpc
 RTEMS_CPU_MODEL=mpc7455
 
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=mvme5500
+
 #  This contains the compiler options necessary to select the CPU model
 #  and (hopefully) optimize for it. 
-#  if gcc does not regonize 7450 then change -mcpu=750
-#
-CPU_CFLAGS = -fno-strict-aliasing -mcpu=7450 -Dmpc7455 -mno-altivec -mabi=altivec -mvrsave=no -mmultiple -mstring -mstrict-align
-#T. Straumann; disable sdata=eabi for now until CEXP supports it -meabi -msdata=eabi
+CPU_CFLAGS = -mcpu=7450 -mtune=7450 -Dmpc7455
 
 # optimize flag: typically -O2
 CFLAGS_OPTIMIZE_V = -O2 -g
@@ -23,3 +23,6 @@
 	$(default-bsp-post-link)
 	$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
 endef
+
+# 
+START_BASE=mvme5500start

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.2 rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.2.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg:1.2	Wed Oct 21 05:53:38 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/make/custom/mvme5500.cfg	Fri Jun 17 08:22:24 2011
@@ -9,12 +9,12 @@
 RTEMS_CPU=powerpc
 RTEMS_CPU_MODEL=mpc7455
 
+# This is the actual bsp directory used during the build process.
+RTEMS_BSP_FAMILY=mvme5500
+
 #  This contains the compiler options necessary to select the CPU model
 #  and (hopefully) optimize for it. 
-#  if gcc does not regonize 7450 then change -mcpu=750
-#
-CPU_CFLAGS = -fno-strict-aliasing -mcpu=7450 -Dmpc7455 -mno-altivec -mabi=altivec -mvrsave=no -mmultiple -mstring -mstrict-align
-#T. Straumann; disable sdata=eabi for now until CEXP supports it -meabi -msdata=eabi
+CPU_CFLAGS = -mcpu=7450 -mtune=7450 -Dmpc7455
 
 # optimize flag: typically -O2
 CFLAGS_OPTIMIZE_V = -O2 -g
@@ -23,3 +23,6 @@
 	$(default-bsp-post-link)
 	$(OBJCOPY) -O binary $(basename $@).exe $(basename $@)$(DOWNEXT)
 endef
+
+# 
+START_BASE=mvme5500start

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.9
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.8	Sun Nov 29 22:24:25 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c	Fri Jun 17 08:24:47 2011
@@ -745,21 +745,22 @@
         if (cmdsts & RX_STS_SF) sc->stats.frame_errors++;
         if ((cmdsts & RX_STS_LC) || (cmdsts & RX_STS_COL))
            ifp->if_collisions++;
-        goto give_it_back;
+        /* recycle the buffer */
+        m->m_len=sc->rx_buf_sz;        
+    }
+    else {
+        m = sc->rxq_mbuf[sc->rxq_fi];
+        m->m_len = m->m_pkthdr.len = byteCount - sizeof(struct ether_header);
+        eh = mtod (m, struct ether_header *);
+        m->m_data += sizeof(struct ether_header);
+        ether_input (ifp, eh, m);
+
+        ifp->if_ipackets++;
+        ifp->if_ibytes+=byteCount;
+        --sc->rxq_active;
+        MGETHDR (m, M_WAIT, MT_DATA);
+        MCLGET (m, M_WAIT);
      }
-     m = sc->rxq_mbuf[sc->rxq_fi];
-     m->m_len = m->m_pkthdr.len = byteCount - sizeof(struct ether_header);
-     eh = mtod (m, struct ether_header *);
-     m->m_data += sizeof(struct ether_header);
-     ether_input (ifp, eh, m);
-
-     ifp->if_ipackets++;
-     ifp->if_ibytes+=byteCount;
-     --sc->rxq_active;
-
-     give_it_back:
-     MGETHDR (m, M_WAIT, MT_DATA);
-     MCLGET (m, M_WAIT);
      m->m_pkthdr.rcvif = ifp;
      sc->rxq_mbuf[sc->rxq_fi]= m;
      /* convert mbuf pointer to data pointer of correct type */

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.8.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c:1.8	Sun Nov 29 22:24:25 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_100MHz/GT64260eth.c	Fri Jun 17 08:22:24 2011
@@ -745,21 +745,22 @@
         if (cmdsts & RX_STS_SF) sc->stats.frame_errors++;
         if ((cmdsts & RX_STS_LC) || (cmdsts & RX_STS_COL))
            ifp->if_collisions++;
-        goto give_it_back;
+        /* recycle the buffer */
+        m->m_len=sc->rx_buf_sz;        
+    }
+    else {
+        m = sc->rxq_mbuf[sc->rxq_fi];
+        m->m_len = m->m_pkthdr.len = byteCount - sizeof(struct ether_header);
+        eh = mtod (m, struct ether_header *);
+        m->m_data += sizeof(struct ether_header);
+        ether_input (ifp, eh, m);
+
+        ifp->if_ipackets++;
+        ifp->if_ibytes+=byteCount;
+        --sc->rxq_active;
+        MGETHDR (m, M_WAIT, MT_DATA);
+        MCLGET (m, M_WAIT);
      }
-     m = sc->rxq_mbuf[sc->rxq_fi];
-     m->m_len = m->m_pkthdr.len = byteCount - sizeof(struct ether_header);
-     eh = mtod (m, struct ether_header *);
-     m->m_data += sizeof(struct ether_header);
-     ether_input (ifp, eh, m);
-
-     ifp->if_ipackets++;
-     ifp->if_ibytes+=byteCount;
-     --sc->rxq_active;
-
-     give_it_back:
-     MGETHDR (m, M_WAIT, MT_DATA);
-     MCLGET (m, M_WAIT);
      m->m_pkthdr.rcvif = ifp;
      sc->rxq_mbuf[sc->rxq_fi]= m;
      /* convert mbuf pointer to data pointer of correct type */

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.9
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.8	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c	Fri Jun 17 08:24:47 2011
@@ -1730,7 +1730,7 @@
   /* We have MII. */
   sc->sc_flags |= WM_F_HAS_MII;
 
-#if 1
+#if 0
   /* <skf> May 2009 : The value that should be programmed into IPGT is 10 */
   sc->sc_tipg = TIPG_IPGT(10)+TIPG_IPGR1(8)+TIPG_IPGR2(6);
 #else

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.8.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c:1.8	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/network/if_1GHz/if_wm.c	Fri Jun 17 08:22:24 2011
@@ -1730,7 +1730,7 @@
   /* We have MII. */
   sc->sc_flags |= WM_F_HAS_MII;
 
-#if 1
+#if 0
   /* <skf> May 2009 : The value that should be programmed into IPGT is 10 */
   sc->sc_tipg = TIPG_IPGT(10)+TIPG_IPGR1(8)+TIPG_IPGR2(6);
 #else

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.5 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.6
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.5	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c	Fri Jun 17 08:24:47 2011
@@ -27,7 +27,7 @@
 
 unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet)
 {
-  unsigned int pcidata, pcidata1;
+  uint32_t pcidata, pcidata1;
   int PciLocal, busNumber=0;
 
   /* On the mvme5500 board, the GT64260B system controller had the MCP

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.5 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.5.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c:1.5	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/detect_host_bridge.c	Fri Jun 17 08:22:24 2011
@@ -27,7 +27,7 @@
 
 unsigned long _BSP_clear_hostbridge_errors(int enableMCP, int quiet)
 {
-  unsigned int pcidata, pcidata1;
+  uint32_t pcidata, pcidata1;
   int PciLocal, busNumber=0;
 
   /* On the mvme5500 board, the GT64260B system controller had the MCP

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.16 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.17
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.16	Fri Dec 11 06:57:06 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c	Fri Jun 17 08:24:47 2011
@@ -108,7 +108,7 @@
     BSP_pci[n].config_data,pciConfigPack(bus,dev,func,offset));
 #endif
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_be32((volatile unsigned int *) BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
   *val = in_8(BSP_pci[n].pci_config_data + (offset&3));
   return PCIBIOS_SUCCESSFUL;
 }
@@ -129,8 +129,8 @@
   printk("addr %x, data %x, pack %x \n", config_addr,
     config_data,pciConfigPack(bus,dev,func,offset));
 #endif
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  *val = in_le16(BSP_pci[n].pci_config_data + (offset&2));
+  out_be32((volatile unsigned int *) BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  *val = in_le16((volatile unsigned short *) (BSP_pci[n].pci_config_data + (offset&2)));
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -147,8 +147,8 @@
   *val = 0xffffffff;
   if ((offset&3)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  *val = in_le32(BSP_pci[n].pci_config_data);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  *val = in_le32((volatile unsigned int *)BSP_pci[n].pci_config_data);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -163,8 +163,8 @@
 
   if (offset & ~0xff) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_8(BSP_pci[n].pci_config_data + (offset&3), val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_8((volatile unsigned char *) (BSP_pci[n].pci_config_data + (offset&3)), val);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -179,8 +179,8 @@
 
   if ((offset&1)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_le16(BSP_pci[n].pci_config_data + (offset&3), val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_le16((volatile unsigned short *)(BSP_pci[n].pci_config_data + (offset&3)), val);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -195,8 +195,8 @@
 
   if ((offset&3)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_le32(BSP_pci[n].pci_config_data, val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_le32((volatile unsigned int *)BSP_pci[n].pci_config_data, val);
   return PCIBIOS_SUCCESSFUL;
 }
 

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.16 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.16.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c:1.16	Fri Dec 11 06:57:06 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pci.c	Fri Jun 17 08:22:24 2011
@@ -108,7 +108,7 @@
     BSP_pci[n].config_data,pciConfigPack(bus,dev,func,offset));
 #endif
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_be32((volatile unsigned int *) BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
   *val = in_8(BSP_pci[n].pci_config_data + (offset&3));
   return PCIBIOS_SUCCESSFUL;
 }
@@ -129,8 +129,8 @@
   printk("addr %x, data %x, pack %x \n", config_addr,
     config_data,pciConfigPack(bus,dev,func,offset));
 #endif
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  *val = in_le16(BSP_pci[n].pci_config_data + (offset&2));
+  out_be32((volatile unsigned int *) BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  *val = in_le16((volatile unsigned short *) (BSP_pci[n].pci_config_data + (offset&2)));
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -147,8 +147,8 @@
   *val = 0xffffffff;
   if ((offset&3)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  *val = in_le32(BSP_pci[n].pci_config_data);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  *val = in_le32((volatile unsigned int *)BSP_pci[n].pci_config_data);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -163,8 +163,8 @@
 
   if (offset & ~0xff) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_8(BSP_pci[n].pci_config_data + (offset&3), val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_8((volatile unsigned char *) (BSP_pci[n].pci_config_data + (offset&3)), val);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -179,8 +179,8 @@
 
   if ((offset&1)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_le16(BSP_pci[n].pci_config_data + (offset&3), val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_le16((volatile unsigned short *)(BSP_pci[n].pci_config_data + (offset&3)), val);
   return PCIBIOS_SUCCESSFUL;
 }
 
@@ -195,8 +195,8 @@
 
   if ((offset&3)|| (offset & ~0xff)) return PCIBIOS_BAD_REGISTER_NUMBER;
 
-  out_be32(BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
-  out_le32(BSP_pci[n].pci_config_data, val);
+  out_be32((volatile unsigned int *)BSP_pci[n].pci_config_addr, pciConfigPack(bus,dev,func,offset));
+  out_le32((volatile unsigned int *)BSP_pci[n].pci_config_data, val);
   return PCIBIOS_SUCCESSFUL;
 }
 

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.9
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.8	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c	Fri Jun 17 08:24:47 2011
@@ -35,7 +35,7 @@
 int pci_find_device( unsigned short vendorid, unsigned short deviceid,
                    int instance, int *pbus, int *pdev, int *pfun )
 {
-  unsigned int d;
+  uint32_t d;
   unsigned short s;
   unsigned char bus,dev,fun,hd;
 

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.8 rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.8.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c:1.8	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/pci/pcifinddevice.c	Fri Jun 17 08:22:25 2011
@@ -35,7 +35,7 @@
 int pci_find_device( unsigned short vendorid, unsigned short deviceid,
                    int instance, int *pbus, int *pdev, int *pfun )
 {
-  unsigned int d;
+  uint32_t d;
   unsigned short s;
   unsigned char bus,dev,fun,hd;
 

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.9 rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.10
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.9	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S	Fri Jun 17 08:24:47 2011
@@ -4,20 +4,27 @@
  *  Copyright (C) 1999 Eric Valette. valette at crf.canon.fr
  *
  *  S. Kate Feng <feng1 at bnl.gov>, April 2004
- *  Mapped the 2nd 256MB of RAM to support the MVME5500 boards.
- *
+ *  Mapped the 2nd 256MB of RAM to support the MVME5500/MVME6100 boards
+ *	
  *  The license and distribution terms for this file may be
  *  found in the file LICENSE in this distribution or at
  *  http://www.rtems.com/license/LICENSE.
  *
+<<<<<<< start.S
+ *  $Id$
+=======
+ *  $Id$
+>>>>>>> 1.25
  *
  */
 
 #include <rtems/asm.h>
 #include <rtems/score/cpu.h>
 #include <rtems/powerpc/powerpc.h>
+
 #include <libcpu/io.h>
 #include <libcpu/bat.h>
+#include <bspopts.h>
 
 #define SYNC \
 	sync; \
@@ -33,7 +40,6 @@
 	li	r10,0x63	;	\
 	sc
 
-
 	.text
 	.globl	__rtems_entry_point
 	.type	__rtems_entry_point, at function
@@ -62,6 +68,21 @@
 	mr	r29,r5
 	mr	r28,r6
 	mr	r27,r7
+
+#ifdef __ALTIVEC__
+	/* enable altivec; gcc may use it! */
+	mfmsr r0
+	oris  r0, r0, (1<<(31-16-6))
+	mtmsr r0
+	/*
+	 * set vscr and vrsave to known values
+	 */
+	li    r0, 0
+	mtvrsave r0
+	vxor   0,0,0
+	mtvscr 0
+#endif
+
 	/*
 	 * Make sure we have nothing in BATS and TLB
 	 */
@@ -72,7 +93,8 @@
  * of RAM to KERNELBASE.
  */
 	lis	r11,KERNELBASE at h
-	ori	r11,r11,0x1ffe		/* set up BAT0 registers for 604+ */
+/* set up BAT registers for 604 */
+	ori	r11,r11,0x1ffe
 	li	r8,2			/* R/W access */
 	isync
 	mtspr	DBAT0L,r8		/* N.B. 6xx (not 601) have valid */
@@ -81,8 +103,8 @@
 	mtspr	IBAT0U,r11
 	isync
 /*
- * Use the 2nd pair of BAT registers to map the 2nd 256MB
- * of RAM to 0x10000000. <SKF>
+ * <skf> Use the 2nd pair of BAT registers to map the 2nd 256MB
+ * of RAM to 0x10000000.
  */
 	lis	r11,MEM256MB at h
 	ori	r11,r11,0x1ffe		/* set up BAT1 registers for 604+ */
@@ -106,7 +128,7 @@
 
 enter_C_code:
 	bl	MMUon
-	bl  __eabi	/* setup EABI and SYSV environment */
+	bl      __eabi	/* setup EABI and SYSV environment */
 	bl	zero_bss
 	/*
 	 * restore prep boot params
@@ -121,10 +143,17 @@
 	 * stack = &__rtems_end + 4096
 	 */
 	addis	r9,r0, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at ha
-        addi	r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at l
-	mr	r1, r9
+	addi	r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at l
 	/*
-	 * We are know in a environment that is totally independent from bootloader setup.
+	 * align initial stack
+	 * (we hope that the bootloader stack was 16-byte aligned
+	 * or we haven't used altivec yet...)
+	 */
+	li   r0, (CPU_STACK_ALIGNMENT-1)
+	andc r1, r9, r0
+	/*
+	 * We are now in a environment that is totally independent from
+	 * bootloader setup.
 	 */
     /* pass result of 'save_boot_params' to 'boot_card' in R3 */
 	bl	boot_card
@@ -161,7 +190,6 @@
 	.globl	_return_to_ppcbug
 	.type	_return_to_ppcbug, at function
 
-
 _return_to_ppcbug:
 	mflr	r30
 	bl	MMUoff

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.9 rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.9.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S:1.9	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/start/start.S	Fri Jun 17 08:22:25 2011
@@ -4,20 +4,27 @@
  *  Copyright (C) 1999 Eric Valette. valette at crf.canon.fr
  *
  *  S. Kate Feng <feng1 at bnl.gov>, April 2004
- *  Mapped the 2nd 256MB of RAM to support the MVME5500 boards.
- *
+ *  Mapped the 2nd 256MB of RAM to support the MVME5500/MVME6100 boards
+ *	
  *  The license and distribution terms for this file may be
  *  found in the file LICENSE in this distribution or at
  *  http://www.rtems.com/license/LICENSE.
  *
+<<<<<<< start.S
+ *  $Id$
+=======
+ *  $Id$
+>>>>>>> 1.25
  *
  */
 
 #include <rtems/asm.h>
 #include <rtems/score/cpu.h>
 #include <rtems/powerpc/powerpc.h>
+
 #include <libcpu/io.h>
 #include <libcpu/bat.h>
+#include <bspopts.h>
 
 #define SYNC \
 	sync; \
@@ -33,7 +40,6 @@
 	li	r10,0x63	;	\
 	sc
 
-
 	.text
 	.globl	__rtems_entry_point
 	.type	__rtems_entry_point, at function
@@ -62,6 +68,21 @@
 	mr	r29,r5
 	mr	r28,r6
 	mr	r27,r7
+
+#ifdef __ALTIVEC__
+	/* enable altivec; gcc may use it! */
+	mfmsr r0
+	oris  r0, r0, (1<<(31-16-6))
+	mtmsr r0
+	/*
+	 * set vscr and vrsave to known values
+	 */
+	li    r0, 0
+	mtvrsave r0
+	vxor   0,0,0
+	mtvscr 0
+#endif
+
 	/*
 	 * Make sure we have nothing in BATS and TLB
 	 */
@@ -72,7 +93,8 @@
  * of RAM to KERNELBASE.
  */
 	lis	r11,KERNELBASE at h
-	ori	r11,r11,0x1ffe		/* set up BAT0 registers for 604+ */
+/* set up BAT registers for 604 */
+	ori	r11,r11,0x1ffe
 	li	r8,2			/* R/W access */
 	isync
 	mtspr	DBAT0L,r8		/* N.B. 6xx (not 601) have valid */
@@ -81,8 +103,8 @@
 	mtspr	IBAT0U,r11
 	isync
 /*
- * Use the 2nd pair of BAT registers to map the 2nd 256MB
- * of RAM to 0x10000000. <SKF>
+ * <skf> Use the 2nd pair of BAT registers to map the 2nd 256MB
+ * of RAM to 0x10000000.
  */
 	lis	r11,MEM256MB at h
 	ori	r11,r11,0x1ffe		/* set up BAT1 registers for 604+ */
@@ -106,7 +128,7 @@
 
 enter_C_code:
 	bl	MMUon
-	bl  __eabi	/* setup EABI and SYSV environment */
+	bl      __eabi	/* setup EABI and SYSV environment */
 	bl	zero_bss
 	/*
 	 * restore prep boot params
@@ -121,10 +143,17 @@
 	 * stack = &__rtems_end + 4096
 	 */
 	addis	r9,r0, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at ha
-        addi	r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at l
-	mr	r1, r9
+	addi	r9,r9, __stack-PPC_MINIMUM_STACK_FRAME_SIZE at l
 	/*
-	 * We are know in a environment that is totally independent from bootloader setup.
+	 * align initial stack
+	 * (we hope that the bootloader stack was 16-byte aligned
+	 * or we haven't used altivec yet...)
+	 */
+	li   r0, (CPU_STACK_ALIGNMENT-1)
+	andc r1, r9, r0
+	/*
+	 * We are now in a environment that is totally independent from
+	 * bootloader setup.
 	 */
     /* pass result of 'save_boot_params' to 'boot_card' in R3 */
 	bl	boot_card
@@ -161,7 +190,6 @@
 	.globl	_return_to_ppcbug
 	.type	_return_to_ppcbug, at function
 
-
 _return_to_ppcbug:
 	mflr	r30
 	bl	MMUoff

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.35 rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.36
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.35	Fri Aug 20 11:31:24 2010
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c	Fri Jun 17 08:24:47 2011
@@ -52,12 +52,8 @@
 #define CONF_VPD
 */
 
-/* there is no public Workspace_Free() variant :-( */
-#include <rtems/score/wkspace.h>
-
 extern uint32_t probeMemoryEnd(void); /* from shared/startup/probeMemoryEnd.c */
 
-
 BSP_output_char_function_type     BSP_output_char = BSP_output_char_via_serial;
 BSP_polling_getchar_function_type BSP_poll_char = NULL;
 
@@ -71,13 +67,8 @@
 
 extern unsigned char ReadConfVPD_buff(int offset);
 
-extern unsigned long __bss_start[], __SBSS_START__[], __SBSS_END__[];
-extern unsigned long __SBSS2_START__[], __SBSS2_END__[];
-
 uint32_t bsp_clicks_per_usec;
 
-SPR_RW(SPRG1)
-
 typedef struct CmdLineRec_ {
     unsigned long  size;
     char           buf[0];
@@ -134,25 +125,6 @@
   __asm__ __volatile ("sc");
 }
 
-void zero_bss(void)
-{
-  memset(
-    __SBSS_START__,
-    0,
-    ((unsigned) __SBSS_END__) - ((unsigned)__SBSS_START__)
-  );
-  memset(
-    __SBSS2_START__,
-    0,
-    ((unsigned) __SBSS2_END__) - ((unsigned)__SBSS2_START__)
-  );
-  memset(
-    __bss_start,
-    0,
-    ((unsigned) __rtems_end) - ((unsigned)__bss_start)
-  );
-}
-
 /* NOTE: we cannot simply malloc the commandline string;
  * save_boot_params() is called during a very early stage when
  * libc/malloc etc. are not yet initialized!
@@ -294,6 +266,7 @@
   printk("-----------------------------------------\n");
 
   BSP_mem_size         =  probeMemoryEnd();
+
   /* TODO: calculate the BSP_bus_frequency using the REF_CLK bit
    *       of System Status  register
    */
@@ -303,7 +276,6 @@
   /* P94 : 7455 clocks the TB/DECR at 1/4 of the system bus clock frequency */
   BSP_time_base_divisor      = 4000;
 
-
   /* Maybe not setup yet becuase of the warning message */
   /* Allocate and set up the page table mappings
    * This is only available on >604 CPUs.

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.34 rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.34.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c:1.34	Sat Mar 27 16:09:08 2010
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/startup/bspstart.c	Fri Jun 17 08:22:25 2011
@@ -56,8 +56,6 @@
 #include <rtems/score/wkspace.h>
 
 extern uint32_t probeMemoryEnd(void); /* from shared/startup/probeMemoryEnd.c */
-
-
 BSP_output_char_function_type BSP_output_char = BSP_output_char_via_serial;
 
 extern void _return_to_ppcbug(void);
@@ -70,13 +68,8 @@
 
 extern unsigned char ReadConfVPD_buff(int offset);
 
-extern unsigned long __bss_start[], __SBSS_START__[], __SBSS_END__[];
-extern unsigned long __SBSS2_START__[], __SBSS2_END__[];
-
 uint32_t bsp_clicks_per_usec;
 
-SPR_RW(SPRG1)
-
 typedef struct CmdLineRec_ {
     unsigned long  size;
     char           buf[0];
@@ -133,25 +126,6 @@
   __asm__ __volatile ("sc");
 }
 
-void zero_bss(void)
-{
-  memset(
-    __SBSS_START__,
-    0,
-    ((unsigned) __SBSS_END__) - ((unsigned)__SBSS_START__)
-  );
-  memset(
-    __SBSS2_START__,
-    0,
-    ((unsigned) __SBSS2_END__) - ((unsigned)__SBSS2_START__)
-  );
-  memset(
-    __bss_start,
-    0,
-    ((unsigned) __rtems_end) - ((unsigned)__bss_start)
-  );
-}
-
 /* NOTE: we cannot simply malloc the commandline string;
  * save_boot_params() is called during a very early stage when
  * libc/malloc etc. are not yet initialized!
@@ -293,6 +267,7 @@
   printk("-----------------------------------------\n");
 
   BSP_mem_size         =  probeMemoryEnd();
+
   /* TODO: calculate the BSP_bus_frequency using the REF_CLK bit
    *       of System Status  register
    */
@@ -302,7 +277,6 @@
   /* P94 : 7455 clocks the TB/DECR at 1/4 of the system bus clock frequency */
   BSP_time_base_divisor      = 4000;
 
-
   /* Maybe not setup yet becuase of the warning message */
   /* Allocate and set up the page table mappings
    * This is only available on >604 CPUs.

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.4 rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.5
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.4	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h	Fri Jun 17 08:24:47 2011
@@ -1,9 +1,24 @@
 #ifndef RTEMS_BSP_VME_CONFIG_H
 #define RTEMS_BSP_VME_CONFIG_H
-/* VMEConfig.h, S. Kate Feng modified it for MVME5500 3/04  */
+/* VMEConfig.h, S. Kate Feng modified it for MVME5500 3/04 
+ * 
+ * May 2011 : Use the VME shared IRQ handlers.
+ *
+ * It seems that the implementation of VMEUNIVERSE_IRQ_MGR_FLAG_PW_WORKAROUND
+ * is not fully developed. The UNIV_REGOFF_VCSR_BS is defined for VME64
+ * specification, which does not apply to a VME32 crate. In order to avoid
+ * spurious VME interrupts, a better and more universal solution is
+ * to flush the vmeUniverse FIFO by reading a register back within the
+ * users' Interrupt Service Routine (ISR)  before returning.
+ *
+ * Some devices might require the ISR to issue an interrupt status READ
+ * after its IRQ is cleared, but before its corresponding interrupt
+ * is enabled again. 
+ * 
+ */
 /* BSP specific address space configuration parameters */
 
-/*
+/* 
  * The BSP maps VME address ranges into
  * one BAT.
  * NOTE: the BSP (startup/bspstart.c) uses
@@ -11,6 +26,10 @@
  * layout:
  */
 #define _VME_A32_WIN0_ON_PCI	        0x90000000
+/* If _VME_CSR_ON_PCI is defined then the A32 window is reduced to accommodate
+ * CSR for space.
+ */
+#define _VME_CSR_ON_PCI			0x9e000000
 #define _VME_A24_ON_PCI			0x9f000000
 #define _VME_A16_ON_PCI			0x9fff0000
 
@@ -30,7 +49,12 @@
 
 #define BSP_VME_UNIVERSE_INSTALL_IRQ_MGR(err)			\
 	do {											\
-		err = vmeUniverseInstallIrqMgr(0,64+12,1,64+13);	\
+	  err = vmeUniverseInstallIrqMgrAlt(VMEUNIVERSE_IRQ_MGR_FLAG_SHARED,\
+             0, BSP_GPP_VME_VLINT0, \         
+             1, BSP_GPP_VME_VLINT1, \          
+             2, BSP_GPP_VME_VLINT2, \        
+             3, BSP_GPP_VME_VLINT3, \
+             -1 /* terminate list  */);  \             
 	} while (0)
 
 #endif

diff -u rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.4 rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.4.2.1
--- rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h:1.4	Sun Nov 29 22:24:26 2009
+++ rtems/c/src/lib/libbsp/powerpc/mvme5500/vme/VMEConfig.h	Fri Jun 17 08:22:25 2011
@@ -1,9 +1,24 @@
 #ifndef RTEMS_BSP_VME_CONFIG_H
 #define RTEMS_BSP_VME_CONFIG_H
-/* VMEConfig.h, S. Kate Feng modified it for MVME5500 3/04  */
+/* VMEConfig.h, S. Kate Feng modified it for MVME5500 3/04 
+ * 
+ * May 2011 : Use the VME shared IRQ handlers.
+ *
+ * It seems that the implementation of VMEUNIVERSE_IRQ_MGR_FLAG_PW_WORKAROUND
+ * is not fully developed. The UNIV_REGOFF_VCSR_BS is defined for VME64
+ * specification, which does not apply to a VME32 crate. In order to avoid
+ * spurious VME interrupts, a better and more universal solution is
+ * to flush the vmeUniverse FIFO by reading a register back within the
+ * users' Interrupt Service Routine (ISR)  before returning.
+ *
+ * Some devices might require the ISR to issue an interrupt status READ
+ * after its IRQ is cleared, but before its corresponding interrupt
+ * is enabled again. 
+ * 
+ */
 /* BSP specific address space configuration parameters */
 
-/*
+/* 
  * The BSP maps VME address ranges into
  * one BAT.
  * NOTE: the BSP (startup/bspstart.c) uses
@@ -11,6 +26,10 @@
  * layout:
  */
 #define _VME_A32_WIN0_ON_PCI	        0x90000000
+/* If _VME_CSR_ON_PCI is defined then the A32 window is reduced to accommodate
+ * CSR for space.
+ */
+#define _VME_CSR_ON_PCI			0x9e000000
 #define _VME_A24_ON_PCI			0x9f000000
 #define _VME_A16_ON_PCI			0x9fff0000
 
@@ -30,7 +49,12 @@
 
 #define BSP_VME_UNIVERSE_INSTALL_IRQ_MGR(err)			\
 	do {											\
-		err = vmeUniverseInstallIrqMgr(0,64+12,1,64+13);	\
+	  err = vmeUniverseInstallIrqMgrAlt(VMEUNIVERSE_IRQ_MGR_FLAG_SHARED,\
+             0, BSP_GPP_VME_VLINT0, \         
+             1, BSP_GPP_VME_VLINT1, \          
+             2, BSP_GPP_VME_VLINT2, \        
+             3, BSP_GPP_VME_VLINT3, \
+             -1 /* terminate list  */);  \             
 	} while (0)
 
 #endif



--

Generated by Deluxe Loginfo [http://www.codewiz.org/projects/index.html#loginfo] 2.122 by Bernardo Innocenti <bernie at develer.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/vc/attachments/20110617/5ad1fa0f/attachment-0001.html>


More information about the vc mailing list