change log for rtems (2010-04-27)
rtems-vc at rtems.org
rtems-vc at rtems.org
Tue Apr 27 18:11:40 UTC 2010
*joel*:
2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
* start/start.S, startup/linkcmds: Revert previous change. Remove
.reginfo from .bss section where it was present.
M 1.125 c/src/lib/libbsp/mips/jmr3904/ChangeLog
M 1.10 c/src/lib/libbsp/mips/jmr3904/start/start.S
M 1.17 c/src/lib/libbsp/mips/jmr3904/startup/linkcmds
diff -u rtems/c/src/lib/libbsp/mips/jmr3904/ChangeLog:1.124 rtems/c/src/lib/libbsp/mips/jmr3904/ChangeLog:1.125
--- rtems/c/src/lib/libbsp/mips/jmr3904/ChangeLog:1.124 Sun Apr 25 11:11:03 2010
+++ rtems/c/src/lib/libbsp/mips/jmr3904/ChangeLog Tue Apr 27 12:11:03 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * start/start.S, startup/linkcmds: Revert previous change. Remove
+ .reginfo from .bss section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/jmr3904/start/start.S:1.9 rtems/c/src/lib/libbsp/mips/jmr3904/start/start.S:1.10
--- rtems/c/src/lib/libbsp/mips/jmr3904/start/start.S:1.9 Tue Apr 28 01:29:39 2009
+++ rtems/c/src/lib/libbsp/mips/jmr3904/start/start.S Tue Apr 27 12:11:03 2010
@@ -124,7 +124,7 @@
nop
3:
LA (gp, _gp) # set the global data pointer
- .end _start
+ .end _start_in_ram
/*
* zero out the bss section.
diff -u rtems/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds:1.16 rtems/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds:1.17
--- rtems/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds:1.16 Sun Apr 25 11:11:03 2010
+++ rtems/c/src/lib/libbsp/mips/jmr3904/startup/linkcmds Tue Apr 27 12:11:03 2010
@@ -130,8 +130,7 @@
*(.sbss*)
*(.scommon)
}
-
- .bss (NOLOAD): {
+ .bss : {
_bss_start = . ;
*(.bss*)
*(COMMON)
*joel*:
2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
* startup/linkcmds: Revert previous change. Remove .reginfo from .bss
section where it was present.
M 1.61 c/src/lib/libbsp/mips/csb350/ChangeLog
M 1.8 c/src/lib/libbsp/mips/csb350/startup/linkcmds
M 1.129 c/src/lib/libbsp/mips/genmongoosev/ChangeLog
M 1.16 c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds
M 1.49 c/src/lib/libbsp/mips/hurricane/ChangeLog
M 1.5 c/src/lib/libbsp/mips/hurricane/startup/linkcmds
M 1.45 c/src/lib/libbsp/mips/rbtx4925/ChangeLog
M 1.5 c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds
M 1.46 c/src/lib/libbsp/mips/rbtx4938/ChangeLog
M 1.5 c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds
diff -u rtems/c/src/lib/libbsp/mips/csb350/ChangeLog:1.60 rtems/c/src/lib/libbsp/mips/csb350/ChangeLog:1.61
--- rtems/c/src/lib/libbsp/mips/csb350/ChangeLog:1.60 Sun Apr 25 11:11:00 2010
+++ rtems/c/src/lib/libbsp/mips/csb350/ChangeLog Tue Apr 27 12:10:55 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * startup/linkcmds: Revert previous change. Remove .reginfo from .bss
+ section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds:1.7 rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds:1.8
--- rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds:1.7 Sun Apr 25 11:11:00 2010
+++ rtems/c/src/lib/libbsp/mips/csb350/startup/linkcmds Tue Apr 27 12:10:55 2010
@@ -19,6 +19,7 @@
HeapSize = DEFINED(HeapSize) ? HeapSize : 0x0;
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x4000;
+
MEMORY
{
ram : ORIGIN = 0x80400000, LENGTH = 12M
@@ -157,11 +158,11 @@
*(.scommon)
} >ram
- .bss (NOLOAD):
+
+ .bss :
{
_bss_start = . ;
*(.bss .bss.* .gnu.linkonce.b.*)
- *(.reginfo)
*(COMMON)
. = ALIGN (64);
_stack_limit = .;
diff -u rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.128 rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.129
--- rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog:1.128 Sun Apr 25 11:11:01 2010
+++ rtems/c/src/lib/libbsp/mips/genmongoosev/ChangeLog Tue Apr 27 12:10:58 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * startup/linkcmds: Revert previous change. Remove .reginfo from .bss
+ section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds:1.15 rtems/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds:1.16
--- rtems/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds:1.15 Sun Apr 25 11:11:01 2010
+++ rtems/c/src/lib/libbsp/mips/genmongoosev/startup/linkcmds Tue Apr 27 12:10:58 2010
@@ -156,11 +156,10 @@
} >ram
- .bss (NOLOAD):
+ .bss :
{
_bss_start = . ;
*(.bss .bss.* .gnu.linkonce.b.*)
- *(.reginfo)
*(COMMON)
. = ALIGN (64);
_stack_limit = .;
diff -u rtems/c/src/lib/libbsp/mips/hurricane/ChangeLog:1.48 rtems/c/src/lib/libbsp/mips/hurricane/ChangeLog:1.49
--- rtems/c/src/lib/libbsp/mips/hurricane/ChangeLog:1.48 Sun Apr 25 11:11:02 2010
+++ rtems/c/src/lib/libbsp/mips/hurricane/ChangeLog Tue Apr 27 12:11:00 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * startup/linkcmds: Revert previous change. Remove .reginfo from .bss
+ section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/hurricane/startup/linkcmds:1.4 rtems/c/src/lib/libbsp/mips/hurricane/startup/linkcmds:1.5
--- rtems/c/src/lib/libbsp/mips/hurricane/startup/linkcmds:1.4 Sun Apr 25 11:11:02 2010
+++ rtems/c/src/lib/libbsp/mips/hurricane/startup/linkcmds Tue Apr 27 12:11:00 2010
@@ -136,11 +136,9 @@
*(.sbss)
*(.scommon)
}
-
- .bss (NOLOAD): {
+ .bss : {
_bss_start = . ;
*(.bss)
- *(.reginfo)
*(COMMON)
. = ALIGN (64);
_stack_limit = .;
diff -u rtems/c/src/lib/libbsp/mips/rbtx4925/ChangeLog:1.44 rtems/c/src/lib/libbsp/mips/rbtx4925/ChangeLog:1.45
--- rtems/c/src/lib/libbsp/mips/rbtx4925/ChangeLog:1.44 Sun Apr 25 11:11:04 2010
+++ rtems/c/src/lib/libbsp/mips/rbtx4925/ChangeLog Tue Apr 27 12:11:06 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * startup/linkcmds: Revert previous change. Remove .reginfo from .bss
+ section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds:1.4 rtems/c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds:1.5
--- rtems/c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds:1.4 Sun Apr 25 11:11:04 2010
+++ rtems/c/src/lib/libbsp/mips/rbtx4925/startup/linkcmds Tue Apr 27 12:11:07 2010
@@ -137,11 +137,9 @@
*(.sbss)
*(.scommon)
}
-
- .bss (NOLOAD): {
+ .bss : {
_bss_start = . ;
*(.bss)
- *(.reginfo)
*(COMMON)
. = ALIGN (64);
_stack_limit = .;
diff -u rtems/c/src/lib/libbsp/mips/rbtx4938/ChangeLog:1.45 rtems/c/src/lib/libbsp/mips/rbtx4938/ChangeLog:1.46
--- rtems/c/src/lib/libbsp/mips/rbtx4938/ChangeLog:1.45 Sun Apr 25 11:11:05 2010
+++ rtems/c/src/lib/libbsp/mips/rbtx4938/ChangeLog Tue Apr 27 12:11:10 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrill at oarcorp.com>
+
+ * startup/linkcmds: Revert previous change. Remove .reginfo from .bss
+ section where it was present.
+
2010-04-25 Joel Sherrill <joel.sherrilL at OARcorp.com>
* startup/linkcmds: Add NOLOAD to .bss to eliminate warnings.
diff -u rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds:1.4 rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds:1.5
--- rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds:1.4 Sun Apr 25 11:11:05 2010
+++ rtems/c/src/lib/libbsp/mips/rbtx4938/startup/linkcmds Tue Apr 27 12:11:10 2010
@@ -137,11 +137,9 @@
*(.sbss)
*(.scommon)
}
-
- .bss (NOLOAD): {
+ .bss : {
_bss_start = . ;
*(.bss)
- *(.reginfo)
*(COMMON)
. = ALIGN (64);
_stack_limit = .;
*joel*:
2010-04-27 Joel Sherrill <joel.sherrilL at OARcorp.com>
* network/network.c, startup/bspclean.c, startup/init5282.c: Remove
warnings.
M 1.114 c/src/lib/libbsp/m68k/uC5282/ChangeLog
M 1.29 c/src/lib/libbsp/m68k/uC5282/network/network.c
M 1.6 c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c
M 1.7 c/src/lib/libbsp/m68k/uC5282/startup/init5282.c
diff -u rtems/c/src/lib/libbsp/m68k/uC5282/ChangeLog:1.113 rtems/c/src/lib/libbsp/m68k/uC5282/ChangeLog:1.114
--- rtems/c/src/lib/libbsp/m68k/uC5282/ChangeLog:1.113 Mon Apr 26 12:44:57 2010
+++ rtems/c/src/lib/libbsp/m68k/uC5282/ChangeLog Tue Apr 27 12:23:22 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrilL at OARcorp.com>
+
+ * network/network.c, startup/bspclean.c, startup/init5282.c: Remove
+ warnings.
+
2010-04-26 Eric Norum <norume at aps.anl.gov>
* startup/bspstart.c: Clean up some warnings.
diff -u rtems/c/src/lib/libbsp/m68k/uC5282/network/network.c:1.28 rtems/c/src/lib/libbsp/m68k/uC5282/network/network.c:1.29
--- rtems/c/src/lib/libbsp/m68k/uC5282/network/network.c:1.28 Mon Apr 26 12:44:57 2010
+++ rtems/c/src/lib/libbsp/m68k/uC5282/network/network.c Tue Apr 27 12:23:22 2010
@@ -197,10 +197,10 @@
* Ensure 128-bit (16-byte) alignment
* Allow some space at the beginning for other diagnostic counters
*/
+extern char __SRAMBASE[];
static mcf5282BufferDescriptor_t *
mcf5282_bd_allocate(unsigned int count)
{
- extern char __SRAMBASE[];
static mcf5282BufferDescriptor_t *bdp = (mcf5282BufferDescriptor_t *)(__SRAMBASE+16);
mcf5282BufferDescriptor_t *p = bdp;
@@ -758,63 +758,63 @@
enet_stats(struct mcf5282_enet_struct *sc)
{
printf(" Rx Interrupts:%-10lu", sc->rxInterrupts);
- printf("Rx Packet Count:%-10lu", MCF5282_FEC_RMON_R_PACKETS);
- printf(" Rx Broadcast:%-10lu\n", MCF5282_FEC_RMON_R_BC_PKT);
- printf(" Rx Multicast:%-10lu", MCF5282_FEC_RMON_R_MC_PKT);
- printf("CRC/Align error:%-10lu", MCF5282_FEC_RMON_R_CRC_ALIGN);
- printf(" Rx Undersize:%-10lu\n", MCF5282_FEC_RMON_R_UNDERSIZE);
- printf(" Rx Oversize:%-10lu", MCF5282_FEC_RMON_R_OVERSIZE);
- printf(" Rx Fragment:%-10lu", MCF5282_FEC_RMON_R_FRAG);
- printf(" Rx Jabber:%-10lu\n", MCF5282_FEC_RMON_R_JAB);
- printf(" Rx 64:%-10lu", MCF5282_FEC_RMON_R_P64);
- printf(" Rx 65-127:%-10lu", MCF5282_FEC_RMON_R_P65T0127);
- printf(" Rx 128-255:%-10lu\n", MCF5282_FEC_RMON_R_P128TO255);
- printf(" Rx 256-511:%-10lu", MCF5282_FEC_RMON_R_P256TO511);
- printf(" Rx 511-1023:%-10lu", MCF5282_FEC_RMON_R_P512TO1023);
- printf(" Rx 1024-2047:%-10lu\n", MCF5282_FEC_RMON_R_P1024TO2047);
- printf(" Rx >=2048:%-10lu", MCF5282_FEC_RMON_R_GTE2048);
- printf(" Rx Octets:%-10lu", MCF5282_FEC_RMON_R_OCTETS);
- printf(" Rx Dropped:%-10lu\n", MCF5282_FEC_IEEE_R_DROP);
- printf(" Rx frame OK:%-10lu", MCF5282_FEC_IEEE_R_FRAME_OK);
- printf(" Rx CRC error:%-10lu", MCF5282_FEC_IEEE_R_CRC);
- printf(" Rx Align error:%-10lu\n", MCF5282_FEC_IEEE_R_ALIGN);
- printf(" FIFO Overflow:%-10lu", MCF5282_FEC_IEEE_R_MACERR);
- printf("Rx Pause Frames:%-10lu", MCF5282_FEC_IEEE_R_FDXFC);
- printf(" Rx Octets OK:%-10lu\n", MCF5282_FEC_IEEE_R_OCTETS_OK);
+ printf("Rx Packet Count:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_PACKETS);
+ printf(" Rx Broadcast:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_BC_PKT);
+ printf(" Rx Multicast:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_MC_PKT);
+ printf("CRC/Align error:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_CRC_ALIGN);
+ printf(" Rx Undersize:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_UNDERSIZE);
+ printf(" Rx Oversize:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_OVERSIZE);
+ printf(" Rx Fragment:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_FRAG);
+ printf(" Rx Jabber:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_JAB);
+ printf(" Rx 64:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P64);
+ printf(" Rx 65-127:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P65T0127);
+ printf(" Rx 128-255:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_P128TO255);
+ printf(" Rx 256-511:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P256TO511);
+ printf(" Rx 511-1023:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P512TO1023);
+ printf(" Rx 1024-2047:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_P1024TO2047);
+ printf(" Rx >=2048:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_GTE2048);
+ printf(" Rx Octets:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_OCTETS);
+ printf(" Rx Dropped:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_DROP);
+ printf(" Rx frame OK:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_FRAME_OK);
+ printf(" Rx CRC error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_CRC);
+ printf(" Rx Align error:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_ALIGN);
+ printf(" FIFO Overflow:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_MACERR);
+ printf("Rx Pause Frames:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_FDXFC);
+ printf(" Rx Octets OK:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_OCTETS_OK);
printf(" Tx Interrupts:%-10lu", sc->txInterrupts);
printf("Tx Output Waits:%-10lu", sc->txRawWait);
printf("Tx mbuf realign:%-10lu\n", sc->txRealign);
printf("Tx realign drop:%-10lu", sc->txRealignDrop);
- printf(" Tx Unaccounted:%-10lu", MCF5282_FEC_RMON_T_DROP);
- printf("Tx Packet Count:%-10lu\n", MCF5282_FEC_RMON_T_PACKETS);
- printf(" Tx Broadcast:%-10lu", MCF5282_FEC_RMON_T_BC_PKT);
- printf(" Tx Multicast:%-10lu", MCF5282_FEC_RMON_T_MC_PKT);
- printf("CRC/Align error:%-10lu\n", MCF5282_FEC_RMON_T_CRC_ALIGN);
- printf(" Tx Undersize:%-10lu", MCF5282_FEC_RMON_T_UNDERSIZE);
- printf(" Tx Oversize:%-10lu", MCF5282_FEC_RMON_T_OVERSIZE);
- printf(" Tx Fragment:%-10lu\n", MCF5282_FEC_RMON_T_FRAG);
- printf(" Tx Jabber:%-10lu", MCF5282_FEC_RMON_T_JAB);
- printf(" Tx Collisions:%-10lu", MCF5282_FEC_RMON_T_COL);
- printf(" Tx 64:%-10lu\n", MCF5282_FEC_RMON_T_P64);
- printf(" Tx 65-127:%-10lu", MCF5282_FEC_RMON_T_P65TO127);
- printf(" Tx 128-255:%-10lu", MCF5282_FEC_RMON_T_P128TO255);
- printf(" Tx 256-511:%-10lu\n", MCF5282_FEC_RMON_T_P256TO511);
- printf(" Tx 511-1023:%-10lu", MCF5282_FEC_RMON_T_P512TO1023);
- printf(" Tx 1024-2047:%-10lu", MCF5282_FEC_RMON_T_P1024TO2047);
- printf(" Tx >=2048:%-10lu\n", MCF5282_FEC_RMON_T_P_GTE2048);
- printf(" Tx Octets:%-10lu", MCF5282_FEC_RMON_T_OCTETS);
- printf(" Tx Dropped:%-10lu", MCF5282_FEC_IEEE_T_DROP);
- printf(" Tx Frame OK:%-10lu\n", MCF5282_FEC_IEEE_T_FRAME_OK);
- printf(" Tx 1 Collision:%-10lu", MCF5282_FEC_IEEE_T_1COL);
- printf("Tx >1 Collision:%-10lu", MCF5282_FEC_IEEE_T_MCOL);
- printf(" Tx Deferred:%-10lu\n", MCF5282_FEC_IEEE_T_DEF);
- printf(" Late Collision:%-10lu", MCF5282_FEC_IEEE_T_LCOL);
- printf(" Excessive Coll:%-10lu", MCF5282_FEC_IEEE_T_EXCOL);
- printf(" FIFO Underrun:%-10lu\n", MCF5282_FEC_IEEE_T_MACERR);
- printf(" Carrier Error:%-10lu", MCF5282_FEC_IEEE_T_CSERR);
- printf(" Tx SQE Error:%-10lu", MCF5282_FEC_IEEE_T_SQE);
- printf("Tx Pause Frames:%-10lu\n", MCF5282_FEC_IEEE_T_FDXFC);
- printf(" Tx Octets OK:%-10lu", MCF5282_FEC_IEEE_T_OCTETS_OK);
+ printf(" Tx Unaccounted:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_DROP);
+ printf("Tx Packet Count:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_PACKETS);
+ printf(" Tx Broadcast:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_BC_PKT);
+ printf(" Tx Multicast:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_MC_PKT);
+ printf("CRC/Align error:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_CRC_ALIGN);
+ printf(" Tx Undersize:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_UNDERSIZE);
+ printf(" Tx Oversize:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_OVERSIZE);
+ printf(" Tx Fragment:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_FRAG);
+ printf(" Tx Jabber:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_JAB);
+ printf(" Tx Collisions:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_COL);
+ printf(" Tx 64:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P64);
+ printf(" Tx 65-127:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P65TO127);
+ printf(" Tx 128-255:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P128TO255);
+ printf(" Tx 256-511:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P256TO511);
+ printf(" Tx 511-1023:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P512TO1023);
+ printf(" Tx 1024-2047:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P1024TO2047);
+ printf(" Tx >=2048:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P_GTE2048);
+ printf(" Tx Octets:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_OCTETS);
+ printf(" Tx Dropped:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_DROP);
+ printf(" Tx Frame OK:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_FRAME_OK);
+ printf(" Tx 1 Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_1COL);
+ printf("Tx >1 Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_MCOL);
+ printf(" Tx Deferred:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_DEF);
+ printf(" Late Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_LCOL);
+ printf(" Excessive Coll:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_EXCOL);
+ printf(" FIFO Underrun:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_MACERR);
+ printf(" Carrier Error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_CSERR);
+ printf(" Tx SQE Error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_SQE);
+ printf("Tx Pause Frames:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_FDXFC);
+ printf(" Tx Octets OK:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_OCTETS_OK);
printf(" MII interrupts:%-10lu\n", sc->miiInterrupts);
if ((sc->mii_sr2 & 0x400) == 0) {
printf("LINK DOWN!\n");
@@ -838,15 +838,15 @@
speed,
full ? "full" : "half");
}
- printf(" EIR:%8.8lx ", MCF5282_FEC_EIR);
- printf("EIMR:%8.8lx ", MCF5282_FEC_EIMR);
- printf("RDAR:%8.8lx ", MCF5282_FEC_RDAR);
- printf("TDAR:%8.8lx\n", MCF5282_FEC_TDAR);
- printf(" ECR:%8.8lx ", MCF5282_FEC_ECR);
- printf(" RCR:%8.8lx ", MCF5282_FEC_RCR);
- printf(" TCR:%8.8lx\n", MCF5282_FEC_TCR);
- printf("FRBR:%8.8lx ", MCF5282_FEC_FRBR);
- printf("FRSR:%8.8lx\n", MCF5282_FEC_FRSR);
+ printf(" EIR:%8.8lx ", (uint32_t) MCF5282_FEC_EIR);
+ printf("EIMR:%8.8lx ", (uint32_t) MCF5282_FEC_EIMR);
+ printf("RDAR:%8.8lx ", (uint32_t) MCF5282_FEC_RDAR);
+ printf("TDAR:%8.8lx\n", (uint32_t) MCF5282_FEC_TDAR);
+ printf(" ECR:%8.8lx ", (uint32_t) MCF5282_FEC_ECR);
+ printf(" RCR:%8.8lx ", (uint32_t) MCF5282_FEC_RCR);
+ printf(" TCR:%8.8lx\n", (uint32_t) MCF5282_FEC_TCR);
+ printf("FRBR:%8.8lx ", (uint32_t) MCF5282_FEC_FRBR);
+ printf("FRSR:%8.8lx\n", (uint32_t) MCF5282_FEC_FRSR);
if (sc->txBdActiveCount != 0) {
int i, n;
/*
diff -u rtems/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c:1.5 rtems/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c:1.6
--- rtems/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c:1.5 Mon Mar 12 06:18:23 2007
+++ rtems/c/src/lib/libbsp/m68k/uC5282/startup/bspclean.c Tue Apr 27 12:23:22 2010
@@ -19,6 +19,8 @@
#include <bsp.h>
#include <rtems/bspIo.h>
+extern void bsp_reset(int);
+
void bsp_cleanup( void )
{
bsp_reset(0);
diff -u rtems/c/src/lib/libbsp/m68k/uC5282/startup/init5282.c:1.6 rtems/c/src/lib/libbsp/m68k/uC5282/startup/init5282.c:1.7
--- rtems/c/src/lib/libbsp/m68k/uC5282/startup/init5282.c:1.6 Sun Nov 29 08:59:41 2009
+++ rtems/c/src/lib/libbsp/m68k/uC5282/startup/init5282.c Tue Apr 27 12:23:22 2010
@@ -23,10 +23,10 @@
#define m68k_set_acr0(_acr0) asm volatile ("movec %0,%%acr0" : : "d" (_acr0))
#define m68k_set_acr1(_acr1) asm volatile ("movec %0,%%acr1" : : "d" (_acr1))
+ extern void CopyDataClearBSSAndStart (void);
+
void Init5282 (void)
{
- extern void CopyDataClearBSSAndStart (void);
-
/*
* Copy data, clear BSS and call boot_card()
*/
*joel*:
2010-04-27 Joel Sherrill <joel.sherrilL at OARcorp.com>
* network/network.c, startup/bspstart.c: Remove warnings. hwaddr
handling changed to avoid use of unitialized variable.
M 1.54 c/src/lib/libbsp/m68k/av5282/ChangeLog
M 1.6 c/src/lib/libbsp/m68k/av5282/network/network.c
M 1.14 c/src/lib/libbsp/m68k/av5282/startup/bspstart.c
diff -u rtems/c/src/lib/libbsp/m68k/av5282/ChangeLog:1.53 rtems/c/src/lib/libbsp/m68k/av5282/ChangeLog:1.54
--- rtems/c/src/lib/libbsp/m68k/av5282/ChangeLog:1.53 Thu Dec 17 02:42:15 2009
+++ rtems/c/src/lib/libbsp/m68k/av5282/ChangeLog Tue Apr 27 12:33:53 2010
@@ -1,3 +1,8 @@
+2010-04-27 Joel Sherrill <joel.sherrilL at OARcorp.com>
+
+ * network/network.c, startup/bspstart.c: Remove warnings. hwaddr
+ handling changed to avoid use of unitialized variable.
+
2009-12-16 Thomas Doerfler <Thomas.Doerfler at embedded-brains.de>
* console/console.c: adapted to new prototype for *_write
diff -u rtems/c/src/lib/libbsp/m68k/av5282/network/network.c:1.5 rtems/c/src/lib/libbsp/m68k/av5282/network/network.c:1.6
--- rtems/c/src/lib/libbsp/m68k/av5282/network/network.c:1.5 Sun Nov 29 08:59:40 2009
+++ rtems/c/src/lib/libbsp/m68k/av5282/network/network.c Tue Apr 27 12:33:53 2010
@@ -149,10 +149,11 @@
* Allocate buffer descriptors from (non-cached) on-chip static RAM
* Ensure 128-bit (16-byte) alignment
*/
+extern char __SRAMBASE[];
+
static mcf5282BufferDescriptor_t *
mcf5282_bd_allocate(unsigned int count)
{
- extern char __SRAMBASE[];
static mcf5282BufferDescriptor_t *bdp = (mcf5282BufferDescriptor_t *)__SRAMBASE;
mcf5282BufferDescriptor_t *p = bdp;
@@ -714,63 +715,97 @@
static void
enet_stats(struct mcf5282_enet_struct *sc)
{
- printf(" Rx Interrupts:%-10lu", sc->rxInterrupts);
- printf("Rx Packet Count:%-10lu", MCF5282_FEC_RMON_R_PACKETS);
- printf(" Rx Broadcast:%-10lu\n", MCF5282_FEC_RMON_R_BC_PKT);
- printf(" Rx Multicast:%-10lu", MCF5282_FEC_RMON_R_MC_PKT);
- printf("CRC/Align error:%-10lu", MCF5282_FEC_RMON_R_CRC_ALIGN);
- printf(" Rx Undersize:%-10lu\n", MCF5282_FEC_RMON_R_UNDERSIZE);
- printf(" Rx Oversize:%-10lu", MCF5282_FEC_RMON_R_OVERSIZE);
- printf(" Rx Fragment:%-10lu", MCF5282_FEC_RMON_R_FRAG);
- printf(" Rx Jabber:%-10lu\n", MCF5282_FEC_RMON_R_JAB);
- printf(" Rx 64:%-10lu", MCF5282_FEC_RMON_R_P64);
- printf(" Rx 65-127:%-10lu", MCF5282_FEC_RMON_R_P65T0127);
- printf(" Rx 128-255:%-10lu\n", MCF5282_FEC_RMON_R_P128TO255);
- printf(" Rx 256-511:%-10lu", MCF5282_FEC_RMON_R_P256TO511);
- printf(" Rx 511-1023:%-10lu", MCF5282_FEC_RMON_R_P512TO1023);
- printf(" Rx 1024-2047:%-10lu\n", MCF5282_FEC_RMON_R_P1024TO2047);
- printf(" Rx >=2048:%-10lu", MCF5282_FEC_RMON_R_GTE2048);
- printf(" Rx Octets:%-10lu", MCF5282_FEC_RMON_R_OCTETS);
- printf(" Rx Dropped:%-10lu\n", MCF5282_FEC_IEEE_R_DROP);
- printf(" Rx frame OK:%-10lu", MCF5282_FEC_IEEE_R_FRAME_OK);
- printf(" Rx CRC error:%-10lu", MCF5282_FEC_IEEE_R_CRC);
- printf(" Rx Align error:%-10lu\n", MCF5282_FEC_IEEE_R_ALIGN);
- printf(" FIFO Overflow:%-10lu", MCF5282_FEC_IEEE_R_MACERR);
- printf("Rx Pause Frames:%-10lu", MCF5282_FEC_IEEE_R_FDXFC);
- printf(" Rx Octets OK:%-10lu\n", MCF5282_FEC_IEEE_R_OCTETS_OK);
- printf(" Tx Interrupts:%-10lu", sc->txInterrupts);
- printf("Tx Output Waits:%-10lu", sc->txRawWait);
- printf("Tx Realignments:%-10lu\n", sc->txRealign);
- printf(" Tx Unaccounted:%-10lu", MCF5282_FEC_RMON_T_DROP);
- printf("Tx Packet Count:%-10lu", MCF5282_FEC_RMON_T_PACKETS);
- printf(" Tx Broadcast:%-10lu\n", MCF5282_FEC_RMON_T_BC_PKT);
- printf(" Tx Multicast:%-10lu", MCF5282_FEC_RMON_T_MC_PKT);
- printf("CRC/Align error:%-10lu", MCF5282_FEC_RMON_T_CRC_ALIGN);
- printf(" Tx Undersize:%-10lu\n", MCF5282_FEC_RMON_T_UNDERSIZE);
- printf(" Tx Oversize:%-10lu", MCF5282_FEC_RMON_T_OVERSIZE);
- printf(" Tx Fragment:%-10lu", MCF5282_FEC_RMON_T_FRAG);
- printf(" Tx Jabber:%-10lu\n", MCF5282_FEC_RMON_T_JAB);
- printf(" Tx Collisions:%-10lu", MCF5282_FEC_RMON_T_COL);
- printf(" Tx 64:%-10lu", MCF5282_FEC_RMON_T_P64);
- printf(" Tx 65-127:%-10lu\n", MCF5282_FEC_RMON_T_P65TO127);
- printf(" Tx 128-255:%-10lu", MCF5282_FEC_RMON_T_P128TO255);
- printf(" Tx 256-511:%-10lu", MCF5282_FEC_RMON_T_P256TO511);
- printf(" Tx 511-1023:%-10lu\n", MCF5282_FEC_RMON_T_P512TO1023);
- printf(" Tx 1024-2047:%-10lu", MCF5282_FEC_RMON_T_P1024TO2047);
- printf(" Tx >=2048:%-10lu", MCF5282_FEC_RMON_T_P_GTE2048);
- printf(" Tx Octets:%-10lu\n", MCF5282_FEC_RMON_T_OCTETS);
- printf(" Tx Dropped:%-10lu", MCF5282_FEC_IEEE_T_DROP);
- printf(" Tx Frame OK:%-10lu", MCF5282_FEC_IEEE_T_FRAME_OK);
- printf(" Tx 1 Collision:%-10lu\n", MCF5282_FEC_IEEE_T_1COL);
- printf("Tx >1 Collision:%-10lu", MCF5282_FEC_IEEE_T_MCOL);
- printf(" Tx Deferred:%-10lu", MCF5282_FEC_IEEE_T_DEF);
- printf(" Late Collision:%-10lu\n", MCF5282_FEC_IEEE_T_LCOL);
- printf(" Excessive Coll:%-10lu", MCF5282_FEC_IEEE_T_EXCOL);
- printf(" FIFO Underrun:%-10lu", MCF5282_FEC_IEEE_T_MACERR);
- printf(" Carrier Error:%-10lu\n", MCF5282_FEC_IEEE_T_CSERR);
- printf(" Tx SQE Error:%-10lu", MCF5282_FEC_IEEE_T_SQE);
- printf("Tx Pause Frames:%-10lu", MCF5282_FEC_IEEE_T_FDXFC);
- printf(" Tx Octets OK:%-10lu\n", MCF5282_FEC_IEEE_T_OCTETS_OK);
+ printf(" Rx Interrupts:%-10lu", sc->rxInterrupts);
+ printf("Rx Packet Count:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_PACKETS);
+ printf(" Rx Broadcast:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_BC_PKT);
+ printf(" Rx Multicast:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_MC_PKT);
+ printf("CRC/Align error:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_CRC_ALIGN);
+ printf(" Rx Undersize:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_UNDERSIZE);
+ printf(" Rx Oversize:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_OVERSIZE);
+ printf(" Rx Fragment:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_FRAG);
+ printf(" Rx Jabber:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_JAB);
+ printf(" Rx 64:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P64);
+ printf(" Rx 65-127:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P65T0127);
+ printf(" Rx 128-255:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_P128TO255);
+ printf(" Rx 256-511:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P256TO511);
+ printf(" Rx 511-1023:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_P512TO1023);
+ printf(" Rx 1024-2047:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_R_P1024TO2047);
+ printf(" Rx >=2048:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_GTE2048);
+ printf(" Rx Octets:%-10lu", (uint32_t) MCF5282_FEC_RMON_R_OCTETS);
+ printf(" Rx Dropped:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_DROP);
+ printf(" Rx frame OK:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_FRAME_OK);
+ printf(" Rx CRC error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_CRC);
+ printf(" Rx Align error:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_ALIGN);
+ printf(" FIFO Overflow:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_MACERR);
+ printf("Rx Pause Frames:%-10lu", (uint32_t) MCF5282_FEC_IEEE_R_FDXFC);
+ printf(" Rx Octets OK:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_R_OCTETS_OK);
+ printf(" Tx Interrupts:%-10lu", sc->txInterrupts);
+ printf("Tx Output Waits:%-10lu", sc->txRawWait);
+ printf("Tx mbuf realign:%-10lu\n", sc->txRealign);
+ printf("Tx realign drop:%-10lu", sc->txRealignDrop);
+ printf(" Tx Unaccounted:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_DROP);
+ printf("Tx Packet Count:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_PACKETS);
+ printf(" Tx Broadcast:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_BC_PKT);
+ printf(" Tx Multicast:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_MC_PKT);
+ printf("CRC/Align error:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_CRC_ALIGN);
+ printf(" Tx Undersize:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_UNDERSIZE);
+ printf(" Tx Oversize:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_OVERSIZE);
+ printf(" Tx Fragment:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_FRAG);
+ printf(" Tx Jabber:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_JAB);
+ printf(" Tx Collisions:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_COL);
+ printf(" Tx 64:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P64);
+ printf(" Tx 65-127:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P65TO127);
+ printf(" Tx 128-255:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P128TO255);
+ printf(" Tx 256-511:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P256TO511);
+ printf(" Tx 511-1023:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P512TO1023);
+ printf(" Tx 1024-2047:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_P1024TO2047);
+ printf(" Tx >=2048:%-10lu\n", (uint32_t) MCF5282_FEC_RMON_T_P_GTE2048);
+ printf(" Tx Octets:%-10lu", (uint32_t) MCF5282_FEC_RMON_T_OCTETS);
+ printf(" Tx Dropped:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_DROP);
+ printf(" Tx Frame OK:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_FRAME_OK);
+ printf(" Tx 1 Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_1COL);
+ printf("Tx >1 Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_MCOL);
+ printf(" Tx Deferred:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_DEF);
+ printf(" Late Collision:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_LCOL);
+ printf(" Excessive Coll:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_EXCOL);
+ printf(" FIFO Underrun:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_MACERR);
+ printf(" Carrier Error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_CSERR);
+ printf(" Tx SQE Error:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_SQE);
+ printf("Tx Pause Frames:%-10lu\n", (uint32_t) MCF5282_FEC_IEEE_T_FDXFC);
+ printf(" Tx Octets OK:%-10lu", (uint32_t) MCF5282_FEC_IEEE_T_OCTETS_OK);
+ printf(" MII interrupts:%-10lu\n", sc->miiInterrupts);
+
+ printf(" EIR:%8.8lx ", (uint32_t) MCF5282_FEC_EIR);
+ printf("EIMR:%8.8lx ", (uint32_t) MCF5282_FEC_EIMR);
+ printf("RDAR:%8.8lx ", (uint32_t) MCF5282_FEC_RDAR);
+ printf("TDAR:%8.8lx\n", (uint32_t) MCF5282_FEC_TDAR);
+ printf(" ECR:%8.8lx ", (uint32_t) MCF5282_FEC_ECR);
+ printf(" RCR:%8.8lx ", (uint32_t) MCF5282_FEC_RCR);
+ printf(" TCR:%8.8lx\n", (uint32_t) MCF5282_FEC_TCR);
+ printf("FRBR:%8.8lx ", (uint32_t) MCF5282_FEC_FRBR);
+ printf("FRSR:%8.8lx\n", (uint32_t) MCF5282_FEC_FRSR);
+ if (sc->txBdActiveCount != 0) {
+ int i, n;
+ /*
+ * Yes, there are races here with adding and retiring descriptors,
+ * but this diagnostic is more for when things have backed up.
+ */
+ printf("Transmit Buffer Descriptors (Tail %d, Head %d, Unretired %d):\n",
+ sc->txBdTail,
+ sc->txBdHead,
+ sc->txBdActiveCount);
+ i = sc->txBdTail;
+ for (n = 0 ; n < sc->txBdCount ; n++) {
+ if ((sc->txBdBase[i].status & MCF5282_FEC_TxBD_R) != 0)
+ printf(" %3d: status:%4.4x length:%-4d buffer:%p\n",
+ i,
+ sc->txBdBase[i].status,
+ sc->txBdBase[i].length,
+ sc->txBdBase[i].buffer);
+ if (++i == sc->txBdCount)
+ i = 0;
+ }
+ }
}
static int
@@ -852,14 +887,16 @@
/*
* Process options
*/
+ printf("%s%d: Ethernet address: ", unitName, unitNumber );
if (config->hardware_address) {
hwaddr = config->hardware_address;
+ printf("%02x:%02x:%02x:%02x:%02x:%02x\n",
+ hwaddr[0], hwaddr[1], hwaddr[2],
+ hwaddr[3], hwaddr[4], hwaddr[5]);
+ memcpy(sc->arpcom.ac_enaddr, hwaddr, ETHER_ADDR_LEN);
+ } else {
+ printf("UNKNOWN\n");
}
- printf("%s%d: Ethernet address: %02x:%02x:%02x:%02x:%02x:%02x\n",
- unitName, unitNumber,
- hwaddr[0], hwaddr[1], hwaddr[2],
- hwaddr[3], hwaddr[4], hwaddr[5]);
- memcpy(sc->arpcom.ac_enaddr, hwaddr, ETHER_ADDR_LEN);
if (config->mtu)
mtu = config->mtu;
diff -u rtems/c/src/lib/libbsp/m68k/av5282/startup/bspstart.c:1.13 rtems/c/src/lib/libbsp/m68k/av5282/startup/bspstart.c:1.14
--- rtems/c/src/lib/libbsp/m68k/av5282/startup/bspstart.c:1.13 Sun Nov 29 08:59:40 2009
+++ rtems/c/src/lib/libbsp/m68k/av5282/startup/bspstart.c Tue Apr 27 12:33:53 2010
@@ -35,7 +35,6 @@
/*
* CPU-space access
*/
-#define m68k_set_cacr(_cacr) asm volatile ("movec %0,%%cacr\n\tnop" : : "d" (_cacr))
#define m68k_set_acr0(_acr0) asm volatile ("movec %0,%%acr0" : : "d" (_acr0))
#define m68k_set_acr1(_acr1) asm volatile ("movec %0,%%acr1" : : "d" (_acr1))
--
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/20100427/1437c391/attachment.html>
More information about the vc
mailing list