Robert Millan
f84b481b35
Cheery-pick grub-emu split from experimental (rev 1361)
...
2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Detect all `emu' platforms. Define
GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
--enable-grub-emu logic. Disable include/grub/machine
symlink on `emu' platforms.
* genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
* gensymlist.sh.in: Likewise.
* include/grub/i386/coreboot/machine.h: Remove file.
* include/grub/i386/efi/machine.h: Likewise.
* include/grub/i386/ieee1275/machine.h: Likewise.
* include/grub/i386/pc/machine.h: Likewise.
* include/grub/i386/qemu/machine.h: Likewise.
* include/grub/powerpc/ieee1275/machine.h: Likewise.
* include/grub/sparc64/ieee1275/machine.h: Likewise.
* include/grub/x86_64/efi/machine.h: Likewise.
* commands/acpi.c: Remove `<grub/machine/machine.h>'.
* commands/halt.c: Likewise.
* commands/reboot.c: Likewise.
* include/grub/autoefi.h: Likewise.
* include/grub/i386/at_keyboard.h: Likewise.
* include/grub/i386/kernel.h: Likewise.
* include/grub/i386/loader.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* kern/dl.c: Likewise.
* kern/i386/coreboot/init.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/usb_keyboard.c: Likewise.
* include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
`<grub/machine/machine.h>'
[!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
* util/misc.c: Remove `<grub/machine/machine.h>' and
`<grub/machine/time.h>'.
* Makefile.in (enable_grub_emu): Remove variable.
Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
* conf/any-emu.rmk: New file.
* conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
(grub_emu_init.c): Move from here ...
* conf/any-emu.rmk: ... to here.
* conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
(grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
* conf/any-emu.rmk: ... to here.
2009-11-23 15:31:54 +00:00
Robert Millan
8d0edf4abd
2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/multiboot.h (struct grub_multiboot_header): Move
from here ...
* include/multiboot.h (struct multiboot_header): ... to here. Update
all users.
* include/grub/multiboot.h (struct grub_multiboot_info): Move
from here ...
* include/multiboot.h (struct multiboot_info): ... to here. Update
all users.
* include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
from here ...
* include/multiboot.h (struct multiboot_mmap_entry): ... to here.
Update all users.
* include/grub/multiboot.h (struct grub_mod_list): Move
from here ...
* include/multiboot.h (struct multiboot_mod_list): ... to here.
Update all users.
2009-11-13 13:34:51 +00:00
Robert Millan
c02a733496
Add a few files that were lost during transition from svn.
2009-11-08 16:57:31 +00:00
robertmh
86564c267a
2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/cpuid.h: Add header protection.
2009-10-09 18:23:48 +00:00
robertmh
5c936493d3
2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
...
Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
* include/grub/i386/cpuid.h: New file.
* commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
(has_longmode): Rename to ...
(grub_cpuid_has_longmode): ... this. Update all users. Remove
`static' attribute.
* loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
(grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
on a CPU that doesn't implement AMD64 instruction set.
2009-10-09 17:57:02 +00:00
robertmh
74c958b180
2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
return value.
* term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
KEYBOARD_ISREADY check.
(grub_at_keyboard_checkkey): Rename to ...
(grub_at_keyboard_getkey_noblock): ... this. Update all users.
Remove gratuitous cast.
2009-09-24 13:15:51 +00:00
phcoder
64bf71d0b1
2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
...
* include/grub/i386/xnu.h: Add license header.
include grub/err.h explicitly.
2009-08-29 12:57:38 +00:00
cjwatson
4cbe67e509
2009-08-28 Colin Watson <cjwatson@ubuntu.com>
...
2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
Add `getkeystatus' terminal method. Add a new `keystatus' command
to query it.
* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
modifier key bitmasks.
(struct grub_term_input): Add `getkeystatus' member.
(grub_getkeystatus): Add prototype.
* kern/term.c (grub_getkeystatus): New function.
* include/grub/i386/pc/memory.h
(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
(struct grub_machine_bios_data_area): Define necessary parts of BIOS
Data Area layout.
* term/i386/pc/console.c (grub_console_getkeystatus): New function.
(grub_console_term_input): Set `getkeystatus' member.
* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
constants.
(grub_usb_keyboard_getreport): Likewise.
(grub_usb_keyboard_checkkey): Likewise.
(grub_usb_keyboard_getkeystatus): New function.
(grub_usb_keyboard_term): Set `getkeystatus' member.
* commands/keystatus.c: New file.
* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
(keystatus_mod_SOURCES): New variable.
(keystatus_mod_CFLAGS): Likewise.
(keystatus_mod_LDFLAGS): Likewise.
* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
commands/keystatus.c.
* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
* DISTLIST: Add commands/keystatus.c.
2009-08-28 13:20:34 +00:00
phcoder
552bf6c568
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
NetBSD memory map support.
* include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
(grub_netbsd_btinfo_mmap_header): New structure.
(grub_netbsd_btinfo_mmap_entry): Likewise.
* loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2009-08-26 00:32:57 +00:00
phcoder
dd103c4e04
2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
...
Fix OpenBSD and NetBSD support.
* include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
memory address conflict.
(OPENBSD_MMAP_ACPI): New definition.
(OPENBSD_MMAP_NVS): Likewise.
* loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
and OPENBSD_MMAP_NVS.
Add memory map terminator
Explicit cast when calling grub_unix_real_boot.
(grub_nebsd_boot): Explicit cast when calling grub_unix_real_boot.
2009-08-24 13:20:24 +00:00
phcoder
f5ae9f745f
2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
...
Support --no-smp and --no-acpi for NetBSD.
* include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
(NETBSD_AB_NOACPI): Likewise.
* loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
(netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2009-08-24 12:55:19 +00:00
phcoder
d3539132cd
2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
...
Framebuffer split.
* commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
subsystem at the end.
* conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
(video_fb_mod_SOURCES): New variable.
(video_fb_mod_CFLAGS): Likewise.
(video_fb_mod_LDFLAGS): Likewise.
* conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
* video/i386/pc/vbeblit.c: Moved from here ...
* video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbefill.c: Moved from here ...
* video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbeutil.c: Moved from here ...
* video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbeblit.h: Moved from here ...
* include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbefill.h: Moved from here ...
* include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbeutil.h: Moved from here ...
* include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/i386/pc/vbe.h: Moved framebuffer part ...
* include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
* include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
(GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
(grub_video_adapter): Added 'get_info_and_fini'.
(grub_video_get_info_and_fini): New prototype.
(grub_video_set_mode): make modestring const char *.
* loader/i386/linux.c (grub_linux_setup_video): Use
grub_video_get_info_and_fini.
(grub_linux_boot): Move modesetting just before booting.
* loader/i386/pc/xnu.c (grub_xnu_set_video): Use
grub_video_get_info_and_fini.
* video/i386/pc/vbe.c: Moved framebuffer part ...
* video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
* video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
grub_video_fbstd_colors and grub_video_fb_set_palette.
(grub_video_vbe_init): Clear 'framebuffer' variable and use
grub_video_fb_init.
(grub_video_vbe_fini): Use grub_video_fb_fini.
(grub_video_vbe_setup): Use framebuffer.render_target instead of
render_target and use grub_video_fb_set_active_render_target and
grub_video_fb_set_palette.
(grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
(grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
(grub_video_vbe_adapter): Use framebuffer.
* video/video.c (grub_video_get_info_and_fini): New function.
(grub_video_set_mode): Make modestring const char *.
(GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
values are already initialised.
2009-08-14 12:41:58 +00:00
robertmh
81623db677
2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
(KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
(bsd_kernel_types): ... this enum.
* loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
(grub_cmd_freebsd_module_elf): Abort with "You need to load the
kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
(grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
(grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
(GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
messages.
2009-08-10 15:42:39 +00:00
robertmh
f56a875639
2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
...
Fix a bug resulting in black screen when loading Linux using a
packed video mode.
* kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
function.
* include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
(grub_vbe_bios_getset_dac_palette_width): New function.
(grub_vbe_bios_get_dac_palette_width)
(grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
grub_vbe_bios_getset_dac_palette_width()).
* video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
check for return status.
(grub_vbe_get_video_mode_info): When getting information for a packed
mode (<= 8 bpp), obtain DAC palette width using
grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
{red,green,blue}_mark_size.
2009-08-04 21:28:19 +00:00
proski
5680109e00
2009-07-19 Pavel Roskin <proski@gnu.org>
...
* Makefile.in: Remove LIBLZO and enable_lzo.
* conf/i386-pc.rmk: Remove lzo support.
* configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
* include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
support.
* kern/i386/pc/lzo1x.S: Remove.
* kern/i386/pc/startup.S: Remove lzo support.
* util/i386/pc/grub-mkimage.c: Likewise.
2009-07-19 20:23:33 +00:00
proski
fde24e10a8
2009-07-15 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
Increase to 0x5a to accommodate FAT32. Adjust other offsets
accordingly.
Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2009-07-15 15:06:12 +00:00
proski
40b132c562
2009-07-15 Pavel Roskin <proski@gnu.org>
...
* boot/i386/pc/boot.S (boot_version): Remove.
* include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
Remove.
2009-07-15 14:55:24 +00:00
proski
2059157753
2009-07-15 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/pc/boot.h: Sort all offsets.
(GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
(GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
* boot/i386/pc/boot.S: Assert location of every offset listed in
include/grub/i386/pc/boot.h.
2009-07-15 14:54:18 +00:00
proski
44b5d87973
2009-07-13 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/coreboot/machine.h: Rename
GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
* loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2009-07-13 23:57:11 +00:00
proski
bab7495862
2009-07-05 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/linux.h (struct linux_kernel_params):
Restore padding3, it's still needed.
2009-07-06 02:10:57 +00:00
robertmh
2da9229550
2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/linux.h (struct linux_kernel_params): Add
`capabilities' member.
2009-07-04 16:29:01 +00:00
robertmh
a337130b25
2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
type to `grub_uint8_t', and adjust `padding9' accordingly.
2009-07-01 01:04:12 +00:00
robertmh
b09db61ddd
2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
* loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
assembly in final jump, using register constraints.
(grub_linux_boot): For text mode, initialize `have_vga' using
GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
right before the final jump.
Set `video_mode' to 0x3.
Document initialization of `video_page', `video_mode' and
`video_ega_bx'.
2009-06-29 17:19:35 +00:00
robertmh
28333ad04f
2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
* loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
and set GRUB_LINUX_FLAG_QUIET appropiately.
2009-06-29 12:20:56 +00:00
robertmh
8231fb77c6
2009-06-27 Pavel Roskin <proski@gnu.org>
...
2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/dl.h: Include grub/elf.h.
(struct grub_dl): Add symtab field.
* kern/dl.c [GRUB_MACHINE_QEMU]: Define
GRUB_MODULES_MACHINE_READONLY.
(grub_dl_resolve_symbols): Populate mod->symtab, making a copy
of the header for read-only modules.
(grub_dl_unload): Free mod->symtab for read-only modules.
* kern/i386/dl.c: Use mod->symtab.
* kern/powerpc/dl.c: Likewise.
* kern/sparc64/dl.c: Likewise.
* kern/x86_64/dl.c: Likewise.
* conf/i386-qemu.rmk: New file.
* kern/i386/qemu/startup.S: Likewise.
* kern/i386/qemu/mmap.c: Likewise.
* boot/i386/qemu/boot.S: Likewise.
* include/grub/i386/qemu/time.h: Likewise.
* include/grub/i386/qemu/serial.h: Likewise.
* include/grub/i386/qemu/kernel.h: Likewise.
* include/grub/i386/qemu/console.h: Likewise.
* include/grub/i386/qemu/boot.h: Likewise.
* include/grub/i386/qemu/init.h: Likewise.
* include/grub/i386/qemu/machine.h: Likewise.
* include/grub/i386/qemu/loader.h: Likewise.
* include/grub/i386/qemu/memory.h: Likewise.
* conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
(GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
[qemu] (pkglib_IMAGES): Add `boot.img'.
[qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
[qemu] (boot_img_FORMAT): New variables.
[qemu] (bin_UTILITIES): Add `grub-mkimage'.
[qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
[qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
[qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
[qemu] (kernel_img_FORMAT): New variables.
* configure.ac: Recognise `i386-qemu'.
* util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
(for no compression).
[GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
`GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
`GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
ifdefs).
2009-06-27 11:18:10 +00:00
robertmh
a42ce6e962
2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
[! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
2009-06-22 20:40:28 +00:00
phcoder
3f3ec72b38
2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
...
Load BSD ELF modules
* conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
and loader/i386/bsd64.c
* include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
(FREEBSD_MODTYPE_ELF_MODULE): New definition
(FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
(grub_freebsd_load_elfmodule32): New declaration
(grub_freebsd_load_elfmoduleobj64): Likewise
(grub_freebsd_load_elf_meta32): Likewise
(grub_freebsd_load_elf_meta64): Likewise
(grub_freebsd_add_meta): Likewise
(grub_freebsd_add_meta_module): Likewise
* loader/i386/bsd.c (grub_freebsd_add_meta): Make global
(grub_freebsd_add_meta_module): Likewise and move module-specific
parts to grub_cmd_freebsd and grub_cmd_freebsd_module
(grub_cmd_freebsd): Add elf-kernel specific parts
based on grub_freebsd_add_meta_module
(grub_cmd_freebsd_module): Add type parsing moved from
grub_freebsd_add_meta_module
(grub_cmd_freebsd_module_elf): New function
(cmd_freebsd_module_elf): New variable
(GRUB_MOD_INIT): Register freebsd_module_elf
* loader/i386/bsd32.c: New file
* loader/i386/bsd64.c: Likewise
* loader/i386/bsdXX.c: Likewise
* kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
(grub_elf64_load): Likewise
* include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
All users updated
(grub_elf64_load_hook_t): Likewise
2009-06-21 15:48:10 +00:00
robertmh
cd7310d5d5
2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/loader.h (grub_linux_prot_size)
(grub_linux_tmp_addr, grub_linux_real_addr)
(grub_linux_is_bzimage, grub_linux16_boot): Declare only on
GRUB_MACHINE_PCBIOS.
* util/i386/pc/grub-mkimage.c (compress_kernel): Move
common grub_util_info() call to ...
(generate_image): ... here.
Fix use of uninitialized memory, comparison of signed with
unsigned integers and memory leak.
Remove bogus module address message.
2009-06-20 14:11:45 +00:00
proski
d363867871
2009-06-17 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/coreboot/console.h: Don't use the i386-pc
version, use declarations needed to use vga_text as the startup
console.
2009-06-17 19:42:06 +00:00
proski
3ef17a2ebf
2009-06-16 Pavel Roskin <proski@gnu.org>
...
* boot/i386/pc/boot.S: Remove root_drive. Assert offset of
boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
save %dx, we only need %dl and we never change it.
* boot/i386/pc/cdboot.S: Don't set the root drive.
* boot/i386/pc/pxeboot.S: Likewise.
* include/grub/i386/pc/boot.h: Remove
GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
GRUB_BOOT_MACHINE_DRIVE_CHECK.
* include/grub/i386/pc/kernel.h: Remove grub_root_drive.
* kern/i386/pc/init.c (make_install_device): Remove references
to grub_root_drive.
* kern/i386/pc/startup.S: Likewise.
* util/i386/pc/grub-setup.c (setup): Don't set root_drive.
2009-06-15 23:25:38 +00:00
phcoder
63963d17d0
2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
...
Drivemap fixes
* commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
new function
(grub_get_root_biosnumber_saved): new variable
(GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
(GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
* commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
%dx after the call if necessary
* conf/common.rmk (pkglib_MODULES): remove boot.mod
(boot_mod_SOURCES): remove
(boot_mod_CFLAGS): remove
(boot_mod_LDFLAGS): remove
* conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
(boot_mod_SOURCES): new variable
(boot_mod_CFLAGS): likewise
(boot_mod_LDFLAGS): likewise
* conf/i386-efi.rmk: likewise
* conf/i386-ieee1275.rmk: likewise
* conf/i386-pc.rmk: likewise
* conf/powerpc-ieee1275.rmk: likewise
* conf/sparc64-ieee1275.rmk: likewise
* conf/x86_64-efi.rmk: likewise
* include/grub/i386/pc/biosnum.h: new file
* lib/i386/pc/biosnum.c: likewise
* loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
* loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
* loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
2009-06-11 16:13:39 +00:00
fzielcke
b39f9d20a9
remove all trailing whitespace
2009-06-10 21:04:23 +00:00
phcoder
cc6c3ac1bf
2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
...
Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
* efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
temporary storage
* include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
using Apple's CC
(grub_cpu_is_tsc_supported): likewise
* loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
2009-06-04 20:10:51 +00:00
proski
96b1619a75
2009-05-22 Pavel Roskin <proski@gnu.org>
...
* include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
to grub_uint8_t.
(grub_root_drive): Likewise.
* kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
remove alignment.
(grub_root_drive): Change size to byte.
(grub_start_addr): Remove.
(grub_end_addr): Likewise.
(grub_apm_bios_info): Likewise.
2009-05-22 19:52:43 +00:00
bean
9d87a1ba36
2009-05-16 Bean <bean123ch@gmail.com>
...
* conf/common.rmk (pkglib_MODULES): Add lua.mod.
(lua_mod_SOURCES): New variable.
(lua_mod_CFLAGS): Likewise.
(lua_mod_LDFLAGS): Likewise.
* conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
(setjmp_mod_SOURCES): New variable.
(setjmp_mod_CFLAGS): Likewise.
(setjmp_LDFLAGS): Likewise.
* conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
(setjmp_mod_SOURCES): New variable.
(setjmp_mod_CFLAGS): Likewise.
(setjmp_LDFLAGS): Likewise.
* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
(setjmp_mod_SOURCES): New variable.
(setjmp_mod_CFLAGS): Likewise.
(setjmp_LDFLAGS): Likewise.
* conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
(setjmp_mod_SOURCES): New variable.
(setjmp_mod_CFLAGS): Likewise.
(setjmp_LDFLAGS): Likewise.
* normal/i386/setjmp.S: Moved from here ...
* lib/i386/setjmp.S: ... Moved here
* normal/x86_64/setjmp.S: Moved from here ...
* lib/x86_64/setjmp.S: ... Moved here
* normal/powerpc/setjmp.S: Moved from here ...
* lib/powerpc/setjmp.S: ... Moved here
* normal/sparc64/setjmp.S: Moved from here ...
* lib/sparc64/setjmp.S: ... Moved here
* include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
returns_twice in mingw.
* script/lua/grub_lib.c: New file.
* script/lua/grub_lib.h: Likewise.
* script/lua/grub_lua.h: Likewise.
* script/lua/grub_main.c: Likewise.
* script/lua/lapi.c: Likewise.
* script/lua/lapi.h: Likewise.
* script/lua/lauxlib.c: Likewise.
* script/lua/lauxlib.h: Likewise.
* script/lua/lbaselib.c: Likewise.
* script/lua/lcode.c: Likewise.
* script/lua/lcode.h: Likewise.
* script/lua/ldblib.c: Likewise.
* script/lua/ldebug.c: Likewise.
* script/lua/ldebug.h: Likewise.
* script/lua/ldo.c: Likewise.
* script/lua/ldo.h: Likewise.
* script/lua/ldump.c: Likewise.
* script/lua/lfunc.c: Likewise.
* script/lua/lfunc.h: Likewise.
* script/lua/lgc.c: Likewise.
* script/lua/lgc.h: Likewise.
* script/lua/linit.c: Likewise.
* script/lua/liolib.c: Likewise.
* script/lua/llex.c: Likewise.
* script/lua/llex.h: Likewise.
* script/lua/llimits.h: Likewise.
* script/lua/lmathlib.c: Likewise.
* script/lua/lmem.c: Likewise.
* script/lua/lmem.h: Likewise.
* script/lua/loadlib.c: Likewise.
* script/lua/lobject.c: Likewise.
* script/lua/lobject.h: Likewise.
* script/lua/lopcodes.c: Likewise.
* script/lua/lopcodes.h: Likewise.
* script/lua/loslib.c: Likewise.
* script/lua/lparser.c: Likewise.
* script/lua/lparser.h: Likewise.
* script/lua/lstate.c: Likewise.
* script/lua/lstate.h: Likewise.
* script/lua/lstring.c: Likewise.
* script/lua/lstring.h: Likewise.
* script/lua/lstrlib.c: Likewise.
* script/lua/ltable.c: Likewise.
* script/lua/ltable.h: Likewise.
* script/lua/ltablib.c: Likewise.
* script/lua/ltm.c: Likewise.
* script/lua/ltm.h: Likewise.
* script/lua/lua.h: Likewise.
* script/lua/luaconf.h: Likewise.
* script/lua/lualib.h: Likewise.
* script/lua/lundump.c: Likewise.
* script/lua/lundump.h: Likewise.
* script/lua/lvm.c: Likewise.
* script/lua/lvm.h: Likewise.
* script/lua/lzio.c: Likewise.
* script/lua/lzio.h: Likewise.
2009-05-16 12:46:24 +00:00
robertmh
74bfdd2f77
2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
to 0x300.
* loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
resolutions.
(linux_vesafb_modes): Add a lot of additional modes to the list (based
on documentation from Wikipedia).
2009-05-04 20:21:33 +00:00
phcoder
cef17233d4
2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
...
FreeBSD 64-bit support
* conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
and loader/i386/bsd_trampoline.S
(bsd_mod_ASFLAGS): new variable
* include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
(FREEBSD_MODTYPE_KERNEL64): likewise
(grub_bsd64_trampoline_start): likewise
(grub_bsd64_trampoline_end): likewise
(grub_bsd64_trampoline_selfjump): likewise
(grub_bsd64_trampoline_gdt): likewise
* include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
* include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
* kern/i386/loader.S (grub_unix_real_boot): moved from here ...
* loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
* include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
of "attrib" member
* loader/i386/bsd_pagetable.c: new file
* loader/i386/bsd_trampoline.S: likewise
* loader/i386/bsd.c (ALIGN_QWORD): new macro
(ALIGN_VAR): likewise
(entry_hi): new variable
(kern_end_mdofs): likewise
(is_64bit): likewise
(grub_freebsd_add_meta): use ALIGN_VAR
(grub_e820_mmap): new declaration
(grub_freebsd_add_mmap): new function
(grub_freebsd_add_meta_module): support 64 bit kernels
(grub_freebsd_list_modules): use ALIGN_VAR
(gdt_descriptor): new declaration
(grub_freebsd_boot): support 64 bit kernels
(grub_bsd_elf64_hook): new function
(grub_bsd_load_elf): support elf64
2009-05-03 09:03:31 +00:00
phcoder
bbee0f2b56
2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
...
xnu support
* conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
(pkglib_MODULES): add xnu.mod
(xnu_mod_SOURCES): new variable
(xnu_mod_CFLAGS): likewise
(xnu_mod_LDFLAGS): likewise
(xnu_mod_ASFLAGS): likewise
* conf/i386-pc.rmk: likewise
* conf/x86_64-efi.rmk: likewise
* include/grub/efi/efi.h (grub_efi_finish_boot_services):
new declaration
* include/grub/i386/macho.h: new file
* include/grub/i386/xnu.h: likewise
* include/grub/macho.h: likewise
* include/grub/machoload.h: likewise
* include/grub/x86_64/macho.h: likewise
* include/grub/x86_64/xnu.h: likewise
* include/grub/xnu.h: likewise
* kern/efi/efi.c (grub_efi_finish_boot_services): new function
* kern/efi/mm.c (MAX_HEAP_SIZE): increase
* loader/i386/efi/xnu.c: new file
* loader/i386/pc/xnu.c: likewise
* loader/i386/xnu.c: likewise
* loader/i386/xnu_helper.S: likewise
* loader/macho.c: likewise
* loader/xnu.c: likewise
* loader/xnu_resume.c: likewise
* util/grub-dumpdevtree: likewise
* include/grub/i386/pit.h: include grub/err.h
(grub_pit_wait): export
* util/grub.d/30_os-prober.in: support Darwin/Mac OS X
2009-05-02 23:19:20 +00:00
phcoder
5caf964d75
2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
...
Efiemu
* conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
_linux_efi, linux_efi.
new files in grub-emu
new targets efiemu32.o and efiemu64.o
* loader/linux_normal_efiemu.c: likewise
* loader/i386/efi/linux.c: added preliminary efiemu support
* util/i386/pc/grub-install.in: add efiemu??.o to the list of
files to copy
* include/grub/autoefi.h: new file
* nclude/grub/i386/efiemu.h: likewise
* include/grub/i386/pc/efiemu.h: likewise
* include/grub/efi/api.h: add LL suffix when necessary
new definitions relating to tables
* include/grub/efiemu/efiemu.h: new file
* include/grub/efiemu/runtime.h: likewise
* efiemu/prepare.c: likewise
* efiemu/loadcore_common.c: likewise
* efiemu/loadcore64.c: likewise
* efiemu/runtime/efiemu.sh: likewise
* efiemu/runtime/efiemu.S: likewise
* efiemu/runtime/efiemu.c: likewise
* efiemu/runtime/config.h: likewise
* efiemu/prepare32.c: likewise
* efiemu/main.c: likewise
* efiemu/modules/pnvram.c: likewise
* efiemu/modules/i386: likewise
* efiemu/modules/i386/pc: likewise
* efiemu/modules/acpi.c: likewise
* efiemu/i386/pc/cfgtables.c: likewise
* efiemu/i386/loadcore64.c: likewise
* efiemu/i386/loadcore32.c: likewise
* efiemu/prepare64.c: likewise
* efiemu/loadcore.c: likewise
* efiemu/symbols.c: likewise
* efiemu/mm.c: likewise
* efiemu/loadcore32.c: likewise
2009-05-02 22:40:21 +00:00
phcoder
09d842b9c6
2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
...
Mmap services
* loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
* loader/i386/linux.c (find_mmap_size): likewise
(allocate_pages): likewise
* loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
(grub_fill_multiboot_mmap): likewise
(grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
* loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
* include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
(OPENBSD_MMAP_RESERVED): likewise
* include/grub/i386/pc/memory.h: include grub/memory.h
(grub_lower_mem): removed
(grub_upper_mem): likewise
(GRUB_MACHINE_MEMORY_ACPI): new definition
(GRUB_MACHINE_MEMORY_NVS): likewise
(GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
(GRUB_MACHINE_MEMORY_HOLE): likewise
(grub_machine_mmap_register): likewise
(grub_machine_mmap_unregister): likewise
(grub_machine_get_upper): likewise
(grub_machine_get_lower): likewise
(grub_machine_get_post64): likewise
* include/grub/i386/efi/memory.h: new file
* include/grub/x86_64/efi/memory.h: likewise
* include/grub/efi/memory.h: likewise
* conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
(mmap_mod_SOURCES): new variable
(mmap_mod_LDFLAGS): likewise
(mmap_mod_ASFLAGS): likewise
* conf/i386-coreboot.rmk: likewise
* conf/i386-ieee1275.rmk: likewise
* conf/i386-efi.rmk: likewise
* conf/x86_64-efi.rmk: likewise
* include/grub/types.h (UINT_TO_PTR): new macro
(PTR_TO_UINT32): likewise
(PTR_TO_UINT64): likewise
* include/grub/memory.h: new file
* mmap/i386/pc/mmap.c: likewise
* mmap/i386/pc/mmap_helper.S: likewise
* mmap/i386/uppermem.c: likewise
* mmap/mmap.c: likewise
* mmap/efi/mmap.c: likewise
* kern/i386/coreboot/init.c (grub_machine_init): don't use
grub_upper_mem
* kern/i386/pc/init.c (grub_lower_mem): removed variable
(grub_upper_mem): likewise
(grub_machine_init): don't use grub_upper_mem,
make grub_lower_mem local
* loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
grub_mmap_iterate and grub_mmap_get_upper
(grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
2009-05-02 21:46:34 +00:00
phcoder
a5562c306f
2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
...
Bug and warning fixes
* include/grub/i386/pc/init.h (grub_stop_floppy): added missing
declaration
* commands/test.c (test_parse): fixed bug with file tests and corrected
declaration of find_file
2009-04-26 15:09:30 +00:00
bean
e7e6862a4c
2009-04-10 Bean <bean123ch@gnail.com>
...
* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
attribute, otherwise the size would be wrong for i386 platform.
* include/grub/pci.h (grub_pci_read_word): New inline function.
(grub_pci_read_byte): Likewise.
(grub_pci_write): Likewise.
(grub_pci_write_word): Likewise.
(grub_pci_write_byte): Likewise.
* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
(find_framebuf): Scan pci to locate the frame buffer address.
* commands/efi/fixvideo.c: New file.
* commands/efi/loadbios.c: Likewise.
* commands/memrw.c: Likewise.
* util/grub-dumpbios.in: Likewise.
* conf/common.rmk (grub-dumpbios): New utility.
(pkglib_MODULES): New module memrw.mod.
(memrw_mod_SOURCE): New macro.
(memrw_mod_CFLAGS): Likewise.
(memrw_mod_LDFLAGS): Likewise.
* conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and
fixvideo.mod.
(loadbios_mod_SOURCE): New macro.
(loadbios_mod_CFLAGS): Likewise.
(loadbios_mod_LDFLAGS): Likewise.
(fixvideo_mod_SOURCE): Likewise.
(fixvideo_mod_CFLAGS): Likewise.
(fixvideo_mod_LDFLAGS): Likewise.
* conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and
fixvideo.mod.
(loadbios_mod_SOURCE): New macro.
(loadbios_mod_CFLAGS): Likewise.
(loadbios_mod_LDFLAGS): Likewise.
(fixvideo_mod_SOURCE): Likewise.
(fixvideo_mod_CFLAGS): Likewise.
(fixvideo_mod_LDFLAGS): Likewise.
2009-04-10 15:33:34 +00:00
proski
1007d1f562
2009-04-06 Pavel Roskin <proski@gnu.org>
...
* include/grub/misc.h (ARRAY_SIZE): New macro.
* include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
New macro.
* loader/i386/linux.c (allocate_pages): Use free_pages().
(grub_linux_unload): Don't use free_pages().
(grub_linux_boot): Prevent accessing linux_vesafb_modes with a
wrong index. Treat all other modes as text modes.
(grub_cmd_linux): Initialize vid_mode unconditionally to
GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
2009-04-07 00:48:57 +00:00
okuji
6842cec424
Undo r2063.
2009-04-04 09:22:35 +00:00
bean
838c454296
2009-04-04 Bean <bean123ch@gnail.com>
...
* include/grub/efi/api.h (grub_efi_configuration_table): Add packed
attribute, otherwise the size would be wrong for i386 platform.
* include/grub/pci.h (grub_pci_read_word): New inline function.
(grub_pci_read_byte): Likewise.
(grub_pci_write): Likewise.
(grub_pci_write_word): Likewise.
(grub_pci_write_byte): Likewise.
* include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
* loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
(find_framebuf): Scan pci to locate the frame buffer address.
* commands/efi/fixvideo.c: New file.
* commands/efi/loadbios.c: Likewise.
* commands/memrw.c: Likewise.
* util/grub-dumpbios.in: Likewise.
* conf/common.rmk (grub-dumpbios): New utility.
(pkglib_MODULES): New module memrw.mod.
(memrw_mod_SOURCE): New macro.
(memrw_mod_CFLAGS): Likewise.
(memrw_mod_LDFLAGS): Likewise.
* conf/i386-efi.rmk (pkglig_MODULES): New module loadbios.mod and
fixvideo.mod.
(loadbios_mod_SOURCE): New macro.
(loadbios_mod_CFLAGS): Likewise.
(loadbios_mod_LDFLAGS): Likewise.
(fixvideo_mod_SOURCE): Likewise.
(fixvideo_mod_CFLAGS): Likewise.
(fixvideo_mod_LDFLAGS): Likewise.
* conf/x86_64.rmk (pkglig_MODULES): New module loadbios.mod and
fixvideo.mod.
(loadbios_mod_SOURCE): New macro.
(loadbios_mod_CFLAGS): Likewise.
(loadbios_mod_LDFLAGS): Likewise.
(fixvideo_mod_SOURCE): Likewise.
(fixvideo_mod_CFLAGS): Likewise.
(fixvideo_mod_LDFLAGS): Likewise.
2009-04-04 08:08:01 +00:00
robertmh
5270cec8d7
2009-04-01 David S. Miller <davem@davemloft.net>
...
* normal/sparc64/setjmp.S: Fix setjmp implementation.
* include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
(grub_setjmp): Mark with 'returns_twice' attribute.
* include/grub/i386/setjmp.h (grub_setjmp): Likewise
* include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
* include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
2009-04-01 13:01:05 +00:00
robertmh
95646d9232
2009-03-30 Robert Millan <rmh@aybabtu.com>
...
Fix i386-ieee1275 build.
* include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
Remove declaration.
2009-04-01 00:04:50 +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
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
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