]> Zhao Yanbai Git Server - minix.git/commitdiff
ARM: clear BSS upon boot
authorThomas Veerman <thomas@minix3.org>
Thu, 17 Jan 2013 12:35:07 +0000 (13:35 +0100)
committerThomas Veerman <thomas@minix3.org>
Fri, 25 Jan 2013 17:07:01 +0000 (17:07 +0000)
kernel/arch/earm/pre_init.c

index 2df28f798f7d90e8cfb35b1ee1fec0f265ed7cd7..3a4f72da99d5ce4c629130f4fb3cc09f784415e6 100644 (file)
@@ -38,6 +38,9 @@ static void setup_mbi(multiboot_info_t *mbi);
 /* Kernel may use memory */
 int kernel_may_alloc = 1;
 
+extern u32_t _edata;
+extern u32_t _end;
+
 static int mb_set_param(char *bigbuf, char *name, char *value, kinfo_t *cbi)
 {
        char *p = bigbuf;
@@ -256,6 +259,9 @@ void get_parameters(u32_t ebx, kinfo_t *cbi)
 
 kinfo_t *pre_init(u32_t magic, u32_t ebx)
 {
+       /* Clear BSS */
+       memset(&_edata, 0, (u32_t)&_end - (u32_t)&_edata);
+
        /* Get our own copy boot params pointed to by ebx.
         * Here we find out whether we should do serial output.
         */