Mercurial > flash_v2
comparison packages/hal/mips/arch/current/src/hal_misc.c @ 16:4f2df4ab82c8 ecos-sw-1999-06-18
Merge from eCos master repository on 1999-06-18-15:25:04-BST
| author | jlarmour |
|---|---|
| date | Fri, 18 Jun 1999 07:59:09 +0000 |
| parents | 4cc3eff958ab |
| children | 7253dcc42a09 |
comparison
equal
deleted
inserted
replaced
| 15:c0d8793d9978 | 16:4f2df4ab82c8 |
|---|---|
| 109 } | 109 } |
| 110 | 110 |
| 111 /*------------------------------------------------------------------------*/ | 111 /*------------------------------------------------------------------------*/ |
| 112 /* data copy and bss zero functions */ | 112 /* data copy and bss zero functions */ |
| 113 | 113 |
| 114 typedef void (CYG_ROM_ADDRESS)(void); | 114 typedef void (CYG_SYM_ADDRESS)(void); |
| 115 | 115 |
| 116 extern char __ram_data_start; | 116 // All these must use this type of address to stop them being given relocations |
| 117 extern char __ram_data_end; | 117 // relative to $gp (i.e. assuming they would be in .sdata) |
| 118 extern CYG_ROM_ADDRESS __rom_data_start; | 118 extern CYG_SYM_ADDRESS __ram_data_start; |
| 119 extern CYG_SYM_ADDRESS __ram_data_end; | |
| 120 extern CYG_SYM_ADDRESS __rom_data_start; | |
| 119 | 121 |
| 120 #ifdef CYG_HAL_STARTUP_ROM | 122 #ifdef CYG_HAL_STARTUP_ROM |
| 121 void hal_copy_data(void) | 123 void hal_copy_data(void) |
| 122 { | 124 { |
| 123 char *p = &__ram_data_start; | 125 char *p = (char *)&__ram_data_start; |
| 124 char *q = (char *)&__rom_data_start; | 126 char *q = (char *)&__rom_data_start; |
| 125 | 127 |
| 126 while( p != (char *)&__ram_data_end ) | 128 while( p != (char *)&__ram_data_end ) |
| 127 *p++ = *q++; | 129 *p++ = *q++; |
| 128 } | 130 } |
| 129 #endif | 131 #endif |
| 130 | 132 |
| 131 extern CYG_ROM_ADDRESS __bss_start; | 133 extern CYG_SYM_ADDRESS __bss_start; |
| 132 extern CYG_ROM_ADDRESS __bss_end; | 134 extern CYG_SYM_ADDRESS __bss_end; |
| 133 | 135 |
| 134 void hal_zero_bss(void) | 136 void hal_zero_bss(void) |
| 135 { | 137 { |
| 136 char *p = (char *)&__bss_start; | 138 char *p = (char *)&__bss_start; |
| 137 | 139 |
