Merge mainline into newreloc

This commit is contained in:
Vladimir 'phcoder' Serbinenko 2010-01-14 13:43:34 +01:00
commit 6dc1a8750a
6 changed files with 64 additions and 34 deletions

View file

@ -1,3 +1,46 @@
2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
* conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
Add loader/i386/multiboot_mbi.c.
(multiboot2_mod_SOURCES): Likewise.
* conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
(multiboot2_mod_SOURCES): Likewise.
* include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
(grub_multiboot_make_mbi): Likewise.
(grub_multiboot_free_mbi): Likewise.
(grub_multiboot_init_mbi): Likewise.
(grub_multiboot_add_module): Likewise.
(grub_multiboot_set_bootdev): Likewise.
* loader/i386/multiboot.c (mbi): Removed.
(mbi_dest): Likewise.
(alloc_mbi): New variable.
(grub_multiboot_payload_size): Removed. All users updated.
(grub_multiboot_pure_size): New variable.
(grub_multiboot_boot): Use grub_multiboot_make_mbi.
(grub_multiboot_unload): Use grub_multiboot_free_mbi.
(grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
(grub_fill_multiboot_mmap): Likewise.
(grub_multiboot_get_bootdev): Likewise.
(grub_multiboot): Use multiboot_mbi functions.
* loader/i386/multiboot_mbi.c: New file.
2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
it would result in module crash.
2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
(grub_ofconsole_getwh): Split to ...
(grub_ofconsole_getwh): ... this.
(grub_ofconsole_dimensions): ...and this.
(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
* util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/pc/multiboot2.c: Removed stalled file.

View file

@ -1,25 +0,0 @@
2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
* conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
Add loader/i386/multiboot_mbi.c.
(multiboot2_mod_SOURCES): Likewise.
* conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
(multiboot2_mod_SOURCES): Likewise.
* include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
(grub_multiboot_make_mbi): Likewise.
(grub_multiboot_free_mbi): Likewise.
(grub_multiboot_init_mbi): Likewise.
(grub_multiboot_add_module): Likewise.
(grub_multiboot_set_bootdev): Likewise.
* loader/i386/multiboot.c (mbi): Removed.
(mbi_dest): Likewise.
(alloc_mbi): New variable.
(grub_multiboot_payload_size): Removed. All users updated.
(grub_multiboot_pure_size): New variable.
(grub_multiboot_boot): Use grub_multiboot_make_mbi.
(grub_multiboot_unload): Use grub_multiboot_free_mbi.
(grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
(grub_fill_multiboot_mmap): Likewise.
(grub_multiboot_get_bootdev): Likewise.
(grub_multiboot): Use multiboot_mbi functions.
* loader/i386/multiboot_mbi.c: New file.

View file

@ -82,6 +82,5 @@ void
grub_efi_fini (void)
{
grub_efidisk_fini ();
grub_efi_mm_fini ();
grub_console_fini ();
}

View file

@ -265,6 +265,11 @@ grub_module (int argc, char *argv[])
if (err)
goto fail;
err = grub_multiboot_add_module ((grub_addr_t) module, size,
argc - 1, argv + 1);
if (err)
goto fail;
if (grub_file_read (file, module, size) != size)
{
grub_error (GRUB_ERR_FILE_READ_ERROR, "couldn't read file");

View file

@ -83,12 +83,17 @@ grub_ofconsole_putchar (grub_uint32_t c)
grub_curr_y++;
grub_curr_x = 0;
}
else if (c == '\r')
{
grub_curr_x = 0;
}
else
{
grub_curr_x++;
if (grub_curr_x > grub_ofconsole_width)
if (grub_curr_x >= grub_ofconsole_width)
{
grub_ofconsole_putchar ('\n');
grub_ofconsole_putchar ('\r');
grub_curr_x++;
}
}
@ -234,16 +239,13 @@ grub_ofconsole_getxy (void)
return ((grub_curr_x - 1) << 8) | grub_curr_y;
}
static grub_uint16_t
grub_ofconsole_getwh (void)
static void
grub_ofconsole_dimensions (void)
{
grub_ieee1275_ihandle_t options;
char *val;
grub_ssize_t lval;
if (grub_ofconsole_width && grub_ofconsole_height)
return (grub_ofconsole_width << 8) | grub_ofconsole_height;
if (! grub_ieee1275_finddevice ("/options", &options)
&& options != (grub_ieee1275_ihandle_t) -1)
{
@ -280,7 +282,11 @@ grub_ofconsole_getwh (void)
grub_ofconsole_width = 80;
if (! grub_ofconsole_height)
grub_ofconsole_height = 24;
}
static grub_uint16_t
grub_ofconsole_getwh (void)
{
return (grub_ofconsole_width << 8) | grub_ofconsole_height;
}
@ -379,6 +385,8 @@ grub_ofconsole_init_output (void)
grub_ofconsole_setcolorstate (GRUB_TERM_COLOR_NORMAL);
}
grub_ofconsole_dimensions ();
return 0;
}

View file

@ -5,7 +5,7 @@
Copyright 1993 Yggdrasil Computing, Incorporated
Copyright (C) 2009 Free Software Foundation, Inc.
Copyright (C) 2009,2010 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -306,7 +306,7 @@ int deep_opt;
* the symbolic link won't fit into one SL System Use Field
* print an error message and continue with splited one
*/
fprintf(stderr, _("symbolic link ``%s'' to long for one SL System Use Field, splitting"), cpnt);
fprintf (stderr, _("symbolic link ``%s'' too long for one SL System Use Field, splitting"), cpnt);
}
if(MAYBE_ADD_CE_ENTRY(SL_SIZE + sl_bytes)) add_CE_entry();
}