pass ramdisk image address by argument to bootinfo_init()

This commit is contained in:
Laurent Vivier 2004-06-03 08:11:23 +00:00
parent e441c4b560
commit ac8cf01ea2
3 changed files with 12 additions and 10 deletions

View File

@ -18,9 +18,6 @@
#include "bootinfo.h"
#include "arch.h"
extern unsigned long ramdisk_start;
extern unsigned long _ramdisk_size;
extern char _command_line;
static char* command_line = &_command_line;
@ -118,7 +115,7 @@ static void extractBanks(struct bootinfo *bi, memory_map_t *map)
}
}
void bootinfo_init()
void bootinfo_init(char* ramdisk_start, unsigned long ramdisk_size)
{
long ram;
#ifdef TARGET_M68K
@ -195,8 +192,8 @@ void bootinfo_init()
/* ramdisk info */
boot_info.ramdisk_size = _ramdisk_size;
logical2physical(ramdisk_start, &boot_info.ramdisk_addr);
boot_info.ramdisk_size = ramdisk_size;
logical2physical((unsigned long)ramdisk_start, &boot_info.ramdisk_addr);
/* command line */

View File

@ -337,5 +337,5 @@ struct bi2_record_list {
/* End version 2 bootinfo
***********************************************************************/
extern void bootinfo_init();
extern void bootinfo_init(char* ramdisk_start, unsigned long ramdisk_size);
extern void set_kernel_bootinfo(char *dst);

View File

@ -40,11 +40,11 @@ extern unsigned long _ramdisk_offset;
extern unsigned long _ramdisk_size;
extern char _command_line;
unsigned long ramdisk_start;
int main(int argc, char** argv)
{
unsigned long kernel_image_start;
unsigned long ramdisk_start;
#ifdef TARGET_M68K
char * kernel;
unsigned long physImage;
@ -141,6 +141,11 @@ int main(int argc, char** argv)
printf("RAMDISK loaded at 0x%lx\n", ramdisk_start);
printf("RAMDISK size is %ld Bytes\n", _ramdisk_size);
}
else
{
ramdisk_start = 0;
printf("no RAMDISK\n");
}
ret = logical2physical((unsigned long)kernel, &physImage);
@ -158,7 +163,7 @@ int main(int argc, char** argv)
/* set bootinfo at end of kernel image */
bootinfo_init();
bootinfo_init((char*)ramdisk_start, _ramdisk_size);
set_kernel_bootinfo(kernel + _kernel_size);
/* disable interrupt */