merge mainline into newreloc
This commit is contained in:
commit
6e308bd942
72 changed files with 1538 additions and 533 deletions
|
|
@ -577,14 +577,14 @@ grub_freebsd_boot (void)
|
|||
}
|
||||
|
||||
grub_memset (&bi, 0, sizeof (bi));
|
||||
bi.bi_version = FREEBSD_BOOTINFO_VERSION;
|
||||
bi.bi_size = sizeof (bi);
|
||||
bi.version = FREEBSD_BOOTINFO_VERSION;
|
||||
bi.length = sizeof (bi);
|
||||
|
||||
grub_bsd_get_device (&biosdev, &unit, &slice, &part);
|
||||
bootdev = (FREEBSD_B_DEVMAGIC + ((slice + 1) << FREEBSD_B_SLICESHIFT) +
|
||||
(unit << FREEBSD_B_UNITSHIFT) + (part << FREEBSD_B_PARTSHIFT));
|
||||
|
||||
bi.bi_bios_dev = biosdev;
|
||||
bi.boot_device = biosdev;
|
||||
|
||||
p_size = 0;
|
||||
grub_env_iterate (iterate_env_count);
|
||||
|
|
@ -629,7 +629,7 @@ grub_freebsd_boot (void)
|
|||
{
|
||||
*(p++) = 0;
|
||||
|
||||
bi.bi_envp = p_target;
|
||||
bi.environment = p_target;
|
||||
}
|
||||
|
||||
if (is_elf_kernel)
|
||||
|
|
@ -655,9 +655,9 @@ grub_freebsd_boot (void)
|
|||
|
||||
case FREEBSD_MODINFO_METADATA | FREEBSD_MODINFOMD_ENVP:
|
||||
if (is_64bit)
|
||||
*(grub_uint64_t *) p_tag = bi.bi_envp;
|
||||
*(grub_uint64_t *) p_tag = bi.environment;
|
||||
else
|
||||
*(grub_uint32_t *) p_tag = bi.bi_envp;
|
||||
*(grub_uint32_t *) p_tag = bi.environment;
|
||||
break;
|
||||
|
||||
case FREEBSD_MODINFO_METADATA | FREEBSD_MODINFOMD_KERNEND:
|
||||
|
|
@ -675,12 +675,12 @@ grub_freebsd_boot (void)
|
|||
p_tag = ALIGN_VAR (p_tag - p) + p;
|
||||
}
|
||||
|
||||
bi.bi_modulep = (p - p0) + p_target;
|
||||
bi.tags = (p - p0) + p_target;
|
||||
|
||||
p = (ALIGN_PAGE ((p_tag - p0) + p_target) - p_target) + p0;
|
||||
}
|
||||
|
||||
bi.bi_kernend = kern_end;
|
||||
bi.kern_end = kern_end;
|
||||
|
||||
grub_video_set_mode ("text", 0, 0);
|
||||
|
||||
|
|
@ -713,7 +713,7 @@ grub_freebsd_boot (void)
|
|||
state.rip = (((grub_uint64_t) entry_hi) << 32) | entry;
|
||||
|
||||
stack[0] = entry;
|
||||
stack[1] = bi.bi_modulep;
|
||||
stack[1] = bi.tags;
|
||||
stack[2] = kern_end;
|
||||
return grub_relocator64_boot (relocator, state, 0, 0x40000000);
|
||||
}
|
||||
|
|
@ -746,7 +746,7 @@ grub_freebsd_boot (void)
|
|||
stack[4] = 0;
|
||||
stack[5] = 0;
|
||||
stack[6] = stack_target + 9 * sizeof (grub_uint32_t);
|
||||
stack[7] = bi.bi_modulep;
|
||||
stack[7] = bi.tags;
|
||||
stack[8] = kern_end;
|
||||
return grub_relocator32_boot (relocator, state);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -939,6 +939,10 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
|||
break;
|
||||
}
|
||||
|
||||
/* We can't detect VESA, but user is implicitly telling us that it
|
||||
is built-in because `vga=' parameter was used. */
|
||||
params->have_vga = GRUB_VIDEO_LINUX_TYPE_VESA;
|
||||
|
||||
linux_mode
|
||||
= &linux_vesafb_modes[vid_mode - GRUB_LINUX_VID_MODE_VESA_START];
|
||||
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
|||
{
|
||||
grub_elf_close (elf);
|
||||
return grub_error (GRUB_ERR_UNKNOWN_OS,
|
||||
"This ELF file is not of the right type\n");
|
||||
"this ELF file is not of the right type\n");
|
||||
}
|
||||
|
||||
/* Release the previously used memory. */
|
||||
|
|
@ -239,7 +239,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
|||
if (grub_elf_is_elf64 (elf))
|
||||
err = grub_linux_load64 (elf, &extra, size);
|
||||
else
|
||||
err = grub_error (GRUB_ERR_BAD_FILE_TYPE, "Unknown ELF class");
|
||||
err = grub_error (GRUB_ERR_BAD_FILE_TYPE, "unknown ELF class");
|
||||
|
||||
grub_elf_close (elf);
|
||||
|
||||
|
|
@ -330,13 +330,13 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
|
|||
grub_err_t err;
|
||||
|
||||
if (argc == 0)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "No initrd specified");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "no initrd specified");
|
||||
|
||||
if (!loaded)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "You need to load Linux first.");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "you need to load Linux first.");
|
||||
|
||||
if (initrd_loaded)
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "Only one initrd can be loaded.");
|
||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, "only one initrd can be loaded.");
|
||||
|
||||
file = grub_file_open (argv[0]);
|
||||
if (! file)
|
||||
|
|
@ -359,7 +359,7 @@ grub_cmd_initrd (grub_command_t cmd __attribute__ ((unused)),
|
|||
|
||||
if (grub_file_read (file, initrd_src, size) != size)
|
||||
{
|
||||
grub_error (GRUB_ERR_FILE_READ_ERROR, "Couldn't read file");
|
||||
grub_error (GRUB_ERR_FILE_READ_ERROR, "couldn't read file");
|
||||
grub_file_close (file);
|
||||
|
||||
return grub_errno;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue