source: rtems/c/src/lib/libbsp/powerpc/qemuppc/startup/cmain.c @ f3b29236

5
Last change on this file since f3b29236 was ed18345, checked in by Joel Sherrill <joel.sherrill@…>, on 10/20/14 at 19:21:37

powerpc/qemuppc/startup/cmain.c: Fix warnings

  • Property mode set to 100644
File size: 1.5 KB
Line 
1#include <bsp/bootcard.h>
2
3static void
4__outb(int port, unsigned char v)
5{
6  *((volatile unsigned char *)(0x80000000 + port)) = v;
7}
8
9#if 0
10/* currently unused but keep just in case */
11
12static unsigned char
13__inb(int port)
14{
15  return *((volatile unsigned char *)(0x80000000 + port));
16}
17#endif
18
19static void
20__memcpy (unsigned char *d, unsigned char *s, int len)
21{
22  while (len--)
23    *d++ = *s++;
24}
25
26static void
27__bzero (unsigned char *d, int len)
28{
29  while (len--)
30    *d++ = 0;
31}
32
33extern unsigned char __sdata2_load[], __sdata2_start[], __sdata2_end[];
34extern unsigned char __data_load[], __data_start[], __data_end[];
35extern unsigned char __sdata_load[], __sdata_start[], __sdata_end[];
36extern unsigned char __sbss2_start[], __sbss2_end[];
37extern unsigned char __sbss_start[], __sbss_end[];
38extern unsigned char __bss_start[], __bss_end[];
39
40
41/*
42 * Prototype this here because it is just the entry symbol and
43 * not referenced from any compileable code.
44 */
45void cmain (void);
46
47void cmain (void)
48{
49  /*
50   * init variable sections
51   */
52  __memcpy (__sdata2_start, __sdata2_load, __sdata2_end - __sdata2_start);
53  __memcpy (__sdata_start , __sdata_load , __sdata_end  - __sdata_start);
54  __memcpy (__data_start  , __data_load  , __data_end   - __data_start);
55  __bzero (__sbss2_start  , __sbss2_end - __sbss2_start);
56  __bzero (__sbss_start   , __sbss_end  - __sbss_start);
57  __bzero (__bss_start    , __bss_end   - __bss_start);
58  /* printk( "start of BSP\n"); */
59  boot_card(0);
60  /* printk( "end of BSP\n"); */
61  __outb (0x92, 0x01);
62  while (1)
63    ;
64}
Note: See TracBrowser for help on using the repository browser.