phcoder
a8c48fd53d
2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
...
Leak fixes
* kern/disk.c (grub_disk_cache_store): Invalidate previous cache
in case of collision
* disk/scsi.c (grub_scsi_open): free scsi in case of error
2009-03-29 21:21:19 +00:00
robertmh
9c323f0961
2009-03-29 Robert Millan <rmh@aybabtu.com>
...
* loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
set `vid_mode' accordingly.
(grub_linux_boot): Process `vid_mode' and set video mode.
2009-03-29 19:52:35 +00:00
robertmh
ae68f4234b
2009-03-29 Robert Millan <rmh@aybabtu.com>
...
* util/grub.d/10_linux.in (linux_entry): New function.
Factorize generation of Linux boot entries.
2009-03-29 02:23:12 +00:00
okuji
5709cfc4d1
2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
...
Make the format of Environment Block plain text. The boot loader
part is not tested well yet.
* util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
(buffer): Removed.
(envblk): Likewise.
(usage): Remove "info" and "clear". Add "unset". Update the
description of "set", as this does not delete variables any
longer.
(create_envblk_file): Complete rewrite.
(open_envblk_file): Likewise.
(cmd_info): Removed.
(cmd_list): Likewise.
(cmd_set): Likewise.
(cmd_clear): Likewise.
(list_variables): New function.
(write_envblk): Likewise.
(set_variables): Likewise.
(unset_variables): Likewise.
(main): Complete rewrite.
* commands/loadenv.c (buffer): Removed.
(envblk): Likewise.
(open_envblk_file): New function.
(read_envblk_file): Complete rewrite.
(grub_cmd_load_env): Likewise.
(grub_cmd_list_env): Likewise.
(struct blocklist): New struct.
(free_blocklists): New function.
(check_blocklists): Likewise.
(write_blocklists): Likewise.
(grub_cmd_save_env): Complete rewrite.
* include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
a plain text signature.
(GRUB_ENVBLK_MAXLEN): Removed.
(struct grub_envblk): Complete rewrite.
(grub_envblk_find): Removed.
(grub_envblk_insert): Likewise.
(grub_envblk_open): New prototype.
(grub_envblk_set): Likewise.
(grub_envblk_delete): Put const to VALUE.
(grub_envblk_iterate): Put const to NAME and VALUE.
(grub_envblk_close): New prototype.
(grub_envblk_buffer): New inline function.
(grub_envblk_size): Likewise.
* lib/envblk.c: Include grub/mm.h.
(grub_env_find): Removed.
(grub_envblk_open): New function.
(grub_envblk_close): Likewise.
(escaped_value_len): Likewise.
(find_next_line): Likewise.
(grub_envblk_insert): Removed.
(grub_envblk_set): New function.
(grub_envblk_delete): Complete rewrite.
(grub_envblk_iterate): Likewise.
2009-03-28 19:58:15 +00:00
robertmh
a9368fd30c
2009-03-28 Robert Millan <rmh@aybabtu.com>
...
* conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
(linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
variables. Use 16-bit loader.
(linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
loader.
* kern/i386/loader.S (grub_linux_boot): Rename to ...
(grub_linux16_boot): ... this. Update all users.
* loader/i386/linux.c (grub_linux32_boot): Rename to ...
(grub_linux_boot): ... this. Update all users.
* loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
(GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
commands to `linux16' and `initrd16'.
(GRUB_MOD_FINI(linux)): Rename to ...
(GRUB_MOD_FINI(linux16)): ... this.
2009-03-28 12:53:16 +00:00
proski
7d074e3ce2
typos
2009-03-24 14:15:07 +00:00
proski
e4dd5a7ea9
2009-03-24 Pavel Roskin <proski@gnu.org>
...
* genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
not just for compilation.
2009-03-24 14:01:23 +00:00
robertmh
c04d6e0548
2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
...
Move multiboot helper out of kernel
* conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
`loader/i386/multiboot_helper.S'.
* conf/i386-coreboot.rmk: Likewise
* conf/i386-ieee1275.rmk: Likewise
* kern/i386/loader.S: Move multiboot helpers from here...
* loader/i386/multiboot_helper.S: ...moved here
* include/grub/i386/loader.h: Move declarations of multiboot
helpers from here...
* include/grub/i386/multiboot.h: ...moved here
* loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
2009-03-22 12:28:00 +00:00
okuji
42a5b3fcc7
2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
...
* kern/env.c (grub_env_context_open): Added an argument to specify
whether a new context inherits exported variables from current
one. This is useful when making a sandbox to interpret a config
file.
All callers updated.
* include/grub/env.h (grub_env_context_open): Updated the prototype.
2009-03-22 10:45:06 +00:00
okuji
b28bbc4ef5
2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
...
* kern/env.c (grub_env_context_close): Fix memory leaks.
2009-03-22 10:38:19 +00:00
okuji
f04f02e496
2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
...
* normal/main.c (grub_normal_execute): Added an argument
BATCH to specify if an interactive interface should be provided
after reading a config file.
All callers updated.
(read_command_list): Prevent being executed twice.
(read_fs_list): Likewise.
* include/grub/normal.h (grub_normal_execute):
2009-03-22 10:05:31 +00:00
proski
fbc00b0ca1
2009-03-22 Pavel Roskin <proski@gno.org>
...
* kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
_start.
* kern/i386/pc/startup.S: Likewise.
* kern/i386/efi/startup.S: Likewise.
* kern/i386/ieee1275/startup.S: Likewise.
* kern/i386/coreboot/startup.S: Likewise.
* kern/x86_64/efi/startup.S: Likewise.
2009-03-22 00:37:49 +00:00
proski
41473ac27f
2009-03-22 Pavel Roskin <proski@gno.org>
...
* aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
* configure.ac: Don't call grub_CHECK_START_SYMBOL.
* kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
2009-03-22 00:31:30 +00:00
robertmh
2274cc8fc9
2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
...
Bugfixes in multiboot for bugs uncovered by solaris kernel.
* loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
limit detection.
Use vaddr of correct segment for entry_point.
2009-03-21 23:02:12 +00:00
bean
b1b797cb1b
2009-03-21 Bean <bean123ch@gmail.com>
...
* commands/blocklist.c: Add include file <grub/command.h>, remove
<grub/normal.h> and <grub/arg.h>.
(grub_cmd_blocklist): Use the new command interface.
(GRUB_MOD_INIT): Likewise.
(GRUB_MOD_FINI): Likewise.
* commands/boot.c: Likewise.
* commands/cat.c: Likewise.
* commands/cmp.c: Likewise.
* commands/configfile.c: Likewise.
* commands/crc.c: Likewise.
* commands/echo.c: Likewise.
* commands/halt.c: Likewise.
* commands/handler.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/help.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/ls.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/lspci.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/read.c: Likewise.
* commands/reboot.c: Likewise.
* commands/search.c: Likewise.
* commands/sleep.c: Likewise.
* commands/test.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/videotest.c: Likewise.
* commands/i386/cpuid.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/play.c: Likewise.
* commands/i386/pc/pxecmd.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/i386/pc/vbetest.c: Likewise.
* commands/ieee1275/suspend.c: Likewise.
* disk/loopback.c: Likewise.
* font/font_cmd.c: Likewise.
* hello/hello.c: Likewise.
* loader/efi/appleloader.c: Likewise.
* loader/efi/chainloader.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/efi/linux.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/terminfo.c: Likewise.
* term/i386/pc/vesafb.c: Removed <grub/arg.h>.
* term/i386/pc/vga.c: Likewise.
* video/readers/jpeg.c: Likewise.
* video/readers/png.c: Likewise.
* video/readers/tga.c: Likewise.
* util/grub-fstest (cmd_loopback): Removed.
(cmd_blocklist): Likewise.
(cmd_ls): Likewise.
(grub_register_command): Likewise.
(grub_unregister_command): Likewise.
(execute_command): Use grub_command_find to locate command and execute
it.
* include/grub/efi/chainloader.h: Removed.
* loader/efi/chainloader_normal.c: Likewise.
* loader/i386/bsd_normal.c: Likewise.
* loader/i386/pc/chainloader_normal.c: Likewise.
* loader/i386/pc/multiboot_normal.c: Likewise.
* loader/linux_normal.c: Likewise.
* loader/multiboot_loader_normal.c: Likewise.
* loader/powerpc/ieee1275/linux_normal.c: Likewise.
* gencmdlist.sh: Scan new registration command grub_register_extcmd
and grub_register_command_p1.
* conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
kern/command.c, lib/arg.c and commands/extcmd.c.
(pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
(minicmd_mod_SOURCES): New variable.
(minicmd_mod_CFLAGS): Likewise.
(minicmd_mod_LDFLAGS): Likewise.
(extcmd_mod_SOURCES): Likewise.
(extcmd_mod_CFLAGS): Likewise.
(extcmd_mod_LDFLAGS): Likewise.
(boot_mod_SOURCES): Removed.
(boot_mod_CFLAGS): Likewise.
(boot_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
kern/corecmd.c.
(kernel_img_HEADERS): Add command.h.
(grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
and lib/arg.c.
(pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
_multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
remove the corresponding normal mode command.
(normal_mod_SOURCES): Remove normal/arg.c.
* conf/i386-coreboot.rmk: Likewise.
* conf/i386-efi.rmk: Likewise.
* conf/i386-ieee1275.rmk: Likewise.
* conf/powerpc-ieee1275.rmk: Likewise.
* conf/x86_64-efi.rmk: Likewise.
* include/grub/arg.h: Move from here ...
* include/grub/lib/arg.h: ... to here.
* normal/arg.c: Move from here ...
* lib/arg.c: ... to here.
* commands/extcmd.c: New file.
* commands/minicmd.c: Likewise.
* include/grub/command.h: Likewise.
* include/grub/extcmd.h: Likewise.
* kern/command.c: Likewise.
* kern/corecmd.c: Likewise.
* kern/list.c (grub_list_iterate): Return int instead of void.
(grub_list_insert): New function.
(grub_prio_list_insert): Likewise.
* kern/rescue.c (grub_rescue_command): Removed.
(grub_rescue_command_list): Likewise.
(grub_rescue_register_command): Likewise.
(grub_rescue_unregister_command): Likewise.
(grub_rescue_cmd_boot): Move to minicmd.c
(grub_rescue_cmd_help): Likewise.
(grub_rescue_cmd_info): Likewise.
(grub_rescue_cmd_boot): Likewise.
(grub_rescue_cmd_testload): Likewise.
(grub_rescue_cmd_dump): Likewise.
(grub_rescue_cmd_rmmod): Likewise.
(grub_rescue_cmd_lsmod): Likewise.
(grub_rescue_cmd_exit): Likewise.
(grub_rescue_print_devices): Moved to corecmd.c.
(grub_rescue_print_files): Likewise.
(grub_rescue_cmd_ls): Likewise.
(grub_rescue_cmd_insmod): Likewise.
(grub_rescue_cmd_set): Likewise.
(grub_rescue_cmd_unset): Likewise.
(attemp_normal_mode): Use grub_command_find to get normal module.
(grub_enter_rescue_mode): Use grub_register_core_commands to register
commands, remove grub_rescue_regiter_command calls.
* normal/command.c (grub_regiser_command): Removed.
(grub_unregister_command): Likewise.
(grub_command_find): Likewise.
(grub_iterate_commands): Likewise.
(rescue_command): Likewise.
(export_command): Moved to corecmd.c.
(set_command): Removed.
(unset_command): Likewise.
(insmod_command): Likewise.
(rmmod_command): Likewise.
(lsmod_command): Likewise.
(grub_command_init): Likewise.
* normal/completion.c (iterate_command): Use cmd->prio to check for
active command.
(complete_arguments): Use grub_extcmd_t structure to find options.
(grub_normal_do_completion): Change function grub_iterate_commands to
grub_command_iterate.
* normal/execute.c (grub_script_execute_cmd): No need to parse
argument here.
* normal/main.c (grub_dyncmd_dispatcher): New function.
(read_command_list): Register unload commands as dyncmd.
(grub_cmd_normal): Use new command interface, register rescue,
unregister normal at entry, register normal, unregister rescue at exit.
* include/grub/list.h (grub_list_test_t): New type.
(grub_list_iterate): Return int instead of void.
(grub_list_insert): New function.
(GRUB_AS_NAMED_LIST_P): New macro.
(GRUB_AS_PRIO_LIST): Likewise.
(GRUB_AS_PRIO_LIST_P): Likewise.
(GRUB_PRIO_LIST_PRIO_MASK): New constant.
(GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
(grub_prio_list): New structure.
(grub_prio_list_insert): New function.
(grub_prio_list_remove): New inline function.
* include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
(GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
(GRUB_COMMAND_FLAG_MENU): Likewise.
(GRUB_COMMAND_FLAG_BOTH): Likewise.
(GRUB_COMMAND_FLAG_TITLE): Likewise.
(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
(GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
(GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
(grub_command): Likewise.
(grub_register_command): Likewise.
(grub_command_find): Likewise.
(grub_iterate_commands): Likewise.
(grub_command_init): Likewise.
(grub_arg_parse): Likewise.
(grub_arg_show_help): Likewise.
* include/grub/rescue.h (grub_rescue_register_command): Removed.
(grub_rescue_unregister_command): Likewise.
* include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
* include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
grub_rescue_cmd_initrd.
* include/grub/i386/loader.h: Likewise.
* include/grub/x86_64/loader.h: Likewise.
* include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
2009-03-21 08:39:59 +00:00
bean
1f4147aaf0
2009-03-21 Bean <bean123ch@gmail.com>
...
* util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
instead of stat in mingw environment.
* util/misc.c (grub_millisleep): Use Sleep in mingw environment.
* aclocal.m4 (grub_CHECK_LINK_DIR): New function.
* configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
AC_CONFIG_LINKS.
2009-03-21 07:48:28 +00:00
bean
2156d5ba73
2009-03-21 Bean <bean123ch@gmail.com>
...
* fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
out of range error.
2009-03-21 07:35:04 +00:00
fzielcke
177b82ca8b
2009-03-18 Michel Dänzer <michel@daenzer.net>
...
* fs/ext2.c (grub_ext2_read_block): Take endianness into account when
checking inode flags for EXT4_EXTENTS_FLAG.
2009-03-19 09:36:52 +00:00
robertmh
14aad8072c
2009-03-18 Robert Millan <rmh@aybabtu.com>
...
* loader/i386/linux.c: Include `<grub/video.h>' and
`<grub/i386/pc/vbe.h>'..
(grub_linux_setup_video): New function. Loosely based on the EFI one.
(grub_linux32_boot): Attempt to configure video settings with
grub_linux_setup_video().
(grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
to avoid grub_console_fini() which would step out of graphical mode
unconditionally.
2009-03-18 10:21:28 +00:00
robertmh
8cf83a279b
2009-03-14 Robert Millan <rmh@aybabtu.com>
...
Fix build on powerpc.
* conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
2009-03-14 15:18:59 +00:00
cbennett
40164e7552
2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
...
* term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
background image command.
2009-03-12 18:57:42 +00:00
cbennett
c58bc32a67
2009-03-12 Colin D Bennett <colin@gibibit.com>
...
* term/gfxterm.c (draw_cursor): Ensure character is redrawn.
(grub_gfxterm_putchar): Extract pairs of identical calls to
draw_cursor out of conditional blocks.
2009-03-12 18:30:44 +00:00
proski
5415144ac8
2009-03-11 Pavel Roskin <proski@gnu.org>
...
* fs/hfs.c (grub_hfs_strncasecmp): New function.
(grub_hfs_cmp_catkeys): Use HFS specific string comparison.
2009-03-11 21:51:16 +00:00
robertmh
6394042e02
2009-03-11 Robert Millan <rmh@aybabtu.com>
...
* loader/i386/multiboot_elfxx.c
(CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
2009-03-11 21:27:01 +00:00
fzielcke
b7b50e5f31
2009-03-11 Felix Zielcke <fzielcke@z-51.de>
...
* conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
`kern/handler.c'.
2009-03-11 08:25:22 +00:00
robertmh
1ca7fc96f7
2009-03-11 Robert Millan <rmh@aybabtu.com>
...
* loader/i386/multiboot.c (code_size): New variable.
(grub_multiboot): Define offsets by adding to `code_size' rather
than substracting from `grub_multiboot_payload_size'. Provide
4-byte alignment to MBI and others by increasing
`boot_loader_name_length' appropiately.
* loader/i386/multiboot_elfxx.c
(CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
2009-03-10 23:47:51 +00:00
fzielcke
a83ea1d20a
2009-03-09 Felix Zielcke <fzielcke@z-51.de>
...
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
`fs/ext2.c'.
2009-03-09 09:02:52 +00:00
robertmh
aa9f3bffbd
2009-03-08 Robert Millan <rmh@aybabtu.com>
...
Make loader/i386/linux.c usable on i386-pc again.
* kern/i386/pc/init.c (grub_machine_init): Disable addition of low
memory to heap.
* loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
`#error' stanza.
2009-03-08 12:46:27 +00:00
bean
d8b3b60eea
2009-03-07 Bean <bean123ch@gmail.com>
...
* loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
allocation.
2009-03-07 10:50:43 +00:00
robertmh
b362c9e990
2009-03-06 Robert Millan <rmh@aybabtu.com>
...
Fix display issue on terminals with screen size other than 80x25
(e.g. gfxterm with resolution higher than 640x480).
* normal/main.c (grub_normal_init_page): Display title text in a
position relative to the center of the terminal instead of reliing
on a hardcoded offset.
2009-03-06 19:10:23 +00:00
proski
50fb7002e5
Fix typos, spacing
2009-03-05 05:23:58 +00:00
robertmh
9304eef146
2009-03-04 Robert Millan <rmh@aybabtu.com>
...
Filter /etc/grub.d/10_* so that only add-ons for native kernels are
installed.
* Makefile.in (host_kernel): New variable.
* conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
scripts instead of just the windows one.
* configure.ac: Initialize and AC_SUBST `host_kernel'.
2009-03-04 22:00:41 +00:00
fzielcke
eabc95fb9a
fix date of previous changelog entry
2009-03-04 14:49:44 +00:00
fzielcke
2ba60b6286
2009-02-03 Felix Zielcke <fzielcke@z-51.de>
...
* conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
`kern/handler.c'.
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2009-03-04 14:08:05 +00:00
fzielcke
ceb1223c92
2009-03-04 Felix Zielcke <fzielcke@z-51.de>
...
* partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
or if there's no space for the disk label and print the partition number on a
invalid magic.
2009-03-04 12:45:41 +00:00
fzielcke
4910684af3
args forgot Changelog entry in previous commit
2009-03-04 12:44:18 +00:00
bean
7e9ca17ace
2009-03-04 Bean <bean123ch@gmail.com>
...
* configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
another option -mno-red-zone.
* commands/handler.c: Change module description.
* kern/handler.c: Add missing space at the end of description line.
* kern/list.c: Likewise.
2009-03-04 05:56:31 +00:00
robertmh
f501677cb2
2009-03-03 Robert Millan <rmh@aybabtu.com>
...
Move more components to the relocation area, and fix mbi pointer
handling to use the destination rather than the origin (thanks to
Vladimir Serbinenko for spotting).
* loader/i386/multiboot.c (mbi_dest): New variable.
(grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
(grub_multiboot): Put cmdline, boot_loader_name and mbi in the
relocation area.
2009-03-03 19:00:41 +00:00
bean
9902d04725
2009-03-01 Bean <bean123ch@gmail.com>
...
* include/grub/efi/api.h (GRUB_EFI_MPS_TABALE_GUID): New constant.
(GRUB_EFI_ACPI_TABLE_GUID): Likewise.
(GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
(GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
* loader/i386/efi/linux.c (acpi_guid): New variable.
(acpi_guid): Likewise.
(EBDA_SEG_ADDR): New constant.
(LOW_MEM_ADDR): Likewise.
(FAKE_EBDA_SEG): Likewise.
(fake_bios_data): New function.
(grub_linux_boot): Call fake_bios_data.
2009-03-01 17:57:57 +00:00
bean
71b9f36193
2009-03-01 Bean <bean123ch@gmail.com>
...
* commands/terminal.c: Removed.
* commands/handler.c: New file.
* include/grub/list.h: Likewise.
* include/grub/handler.h: Likewise.
* kern/list.c: Likewise.
* kern/handler.c: Likewise.
* kern/term.h: Include header file <grub/handler.h>.
(grub_term_input): Move next field to the beginning.
(grub_term_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_output_class): Likewise.
(grub_term_register_input): Changed to inline function.
(grub_term_register_output): Likewise.
(grub_term_unregister_input): Likewise.
(grub_term_unregister_output): Likewise.
(grub_term_set_current_input): Likewise.
(grub_term_set_current_output): Likewise.
(grub_term_get_current_input): Likewise.
(grub_term_get_current_output): Likewise.
(grub_term_iterate_input): Removed.
(grub_term_iterate_output): Likewise.
* kern/term.c (grub_term_list_input): Removed.
(grub_term_list_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_output_class): Likewise.
(grub_cur_term_input): Change varaible as macro.
(grub_cur_term_output): Likewise.
(grub_term_register_input): Removed.
(grub_term_register_output): Likewise.
(grub_term_unregister_input): Likewise.
(grub_term_unregister_output): Likewise.
(grub_term_set_current_input): Likewise.
(grub_term_set_current_output): Likewise.
(grub_term_iterate_input): Likewise.
(grub_term_iterate_output): Likewise.
(grub_term_get_current_input): Likewise.
(grub_term_get_current_output): Likewise.
* util/grub-editenv.c: Include header file <grub/handler.h>.
(grub_term_get_current_input): Removed.
(grub_term_get_current_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_outout_class): Likewise.
* util/grub-fstest.c (grub_term_get_current_input): Removed.
(grub_term_get_current_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_outout_class): Likewise.
* util/grub-probe.c (grub_term_get_current_input): Removed.
(grub_term_get_current_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_outout_class): Likewise.
* util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
(grub_term_get_current_output): Likewise.
(grub_term_input_class): New variable.
(grub_term_outout_class): Likewise.
* conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
(terminal_mod_SOURCES): Likewise.
(terminal_mod_CFLAGS): Likewise.
(terminal_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_img_SOURCES): Add list.c and handler.c.
(kernel_img_HEADERS): Add list.h and handler.h.
* conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_mod_SOURCES): Add list.c and handler.c.
(kernel_mod_HEADERS): Add list.h and handler.h.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_elf_SOURCES): Add list.c and handler.c.
(kernel_elf_HEADERS): Add list.h and handler.h.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_elf_SOURCES): Add list.c and handler.c.
(kernel_elf_HEADERS): Add list.h and handler.h.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_mod_SOURCES): Add list.c and handler.c.
(kernel_mod_HEADERS): Add list.h and handler.h.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
handler.c.
(kernel_elf_SOURCES): Add list.c and handler.c.
(kernel_elf_HEADERS): Add list.h and handler.h.
2009-03-01 17:51:44 +00:00
robertmh
8a31787ff5
2009-02-27 Robert Millan <rmh@aybabtu.com>
...
Factorize elf32 / elf64 code in Multiboot loader. This will
prevent it from getting out of sync again.
* loader/i386/multiboot.c (grub_multiboot_is_elf32,
grub_multiboot_load_elf32, grub_multiboot_is_elf64,
grub_multiboot_load_elf64): Move from here ...
* loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
grub_multiboot_load_elf): ... to here (new file).
2009-02-27 23:04:46 +00:00
robertmh
51cd3dfc70
2009-02-27 Robert Millan <rmh@aybabtu.com>
...
* util/grub.d/10_linux.in: Rename "single-user mode" to
"recovery mode".
2009-02-27 21:37:07 +00:00
robertmh
6e8c9c3a87
2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
...
Don't leak in SCSI code.
* disk/scsi.c (grub_scsi_close): free `scsi'.
2009-02-27 21:27:01 +00:00
robertmh
4b6bf4f97c
2009-02-27 Robert Millan <rmh@aybabtu.com>
...
* loader/i386/pc/multiboot.c: Move from here ...
* loader/i386/multiboot.c: ... to here. Update all users.
2009-02-27 21:19:00 +00:00
robertmh
b941342428
2009-02-27 Robert Millan <rmh@aybabtu.com>
...
Patch from Alexandre Bique <bique.alexandre@gmail.com>
* util/i386/pc/grub-setup.c (setup): Fix directory path.
2009-02-27 21:01:25 +00:00
robertmh
34519c3f9d
2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
...
* fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
b-tree.
2009-02-27 19:50:53 +00:00
robertmh
8cc50345f8
2009-02-27 Robert Millan <rmh@aybabtu.com>
...
* kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
`0x' qualifier as 0 when base is specified as parameter).
2009-02-27 19:33:38 +00:00
bean
6e09b8b72e
2009-02-24 Bean <bean123ch@gmail.com>
...
* configure.ac: Check for -mcmodel=large in x86_64 target.
* include/grub/efi/api.h (efi_call_10): New macro.
(efi_wrap_10): New function.
* include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
(GRUB_PE32_REL_BASED_HIGH): Likewise.
(GRUB_PE32_REL_BASED_LOW): Likewise.
(GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
(GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
(GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
(GRUB_PE32_REL_BASED_SECTION): Likewise.
(GRUB_PE32_REL_BASED_REL): Likewise.
(GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
(GRUB_PE32_REL_BASED_DIR64): Likewise.
(GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
* kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
issue.
* kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
(efi_wrap_10): New function.
* kern/x86_64/efi/startup.S (codestart): Use relative addressing.
* loader/efi/appleloader.c (devpath_5): Add support for late 2008
MB/MBP model (NV chipset).
(devdata_devs): Add devpath_5 to the list.
* load/i386/efi/linux.c (video_base): Remove variable.
(RGB_MASK): New macro.
(RGB_MAGIC): Likewise.
(LINE_MIN): Likewise.
(LINE_MAX): Likewise.
(FBTEST_STEP): Likewise.
(FBTEST_COUNT): Likewise.
(fb_list): New variable.
(grub_find_video_card): Remove function.
(find_framebuf): New function.
(grub_linux_setup_video): Use find_framebuf to get frame buffer and
line length.
* util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
problem for x86_64.
2009-02-24 13:19:46 +00:00
chaac
74b21bee5c
2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
...
Patch #25624 by Kevin Lacquement <kevin@lacqui>.
* util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
coding tool name.
2009-02-22 21:55:49 +00:00
robertmh
a455f472aa
2009-02-22 Robert Millan <rmh@aybabtu.com>
...
* include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
* loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
in our relocation, instead of using it directly from heap. Also
use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
2009-02-22 00:44:22 +00:00