From e4c6418ac086ff1cbad48c5f08b5fa693400d080 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Fri, 12 Jan 2007 00:09:16 +0000 Subject: [PATCH] We may be required to page-align modules, so let's make sure we catch it if we don't. --- src/arch/i386/image/multiboot.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/arch/i386/image/multiboot.c b/src/arch/i386/image/multiboot.c index 2370a304..b9fb1639 100644 --- a/src/arch/i386/image/multiboot.c +++ b/src/arch/i386/image/multiboot.c @@ -24,6 +24,7 @@ */ #include +#include #include #include #include @@ -106,10 +107,12 @@ multiboot_build_module_list ( struct image *image, unsigned int count = 0; for_each_image ( module_image ) { - /* Do not include kernel image as a module */ + + /* Do not include kernel image itself as a module */ if ( module_image == image ) continue; module = &modules[count++]; + /* Populate module data structure, if applicable */ if ( ! modules ) continue; @@ -118,6 +121,9 @@ multiboot_build_module_list ( struct image *image, module_image->len ); if ( image->cmdline ) module->string = virt_to_phys ( image->cmdline ); + + /* We promise to page-align modules, so at least check */ + assert ( ( module->mod_start & 0xfff ) == 0 ); } return count;