Преглед на файлове

Use the global load_buffer, and the boot_image function.

tags/v0.9.3
Michael Brown преди 19 години
родител
ревизия
a5a14dc05d
променени са 1 файла, в които са добавени 11 реда и са изтрити 6 реда
  1. 11
    6
      src/core/main.c

+ 11
- 6
src/core/main.c Целия файл

@@ -162,7 +162,6 @@ void initialise ( void ) {
162 162
 MAIN - Kick off routine
163 163
 **************************************************************************/
164 164
 int main ( void ) {
165
-	struct buffer buffer;
166 165
 	int skip = 0;
167 166
 
168 167
 	/* Print out configuration */
@@ -215,15 +214,21 @@ int main ( void ) {
215 214
 		}
216 215
 
217 216
 		/* Load boot file from the device */
218
-		init_buffer ( &buffer, 0x7c00, 0x100 );
219
-		if ( ! load ( &dev, &buffer ) ) {
220
-			/* Load (e.g. TFTP failed) */
217
+		init_buffer ( &load_buffer );
218
+		if ( ! load ( &dev, &load_buffer ) ) {
219
+			/* Load (e.g. TFTP) failed */
221 220
 			printf ( "...load failed\n" );
222 221
 			continue;
223 222
 		}
224 223
 
225
-		printf ( "Loaded file of size %d\n", buffer.fill );
226
-
224
+		/* Boot the loaded image */
225
+		if ( ! boot_image ( &load_buffer ) ) {
226
+			/* Boot failed (e.g. invalid image) */
227
+			printf ( "...boot failed\n" );
228
+			continue;
229
+		}
230
+		
231
+		/* Image returned */
227 232
 	}
228 233
 
229 234
 	/* Call registered per-object exit functions */

Loading…
Отказ
Запис