change log for rtems (2011-07-14)

rtems-vc at rtems.org rtems-vc at rtems.org
Thu Jul 14 15:10:20 UTC 2011


 *jennifer*:
2011-07-14	Jennifer Averett

	* make/custom/pcp4.cfg: New file.

M  1.274  c/src/lib/libbsp/i386/pc386/ChangeLog
A    1.1  c/src/lib/libbsp/i386/pc386/make/custom/pcp4.cfg

diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.273 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.274
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.273	Sun Jun 19 16:16:36 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog	Thu Jul 14 09:44:47 2011
@@ -1,3 +1,7 @@
+2011-07-14	Jennifer Averett
+
+	* make/custom/pcp4.cfg: New file.
+
 2011-06-19	Ralf Corsépius <ralf.corsepius at rtems.org>
 
 	* Makefile.am: Fix broken path to clockdrv_shell.h.

diff -u /dev/null rtems/c/src/lib/libbsp/i386/pc386/make/custom/pcp4.cfg:1.1
--- /dev/null	Thu Jul 14 10:10:19 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/make/custom/pcp4.cfg	Thu Jul 14 09:44:47 2011
@@ -0,0 +1,37 @@
+#
+#  Configuration file for a PC using a Pentium Class CPU
+#
+#  $Id$
+#
+
+RTEMS_CPU_MODEL=pentium
+
+#  This contains the compiler options necessary to select the CPU model
+#  and enable architecture-specific features and extensions.
+
+#  Note that the vanilla gcc multilibs for RTEMS are a joke. The
+#  variants only differ by a -mtune=xxx option which merely 'optimizes'
+#  for 'xxx' but does not use the full instruction set 'xxx' may implement.
+#  (fully bwd compatible with i386).
+#
+#  I'd recommend to roll your own set of (useful) multilibs instead...
+#
+#  Useful variants would be
+#    <default> (i386) (generic 386 with hard-float)
+#    -msoft-float     (generic 386 with soft-float)
+#    -march=pentium4  (P4 with sse2)
+#
+#  Note also: we give the -mtune=pentium option here only so that at least the
+#             variant optimized for pentium (w/o using any pentium-specific
+#             features) is used (assuming you use the vanilla RTEMS multilibs).
+#  
+#  And: The only sse-related feature the RTEMS support really needs is
+#             fxsave/fxrstor. You can build with -msse, -msse2 or -msse3,
+#             depending on your CPU.
+#             There are run-time checks resulting in a 'panic' if code
+#             compiled for e.g. -msse3 is executed on a CPU that only
+#             supports sse2, though.
+CPU_CFLAGS = -mtune=pentium4 -march=pentium4 -msse3
+
+include $(RTEMS_ROOT)/make/custom/pc386.cfg
+


 *jennifer*:
2011-07-14	Jennifer Averett <Jennifer.Averett at OARcorp.com>

	* start/start.S: Moved enable_sse into a subroutine that may be called
	from other cores on an SMP system.

M  1.276  c/src/lib/libbsp/i386/pc386/ChangeLog
M   1.18  c/src/lib/libbsp/i386/pc386/start/start.S

diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.275 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.276
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.275	Thu Jul 14 09:44:59 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog	Thu Jul 14 10:07:21 2011
@@ -1,3 +1,8 @@
+2011-07-14	Jennifer Averett <Jennifer.Averett at OARcorp.com>
+
+	* start/start.S: Moved enable_sse into a subroutine that may be called
+	from other cores on an SMP system.
+
 2011-07-14	Till Straumann <strauman at slac.stanford.edu>
 
 	PR 1833/bsps

diff -u rtems/c/src/lib/libbsp/i386/pc386/start/start.S:1.17 rtems/c/src/lib/libbsp/i386/pc386/start/start.S:1.18
--- rtems/c/src/lib/libbsp/i386/pc386/start/start.S:1.17	Fri Jul 23 07:24:05 2010
+++ rtems/c/src/lib/libbsp/i386/pc386/start/start.S	Thu Jul 14 10:07:21 2011
@@ -215,12 +215,35 @@
 	call SYM(BSP_console_select)
 
 #ifdef __SSE__
+	call SYM(enable_sse)
+#endif
+
+/*---------------------------------------------------------------------+
+| Transfer control to User's Board Support Package
+| Note: at the top we reserved space for the argument
+|       so that
+|          initial_esp = ( TOS - 4 ) & ~(CPU_STACK_ALIGNMENT-1)
+|       this ensures that
+|       1) esp is now aligned
+|       2) there is space for the cmdline pointer which we just
+|          may store at *(esp)
++---------------------------------------------------------------------*/
+
+	movl	$SYM(_boot_multiboot_cmdline), (esp)
+	call	SYM (boot_card)
+
+	cli	# stops interrupts from being processed after hlt!
+	hlt	# shutdown
+
+#ifdef __SSE__
 /*--------------------------------------------------------------------+
  | Enable SSE; we really only care about fxsave/fxrstor and leave
  | The only feature *we* (as an OS) use is fxsave/fxrstor.
  | But as a courtesy we make sure we don't execute on hardware
  | that doesn't support features possibly used by the compiler.
 +---------------------------------------------------------------------*/
+	PUBLIC (enable_sse)
+SYM(enable_sse):
 	movl	SYM (x86_capability), eax
 	testl   $0x01000000, eax
 	jne     1f
@@ -250,26 +273,8 @@
 	mov     cr4, eax		# OK to enable now
 	or      $0x600, eax
 	mov     eax, cr4
-#endif
+	ret
 
-/*---------------------------------------------------------------------+
-| Transfer control to User's Board Support Package
-| Note: at the top we reserved space for the argument
-|       so that
-|          initial_esp = ( TOS - 4 ) & ~(CPU_STACK_ALIGNMENT-1)
-|       this ensures that
-|       1) esp is now aligned
-|       2) there is space for the cmdline pointer which we just
-|          may store at *(esp)
-+---------------------------------------------------------------------*/
-
-	movl	$SYM(_boot_multiboot_cmdline), (esp)
-	call	SYM (boot_card)
-
-	cli	# stops interrupts from being processed after hlt!
-	hlt	# shutdown
-
-#ifdef __SSE__
 SYM(_sse_panic):
 	call SYM(printk)
 1:	hlt


 *joel* (on branch rtems-4-10-branch):
2011-07-14	Till Straumann <strauman at slac.stanford.edu>

	PR 1833/bsps
	* ne2000/ne2000.c: Addition of multicast support disabled broadcast
	reception. Patch also includes support to work on big endian CPUs.

M  1.275  c/src/lib/libbsp/i386/pc386/ChangeLog
M 1.192.2.9  c/src/lib/libbsp/i386/pc386/ChangeLog
M 1.257.2.4  c/src/lib/libbsp/i386/pc386/ChangeLog
M   1.26  c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c
M 1.21.2.2  c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c
M 1.23.2.2  c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c

diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.274 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.275
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.274	Thu Jul 14 09:44:47 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog	Thu Jul 14 09:44:59 2011
@@ -1,3 +1,9 @@
+2011-07-14	Till Straumann <strauman at slac.stanford.edu>
+
+	PR 1833/bsps
+	* ne2000/ne2000.c: Addition of multicast support disabled broadcast
+	reception. Patch also includes support to work on big endian CPUs.
+
 2011-07-14	Jennifer Averett
 
 	* make/custom/pcp4.cfg: New file.

diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.192.2.8 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.192.2.9
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.192.2.8	Mon Apr 11 12:28:04 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog	Thu Jul 14 09:45:13 2011
@@ -1,3 +1,9 @@
+2011-07-14	Till Straumann <strauman at slac.stanford.edu>
+
+	PR 1833/bsps
+	* ne2000/ne2000.c: Addition of multicast support disabled broadcast
+	reception. Patch also includes support to work on big endian CPUs.
+
 2011-04-11	Keith Robertson <kjrobert at alumni dot uwaterloo dot ca>
 
 	* ne2000/ne2000.c: Add multicast support. Patch submitted to mailing

diff -u rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.257.2.3 rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.257.2.4
--- rtems/c/src/lib/libbsp/i386/pc386/ChangeLog:1.257.2.3	Mon Apr 11 12:27:57 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ChangeLog	Thu Jul 14 09:45:05 2011
@@ -1,3 +1,9 @@
+2011-07-14	Till Straumann <strauman at slac.stanford.edu>
+
+	PR 1833/bsps
+	* ne2000/ne2000.c: Addition of multicast support disabled broadcast
+	reception. Patch also includes support to work on big endian CPUs.
+
 2011-04-11	Keith Robertson <kjrobert at alumni dot uwaterloo dot ca>
 
 	* ne2000/ne2000.c: Add multicast support. Patch submitted to mailing

diff -u rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.25 rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.26
--- rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.25	Mon Apr 11 06:55:42 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c	Thu Jul 14 09:44:59 2011
@@ -205,7 +205,8 @@
 {
 	unsigned char rsr;    /* receiver status */
 	unsigned char next;   /* pointer to next packet	*/
-	unsigned short count; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_lo; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_hi; /* 16-bit, little-endian value    */
 };
 
 /* Forward declarations to avoid warnings */
@@ -502,11 +503,8 @@
   /* Set page 0 registers */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
 
-  /* accept broadcast */
-  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0));
-
-  /* accept multicast */
-  outport_byte (port + RCR, MSK_AM);
+  /* accept broadcast + multicast */
+  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0) | MSK_AM);
 
   /* Start interface */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STA);
@@ -605,7 +603,7 @@
         next = NE_FIRST_RX_PAGE;
 
       /* check packet length */
-      len = hdr.count;
+      len = ( hdr.cnt_hi << 8 ) | hdr.cnt_lo;
       if (currpage < startpage)
         cnt1 = currpage + (NE_STOP_PAGE - NE_FIRST_RX_PAGE) - startpage;
       else
@@ -684,7 +682,7 @@
       m->m_data += sizeof (struct ether_header);
 
 #ifdef DEBUG_NE
-  /* printk("[r%d]", hdr.count - sizeof(hdr)); */
+  /* printk("[r%d]", ((hdr.cnt_hi<<8) + hdr.cnt_lo - sizeof(hdr))); */
   printk("<");
 #endif
       ether_input (ifp, eh, m);

diff -u rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.21.2.1 rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.21.2.2
--- rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.21.2.1	Mon Apr 11 12:28:04 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c	Thu Jul 14 09:45:13 2011
@@ -204,7 +204,8 @@
 {
 	unsigned char rsr;    /* receiver status */
 	unsigned char next;   /* pointer to next packet	*/
-	unsigned short count; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_lo; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_hi; /* 16-bit, little-endian value    */
 };
 
 /* Forward declarations to avoid warnings */
@@ -501,11 +502,8 @@
   /* Set page 0 registers */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
 
-  /* accept broadcast */
-  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0));
-
-  /* accept multicast */
-  outport_byte (port + RCR, MSK_AM);
+  /* accept broadcast + multicast */
+  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0) | MSK_AM);
 
   /* Start interface */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STA);
@@ -604,7 +602,7 @@
         next = NE_FIRST_RX_PAGE;
 
       /* check packet length */
-      len = hdr.count;
+      len = ( hdr.cnt_hi << 8 ) | hdr.cnt_lo;
       if (currpage < startpage)
         cnt1 = currpage + (NE_STOP_PAGE - NE_FIRST_RX_PAGE) - startpage;
       else
@@ -683,7 +681,7 @@
       m->m_data += sizeof (struct ether_header);
 
 #ifdef DEBUG_NE
-  /* printk("[r%d]", hdr.count - sizeof(hdr)); */
+  /* printk("[r%d]", ((hdr.cnt_hi<<8) + hdr.cnt_lo - sizeof(hdr))); */
   printk("<");
 #endif
       ether_input (ifp, eh, m);

diff -u rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.23.2.1 rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.23.2.2
--- rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c:1.23.2.1	Mon Apr 11 12:27:57 2011
+++ rtems/c/src/lib/libbsp/i386/pc386/ne2000/ne2000.c	Thu Jul 14 09:45:05 2011
@@ -205,7 +205,8 @@
 {
 	unsigned char rsr;    /* receiver status */
 	unsigned char next;   /* pointer to next packet	*/
-	unsigned short count; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_lo; /* bytes in packet (length + 4)	*/
+	unsigned char cnt_hi; /* 16-bit, little-endian value    */
 };
 
 /* Forward declarations to avoid warnings */
@@ -502,11 +503,8 @@
   /* Set page 0 registers */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STP);
 
-  /* accept broadcast */
-  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0));
-
-  /* accept multicast */
-  outport_byte (port + RCR, MSK_AM);
+  /* accept broadcast + multicast */
+  outport_byte (port + RCR, (sc->accept_broadcasts ? MSK_AB : 0) | MSK_AM);
 
   /* Start interface */
   outport_byte (port + CMDR, MSK_PG0 | MSK_RD2 | MSK_STA);
@@ -605,7 +603,7 @@
         next = NE_FIRST_RX_PAGE;
 
       /* check packet length */
-      len = hdr.count;
+      len = ( hdr.cnt_hi << 8 ) | hdr.cnt_lo;
       if (currpage < startpage)
         cnt1 = currpage + (NE_STOP_PAGE - NE_FIRST_RX_PAGE) - startpage;
       else
@@ -684,7 +682,7 @@
       m->m_data += sizeof (struct ether_header);
 
 #ifdef DEBUG_NE
-  /* printk("[r%d]", hdr.count - sizeof(hdr)); */
+  /* printk("[r%d]", ((hdr.cnt_hi<<8) + hdr.cnt_lo - sizeof(hdr))); */
   printk("<");
 #endif
       ether_input (ifp, eh, m);



--

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/20110714/9a3fd9cb/attachment.html>


More information about the vc mailing list