Notice: We have migrated to GitLab launching 2024-05-01 see here: https://gitlab.rtems.org/

Ticket #1416: bf537stamp_start.patch

File bf537stamp_start.patch, 2.1 KB (added by Allan Hessenflow, on 05/25/09 at 16:57:28)

correct boot_card call to meet abi

Line 
1Index: c/src/lib/libbsp/bfin/bf537Stamp/ChangeLog
2===================================================================
3RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/bfin/bf537Stamp/ChangeLog,v
4retrieving revision 1.15
5diff -c -3 -p -r1.15 ChangeLog
6*** c/src/lib/libbsp/bfin/bf537Stamp/ChangeLog  28 Apr 2009 06:17:45 -0000      1.15
7--- c/src/lib/libbsp/bfin/bf537Stamp/ChangeLog  25 May 2009 17:51:14 -0000
8***************
9*** 1,3 ****
10--- 1,8 ----
11+ 2009-05-25    Allan Hessenflow <allanh@kallisti.com>
12+
13+       * start/start.S: Correct call to boot_card to meet bfin abi by
14+       clearing l0 - l3 and allocating some stack space.
15+
16  2009-04-28    Chris Johns <chrisj@rtems.org>
17 
18        * start/start.S: Update for boot_card command line change.
19Index: c/src/lib/libbsp/bfin/bf537Stamp/start/start.S
20===================================================================
21RCS file: /usr1/CVS/rtems/c/src/lib/libbsp/bfin/bf537Stamp/start/start.S,v
22retrieving revision 1.2
23diff -c -3 -p -r1.2 start.S
24*** c/src/lib/libbsp/bfin/bf537Stamp/start/start.S      28 Apr 2009 06:17:45 -0000      1.2
25--- c/src/lib/libbsp/bfin/bf537Stamp/start/start.S      25 May 2009 17:51:14 -0000
26***************
27*** 7,16 ****
28  #include <libcpu/cecRegs.h>
29  #include <libcpu/coreTimerRegs.h>
30 
31- #warning Call to boot_card has changed and needs checking.
32- #warning The call is "void boot_card(const char* cmdline);"
33- #warning Please check and remove these warnings.
34-
35  #ifndef LO
36  #define LO(con32) ((con32) & 0xFFFF)
37  #endif
38--- 7,12 ----
39*************** __start:
40*** 51,56 ****
41--- 47,58 ----
42        p0.l = LO(SIC_IMASK);
43        [p0] = r0;
44 
45+       /* clear any pending interrupts */
46+       p0.h = HI(CEC_ILAT);
47+       p0.l = LO(CEC_ILAT);
48+       r0 = 0xffff (z);
49+       [p0] = r0;
50+
51        /* this is so we can stay in supervisor mode and still be able to
52           accept interrupts later. */
53        p0.h = start;
54*************** start:
55*** 96,104 ****
56--- 98,113 ----
57  loop1:        b[p0] = r0;
58  loop2:        p0 +=1;
59 
60+       l0 = 0;
61+       l1 = 0;
62+       l2 = 0;
63+       l3 = 0;
64+       sp += -12;
65+       /* r0 == const char *cmdline (currently null) */
66        p0.h = _boot_card;
67        p0.l = _boot_card;
68        call (p0);
69+       sp += 12;
70 
71        p0.h = _exit;
72        p0.l = _exit;