<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2010-05-24)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
<font color='#bb2222'><strong>joel</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2010-05-24 Joel Sherrill <joel.sherrill@oarcorp.com>
* Makefile.am, amba/amba.c, console/console.c, console/debugputs.c,
startup/bspstart.c: Rework initialization order so AMBA bus is
scanned earlier. This lets us look for UARTs earlier and support
printk as early as bsp_start() returning.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog.diff?r1=text&tr1=1.94&r2=text&tr2=1.95&diff_format=h">M</a></td><td width='1%'>1.95</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am.diff?r1=text&tr1=1.27&r2=text&tr2=1.28&diff_format=h">M</a></td><td width='1%'>1.28</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/amba/amba.c.diff?r1=text&tr1=1.11&r2=text&tr2=1.12&diff_format=h">M</a></td><td width='1%'>1.12</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/amba/amba.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/console/console.c.diff?r1=text&tr1=1.13&r2=text&tr2=1.14&diff_format=h">M</a></td><td width='1%'>1.14</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/console/console.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/console/debugputs.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/console/debugputs.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>c/src/lib/libbsp/sparc/leon3/startup/bspstart.c</td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.94 rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.95
--- rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog:1.94 Tue May 11 02:41:21 2010
+++ rtems/c/src/lib/libbsp/sparc/leon3/ChangeLog Mon May 24 10:05:18 2010
</font><font color='#997700'>@@ -1,3 +1,10 @@
</font><font color='#000088'>+2010-05-24 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * Makefile.am, amba/amba.c, console/console.c, console/debugputs.c,
+ startup/bspstart.c: Rework initialization order so AMBA bus is
+ scanned earlier. This lets us look for UARTs earlier and support
+ printk as early as bsp_start() returning.
+
</font> 2010-05-11 Sebastian Huber <sebastian.huber@embedded-brains.de>
* startup/linkcmds: Include basic linker command file and define only
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.27 rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.28
--- rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am:1.27 Tue May 11 02:41:22 2010
+++ rtems/c/src/lib/libbsp/sparc/leon3/Makefile.am Mon May 24 10:05:19 2010
</font><font color='#997700'>@@ -39,7 +39,7 @@
</font> # startup
libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bsppost.c ../../shared/bootcard.c startup/bspstart.c \
<font color='#880000'>- ../../sparc/shared/bsppretaskinghook.c \
</font><font color='#000088'>+ ../../sparc/shared/bsppretaskinghook.c ../../shared/bsppredriverhook.c \
</font> ../../sparc/shared/bspgetworkarea.c ../../shared/sbrk.c startup/setvec.c \
startup/spurious.c startup/bspidle.S
# gnatsupp
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/amba/amba.c:1.11 rtems/c/src/lib/libbsp/sparc/leon3/amba/amba.c:1.12
--- rtems/c/src/lib/libbsp/sparc/leon3/amba/amba.c:1.11 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/amba/amba.c Mon May 24 10:05:19 2010
</font><font color='#997700'>@@ -24,9 +24,9 @@
</font> int LEON3_Cpu_Index = 0;
/*
<font color='#880000'>- * bsp_predriver_hook
</font><font color='#000088'>+ * amba_initialize
</font> *
<font color='#880000'>- * BSP predriver hook. Called just before drivers are initialized.
</font><font color='#000088'>+ * Must be called just before drivers are initialized.
</font> * Used to scan system bus. Probes for AHB masters, AHB slaves and
* APB slaves. Addresses to configuration areas of the AHB masters,
* AHB slaves, APB slaves and APB master are storeds in
<font color='#997700'>@@ -43,8 +43,9 @@
</font>
extern rtems_configuration_table Configuration;
<font color='#000088'>+extern int scan_uarts(void);
</font>
<font color='#880000'>-void bsp_predriver_hook(void)
</font><font color='#000088'>+void amba_initialize(void)
</font> {
int i;
amba_apb_device dev;
<font color='#997700'>@@ -71,4 +72,6 @@
</font> LEON3_Timer_Regs = (volatile LEON3_Timer_Regs_Map *) dev.start;
}
<font color='#000088'>+ /* find UARTS */
+ scan_uarts();
</font> }
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/console/console.c:1.13 rtems/c/src/lib/libbsp/sparc/leon3/console/console.c:1.14
--- rtems/c/src/lib/libbsp/sparc/leon3/console/console.c:1.13 Thu Dec 10 08:43:52 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/console/console.c Mon May 24 10:05:19 2010
</font><font color='#997700'>@@ -76,27 +76,8 @@
</font> *
*/
int uarts = 0;
<font color='#880000'>-static int isinit = 0;
</font> volatile LEON3_UART_Regs_Map *LEON3_Console_Uart[LEON3_APBUARTS];
<font color='#880000'>-int scan_uarts(void) {
- int i;
- amba_apb_device apbuarts[LEON3_APBUARTS];
-
- if (isinit == 0) {
- i = 0;
- uarts = 0;
-
- uarts = amba_find_apbslvs(
- &amba_conf, VENDOR_GAISLER, GAISLER_APBUART, apbuarts, LEON3_APBUARTS);
- for(i=0; i<uarts; i++) {
- LEON3_Console_Uart[i] = (volatile LEON3_UART_Regs_Map *)apbuarts[i].start;
- }
- isinit = 1;
- }
- return uarts;
-}
-
</font> rtems_device_driver console_initialize(
rtems_device_major_number major,
rtems_device_minor_number minor,
<font color='#997700'>@@ -109,10 +90,7 @@
</font>
rtems_termios_initialize();
<font color='#880000'>- /* Find UARTs */
- scan_uarts();
-
- /* default to zero and override if multiprocessing */
</font><font color='#000088'>+ /* default console to zero and override if multiprocessing */
</font> uart0 = 0;
#if defined(RTEMS_MULTIPROCESSING)
if (rtems_configuration_get_user_multiprocessing_table() != NULL)
<font color='#997700'>@@ -120,22 +98,18 @@
</font> #endif
/* Register Device Names */
<font color='#880000'>-
- if (uarts && (uart0 < uarts))
- {
</font><font color='#000088'>+ if (uarts && (uart0 < uarts)) {
</font> status = rtems_io_register_name( "/dev/console", major, 0 );
if (status != RTEMS_SUCCESSFUL)
rtems_fatal_error_occurred(status);
strcpy(console_name,"/dev/console_a");
<font color='#880000'>- for (i = uart0+1; i < uarts; i++)
- {
</font><font color='#000088'>+ for (i = uart0+1; i < uarts; i++) {
</font> console_name[13]++;
status = rtems_io_register_name( console_name, major, i);
}
}
<font color='#880000'>-
</font> /*
* Initialize Hardware if ONLY CPU or first CPU in MP system
*/
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/console/debugputs.c:1.9 rtems/c/src/lib/libbsp/sparc/leon3/console/debugputs.c:1.10
--- rtems/c/src/lib/libbsp/sparc/leon3/console/debugputs.c:1.9 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/console/debugputs.c Mon May 24 10:05:19 2010
</font><font color='#997700'>@@ -27,6 +27,38 @@
</font> */
extern int uarts;
<font color='#000088'>+static int isinit = 0;
+
+/*
+ * Scan for UARTS in configuration
+ */
+int scan_uarts(void)
+{
+ int i;
+ amba_apb_device apbuarts[LEON3_APBUARTS];
+
+ if (isinit == 0) {
+ i = 0;
+ uarts = 0;
+
+ uarts = amba_find_apbslvs(
+ &amba_conf, VENDOR_GAISLER, GAISLER_APBUART, apbuarts, LEON3_APBUARTS);
+ for(i=0; i<uarts; i++) {
+ LEON3_Console_Uart[i] = (volatile LEON3_UART_Regs_Map *)apbuarts[i].start;
+ }
+
+ /* initialize uart 0 if present for printk */
+ if ( uarts ) {
+ LEON3_Console_Uart[0]->ctrl |=
+ LEON_REG_UART_CTRL_RE | LEON_REG_UART_CTRL_TE;
+ LEON3_Console_Uart[0]->status = 0;
+ }
+ isinit = 1;
+ }
+
+ return uarts;
+}
+
</font> /*
* console_outbyte_polled
*
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c:1.17 rtems/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c:1.18
--- rtems/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c:1.17 Sun Nov 29 09:33:27 2009
+++ rtems/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c Mon May 24 10:05:19 2010
</font><font color='#997700'>@@ -27,6 +27,8 @@
</font> */
int CPU_SPARC_HAS_SNOOPING;
<font color='#000088'>+extern void amba_initialize(void);
+
</font> /*
* set_snooping
*
<font color='#997700'>@@ -54,4 +56,7 @@
</font> void bsp_start( void )
{
CPU_SPARC_HAS_SNOOPING = set_snooping();
<font color='#000088'>+
+ /* Find UARTs */
+ amba_initialize();
</font> }
</pre>
<p> </p>
<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>