Robert Millan
838114b687
Merge from trunk
2009-12-11 21:15:58 +00:00
Robert Millan
2a3aa4d570
Merge pciaccess branch
2009-12-11 21:12:57 +00:00
Felix Zielcke
0d56ed64d2
2009-12-10 Felix Zielcke <fzielcke@z-51.de>
...
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
name in an error message.
(grub_biosdisk_rw): Likewise.
2009-12-10 19:15:20 +01:00
David S. Miller
de6daa8b56
2009-12-06 David S. Miller <davem@sunset.davemloft.net>
...
* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
anything even prefixed with 'cdrom' as a cdrom.
2009-12-07 11:54:25 +01:00
Vladimir 'phcoder' Serbinenko
bde358ac91
merged with mainline
2009-11-25 23:17:32 +01:00
Vladimir 'phcoder' Serbinenko
5acc2aba78
merged mainline into PCI
2009-11-23 11:15:24 +01:00
Vladimir 'phcoder' Serbinenko
5afcd00788
merge mainstream into mips
2009-11-21 21:45:32 +01:00
Felix Zielcke
2af8f0f4fc
2009-11-16 Felix Zielcke <fzielcke@z-51.de>
...
Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
* disk/ata.c (grub_ata_dumpinfo): Add a cast.
(grub_ata_readwrite): Likewise. Update 2 format strings.
(grub_atapi_read): Likewise.
* conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
* conf/i386.rmk (pkglib_MODULES): ... to here ...
* conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
* conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
(ata_mod_LDFLAGS): Move from here ...
* conf/i386.rmk: ... to here ...
* conf/x86_64-efi.rmk: ... and here.
* conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
(ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
2009-11-16 16:01:15 +01:00
Vladimir 'phcoder' Serbinenko
b0979f1191
Cleaned up CS5536 ATA compat support
2009-11-06 22:50:44 +01:00
Vladimir 'phcoder' Serbinenko
b4f4e1f733
Initial dirty ATA support
2009-11-03 00:03:09 +01:00
Vladimir 'phcoder' Serbinenko
6174923799
merged with upstream
2009-11-02 23:29:51 +01:00
robertmh
478df40933
2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
...
* disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
2009-10-26 18:06:23 +00:00
phcoder
0f8d98dad2
Merge branch 'pci' into mips
2009-10-22 14:32:09 +02:00
phcoder
3affd0ece8
libpci initial stuff
2009-10-14 10:11:59 +02:00
phcoder
1540a08402
various fixes. MIPSsim support
2009-10-11 18:18:18 +02:00
bean
f45d6cfc48
2009-07-31 Bean <bean123ch@gmail.com>
...
* disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
Don't change pv->disk if it's already set.
* disk/raid.c (grub_raid_scan_device): Merge this function into ...
(grub_raid_register): ... here.
(grub_raid_rescan): Removed.
* include/grub/raid.h (grub_raid_rescan): Removed.
* util/grub-fstest.c: Remove include file <grub/raid.h>.
(fstest): Replace grub_raid_rescan with module fini function followed
by init function.
* util/grub-probe.c: Add include file <grub/raid.h>.
(probe_raid_level): New function.
(probe): Detect abstraction by walking the disk device, support two
level of abstraction (LVM on RAID) when detecting partition map.
2009-07-31 14:25:19 +00:00
proski
24443b5a47
2009-07-31 Pavel Roskin <proski@gnu.org>
...
* disk/raid5_recover.c (grub_raid5_recover): Revert conversion
to grub_zalloc(), it was erroneous.
Reported by Bean <bean123ch@gmail.com>
2009-07-31 04:38:20 +00:00
phcoder
ac70fa32dd
2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
...
* disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
* fs/xfs.c (grub_xfs_dir): Likewise.
* fs/afs.c (grub_afs_dir): Likewise.
* fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
(grub_iso9660_open): Likewise.
* fs/jfs.c (grub_jfs_open): Likewise.
* fs/ext2.c (grub_ext2_dir): Likewise.
* include/grub/macho.h (grub_macho_fat_arch): Likewise.
* script/sh/lexer.c (grub_script_yylex): Likewise.
2009-07-19 13:59:21 +00:00
proski
eab58da22c
2009-07-16 Pavel Roskin <proski@gnu.org>
...
* kern/mm.c (grub_zalloc): New function.
(grub_debug_zalloc): Likewise.
* include/grub/mm.h: Declare grub_zalloc() and
grub_debug_zalloc().
* util/misc.c (grub_zalloc): New function.
* bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
instead of grub_malloc(), remove unneeded initializations.
* bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
* commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
* commands/parttool.c (grub_cmd_parttool): Likewise.
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
* disk/raid5_recover.c (grub_raid5_recover): Likewise.
* disk/raid6_recover.c (grub_raid6_recover): Likewise.
* disk/usbms.c (grub_usbms_finddevs): Likewise.
* efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
* efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
(grub_cmd_efiemu_pnvram): Likewise.
* fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
* fs/iso9660.c (grub_iso9660_mount): Likewise.
(grub_iso9660_iterate_dir): Likewise.
* fs/jfs.c (grub_jfs_opendir): Likewise.
* fs/ntfs.c (list_file): Likewise.
(grub_ntfs_mount): Likewise.
* kern/disk.c (grub_disk_open): Likewise.
* kern/dl.c (grub_dl_load_core): Likewise.
* kern/elf.c (grub_elf_file): Likewise.
* kern/env.c (grub_env_context_open): Likewise.
(grub_env_set): Likewise.
(grub_env_set_data_slot): Likewise.
* kern/file.c (grub_file_open): Likewise.
* kern/fs.c (grub_fs_blocklist_open): Likewise.
* loader/i386/multiboot.c (grub_module): Likewise.
* loader/xnu.c (grub_xnu_create_key): Likewise.
(grub_xnu_create_value): Likewise.
* normal/main.c (grub_normal_add_menu_entry): Likewise.
(read_config_file): Likewise.
* normal/menu_entry.c (make_screen): Likewise.
* partmap/sun.c (sun_partition_map_iterate): Likewise.
* script/sh/lexer.c (grub_script_lexer_init): Likewise.
* script/sh/script.c (grub_script_parse): Likewise.
* video/bitmap.c (grub_video_bitmap_create): Likewise.
* video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
* video/readers/png.c (grub_png_output_byte): Likewise.
(grub_video_reader_png): Likewise.
2009-07-16 22:14:09 +00:00
phcoder
ee293aee1b
2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
...
Fix hang and segmentation fault in grub-emu-usb
* disk/scsi.c (grub_scsi_open): return err and not grub_errno
* util/usb.c (grub_libusb_devices): likewise
(grub_libusb_init): rename to ...
(GRUB_MOD_INIT (libusb)):...this
(grub_libusb_fini): rename to ..
(GRUB_MOD_FINI (libusb)):...this
* disk/usbms.c (grub_usbms_transfer): fix retry logic
* include/grub/disk.h (grub_raid_init): removed, it's useless
(grub_raid_fini): likewise
(grub_lvm_init): likewise
(grub_lvm_fini): likewise
* util/grub-emu.c (main): don't call grub_libusb_init, it's done
by grub_init_all
2009-07-16 15:36:43 +00:00
phcoder
ab32d3b5fe
2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
...
* disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
grub_raid_register
* disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
2009-06-20 03:06:50 +00:00
phcoder
3ac72b5131
2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
...
* disk/scsi.c (grub_scsi_open): use continue instead of big if
2009-06-19 17:38:27 +00:00
proski
e14cd81437
2009-06-18 Pavel Roskin <proski@gnu.org>
...
* conf/common.rmk: Add fs_file.mod.
* disk/fs_file.c: New file.
* include/grub/disk.h (enum grub_disk_dev_id): Add
GRUB_DISK_DEVICE_FILE_ID.
2009-06-18 20:00:34 +00:00
proski
e3b27c39fc
2009-06-11 Pavel Roskin <proski@gnu.org>
...
* disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
a compiler warning.
2009-06-11 22:14:54 +00:00
fzielcke
b39f9d20a9
remove all trailing whitespace
2009-06-10 21:04:23 +00:00
phcoder
de65ee2b2c
2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
...
Not fail if unable to retrieve C/H/S on LBA disks
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
if unable to retrieve C/H/S on LBA disks
2009-06-08 13:29:05 +00:00
chrfranke
8c2cab5106
2009-05-25 Christian Franke <franke@computer.org>
...
* disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
register.
(grub_atapi_identify): Add wait after drive select.
(grub_ata_identify): Do more strict status register check before
calling grub_atapi_identify (). Suppress error message if status
register is 0x00 after command failure. Add status register
check after PIO read to avoid bogus identify due to stuck DRQ.
Thanks to Pavel Roskin for testing.
(grub_device_initialize): Remove unsafe status register check.
Thanks to 'phcoder' for problem report and patch.
Prevent sign extension in debug message.
2009-05-25 19:36:50 +00:00
proski
238e871fff
2009-05-13 Pavel Roskin <proski@gnu.org>
...
* kernel/disk.c (grub_disk_read): Use void pointer for the
buffer.
(grub_disk_write): Use const void pointer for the buffer.
Adjust all callers. Remove unnecessary casts.
2009-05-13 18:58:38 +00:00
proski
752473c2b0
2009-05-08 Pavel Roskin <proski@gnu.org>
...
* disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
not modified.
2009-05-08 19:29:04 +00:00
proski
041b8094ac
2009-05-08 Pavel Roskin <proski@gnu.org>
...
* disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
Initialize them with -1. Add sanity check for bad1. Eliminate
nerr variable.
2009-05-08 19:21:26 +00:00
davem
67e23c9004
* disk/ieee1275/ofdisk.c (compute_dev_path): New.
...
(grub_ofdisk_open): Use it to un-escape "," characters.
* kern/disk.c (find_part_sep): New.
(grub_disk_open): Use it to find the first non-escaped ','
character in the disk name.
* util/ieee1275/devicemap.c (escape_of_path): New.
(grub_util_emit_devicemap_entry): Use it.
* util/sparc64/ieee1275/grub-install.in: Update script to
strip partition specifiers properly by not triggering on
'\' escaped ',' characters.
2009-05-04 23:13:53 +00:00
davem
9554b15eac
* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
...
devices, and do not traverse down under controller nodes.
2009-05-04 23:05:12 +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
robertmh
c149b50021
2009-05-04 martin f. krafft <madduck@madduck.net>
...
* disk/raid.c (grub_raid_scan_device): Improve debug message.
2009-05-04 16:15:21 +00:00
proski
4c402e7301
2009-05-03 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
suppress warnings. It's no longer needed.
* disk/host.c: Likewise.
* disk/ata_pthru.c: Likewise.
* disk/loopback.c: Likewise.
* hook/datehook.c: Likewise.
* parttool/pcpart.c: Likewise.
* fs/i386/pc/pxe.c: Likewise.
* fs/ntfscomp.c: Likewise.
* efiemu/main.c: Likewise.
* mmap/mmap.c: Likewise.
* commands/crc.c: Likewise.
* commands/hexdump.c: Likewise.
* commands/hdparm.c: Likewise.
* commands/acpi.c: Likewise.
* commands/echo.c: Likewise.
* commands/minicmd.c: Likewise.
* commands/blocklist.c: Likewise.
* commands/memrw.c: Likewise.
* commands/loadenv.c: Likewise.
* commands/usbtest.c: Likewise.
* commands/lsmmap.c: Likewise.
* commands/boot.c: Likewise.
* commands/parttool.c: Likewise.
* commands/configfile.c: Likewise.
* commands/search.c: Likewise.
* commands/ieee1275/suspend.c: Likewise.
* commands/cat.c: Likewise.
* commands/i386/pc/pxecmd.c: Likewise.
* commands/i386/pc/play.c: Likewise.
* commands/i386/pc/halt.c: Likewise.
* commands/i386/pc/vbeinfo.c: Likewise.
* commands/i386/pc/vbetest.c: Likewise.
* commands/lspci.c: Likewise.
* commands/date.c: Likewise.
* commands/handler.c: Likewise.
* commands/ls.c: Likewise.
* commands/test.c: Likewise.
* commands/cmp.c: Likewise.
* commands/efi/loadbios.c: Likewise.
* commands/efi/fixvideo.c: Likewise.
* commands/halt.c: Likewise.
* commands/help.c: Likewise.
* commands/reboot.c: Likewise.
* hello/hello.c: Likewise.
* script/sh/main.c: Likewise.
* loader/xnu.c: Likewise.
* term/terminfo.c: Likewise.
* term/i386/pc/serial.c: Likewise.
* term/usb_keyboard.c: Likewise.
2009-05-04 03:49:08 +00:00
davem
979b4fb416
* commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
...
warnings.
* kern/ieee1275/openfw.c (grub_claimmap): Likewise.
* disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
grub_ofdisk_read): Likewise, and deal similarly with the fact that
ihandles have a 32-bit type but need to be stored in a "void *".
2009-04-30 01:18:43 +00:00
proski
9459c3067c
2009-04-28 Pavel Roskin <proski@gnu.org>
...
* disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
not disk. Adjust all dependencies.
(grub_device_close): Use grub_device_close(), not
grub_disk_close().
2009-04-28 13:23:38 +00:00
proski
136d9f8283
2009-04-27 Pavel Roskin <proski@gnu.org>
...
* disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
parent's partition, don't copy it by reference, as it gets freed
on close.
2009-04-28 13:14:20 +00:00
phcoder
5af922b5f1
2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
...
Warning fix
* disk/scsi.c (grub_scsi_open): added missing cast when
calling grub_dprintf
2009-04-27 15:39:39 +00:00
davem
0dcf7495d9
* disk/ieee1275/nand.c (grub_nand_iterate): Return
...
grub_devalias_iterate() result instead of unconditional 0.
* disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
Also, capture hook return value, either directly or via
grub_children_iterate(), and propagate to caller.
* include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
grub_children_iterate): Return value is now 'int' instead of
'grub_err_t'.
* kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
like a proper iterator, stopping when hooks return non-zero.
(grub_devalias_iterate): Likewise.
2009-04-24 12:05:54 +00:00
davem
ac20caff54
* disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
...
on disk->data.
2009-04-24 12:05:14 +00:00
proski
d1a282fc83
2009-04-17 Pavel Roskin <proski@gnu.org>
...
* disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
* bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
* bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
* commands/lspci.c (grub_lspci_iter): Likewise.
2009-04-17 15:36:41 +00:00
proski
41bb0fe9a6
2009-04-15 Pavel Roskin <proski@gnu.org>
...
* include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
definitions.
2009-04-15 20:45:09 +00:00
fzielcke
596c6970b8
2009-04-15 Felix Zielcke <fzielcke@z-51.de>
...
* disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
that no multiple data or metadata areas are supported and `Unknown
metadata header'.
2009-04-15 13:29:24 +00:00
davem
f5dbbca97f
* disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
...
(OFDISK_HASH_SZ): Define.
(ofdisk_hash): New hash table.
(ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
(grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
instead of device phandle which is not unique.
2009-04-13 06:40:34 +00:00
davem
d3bfb59c51
* disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
...
slots are of type grub_ieee1275_cell_t.
(grub_nand_read): Likewise.
* kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
macros are used to compare values in arg/ret block of the call.
(grub_ieee1275_finddevice, grub_ieee1275_get_property,
grub_ieee1275_next_property, grub_ieee1275_get_property_length,
grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
grub_ieee1275_instance_to_path, grub_ieee1275_write,
grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
grub_ieee1275_close, grub_ieee1275_set_property,
grub_ieee1275_set_color): All ieee1275 call arg slots are of type
grub_ieee1275_cell_t.
* kern/ieee1275/openfw.c (grub_map): Likewise.
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
grub_ieee1275_phandle_t): Define as grub_unit32_t type.
2009-04-11 03:07:58 +00:00
fzielcke
af63ada2bd
2009-04-08 Felix Zielcke <fzielcke@z-51.de>
...
* disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
2009-04-08 15:03:50 +00:00
robertmh
9c3dd8544c
2009-04-01 Robert Millan <rmh@aybabtu.com>
...
Reapply fix from 2008-07-28 which was accidentally reverted; also
perform the same fix to a similar check in same function.
* disk/raid.c (grub_raid_scan_device): Do not abort when two disks
with the same number are found, just use issue a warning with
grub_dprintf(), as this error has been reported to be non-fatal.
2009-04-01 01:26:58 +00:00
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
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