Rev 3168 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3168 | Rev 3195 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 3168 $ |
8 | $Revision: 3195 $ |
9 | 9 | ||
10 | 10 | ||
Line 16... | Line 16... | ||
16 | align 4 |
16 | align 4 |
17 | preinit_mem: |
17 | preinit_mem: |
Line 18... | Line 18... | ||
18 | 18 | ||
19 | ; clear [CLEAN_ZONE..HEAP_BASE] |
19 | ; clear [CLEAN_ZONE..HEAP_BASE] |
- | 20 | xor eax,eax |
|
- | 21 | movd xmm0, eax ; load 128-bit Zero |
|
20 | xor eax,eax |
22 | |
21 | mov edi,CLEAN_ZONE ; 0x280000 = ramdisk FAT ? |
23 | mov edi,CLEAN_ZONE ; 0x280000 = ramdisk FAT ? |
22 | mov ecx,(HEAP_BASE-OS_BASE-CLEAN_ZONE) / 4 |
24 | ; mov ecx,(HEAP_BASE-OS_BASE-CLEAN_ZONE) / 16 |
- | 25 | cld |
|
- | 26 | .1: |
|
- | 27 | movups [edi],xmm0 |
|
- | 28 | add edi, 16 |
|
23 | cld |
29 | cmp edi, (HEAP_BASE-OS_BASE) |
Line -... | Line 30... | ||
- | 30 | jb .1 |
|
24 | rep stosd |
31 | |
25 | 32 | ||
- | 33 | ; clear [0x50000..0x90000] |
|
- | 34 | mov edi,0x50000 ; 0x50000 is somewhere inside kernel code? |
|
- | 35 | .2: |
|
26 | ; clear [0x40000..0x90000] |
36 | movups [edi],xmm0 |
27 | mov edi,0x50000 ; 0x50000 is somewhere inside kernel code? |
37 | add edi, 16 |
Line 28... | Line 38... | ||
28 | mov ecx,(0x90000-0x50000)/4 |
38 | cmp edi, 0x90000 |
29 | rep stosd |
39 | jb .2 |
30 | 40 | ||
31 | ; clear undefined kernel globals |
41 | ; clear undefined kernel globals |