Rev 693 | Rev 1287 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 693 | Rev 1037 | ||
|---|---|---|---|
| Line 97... | Line 97... | ||
| 97 | addl 8(%ebx), %ecx # mbi->mem_upper |
97 | addl 8(%ebx), %ecx # mbi->mem_upper |
| 98 | 98 | ||
| 99 | mem_invalid: |
99 | mem_invalid: |
| 100 | movl %ecx, e801memorysize |
100 | movl %ecx, e801memorysize |
| 101 | 101 | ||
| 102 | bt $3, %eax # mbi->flags[3] (mods_count, mods_addr valid) |
102 | bt $3, %eax # mbi->flags[3] (mods_count, mods_addr valid) |
| 103 | jc mods_valid |
103 | jc mods_valid |
| 104 | 104 | ||
| 105 | xorl %ecx, %ecx |
105 | xorl %ecx, %ecx |
| 106 | xorl %edx, %edx |
106 | movl %ecx, init |
| 107 | jmp mods_invalid |
107 | jmp mods_end |
| 108 | 108 | ||
| 109 | mods_valid: |
109 | mods_valid: |
| - | 110 | ||
| 110 | movl 20(%ebx), %ecx # mbi->mods_count |
111 | movl 20(%ebx), %ecx # mbi->mods_count |
| - | 112 | movl %ecx, init |
|
| - | 113 | ||
| 111 | cmpl $0, %ecx |
114 | cmpl $0, %ecx |
| 112 | je mods_invalid |
115 | je mods_end |
| 113 | 116 | ||
| 114 | movl 24(%ebx), %esi # mbi->mods_addr |
117 | movl 24(%ebx), %esi # mbi->mods_addr |
| - | 118 | movl $init, %edi |
|
| - | 119 | ||
| - | 120 | mods_loop: |
|
| - | 121 | ||
| 115 | movl 0(%esi), %edx # mods->mod_start |
122 | movl 0(%esi), %edx # mods->mod_start |
| - | 123 | addl $0x80000000, %edx |
|
| - | 124 | movl %edx, 4(%edi) |
|
| - | 125 | ||
| - | 126 | movl 4(%esi), %edx |
|
| 116 | movl 4(%esi), %ecx # mods->mod_end |
127 | subl 0(%esi), %edx # mods->mod_end - mods->mod_start |
| 117 | subl %edx, %ecx |
128 | movl %edx, 8(%edi) |
| - | 129 | ||
| - | 130 | addl $16, %esi |
|
| 118 | addl $0x80000000, %edx |
131 | addl $8 , %edi |
| 119 | 132 | ||
| 120 | mods_invalid: |
133 | loop mods_loop |
| 121 | movl %ecx, init_size |
134 | |
| 122 | movl %edx, init_addr |
135 | mods_end: |
| 123 | 136 | ||
| 124 | bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) |
137 | bt $6, %eax # mbi->flags[6] (mmap_length, mmap_addr valid) |
| 125 | jc mmap_valid |
138 | jc mmap_valid |
| 126 | 139 | ||
| 127 | xorl %edx, %edx |
140 | xorl %edx, %edx |