Vladimir 'phcoder' Serbinenko
15cb7d433f
Reimport nestpart
2010-02-06 18:43:37 +01:00
Vladimir 'phcoder' Serbinenko
f9ab2e25d3
2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
...
* include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
(grub_freebsd_bootinfo): Rewritten.
* loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2010-01-21 17:35:14 +01:00
Vladimir 'phcoder' Serbinenko
61eb45eee7
Rename asprint into xasprintf and avsprintf into xvasprintf
2010-01-20 09:12:47 +01:00
Vladimir 'phcoder' Serbinenko
2d49abe9e7
merge mainline into asprintf
2010-01-20 07:36:17 +01:00
Vladimir 'phcoder' Serbinenko
b0b139075e
2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
...
Use flag-based instead of hook-based video mode selection and "auto"
keyword.
* include/grub/video.h (grub_video_adapter): Changed 'setup' member.
(grub_video_set_mode): Changed prototype. All users updated.
(grub_video_check_mode_flag): New inline function.
* video/video.c (parse_modespec): New function.
(grub_video_set_mode): Parse flags and keywords.
2010-01-17 17:52:01 +01:00
Robert Millan
0a46429a55
2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
...
* include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
(grub_linux16_real_boot): ... this.
* kern/i386/loader.S: Likewise.
* loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
(grub_linux16_boot): New function. Switches to text mode and calls
grub_linux16_real_boot().
* loader/i386/bsd.c: Include `<grub/video.h>'.
(grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
text mode before calling grub_unix_real_boot().
* loader/i386/multiboot.c: Include `<grub/video.h>'.
(grub_multiboot_boot): Switch to text mode before calling
grub_relocator32_boot().
* loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
(grub_chainloader_boot): Switch to text mode before calling
grub_chainloader_real_boot().
2010-01-14 21:08:31 +00:00
carles
e7730de786
2010-01-06 Carles Pina i Estany <carles@pina.cat>
...
* kern/err.c: Include `<grub/i18n.h>'.
(grub_print_error): Add full stop. Gettextizze.
* loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
(grub_bsd_load_elf): Capitalise ELF.
(grub_cmd_freebsd_loadenv): Add `s' in error string.
(grub_cmd_freebsd_module): Likewise.
(grub_cmd_freebsd_module_elf): Likewise.
* loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2010-01-06 22:00:57 +00:00
carles
29c44ad156
2010-01-03 Carles Pina i Estany <carles@pina.cat>
...
* commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
* commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
full stop.
* commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
summary. Gettextizze the strings.
* commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
* disk/loopback.c (grub_arg_options): Capitalise first letter. Add
full stop.
(GRUB_MOD_INIT): Remove command name from summary.
* hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
summary.
* loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
* term/i386/pc/serial.c (options): Add full stops.
(GRUB_MOD_INIT): Remove command name from the summary.
2010-01-03 19:50:51 +01:00
carles
77a795923b
2010-01-03 Carles Pina i Estany <carles@pina.cat>
...
* commands/acpi.c: Gettextizze help strings and/or options. Include
`grub/i18n.h' if needed.
* commands/blocklist.c: Likewise.
* commands/boot.c: Likewise.
* commands/cat.c: Likewise.
* commands/cmp.c: Likewise.
* commands/configfile.c: Likewise.
* commands/crc.c: Likewise.
* commands/date.c: Likewise.
* commands/echo.c: Likewise.
* commands/efi/fixvideo.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/gptsync.c: Likewise.
* commands/halt.c: Likewise.
* commands/handler.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/i386/cpuid.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/i386/pc/halt.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.
* commands/keystatus.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/ls.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/lspci.c: Likewise.
* commands/memrw.c: Likewise.
* commands/minicmd.c: Likewise.
* commands/parttool.c: Likewise.
* commands/password.c: Likewise.
* commands/probe.c: Likewise.
* commands/read.c: Likewise.
* commands/reboot.c: Likewise.
* commands/search.c: Likewise.
* commands/sleep.c: Likewise.
* commands/test.c: Likewise.
* commands/true.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/videotest.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* disk/loopback.c: Likewise.
* hello/hello.c: Likewise.
* loader/i386/bsd.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* po/POTFILES: Add new files.
2010-01-03 19:24:22 +01:00
Vladimir 'phcoder' Serbinenko
8b442f3f4c
asprintf and snprintf support
2009-12-29 10:04:06 +01:00
carles
864ba2bbca
2009-12-27 Carles Pina i Estany <carles@pina.cat>
...
* efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
stops.
* kern/corecmd.c (grub_register_core_commands): Likewise.
* loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
* loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
* loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* normal/handler.c (insert_handler): Likewise.
* normal/main.c (GRUB_MOD_INIT): Likewise.
* term/gfxterm.c (GRUB_MOD_INIT): Likewise.
2009-12-26 11:01:33 +01:00
carles
fdcdbb6633
2009-12-26 Carles Pina i Estany <carles@pina.cat>
...
* commands/help.c (grub_cmd_help): Print the command name before the
summary.
(GRUB_MOD_INIT): Remove command name from the summary.
* kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
strig as summary.
* lib/arg.c (find_long): Print the command name before the summary.
* commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
summary.
* commands/blocklist.c (GRUB_MOD_INIT): Likewise.
* commands/cat.c (GRUB_MOD_INIT): Likewise.
* commands/cmp.c (GRUB_MOD_INIT): Likewise.
* commands/configfile.c (GRUB_MOD_INIT): Likewise.
* commands/crc.c (GRUB_MOD_INIT): Likewise.
* commands/date.c (GRUB_MOD_INIT): Likewise.
* commands/echo.c (GRUB_MOD_INIT): Likewise.
* commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
* commands/gptsync.c (GRUB_MOD_INIT): Likewise.
* commands/handler.c (GRUB_MOD_INIT): Likewise.
* commands/hdparm.c (GRUB_MOD_INIT): Likewise.
* commands/hexdump.c (GRUB_MOD_INIT): Likewise.
* commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
* commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
* commands/keystatus.c (GRUB_MOD_INIT): Likewise.
* commands/loadenv.c (GRUB_MOD_INIT): Likewise.
* commands/ls.c (GRUB_MOD_INIT): Likewise.
* commands/lspci.c (GRUB_MOD_INIT): Likewise.
* commands/memrw.c (GRUB_MOD_INIT): Likewise.
* commands/minicmd.c (GRUB_MOD_INIT): Likewise.
* commands/parttool.c (GRUB_MOD_INIT): Likewise.
* commands/password.c (GRUB_MOD_INIT): Likewise.
* commands/probe.c (GRUB_MOD_INIT): Likewise.
* commands/read.c (GRUB_MOD_INIT): Likewise.
* commands/search.c (GRUB_MOD_INIT): Likewise.
* commands/sleep.c (GRUB_MOD_INIT): Likewise.
* commands/test.c (GRUB_MOD_INIT): Likewise.
* commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
* efiemu/main.c (GRUB_MOD_INIT): Likewise.
* font/font_cmd.c (GRUB_MOD_INIT): Likewise.
* gettext/gettext.c (GRUB_MOD_INIT): Likewise.
* kern/corecmd.c (GRUB_MOD_INIT): Likewise.
* lib/arg.c (GRUB_MOD_INIT): Likewise.
* loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
* loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
* loader/xnu.c (GRUB_MOD_INIT): Likewise.
* mmap/mmap.c (GRUB_MOD_INIT): Likewise.
* term/terminfo.c (GRUB_MOD_INIT): Likewise.
* video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
* video/readers/png.c (GRUB_MOD_INIT): Likewise.
* video/readers/tga.c (GRUB_MOD_INIT): Likewise.
2009-12-26 00:50:59 +01:00
carles
7fd0baee0f
2009-12-24 Carles Pina i Estany <carles@pina.cat>
...
* bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
grub_errno calls.
* commands/acpi.c: Likewise.
* commands/blocklist.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/i386/pc/drivemap.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/memrw.c: Likewise.
* commands/password.c: Likewise.
* commands/videotest.c: Likewise.
* disk/ata.c: Likewise.
* disk/ata_pthru.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* disk/ieee1275/nand.c: Likewise.
* disk/ieee1275/ofdisk.c: Likewise.
* disk/loopback.c: Likewise.
* disk/lvm.c: Likewise.
* disk/mdraid_linux.c: Likewise.
* disk/raid.c: Likewise.
* disk/raid6_recover.c: Likewise.
* disk/scsi.c: Likewise.
* efiemu/main.c: Likewise.
* efiemu/mm.c: Likewise.
* efiemu/pnvram.c: Likewise.
* efiemu/symbols.c: Likewise.
* font/font.c: Likewise.
* fs/cpio.c: Likewise.
* fs/hfsplus.c: Likewise.
* fs/iso9660.c: Likewise.
* fs/jfs.c: Likewise.
* fs/minix.c: Likewise.
* fs/ntfs.c: Likewise.
* fs/ntfscomp.c: Likewise.
* fs/reiserfs.c: Likewise.
* fs/ufs.c: Likewise.
* fs/xfs.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/auth.h: Likewise.
* kern/elf.c: Likewise.
* kern/file.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/ieee1275/mmap.c: Likewise.
* kern/ieee1275/openfw.c: Likewise.
* kern/powerpc/dl.c: Likewise.
* kern/sparc64/dl.c: Likewise.
* lib/arg.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/bsdXX.c: Likewise.
* loader/i386/efi/linux.c: Likewise.
* loader/i386/efi/xnu.c: Likewise.
* loader/i386/ieee1275/linux.c: Likewise.
* loader/i386/linux.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/linux.c: Likewise.
* loader/i386/pc/multiboot2.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/ieee1275/multiboot2.c: Likewise.
* loader/macho.c: Likewise.
* loader/machoXX.c: Likewise.
* loader/multiboot2.c: Likewise.
* loader/multiboot_loader.c: Likewise.
* loader/powerpc/ieee1275/linux.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* loader/xnu.c: Likewise.
* loader/xnu_resume.c: Likewise.
* mmap/i386/pc/mmap.c: Likewise.
* normal/menu_viewer.c: Likewise.
* partmap/acorn.c: Likewise.
* partmap/amiga.c: Likewise.
* partmap/apple.c: Likewise.
* script/lexer.c: Likewise.
* term/gfxterm.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/i386/pc/vga.c: Likewise.
* term/ieee1275/ofconsole.c: Likewise.
* term/terminfo.c: Likewise.
* video/bitmap.c: Likewise.
* video/efi_gop.c: Likewise.
* video/efi_uga.c: Likewise.
* video/fb/video_fb.c: Likewise.
* video/i386/pc/vbe.c: Likewise.
* video/readers/tga.c: Likewise.
* video/video.c: Likewise.
2009-12-24 23:53:05 +01:00
Felix Zielcke
a2c1332b70
2009-12-23 Felix Zielcke <fzielcke@z-51.de>
...
* commands/i386/pc/drivemap.c: Remove all trailing whitespace.
* commands/lspci.c: Likewise.
* commands/probe.c: Likewise.
* commands/xnu_uuid.c: Likewise.
* conf/i386-coreboot.rmk: 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.
* fs/i386/pc/pxe.c: Likewise.
* gettext/gettext.c: Likewise.
* include/grub/efi/graphics_output.h: Likewise.
* include/grub/i386/pc/memory.h: Likewise.
* kern/env.c: Likewise.
* kern/i386/qemu/startup.S: Likewise.
* lib/i386/pc/biosnum.c: Likewise.
* lib/i386/relocator.c: Likewise.
* lib/i386/relocator_asm.S: Likewise.
* lib/relocator.c: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/i386/multiboot.c: Likewise.
* loader/i386/pc/chainloader.c: Likewise.
* loader/i386/xnu.c: Likewise.
* loader/xnu.c: Likewise.
* normal/main.c: Likewise.
* normal/menu_text.c: Likewise.
* util/getroot.c: Likewise.
* util/grub-mkconfig_lib.in: Likewise.
* util/grub.d/00_header.in: Likewise.
* util/i386/pc/grub-mkimage.c: Likewise.
* util/mkisofs/eltorito.c: Likewise.
* util/mkisofs/exclude.h: Likewise.
* util/mkisofs/hash.c: Likewise.
* util/mkisofs/iso9660.h: Likewise.
* util/mkisofs/joliet.c: Likewise.
* util/mkisofs/mkisofs.c: Likewise.
* util/mkisofs/mkisofs.h: Likewise.
* util/mkisofs/multi.c: Likewise.
* util/mkisofs/name.c: Likewise.
* util/mkisofs/rock.c: Likewise.
* util/mkisofs/tree.c: Likewise.
* util/mkisofs/write.c: Likewise.
* video/efi_gop.c: Likewise.
2009-12-23 17:41:32 +01:00
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
phcoder
46695a62e6
2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
...
Let user specify OpenBSD root device.
* loader/i386/bsd.c (openbsd_root): New variable.
(openbsd_opts): New option 'root'.
(OPENBSD_ROOT_ARG): New macro.
(grub_openbsd_boot): Use 'openbsd_root'.
(grub_cmd_openbsd): Fill 'openbsd_root'.
2009-10-16 20:21:12 +00:00
robertmh
9155bc1796
2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
...
Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
* loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
users.
(GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
"openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
users.
2009-10-14 16:49:22 +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
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
1ae2078cd8
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
Enable bsd.mod on coreboot.
* conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
(bsd_mod_SOURCES): New variable.
(bsd_mod_CFLAGS): Likewise.
(bsd_mod_LDFLAGS): Likewise.
(bsd_mod_ASFLAGS): Likewise.
* loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
(grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2009-08-25 23:18:48 +00:00
phcoder
beefc59841
2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
...
Cleanup NetBSD root support.
* loader/i386/bsd.c (grub_netbsd_boot): Remove call to
grub_bsd_get_device.
Fix typo.
2009-08-25 19:57:18 +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
16c84d744c
2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
...
Let user specify NetBSD root device.
* loader/i386/bsd.c (netbsd_root): New variable.
(netbsd_opts): New option 'root'.
(NETBSD_ROOT_ARG): New macro.
(grub_netbsd_boot): Use 'netbsd_root'.
(grub_bsd_unload): Free 'netbsd_root'.
(grub_cmd_netbsd): Fill 'netbsd_root'.
2009-08-24 13:10:12 +00:00
phcoder
adb29902f3
2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
...
Support for 64-bit NetBSD.
* loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
point when booting non-FreeBSD.
2009-08-24 12:59:48 +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
c11fded5f2
2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
...
* loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
(openbsd_opts): Likewise.
(netbsd_opts): Likewise.
(freebsd_flags): Added 0 terminator.
(openbsd_flags): Likewise.
(netbsd_flags): Likewise.
(grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
(grub_cmd_freebsd): Transformed into extended command.
(grub_cmd_openbsd): Likewise.
(grub_cmd_netbsd): Likewise.
(cmd_freebsd): Changed type to grub_extcmd_t.
(cmd_openbsd): Likewise.
(cmd_netbsd): Likewise.
(GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
grub_cmd_openbsd as extended commands.
(GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
cmd_netbsd and cmd_openbsd
2009-08-23 11:46:25 +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
phcoder
59ade63d27
2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
...
Make FreeBSD accept zpool.cache
* loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
type is /boot/zfs/zpool.cache
2009-07-15 22:51:47 +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
proski
3a4575d4ea
2009-06-11 Pavel Roskin <proski@gnu.org>
...
* loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
`entry_lo' to fix variable shadowing.
2009-06-11 21:48:48 +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
proski
5c5215d5e2
2009-06-10 Pavel Roskin <proski@gnu.org>
...
* kern/file.c (grub_file_read): Use void pointer for the buffer.
Adjust all callers.
2009-06-10 23:47:49 +00:00
fzielcke
b39f9d20a9
remove all trailing whitespace
2009-06-10 21:04:23 +00:00
proski
4241d2b13a
2009-05-04 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c: Spelling fixes.
* disk/raid.c: Likewise.
* disk/usbms.c: Likewise.
* disk/dmraid_nvidia.c: Likewise.
* kern/ieee1275/openfw.c: Likewise.
* kern/ieee1275/init.c: Likewise.
* kern/ieee1275/cmain.c: Likewise.
* boot/i386/pc/cdboot.S: Likewise.
* video/readers/png.c: Likewise.
* video/i386/pc/vbe.c: Likewise.
* fs/udf.c: Likewise.
* fs/hfs.c: Likewise.
* fs/reiserfs.c: Likewise.
* efiemu/runtime/efiemu.c: Likewise.
* efiemu/main.c: Likewise.
* efiemu/mm.c: Likewise.
* include/grub/elf.h: Likewise.
* include/grub/xnu.h: Likewise.
* include/grub/usbdesc.h: Likewise.
* include/grub/usb.h: Likewise.
* include/grub/script_sh.h: Likewise.
* include/grub/lib/LzmaEnc.h: Likewise.
* include/grub/efiemu/efiemu.h: Likewise.
* include/grub/command.h: Likewise.
* normal/menu.c: Likewise.
* normal/main.c: Likewise.
* normal/datetime.c: Likewise.
* bus/usb/uhci.c: Likewise.
* mmap/i386/uppermem.c: Likewise.
* mmap/mmap.c: Likewise.
* commands/acpi.c: Likewise.
* commands/test.c: Likewise.
* partmap/apple.c: Likewise.
* font/font.c: Likewise.
* loader/sparc64/ieee1275/linux.c: Likewise.
* loader/macho.c: Likewise.
* loader/i386/bsd_trampoline.S: Likewise.
* loader/i386/bsd.c: Likewise.
* loader/xnu.c: Likewise.
* term/i386/pc/vesafb.c: Likewise.
* term/usb_keyboard.c: Likewise.
* util/resolve.c: Likewise.
* util/getroot.c: Likewise.
2009-05-04 20:06:05 +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
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
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
556f377582
2008-11-03 Bean <bean123ch@gmail.com>
...
* kern/elf.c (grub_elf32_load): Revert to previous code.
(grub_elf64_load): Likewise.
* loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
2008-11-03 13:08:21 +00:00
bean
d38e24c285
2008-02-19 Bean <bean123ch@gmail.com>
...
* conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
(aout_mod_SOURCES): New variable.
(aout_mod_CFLAGS): Likewise.
(aout_mod_LDFLAGS): Likewise.
(_bsd_mod_SOURCES): New variable.
(_bsd_mod_CFLAGS): Likewise.
(_bsd_mod_LDFLAGS): Likewise.
(bsd_mod_SOURCES): New variable.
(bsd_mod_CFLAGS): Likewise.
(bsd_mod_LDFLAGS): Likewise.
* include/grub/aout.h: New file.
* include/grub/i386/loader.h (grub_unix_real_boot): New function.
* include/grub/i386/bsd.h: New file.
* include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
to make it public.
* kern/elf.c (grub_elf32_load): Get the physical address after the hook
function is called, so that it's possible to change it inside the hook.
(grub_elf64_load): Likewise.
(grub_elf_file): Don't close the file if elf header is not found.
(grub_elf_close): Close the file if grub_elf_file fails (The new
grub_elf_file won't close it).
(grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
(grub_elf64_size): Likewise.
* kern/i386/loader.S (grub_unix_real_boot): New function.
* loader/aout.c: New file.
* loader/i386/bsd.c: New file.
* loader/i386/bsd_normal.c: New file.
* loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
* loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
can test othe formats.
2008-02-19 16:40:45 +00:00