Messages in this thread |  | | Date | Sun, 26 Nov 2000 10:52:05 +0000 (GMT) | From | Tigran Aivazian <> | Subject | Re: [PATCH] removal of "static foo = 0" |
| |
On Sun, 26 Nov 2000, John Alvord wrote: > It also says "I do not know much about the details of the kernel C > environment. In particular I do not know that all static variables are > initialized to 0 in the kernel startup. I have not read setup.S." ~~~~~~~~~
Sorry, John, I _have_ to [give good example to others]. The above says that _you_ my dear friend, do not know where the BSS clearing code is. It is not in setup.S. It is not even in the same directory, where setup.S is. It is in arch/i386/kernel/head.S, starting from line 120:
/* * Clear BSS first so that there are no surprises... */ xorl %eax,%eax movl $ SYMBOL_NAME(__bss_start),%edi movl $ SYMBOL_NAME(_end),%ecx subl %edi,%ecx cld rep stosb
... speaking of which (putting asbesto on and hiding from Andries ;) can't we optimize this code to move words at a time and not bytes.... ;)
Regards, Tigran
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |