Subversion Repositories HelenOS-historic

Rev

Rev 693 | Rev 1288 | 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