Commit graph

491 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
f8a9ab1245 * grub-core/commands/wildcard.c (match_files): Handle filenames
without explicit device.
	(wildcard_expand): Don't add explicit device if not already present.
	* tests/grub_script_echo1.in: Add a new expansion test.
2012-01-24 13:34:36 +01:00
Vladimir 'phcoder' Serbinenko
87edb8940a Replace single-linked with double-linked lists. It results in more
compact and more efficient code.

	* grub-core/kern/list.c (grub_list_push): Moved from here ...
	* include/grub/list.h (grub_list_push): ... to here. Set prev.
	(grub_list_remove): Moved from here ...
	* include/grub/list.h (grub_list_remove): ... here. Use and set prev.
	(grub_prio_list_insert): Set prev.
	* include/grub/list.h (grub_list): Add prev. All users updated.
2012-01-24 13:31:12 +01:00
Vladimir 'phcoder' Serbinenko
7a45a539db Don't override more informative errors.
* grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
	* grub-core/font/font.c (open_section): Likewise.
	* grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
	filename. Don't override errors.
	(grub_cmd_openbsd_ramdisk): Don't override errors.
	* grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	* grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
	(grub_cmd_linux): Likewise.
	(grub_cmd_initrd): Likewise.
	(grub_cmd_payload): Likewise.
	* grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
	(grub_cmd_module): Likewise.
	* grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
	* grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
	(grub_cmd_xnu_mkext): Likewise.
	(grub_cmd_xnu_ramdisk): Likewise.
	(grub_xnu_check_os_bundle_required): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.
	(grub_cmd_xnu_kextdir): Likewise.
	* grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
2011-12-26 12:58:08 +01:00
Vladimir 'phcoder' Serbinenko
f4d5a8ce56 search cache 2011-12-23 21:14:34 +01:00
Vladimir 'phcoder' Serbinenko
706c46bdca Fix *end restoring 2011-12-23 21:14:24 +01:00
Vladimir 'phcoder' Serbinenko
17785932df merge mainline into hints 2011-12-23 18:49:00 +01:00
Vladimir 'phcoder' Serbinenko
6babad5e59 Initial integration of hints 2011-12-23 18:19:16 +01:00
Vladimir 'phcoder' Serbinenko
215c18008e * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
UINT_TO_PTR with cast.
2011-12-16 17:46:28 +01:00
Vladimir 'phcoder' Serbinenko
f2b60fbdb8 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
* include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
	grub_addr_t casts.
	(PTR_TO_UINT64): Likewise.
	(PTR_TO_UINT32): Likewise.
2011-12-15 19:59:49 +01:00
Vladimir 'phcoder' Serbinenko
e59b7857f8 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
allocation succeeded.
2011-12-13 19:53:57 +01:00
Vladimir 'phcoder' Serbinenko
02a2bf8384 Add noreturn attributes and remove unreachable code.
* grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
	code.
	* grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
	code. Mark as noreturn.
	* grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
	* grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
	* grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
	unreachable code.
	* grub-core/kern/main.c (grub_main): Mark as noreturn.
	* grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
	* grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
	* grub-core/normal/menu.c (run_menu): Remove unreachable code.
	* include/grub/kernel.h (grub_main): Mark as noreturn.
	* include/grub/reader.h (grub_rescue_run): Likewise.
2011-12-13 15:13:51 +01:00
Vladimir 'phcoder' Serbinenko
6166442083 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
to ensure alignment.
	(grub_hdparm_print_identify): Make argument uint16 * to ensure
	alignment. Ensure tmp alignment.
	(grub_cmd_hdparm): Ensure buf alignment.
	* grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
	to ensure alignment.
	(grub_ata_dumpinfo): Ensure text alignment.
	(grub_atapi_identify): Preserve alignment invariant.
	(grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
2011-12-13 14:57:46 +01:00
Vladimir 'phcoder' Serbinenko
cc8f366887 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
(grub_cmd_acpi) [!x86]: Disable EBDA.
2011-12-13 00:55:00 +01:00
Vladimir 'phcoder' Serbinenko
74dbd24466 * include/grub/loader.h (grub_loader_register_preboot_hook):
Use struct preboot * and not void * for handle. All users updated.
	(grub_loader_unregister_preboot_hook): Likewise.
2011-12-13 00:28:14 +01:00
Vladimir 'phcoder' Serbinenko
bf3a385792 Add missing const qualifiers.
* grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
	* grub-core/commands/lspci.c (grub_pci_classname): Likewise.
	* grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
	* grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
	(grub_lvm_check_flag): Likewise.
	* grub-core/efiemu/i386/coredetect.c
	(grub_efiemu_get_default_core_name): Likewise
	* grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
	* grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
	* grub-core/fs/ntfs.c (fixup): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
	* grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
	(fzap_lookup): Likewise.
	(zap_lookup): Likewise.
	* grub-core/gnulib/regcomp.c (init_dfa): Likewise.
	* grub-core/lib/legacy_parse.c (check_option): Likewise.
	* grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
	* grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
	(grub_freebsd_add_meta_module): Likewise.
	(grub_cmd_freebsd_module): Likewise.
	* grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
	* grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
	(grub_xnu_writetree_get_size): Likewise.
	(grub_xnu_writetree_toheap_real): Likewise.
	(grub_xnu_find_key): Likewise.
	(grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	(grub_xnu_register_memory): Likewise.
	(grub_xnu_check_os_bundle_required): Likewise.
	(grub_xnu_scan_dir_for_kexts): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.
	* grub-core/normal/color.c (color_list): Likewise.
	* grub-core/normal/completion.c (current_word): Likewise.
	* grub-core/normal/menu_entry.c (insert_string): Likewise.
	* grub-core/term/serial.c (grub_serial_find): Likewise.
	* grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
	* include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
	Likewise.
	* include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
	(grub_freebsd_add_meta_module): Likewise.
	* include/grub/lib/arg.h (grub_arg_option): Likewise.
	* include/grub/net.h (grub_net_card_driver): Likewise.
	(grub_net_card): Likewise.
	(grub_net_app_protocol): Likewise.
	* include/grub/parttool.h (grub_parttool_argdesc): Likewise.
	* include/grub/serial.h (grub_serial_find): Likewise.
	* include/grub/tparm.h (grub_terminfo_tparm): Likewise.
	* include/grub/xnu.h (grub_xnu_create_key): Likewise.
	(grub_xnu_create_value): Likewise.
	(grub_xnu_find_key): Likewise.
	(grub_xnu_scan_dir_for_kexts): Likewise.
	(grub_xnu_load_kext_from_dir): Likewise.

	* include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
	* grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
	* include/grub/zfs/zio_checksum.h (zio_checksum_info):
	Moved from here ...
	* grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
2011-11-30 16:20:13 +01:00
Vladimir 'phcoder' Serbinenko
10f0117bf9 * grub-core/commands/efi/fixvideo.c: Gettextize.
* grub-core/commands/hashsum.c: Likewise.
	* grub-core/commands/i386/cmostest.c: Likewise.
	* grub-core/commands/i386/pc/drivemap.c: Likewise.
	* grub-core/commands/i386/pc/lsapm.c: Likewise.
	* grub-core/commands/i386/pc/sendkey.c: Likewise.
	* grub-core/commands/lsmmap.c: Likewise.
	* grub-core/commands/menuentry.c: Likewise.
	* grub-core/commands/mips/loongson/lsspd.c: Likewise.
	* grub-core/commands/setpci.c: Likewise.
	* grub-core/loader/i386/bsd.c: Likewise.
	* grub-core/loader/i386/linux.c: Likewise.
	* util/getroot.c: Likewise.
	* util/grub-editenv.c: Likewise.
	* util/grub-fstest.c: Likewise.
	* util/grub-mkfont.c: Likewise.
	* util/grub-mkimage.c: Likewise.
	* util/grub-mkpasswd-pbkdf2.c: Likewise.
	* util/grub-pe2elf.c: Likewise.
	* util/grub-probe.c: Likewise.
	* util/grub-setup.c: Likewise.
	* util/ieee1275/ofpath.c: Likewise.
	* util/misc.c: Likewise.
	* util/raid.c: Likewise.
2011-11-12 00:34:14 +01:00
Vladimir 'phcoder' Serbinenko
6e0632e28c * grub-core/commands/acpihalt.c: Gettextized.
* grub-core/commands/cacheinfo.c: Likewise.
	* grub-core/commands/cmp.c: Likewise.
	* grub-core/commands/efi/loadbios.c: Likewise.
	* grub-core/commands/gptsync.c: Likewise.
	* grub-core/commands/ieee1275/suspend.c: Likewise.
	* grub-core/commands/legacycfg.c: Likewise.
	* grub-core/commands/memrw.c: Likewise.
	* grub-core/commands/minicmd.c: Likewise.
	* grub-core/commands/parttool.c: Likewise.
	* grub-core/commands/time.c: Likewise.
	* grub-core/commands/videoinfo.c: Likewise.
	* grub-core/disk/geli.c: Likewise.
	* grub-core/disk/i386/pc/biosdisk.c: Likewise.
	* grub-core/disk/luks.c: Likewise.
	* grub-core/disk/lvm.c: Likewise.
	* grub-core/font/font_cmd.c: Likewise.
	* grub-core/fs/zfs/zfscrypt.c: Likewise.
	* grub-core/fs/zfs/zfsinfo.c: Likewise.
	* grub-core/gfxmenu/view.c: Likewise.
	* grub-core/kern/emu/hostdisk.c: Likewise.
	* grub-core/kern/emu/main.c: Likewise.
	* grub-core/kern/emu/misc.c: Likewise.
	* grub-core/kern/emu/mm.c: Likewise.
	* grub-core/kern/mips/arc/init.c: Likewise.
	* grub-core/kern/mips/loongson/init.c: Likewise.
	* grub-core/kern/partition.c: Likewise.
	* grub-core/lib/i386/halt.c: Likewise.
	* grub-core/lib/mips/arc/reboot.c: Likewise.
	* grub-core/lib/mips/loongson/reboot.c: Likewise.
	* grub-core/loader/i386/pc/chainloader.c: Likewise.
	* grub-core/loader/i386/xnu.c: Likewise.
	* grub-core/loader/multiboot.c: Likewise.
	* grub-core/net/bootp.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/normal/term.c: Likewise.
	* grub-core/partmap/bsdlabel.c: Likewise.
	* grub-core/parttool/msdospart.c: Likewise.
	* grub-core/term/gfxterm.c: Likewise.
	* grub-core/term/terminfo.c: Likewise.
	* grub-core/video/i386/pc/vbe.c: Likewise.
	* util/grub-menulst2cfg.c: Likewise.
	* util/grub-mkdevicemap.c: Likewise.
	* util/grub-mklayout.c: Likewise.
	* util/grub-mkrelpath.c: Likewise.
	* util/grub-script-check.c: Likewise.
	* util/ieee1275/grub-ofpathname.c: Likewise.
	* util/resolve.c: Likewise.
2011-11-11 21:44:56 +01:00
Vladimir 'phcoder' Serbinenko
d35d0d3753 Add const keyword to grub_env_get and gettextize week days.
* grub-core/hook/datehook.c (grub_datetime_names): Make const.
	(grub_read_hook_datetime): Return const char *.
	* grub-core/kern/env.c (grub_env_get): Return const char *. All users
	updated.
	* grub-core/normal/datetime.c (grub_weekday_names): Make const.
	Mark for gettext.
	(grub_get_weekday_name): Return const char *. Call gettext.
	* grub-core/script/argv.c (grub_script_argv_append): Receive const
	char * and len as the argument. All users updated.
	(grub_script_argv_split_append): Receive const char *.
	* include/grub/datetime.h (grub_get_weekday_name): Update proto.
	* include/grub/env.h (grub_env_get): Likewise.
	(grub_env_read_hook_t): Return const char *.
	* include/grub/script_sh.h (grub_script_argv_append): Update proto.
	(grub_script_argv_split_append): Likewise.
2011-11-11 20:34:37 +01:00
Vladimir 'phcoder' Serbinenko
11a775a3ad * grub-core/commands/probe.c (grub_cmd_probe): Fix error message. 2011-11-11 17:08:29 +01:00
Vladimir 'phcoder' Serbinenko
8e32442e80 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
-l argument. Add newline at the end if printing.
	(GRUB_MOD_INIT): Document -l.
2011-10-27 02:55:07 +02:00
Vladimir 'phcoder' Serbinenko
ab80f326f4 * grub-core/commands/wildcard.c (make_regex): Handle @. 2011-08-23 11:19:26 +02:00
Szymon Janc
99cecb4fc7 merge trunk 2011-08-13 15:00:48 +02:00
Colin Watson
8fc4fa45c5 Preferred resolution detection for VBE.
* grub-core/video/video.c (grub_video_edid_checksum): New function.
(grub_video_edid_preferred_mode): Likewise.  Try EDID followed by
the Flat Panel extension, in line with the X.org VESA driver.
* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
New function.
(grub_vbe_bios_get_ddc_capabilities): Likewise.
(grub_vbe_bios_read_edid): Likewise.
(grub_vbe_get_preferred_mode): Likewise.
(grub_video_vbe_setup): When the mode is "auto", try to get the
preferred mode from VBE, and use the largest mode that is no larger
than the preferred mode (some BIOSes expose a preferred mode that is
not in their mode list!).  If this fails, fall back to 640x480 as a
safe conservative choice.
(grub_video_vbe_get_edid): New function.
(grub_video_vbe_adapter): Add get_edid.
* include/grub/video.h (struct grub_vbe_edid_info): New structure.
(struct grub_video_adapter): Add get_edid.
(grub_video_edid_checksum): Add prototype.
(grub_video_edid_preferred_mode): Likewise.
* include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
structure.

* grub-core/commands/videoinfo.c (print_edid): New function.
(grub_cmd_videoinfo): Print EDID if available.

* util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto".  This
is more appropriate on a wider range of platforms than 640x480.
* docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
documentation.
2011-07-21 19:46:44 +01:00
Vladimir 'phcoder' Serbinenko
abee94edf9 Unify sparc init with other ieee1275.
* grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
	instead of kern/sparc64/ieee1275/init.c.
	* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
	[__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
	* grub-core/kern/ieee1275/init.c [__sparc__]: Include
	grub/machine/kernel.h.
	(grub_ieee1275_original_stack) [__sparc__]: New variable.
	(grub_claim_heap) [__sparc__]: Use sparc version.
	(grub_machine_init): Moved args parsing to
	(grub_parse_cmdline): ...this.
	* grub-core/kern/sparc64/ieee1275/init.c: Removed.
	* include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
	New definition.
	(GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.

	Move BOOTP to separate file.

	* grub-core/Makefile.core.def (net): Add net/bootp.c.
	* grub-core/net/net.c: Move all BOOTP functions to
	* grub-core/net/bootp.c: ... here.

	Use frame interface on PXE.

	* grub-core/Makefile.core.def (pxecmd): Removed.
	(pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
	* grub-core/commands/i386/pc/pxecmd.c: Removed.
	* grub-core/i386/pc/pxe.c: Moved from here ...
	* grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
	* grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
	* include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.

	EFI network support.

	* grub-core/Makefile.core.def (efinet): New module.
	* grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
	here...
	* grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
	All users updated.
	* grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
	(grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
	* grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
	* grub-core/net/drivers/efi/efinet.c: New file.
	* include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
	(grub_efi_net_config): New extern var.

	Various cleanups and bugfixes.

	* grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
	error.
	(grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
	disk declared as partition.
	* grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
	leak on failure.
	* grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
	* grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
	(grub_debug_zalloc): Likewise.
	(grub_debug_realloc): Likewise.
	(grub_debug_memalign): Likewise.
	* grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
	Check that target is IPv4.
	* grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
	local-mac-address as fallback.
	* grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
	memory leak.
	* grub-core/net/ip.c (ipchksum): Rename to ...
	(grub_net_ip_chksum): ... this. All users updated.
	(grub_net_recv_ip_packets): Special handling for DHCP.
	* util/grub-mkimage.c (generate_image): Zero-out aout header.

	Unify prefix handling

	* grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	(grub_prefix): New variable.
	(prefix): Removed.
	(root_dev): New variable.
	(dir): Likewise.
	(main): Use new variables.
	* grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
	* grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	(grub_machine_set_prefix): Removed.
	* grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
	* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
	(grub_set_prefix_and_root): ... this. All users updated.
	* grub-core/kern/mips/init.c (grub_machine_set_prefix):
	Revamped into ...
	(grub_machine_get_bootlocation): ... this.
	* include/grub/kernel.h (grub_machine_set_prefix): Removed.
	(grub_machine_get_bootlocation): New proto.
	* include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.

	Less intrusive and more reliable seek on network implementation.

	* grub-core/kern/file.c (grub_file_net_seek): Removed.
	(grub_file_seek): Don't call grub_file_net_seek.
	* grub-core/net/net.c (grub_net_fs_read): Renamed to ...
	(grub_net_fs_read_real): .. this.
	(grub_net_seek_real): Use net->offset.
	(grub_net_fs_read): Seek if necessary.

	Unify IEEE1275 netwotk config with the other platforms.

	* grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
	New variable.
	(grub_machine_get_bootlocation): Support network.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
	Support type and device parsing.
	(grub_ieee1275_get_device_type): New function.
	* grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
	into ...
	(grub_ieee1275_net_config_real): ... this.
	(grub_ofnet_probecards): Removed.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
	* include/grub/ieee1275/ofnet.h: Removed.
	* include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
	extern var.
	(grub_ieee1275_get_device_type): New function.

	Unify network device closing across platforms and make more robust.

	* grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
	grub_grubnet_fini.
	* grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
	already.
	* grub-core/net/net.c (grub_net_network_level_interface_register):
	Update num_ifaces.
	(grub_net_card_unregister): Close all interfaces.
	(receive_packets): Don't poll if no iterfaces are registered.
	Open if necessary.
	(grub_net_fini_hw): New function.
	(grub_net_restore_hw): Likewise.
	(fini_hnd): New variable.
	(GRUB_MOD_INIT): Register preboot hook.
	(GRUB_MOD_FINI): Run and unregister preboot hook.

	Poll network cards when idle.

	* grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
	(grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
	* grub-core/net/net.c (receive_packets): Save last poll time.
	(grub_net_poll_cards_idle_real): New function.
	(GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
	(GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
	* include/grub/kernel.h (grub_poll_cards_idle): New extern variable.

	Rename ofnet interfaces.

	* grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
	(grub_ofnet_findcards): Use ofnet_%s names.

	* util/grub-mknetdir.in: Support for EFI and IEEE1275.

	Cleanup socket opening.

	* grub-core/net/net.c (grub_net_fs_open): Rewritten.
	(grub_net_fs_close): Likewise.
	(grub_net_fs_read_real): Use eof member.
	* include/grub/net/udp.h (+grub_net_udp_open): New proto.
	(+grub_net_udp_close): New inline function.

	* include/grub/net/tftp.h: Moved to the top of ...
	* grub-core/net/tftp.c: ... here.
	* include/grub/net/ip.h: Moved mostly to the top of ...
	* grub-core/net/ip.c: ... here.
	* include/grub/net/ethernet.h: Moved mostly to the top of ...
	* grub-core/net/ethernet.c: ... here.

	* grub-core/kern/device.c (grub_device_close): Free device->net->server.

	* grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
	FS name.

	* include/grub/net/ip.h (ipv4_ini): Removed.
	(ipv4_fini): Likewise.

	* include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
	(grub_net_send_ip_packets): Likewise.
2011-07-06 20:05:26 +02:00
Vladimir 'phcoder' Serbinenko
145c7b4661 merge mainline into net 2011-07-05 20:40:39 +02:00
Vladimir 'phcoder' Serbinenko
a07a81b335 CMOS support on sparc.
* gentpl.py (cmos): Add powerpc and sparc.
	* grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
	powerpc and sparc.
	* grub-core/lib/cmos_datetime.c (grub_get_datetime)
	[__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
	(grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
	grub_set_datetime_cmos.
	* grub-core/lib/ieee1275/cmos.c: New file.
	* grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
	(find_rtc): Set no_ieee1275_rtc on error.
	(grub_get_datetime): Call grub_get_datetime_cmos on error.
	(grub_set_datetime): Call grub_set_datetime_cmos on error.
	* include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
	fail. Move value to argument. All users updated
	(grub_cmos_write): Likewise.
	(grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
	(grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
	* include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
	grub_get_datetime_cmos and grub_set_datetime_cmos.
2011-07-05 20:24:20 +02:00
Vladimir 'phcoder' Serbinenko
671a78acb0 cleanup pxe and efi network release 2011-07-05 14:34:10 +02:00
Vladimir 'phcoder' Serbinenko
03a0046581 merge mainline into net 2011-07-02 18:52:50 +02:00
Vladimir 'phcoder' Serbinenko
5ff1d945ed Implement time command.
* grub-core/Makefile.core.def (time): New module.
	* grub-core/commands/time.c: New file.
	* grub-core/script/parser.y: Remove "time" keyword.
	* grub-core/script/yylex.l: Likewise.
2011-06-27 12:31:37 +02:00
Colin Watson
f9b75e8a67 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
with `*'.
(grub_cmd_videoinfo): Fetch current video mode.
2011-06-27 10:47:02 +01:00
Yves Blusseau
9e322ce8de Display the path of the file when file is not found
* grub-core/fs/fat.c: Display the filename when file is not found.
	* grub-core/fs/fshelp.c: Likewise.
	* grub-core/fs/hfs.c: Likewise.
	* grub-core/fs/jfs.c: Likewise.
	* grub-core/fs/minix.c: Likewise.
	* grub-core/fs/ufs.c: Likewise.
	* grub-core/fs/btrfs.c: Likewise.
	* grub-core/commands/i386/pc/play.c: Likewise.
2011-06-26 21:48:52 +02:00
Szymon Janc
cbf597afb1 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
pointer checks before calling grub_free().
	* grub-core/commands/wildcard.c (match_devices): Likewise.
	* grub-core/commands/wildcard.c (match_files): Likewise.
	* grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
	* grub-core/fs/cpio.c (grub_cpio_open): Likewise.
	* grub-core/fs/udf.c (grub_udf_read_block): Likewise.
	* grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
	* grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
	* grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
	* grub-core/script/yylex.l (grub_lexer_unput): Likewise.
	* grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
	* grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
2011-06-26 17:17:41 +02:00
Vladimir 'phcoder' Serbinenko
80ca250565 Add backward compatibiulity with old (pxe) syntax. Several cleanups 2011-06-26 17:06:18 +02:00
Vladimir 'phcoder' Serbinenko
8f72becdef merge mainline into net 2011-06-24 22:20:50 +02:00
Manoel Rebelo Abranches
90162423e9 Network infrastructure.
The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>

	* include/grub/net/arp.h: New file.
	* include/grub/net/device.h: Likewise.
	* include/grub/net/ethernet.h: Likewise.
	* include/grub/net/ip.h: Likewise.
	* include/grub/net/netbuff.h: Likewise.
	* include/grub/net/tftp.h: Likewise.
	* include/grub/net/udp.h: Likewise.
	* include/grub/ieee1275/ofnet.h: Likewise.
	* include/grub/emu/export.h: Likewise.
	* include/grub/net.h: Likewise.
	* grub-core/net/arp.c: Likewise.
	* grub-core/net/ethernet.c: Likewise.
	* grub-core/net/ip.c: Likewise.
	* grub-core/net/udp.c: Likewise.
	* grub-core/net/tftp.c: Likewise.
	* grub-core/net/netbuff.c: Likewise.
	* grub-core/net/net.c: Likewise.
	* grub-core/net/drivers/emu/emunet.c: Likewise.
	* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
	export.h.
	* grub-core/Makefile.core.def (net): New module.
	(tftp): Likewise.
	(ofnet): Likewise.
	(emunet): Likewise.
	* grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
	network protocols.
	* grub-core/kern/device.c (grub_net_open) : New variable.
	(grub_device_open): Handle network device.
	(grub_device_close): Likewise.
	* grub-core/kern/file.c (grub_file_net_seek) : New variable.
	(grub_grubnet_fini): Likewise.
	(grub_file_seek): Seek in network device.
	* grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
	* grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
	network root.
	(grub_machine_fini): Call grub_grubnet_fini.
	* grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
	network.
	(grub_ieee1275_get_aliasdevname): New function.
	* grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
	Add unofficial Solaris network info.
	(grub_multiboot_make_mbi): Likewise.
	* grub-core/fs/i386/pc/pxe.c: Moved from here ...
	* grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
	* include/grub/device.h (grub_fs): Removed.
	* include/grub/err.h (grub_err_t): Add network-related values.
	* include/grub/i386/pc/pxe.h: Removed bootp parts.
	* include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
	(grub_ieee1275_get_aliasdevname): New proto.
	* include/grub/net.h: Rewritten.

	Also-By: Paulo Pinatti <ppinatti@br.ibm.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2011-06-24 22:16:05 +02:00
Vladimir 'phcoder' Serbinenko
4388ca7224 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
(wildcard_expand): Don't stop on nonregexp parts after regexp ones since
	it truncates the output.
	Reported by: Ximin Luo.
2011-06-24 13:43:10 +02:00
Vladimir 'phcoder' Serbinenko
5ab3f48a92 AHCI support.
* grub-core/Makefile.core.def (ata_pthru): Removed.
	(ahci): New module.
	(pata): Likewise.
	* grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
	on unload.
	* grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
	readwrite.
	(grub_hdparm_do_check_powermode_cmd): Likewise.
	(grub_hdparm_do_smart_cmd): Likewise.
	(grub_hdparm_set_val_cmd): Likewise.
	(grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
	* grub-core/disk/ahci.c: New file.
	* grub-core/disk/ata.c: Factor out the low-level part into ...
	* grub-core/disk/pata.c: ... here.
	* grub-core/disk/ata_pthru.c: Contents moved to ...
	* grub-core/disk/pata.c: ... here.
	* grub-core/disk/scsi.c (grub_scsi_names): New array.
	(grub_scsi_iterate): Use grub_scsi_names.
	(grub_scsi_open): Likewise.
	* grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
	* include/grub/ata.h (grub_ata_commands): Add DMA commands.
	(grub_ata_regs_t): New struct.
	(grub_disk_ata_pass_through_parms): Likewise.
	(grub_ata_device): Renamed to ...
	(grub_ata): ... this.
	(grub_ata_dev): New struct.
	Removed all low-level inline functions.
	* include/grub/scsi.h: Add PATA and AHCI subsystems.
	(grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
	iterate hooks and open. All users updated.
	* util/grub-install.in: Handle AHCI disk module.
2011-06-24 00:07:55 +02:00
Manoel R. Abranches
85fd555441 Merge Mainline. 2011-05-27 00:23:33 -03:00
Vladimir 'phcoder' Serbinenko
eea841440d fix several bugs 2011-05-19 15:39:34 +02:00
Colin Watson
e806ce60ee merge trunk 2011-05-18 16:53:36 +01:00
Vladimir 'phcoder' Serbinenko
bf947d36e3 Use full 64-bit division.
* grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
	(grub_divmod64): ... this.
	* include/grub/misc.h (grub_divmod64): Removed. All users switch to full
	version.
2011-05-18 15:35:19 +02:00
Vladimir 'phcoder' Serbinenko
548937c6d6 merge mainline into ahci 2011-05-18 12:36:26 +02:00
Vladimir 'phcoder' Serbinenko
0670a9751b merge mainline into ahci 2011-05-16 17:17:04 +02:00
Vladimir 'phcoder' Serbinenko
bee1aeb9a1 merge mainline into sgi 2011-05-15 02:23:36 +02:00
Vladimir 'phcoder' Serbinenko
5d063cdc10 Fuloong support.
* configure.ac: Rename yeeloong platform to loongson. All users updated.
	* grub-core/Makefile.core.def (fwstart_fuloong): New image.
	* grub-core/boot/mips/loongson/fuloong.S: New file.
	* grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
	Explicitly init CS5536.
	[FULOONG]: Don't use serial until CS5536 is available.
	Set GPIO based on dumps.
	(serial_hw_init) [FULOONG]: Handle CS5536 parts.
	[FULOONG]: Handle GPIO and memory controller differences.
	Parse machine type in $a2.
	* grub-core/boot/mips/startup_raw.S: Determine and save the
	architecture.
	* grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
	(grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
	init on architecture type.
	* grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
	SIS315E. Don't init at_keyboard on fuloong.
	(grub_halt): Support Fuloong.
	* grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
	* grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
	(loongson_machtypes): New array.
	(grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
	type.
	* grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
	config. All users updated. Handle CS5536 serial.
	* grub-core/term/serial.c (grub_serial_register): Conditionalise
	default port on machine type. Register serial as inactive.
	* grub-core/video/sis315pro.c: New file.
	* include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
	definition.
	(GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
	(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
	(GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
	(GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
	(GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
	* include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
	to ...
	(GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
	* include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
	definition.
	(GRUB_ARCH_MACHINE_FULOONG): Likewise.
	(grub_arch_machine): New extern var.
	* include/grub/mips/loongson/serial.h
	(GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
	(GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
	(GRUB_MACHINE_SERIAL_PORT): Renamed to ...
	(GRUB_MACHINE_SERIAL_PORT0): ... this.
	(GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
	(GRUB_MACHINE_SERIAL_PORT1): Likewise.
	(GRUB_MACHINE_SERIAL_PORT2): Likewise.
	(GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
	* include/grub/term.h (grub_term_register_input_inactive): New inline
	function.
	(grub_term_register_output_inactive): Likewise.
	* include/grub/video.h (grub_video_driver_id): New value
	GRUB_VIDEO_DRIVER_SIS315PRO.
	* util/grub-mkimage.c (image_target_desc): Rename name to dirname.
	New field "names". All users updated.
	New field value IMAGE_FULOONG_FLASH.
	(generate_image): USe separate fwstart hashes for yeeloong and fuloong.
2011-05-15 01:43:44 +02:00
Vladimir 'phcoder' Serbinenko
d4de6b01e8 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
handle class-free menuentries.
	(grub_normal_add_menu_entry): Add a check to be sure.
2011-05-14 12:14:00 +02:00
Vladimir 'phcoder' Serbinenko
8906c3dd40 sgi support 2011-05-13 16:36:05 +02:00
Manoel Rebelo Abranches
90eb90e24c Merge mainline. 2011-05-05 12:12:22 -03:00
Vladimir 'phcoder' Serbinenko
e745cf0ca6 Implement automatic module license checking according to new GNU
guidelines.

	* grub-core/kern/dl.c (grub_dl_check_license): New function.
	(grub_dl_load_core): Use grub_dl_check_license.
	* include/grub/dl.h (GRUB_MOD_SECTION): New macro.
	(GRUB_MOD_LICENSE): Likewise.
	(GRUB_MOD_DUAL_LICENSE): Likewise.
	All modules updated.
2011-04-11 23:01:51 +02:00
Vladimir 'phcoder' Serbinenko
34c09785b6 * grub-core/commands/probe.c (options): Argument to set isn't optional.
(GRUB_MOD_INIT): DEVICE isn't optional.
2011-04-08 14:28:19 +02:00
Manoel Rebelo Abranches
50ee5d686d Merge mainline. 2011-04-01 04:45:37 -03:00
Vladimir 'phcoder' Serbinenko
7d4e39d65a * grub-core/bus/usb/usb.c (attach_hooks): Make static.
* grub-core/bus/usb/usbhub.c (hubs): Likewise.
	* grub-core/commands/hashsum.c (aliases): Likewise.
	* grub-core/commands/setpci.c (pci_registers): Likewise.
	* grub-core/disk/usbms.c (attach_hook): Likewise.
	* grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
	(zio_checksum_table): Likewise.
	* grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
	* grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
	* grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
	* grub-core/lib/relocator.c (leftovers): Likewise.
	(extra_blocks): Likewise.
	* grub-core/loader/i386/bsd.c (relocator): Likewise.
	* grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
	(modules_last): Likewise.
	* grub-core/loader/i386/xnu.c (table_aliases): Likewise.
	(devices): Likewise.
	* grub-core/loader/multiboot_mbi2.c (modules): Likewise.
	(modules_last): Likewise.
	* grub-core/normal/auth.c (users): Likewise.
	* grub-core/normal/context.c (initial_menu): Likewise.
	(current_menu): Likewise.
	* grub-core/normal/crypto.c (crypto_specs): Likewise.
	* grub-core/term/serial.c (grub_serial_ports): Likewise.
	(grub_serial_terminfo_input_template): Likewise.
	(grub_serial_terminfo_output_template): Likewise.
	(grub_serial_terminfo_input): Likewise.
	(grub_serial_terminfo_output): Likewise.
	(registered): Likewise.
	* grub-core/term/usb_keyboard.c (attach_hook): Likewise.
2011-03-23 12:05:13 +01:00
Vladimir 'phcoder' Serbinenko
54da1febce Rename mipsel-yeeloong to mipsel-loongson 2011-02-19 13:18:05 +01:00
Vladimir 'phcoder' Serbinenko
dcb883b162 Submenu default support.
* grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
	auto_boot. All users updated.
	Declared static.
	Handle chosen and default with submenus.
	(grub_menu_execute_with_fallback): Declared static.
	Don't notify failure if autobooted. Upper level does it.
	(menuentry_eq): New function.
	(get_entry_number): Use menuentry_eq.
	(show_menu): New parameter "autobooted". All users updated.
	(grub_show_menu): Likewise.
	* include/grub/normal.h (grub_show_menu): Likewise.
	* include/grub/menu.h (grub_menu_execute_entry): Removed.
	(grub_menu_execute_with_fallback): Likewise.
2011-01-10 23:27:58 +01:00
Vladimir 'phcoder' Serbinenko
47a77af5e8 * grub-core/commands/legacycfg.c (legacy_file): Trim the line. 2011-01-10 19:25:00 +01:00
Vladimir 'phcoder' Serbinenko
fc836af9a5 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
aliasing warning.
	(grub_cmd_terminal_output): Likewise.
	Reported and tested by: Grégoire Sutre.
2011-01-08 01:50:06 +01:00
Colin Watson
5b1bdf1231 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
descriptions of extract_legacy_entries_source and
extract_legacy_entries_configfile.
Reported by: Seung Soo, Ha.
2011-01-04 13:05:19 +00:00
Vladimir 'phcoder' Serbinenko
3d5f359d3b merge mainline into ahci 2010-12-26 11:20:12 +01:00
Vladimir 'phcoder' Serbinenko
0354b8672c * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
writing an error message because of async power management.
	* grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
	(grub_reboot): Likewise.
2010-12-25 14:09:36 +01:00
Vladimir 'phcoder' Serbinenko
d9675dbee3 Move 0xE0 to callers rather than to have it in drivers 2010-12-25 03:47:51 +01:00
Vladimir 'phcoder' Serbinenko
de2690be7c merge mainline into ahci 2010-12-24 16:16:01 +01:00
Colin Watson
e925b2b6d4 merge parse-color 2010-12-23 12:22:20 +00:00
Colin Watson
d060ad60ee * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
constructing a new unescaped string and passing it to grub_xputs in
one go, rather than passing characters to grub_printf one at a time.
2010-12-21 13:52:07 +00:00
Colin Watson
015e21571c check that adapter->get_edid is non-NULL 2010-12-14 19:03:28 +00:00
Colin Watson
129185cfaa move more EDID-handling functions to generic code, and make videoinfo display EDID information 2010-12-14 18:03:34 +00:00
Szymon Janc
3f0f38317b * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
variable.
	* grub-core/commands/wildcard.c (match_files): Likewise.
2010-11-30 21:35:59 +01:00
Colin Watson
725d286634 merge commits from before Savannah compromise 2010-11-30 17:01:52 +00:00
Robert Millan
c5c9cd3e7d Add missing include 2010-11-30 16:23:41 +01:00
Robert Millan
8c317b270f 2010-11-30 Robert Millan <rmh@gnu.org>
* grub-core/commands/echo.c (grub_cmd_echo): Call grub_refresh()
	after printing a message.
2010-11-30 15:36:47 +01:00
BVK Chaitanya
7955bea0d8 fix changelog and doc 2010-11-25 19:05:16 +05:30
BVK Chaitanya
5b08062083 replaced with grub_strchrsub function 2010-11-25 18:56:20 +05:30
BVK Chaitanya
f866fe808b reuse code from legacy parser 2010-11-19 19:08:44 +05:30
BVK Chaitanya
9acdcbf325 use single quotes in menuentry setparams command 2010-11-19 10:15:25 +05:30
Vladimir 'phcoder' Serbinenko
f18088844f Make legacy_source behave like source.
* grub-core/commands/legacycfg.c (legacy_file): Don't call
	grub_show_menu.
	(grub_cmd_legacy_source): Call grub_show_menu if needed.
2010-11-17 08:41:18 +01:00
Vladimir 'phcoder' Serbinenko
dc5aeea5b9 merge mainline into net 2010-10-25 13:19:10 +02:00
Szymon Janc
6bdda8f877 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
Set-but-not-used variable ifdef'ed.
	* grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
	* grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
	variable removed.
	* grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
	* grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
	* grub-core/fs/minix.c (grub_minix_dir): Likewise.
	* grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
	* grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
	* grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
	* grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
	* grub-core/gfxmenu/widget-box.c (draw): Likewise.
	* grub-core/lib/relocator.c (malloc_in_range): Likewise.
	* grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
	* grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
	Likewise.
2010-10-16 22:16:52 +02:00
Vladimir 'phcoder' Serbinenko
e19b016b30 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
* include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
	enum value.
2010-10-16 20:01:30 +02:00
Vladimir 'phcoder' Serbinenko
6c8d300275 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
synonym to _S5_. Needed for some DSDTs.
2010-10-16 19:12:18 +02:00
Vladimir 'phcoder' Serbinenko
c32b51c9f9 Userspace ACPI parser debugging.
* grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
	headers and add relevant defines. Don't include standard headers.
	(main) [GRUB_DSDT_TEST]: New function.
	* include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
	Don't declare functions.
2010-10-16 19:06:55 +02:00
Szymon Janc
c5dc16905a Make enable of disk cache statistics code configurable.
* configure.ac: --enable-cache-stats added.
	* config.h.in (DISK_CACHE_STATS): New define.
	* grub-core/Makefile.core.def (cacheinfo): New command.
	* include/grub/disk.h(grub_disk_cache_get_performance): New function.
	* grub-core/commands/cacheinfo.c: New file.
	* grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
	moved to cacheinfo.c.
	* grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
	debug code.
	* include/grub/disk.h: Likewise.
2010-10-06 19:57:01 +02:00
Grégoire Sutre
f5a109e277 Variable initialization. 2010-09-24 01:13:50 +02:00
Vladimir 'phcoder' Serbinenko
760a7e5aed Merge mainline into net 2010-09-22 20:13:00 +02:00
Colin Watson
b031012d70 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
NumberOfPages is UINT64 according to the UEFI specification, not
UINTN.  Fix printf format.
2010-09-21 16:58:08 +01:00
Colin Watson
d309a16e26 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
check hash checksum." consistently translatable.
2010-09-21 11:14:06 +01:00
Colin Watson
c4fe27a827 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
(GRUB_MOD_INIT): Register sha1sum command.
(GRUB_MOD_FINI): Unregister sha1sum command.
2010-09-21 10:56:16 +01:00
Vladimir 'phcoder' Serbinenko
fc55cc4c27 Support submenus.
* grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
	parameter submenu. All users updated.
	* grub-core/normal/main.c (free_menu): Rename to ...
	(grub_normal_free_menu): ... this. Made global.
	* grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
	if requested.
	* grub-core/normal/menu_entry.c (screen): New field submenu.
	(make_screen): Set submenu.
	(run): Open new context if requested.
	* include/grub/menu.h (grub_menu_entry): New field submenu.
	* include/grub/normal.h (grub_normal_free_menu): New proto.
2010-09-21 00:47:49 +02:00
Vladimir 'phcoder' Serbinenko
57f20e67a0 Support extraction of legacy entries 2010-09-20 23:10:29 +02:00
Vladimir 'phcoder' Serbinenko
a38b701cbf Rename jail to extractor 2010-09-20 23:01:34 +02:00
Vladimir 'phcoder' Serbinenko
1b71d7500b merge mainline into jail 2010-09-20 22:41:59 +02:00
Colin Watson
40901acd76 * grub-core/commands/efi/lsefimmap.c: Correct header.
* NEWS: Update.
2010-09-20 17:59:09 +01:00
Tristan Gingold
3dccbe4bbb * grub-core/commands/efi/lsefimmap.c: New file.
* grub-core/Makefile.core.def (lsefimmap): New module.
	* include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-20 17:59:25 +02:00
Colin Watson
6d3d698d13 * grub-core/commands/efi/lsefisystab.c: Correct header.
* grub-core/commands/efi/lssal.c: Likewise.
* grub-core/commands/testload.c: Likewise.
2010-09-20 13:18:41 +01:00
Vladimir 'phcoder' Serbinenko
774b7ca021 merge mainline into gingold3 2010-09-20 12:23:10 +02:00
Szymon Janc
c55f50180d Remove crc.mod and move crc command to hashsum.mod.
Remove lib/crc.c - users updated to use gcrypt implementation.

	* grub-core/commands/crc.c: Removed.
	* grub-core/Makefile.core.def (crc): Module removed.
	* grub-core/commands/hashsum.c (aliases[]): Add crc alias.
	* grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
	* grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
	* grub-core/lib/crc.c: Removed.
	* include/grub/lib/crc.h: Removed.
	* Makefile.util.def (crc): Remove lib/crc.c
	* grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
	* util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
	* Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
	* Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
	* Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
	* grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
2010-09-20 01:40:58 +02:00
Vladimir 'phcoder' Serbinenko
eaf41b2592 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
(grub_cmd_cmosclean): Likewise.
	(GRUB_MOD_INIT): Register command cmosclean.
	* util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
	* util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
2010-09-19 01:15:44 +02:00
Carles Pina i Estany
1a9130dd3f Add keyboard layouts support.
* Makefile.util.def (grub-mklayout): New file.
	(grub-kbdcomp): New script.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
	Add keyboard_layouts.h.
	* grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
	commands/boot.c on yeeloong.
	(keylayouts): New module.
	* grub-core/bus/usb/ohci.c
	* grub-core/bus/usb/uhci.c
	* grub-core/bus/usb/usbhub.c (rescan): New variable.
	(grub_usb_add_hub): Poll interrupt pipe for device handling.
	(attach_root_port): Likewise.
	(poll_nonroot_hub): Likewise.
	(grub_usb_poll_devices): Likewise.
	(detach_device): Close transfer.
	* grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
	function.
	(grub_usb_bulk_setup_readwrite): Likewise.
	(grub_usb_bulk_finish_readwrite): Likewise.
	* grub-core/commands/keylayouts.c: New file.
	* grub-core/commands/keystatus.c (grub_getkeystatus): New function.
	* grub-core/commands/menuentry.c (hotkey_aliases): All several new
	aliases.
	* grub-core/term/at_keyboard.c: Restructured to use keylayouts and
	support scancode 2.
	* grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
	* include/grub/keyboard_layouts.h: New file.
	* util/grub-mklayout.c: New file.
	* util/grub-kbdcomp.in: Likewise.

	Also-By: Aleš Nesrsta <starous@volny.cz>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-19 01:01:35 +02:00
Vladimir 'phcoder' Serbinenko
a1d84a5e5e Unify memory types.
* grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
	* grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
	types.
	* grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
	(grub_upper_mem): Likewise.
	* grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
	* include/grub/memory.h (grub_memory_type_t): New enum.
	All users updated.
2010-09-19 00:04:31 +02:00
Vladimir 'phcoder' Serbinenko
9696382e79 GRUB-legacy configuration file support.
* Makefile.util.def (grub-menulst2cfg): New util.
	* docs/man/grub-menulst2cfg.h2m: New file.
	* grub-core/Makefile.core.def (legacycfg): New module.
	* grub-core/commands/legacycfg.c: New file.
	* grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
	(grub_normal_add_menu_entry): ... this.
	* grub-core/commands/password.c (grub_cmd_password): Split main part to ...
	(grub_normal_set_password): ...this.
	* grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
	* grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
	* grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
	* grub-core/lib/legacy_parse.c: New file.
	* grub-core/normal/auth.c (grub_cmd_authenticate): New command.
	* include/grub/i386/pc/vesa_modes_table.h: New file.
	* include/grub/legacy_parse.h: Likewise.
	* include/grub/normal.h (grub_normal_add_menu_entry): New proto.
	* util/grub-menulst2cfg.c: New file.

	* grub-core/Makefile.core.def (lsapm): New module.
	* grub-core/commands/i386/pc/lsapm.c: New file.
	* grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
	* grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
	Likewise.
	* include/grub/i386/pc/apm.h: New file.
	* include/multiboot.h (multiboot_apm_info): New struct.
2010-09-18 16:21:57 +02:00
Vladimir 'phcoder' Serbinenko
7756d44436 Basic menuentry-retrieveing jail 2010-09-16 23:48:32 +02:00
Colin Watson
e5bfc130a4 * docs/grub.texi (serial): Remove obsolete comment about GRUB
needing to be compiled with serial support.
(ls): Indicate that multiple files are accepted.
* grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
indicate that multiple files are accepted.
2010-09-16 14:13:48 +01:00
Vladimir 'phcoder' Serbinenko
35139e8a55 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
misusage.
	Reported by: J. Nick Terry
2010-09-15 21:48:24 +02:00
Vladimir 'phcoder' Serbinenko
3f8fcb6a24 Support vbeprobe MODE 2010-09-15 14:37:28 +02:00
Vladimir 'phcoder' Serbinenko
e2830452f0 Support legacy_check_password 2010-09-15 13:51:02 +02:00
Vladimir 'phcoder' Serbinenko
0cb2f2813f merge mainline into legacy_parser 2010-09-15 11:43:59 +02:00
Vladimir 'phcoder' Serbinenko
890c9fa5f2 Implement APM 2010-09-15 11:42:18 +02:00
Vladimir 'phcoder' Serbinenko
79c4eeb919 Fix incorrect echo options handling.
Reported by: Yves Blusseau.

	* include/grub/command.h (grub_command_flags_t): New flags
	GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
	* grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
	* grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
2010-09-14 23:30:06 +02:00
Vladimir 'phcoder' Serbinenko
ed80f7d586 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
users updated.
	(GRUB_COMMAND_FLAG_MENU): Likewise.
	(GRUB_COMMAND_FLAG_BOTH): Likewise.
	(GRUB_COMMAND_FLAG_TITLE): Removed.
	(GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
	(GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
	(GRUB_COMMAND_FLAG_DYNCMD): Likewise.
	(GRUB_COMMAND_FLAG_BLOCKS): Likewise.
	(grub_command_flags_t): New enum. All users updated.
2010-09-14 23:06:01 +02:00
Vladimir 'phcoder' Serbinenko
545b752f88 Remove deprecated root command.
* grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
	updated.
2010-09-14 22:21:35 +02:00
Vladimir 'phcoder' Serbinenko
2419f17a09 Enable acpi shutdown on all ACPI platforms.
* grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
	on coreboo, multiboot and EFI.
	* grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
	(grub_acpi_halt): Likewise.
	* grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
	(grub_cmd_halt): Don't call grub_acpi_halt directly.
	* grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
	* grub-core/lib/i386/halt.c (grub_halt)
	[GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
2010-09-13 20:29:15 +02:00
Vladimir 'phcoder' Serbinenko
0575c7c3ec * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
context.
2010-09-13 20:16:51 +02:00
Vladimir 'phcoder' Serbinenko
9d2be652d4 videoinfo on non-vbe.
* grub-core/Makefile.core.def (vbeinfo): Removed.
	(vbetest): Removed.
	(videoinfo): New module.
	* grub-core/commands/i386/pc/vbeinfo.c: Removed.
	* grub-core/commands/i386/pc/vbetest.c: Removed.
	* grub-core/commands/videoinfo.c: New file.
	* grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
	specification.
	(grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
	as vbetest.
	(GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
	(GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
	* grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
	mode_number. New parameter mode. All users updated.
	(grub_video_gop_iterate): New function.
	(grub_video_efi_gop): New member iterate.
	* grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
	(grub_vbe_set_video_mode): Remove setting useless fields.
	(vbe2videoinfo): New function.
	(grub_video_vbe_iterate): Likewise.
	(grub_video_vbe_setup): Use vbe2videoinfo.
	(grub_video_vbe_print_adapter_specific_info): New function.
	(grub_video_vbe_adapter): New fields iterate and
	print_adapter_specific_info.
	* include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
	All users updated.
	(grub_video_mode_info): New field mode_number.
	(grub_video_adapter): New fields iterate and
	print_adapter_specific_info.
2010-09-13 13:38:13 +02:00
Tristan Gingold
179503f524 * grub-core/commands/efi/lsefisystab.c: New file.
* grub-core/commands/efi/lssal.c: Likewise.
	* grub-core/Makefile.core.def (lsacpi): New module.
	(lsefisystab): Likewise.
	* include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
	(GRUB_EFI_HCDP_TABLE_GUID): Likewise.
	(grub_efi_sal_system_table): New struct.
	(grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
	(grub_efi_sal_system_table_memory_descriptor): Likewise.
	(grub_efi_sal_system_table_platform_features): Likewise.
	(grub_efi_sal_system_table_translation_register_descriptor): Likewise.
	(grub_efi_sal_system_table_purge_translation_coherence): Likewise.
	(grub_efi_sal_system_table_ap_wakeup): Likewise.
	* include/grub/types.h (PRIuGRUB_UINT64_T): New definition.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-13 13:14:44 +02:00
Vladimir 'phcoder' Serbinenko
53f0eb1f64 Search hints support.
* commands/search.c (FUNC_NAME): New arguments hints and nhints.
	All users updated.
2010-09-13 13:01:41 +02:00
Vladimir 'phcoder' Serbinenko
1f1dd48a17 support subpartition hints 2010-09-13 12:16:22 +02:00
Vladimir 'phcoder' Serbinenko
53d4ca1afc Change from direct arguments to --hint 2010-09-13 11:48:01 +02:00
Vladimir 'phcoder' Serbinenko
a848c54e34 merge mainline into hints 2010-09-13 02:22:10 +02:00
Vladimir 'phcoder' Serbinenko
d8a84076ea * grub-core/commands/wildcard.c (make_regex): Escape brackets. 2010-09-12 20:15:30 +02:00
Vladimir 'phcoder' Serbinenko
84fb3b3d73 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files. 2010-09-12 20:12:16 +02:00
Vladimir 'phcoder' Serbinenko
e64334df29 Support mixed inline and suffix commands 2010-09-12 15:50:52 +02:00
Vladimir 'phcoder' Serbinenko
281d690594 Add no-argument version of commands and remove legacy_color 2010-09-12 15:26:38 +02:00
Vladimir 'phcoder' Serbinenko
2d06d22b0c Merge mainline into legacy_parser 2010-09-12 14:01:25 +02:00
Vladimir 'phcoder' Serbinenko
64ad6157ae Fix bunch of memory problems and implement hdbias 2010-09-12 14:01:02 +02:00
Vladimir 'phcoder' Serbinenko
faca6bec3b * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
args ending with NULL.
2010-09-12 13:53:12 +02:00
Vladimir 'phcoder' Serbinenko
6c6850ae13 Implement hiddenmenu (not tested) 2010-09-12 02:55:24 +02:00
Vladimir 'phcoder' Serbinenko
237a43b1c1 Support few more legacy commands 2010-09-12 02:30:48 +02:00
Vladimir 'phcoder' Serbinenko
b062152c2a Allow specifying video mode 2010-09-12 02:18:14 +02:00
Vladimir 'phcoder' Serbinenko
4dd58a6edd Change video_mode_type to an enum, fix collisions and add a bit more info 2010-09-12 02:09:09 +02:00
Vladimir 'phcoder' Serbinenko
d2467d2361 Add Hercules, Planar and YUV to videoinfo (not tested) 2010-09-12 01:45:58 +02:00
Vladimir 'phcoder' Serbinenko
a37376e72a legacy_password implementation 2010-09-12 01:07:41 +02:00
Vladimir 'phcoder' Serbinenko
8bc402fbda Remove obsolete FIXME comments 2010-09-11 22:47:49 +02:00
Vladimir 'phcoder' Serbinenko
bd9603071a Merge mainline into legacy_parser 2010-09-11 22:39:55 +02:00
Vladimir 'phcoder' Serbinenko
9fb175ed9a Implement multiboot filename duplication in legacy parser 2010-09-11 22:18:41 +02:00
Szymon Janc
3c70f225b2 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype. 2010-09-11 20:08:37 +02:00
Vladimir 'phcoder' Serbinenko
4ce9a74332 merge mainline into gingold2 2010-09-11 18:03:47 +02:00
Vladimir 'phcoder' Serbinenko
4df7996d87 Shutdown using ACPI.
* grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
	* grub-core/commands/acpihalt.c: New file.
	* grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
	* include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
	(grub_acpi_halt): New proto.
	(GRUB_ACPI_SLP_EN): New const.
	(GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
	(GRUB_ACPI_OPCODE_*): New enum.
	(GRUB_ACPI_EXTOPCODE_*): Likewise.
2010-09-11 17:59:14 +02:00
Tristan Gingold
126b4c32ab * commands/lsacpi.c: New file.
* grub-core/Makefile.core.def (lsacpi): New module.
	* include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
	(GRUB_ACPI_MADT_SIGNATURE): Likewise.
	(grub_acpi_madt_entry_header): New struct.
	(grub_acpi_madt): Likewise.
	(grub_acpi_madt_entry_interrupt_override): Likewise.
	(grub_acpi_madt_entry_sapic): Likewise.
	(grub_acpi_madt_entry_lsapic): Likewise.
	(grub_acpi_madt_entry_platform_int_source): Likewise.
	* include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
	(PRIuGRUB_UINT32_T): Likewise.
	(PRIxGRUB_UINT64_T): Likewise.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-11 17:48:54 +02:00
bvk.groups@gmail.com
b61d05ed19 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
grub_free.
2010-09-07 17:16:03 +05:30
Vladimir 'phcoder' Serbinenko
122a9b2cd9 Merge mainline into legacy_parser 2010-09-05 20:44:42 +02:00
Vladimir 'phcoder' Serbinenko
5124ae6d4f Uncompressed checksum support.
* grub-core/commands/hashsum.c (options): Add option --uncompress.
	(check_list): New parameter uncompress.
	(grub_cmd_hashsum): Handle --uncompress.
2010-09-05 16:48:54 +02:00
Vladimir 'phcoder' Serbinenko
06f7011716 Reintroduce testload.
* grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
	from here ...
	* grub-core/commands/testload.c (grub_cmd_testload): ... here.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/Makefile.core.def (testload): New module.
2010-09-05 16:40:41 +02:00
Vladimir 'phcoder' Serbinenko
fc2ef1172c * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
Made static.
	(grub_gzfile_open): Removed. All users updated.
	(GRUB_MOD_INIT): New function.
	(GRUB_MOD_FINI): Likewise.
	* grub-core/kern/file.c (grub_file_filters_all): New variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_open): Handle filters.
	* grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
	* grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
	* include/grub/file.h (grub_file_filter_id_t): New type.
	(grub_file_filter_t): Likewise.
	(grub_file_filters_all): New extern variable.
	(grub_file_filters_enabled): Likewise.
	(grub_file_filter_register): New inline function.
	(grub_file_filter_unregister): Likewise.
	(grub_file_filter_disable): Likewise.
	(grub_file_filter_disable_compression): Likewise.
	* include/grub/gzio.h: Removed.
2010-09-05 13:05:36 +02:00
BVK Chaitanya
ee14ec9935 merge with mainline 2010-09-04 22:34:32 +05:30
BVK Chaitanya
a431c98a52 merge with mainline 2010-09-04 22:13:45 +05:30
Vladimir 'phcoder' Serbinenko
df3df23d5c Reorganise memory map handling 2010-09-04 17:10:10 +02:00
BVK Chaitanya
854bd47cb8 fix memory leak and out-of-range writes 2010-09-04 14:22:51 +05:30
BVK Chaitanya
6d7c073bc8 merge with mainline 2010-09-04 11:49:02 +05:30
BVK Chaitanya
7af6505ba1 merge with mainline 2010-09-04 11:37:59 +05:30
BVK Chaitanya
312e3e3668 merge with mainline 2010-09-04 11:28:45 +05:30
BVK Chaitanya
e5a73c4247 merge with mainline 2010-09-04 09:05:21 +05:30
BVK Chaitanya
80f5b97cdc --source option for menuentry 2010-09-04 08:14:50 +05:30
Vladimir 'phcoder' Serbinenko
03199f1909 Fix order of dimensions in videoinfo 2010-09-03 22:50:11 +02:00
Vladimir 'phcoder' Serbinenko
4ab5f27548 Remove vbetest and vbeinfo in favour of videotest and videoinfo 2010-09-03 22:21:48 +02:00
Vladimir 'phcoder' Serbinenko
380c39cb25 Show adapter-specific info 2010-09-03 22:11:22 +02:00
Vladimir 'phcoder' Serbinenko
4787931fe0 Show mode id 2010-09-03 21:40:40 +02:00
Vladimir 'phcoder' Serbinenko
540e2fe185 Initial videoinfo implementation 2010-09-03 21:19:22 +02:00
BVK Chaitanya
e89f9ec539 add setparams prefix 2010-09-03 22:28:16 +05:30
BVK Chaitanya
9284756e17 merge menuentry.mod into normal.mod 2010-09-03 21:08:12 +05:30
BVK Chaitanya
78780e7005 fix hotkey handling 2010-09-03 20:53:38 +05:30
BVK Chaitanya
cc7b1ab4d6 review comments 2010-09-03 20:35:23 +05:30
Vladimir 'phcoder' Serbinenko
c042567715 Create directory net and move all net files there 2010-09-02 22:20:48 +02:00
Vladimir 'phcoder' Serbinenko
308fad6dc8 Move DHCP parsing to net module and reintroduce most variables 2010-09-02 22:10:55 +02:00
Vladimir 'phcoder' Serbinenko
0f37e49365 Implement few variables 2010-09-02 20:00:56 +02:00
Vladimir 'phcoder' Serbinenko
e571f2332e Fix regressions by previous commits 2010-09-02 18:15:59 +02:00
Vladimir 'phcoder' Serbinenko
03b170647d Restructure pxe 2010-09-02 17:18:02 +02:00
Vladimir 'phcoder' Serbinenko
9a9852df79 Hook network protocols 2010-09-02 00:07:55 +02:00
Vladimir 'phcoder' Serbinenko
975cffff74 merge mainline into net 2010-09-01 23:28:02 +02:00
Tristan Gingold
41a331a8d3 * grub-core/commands/efi/lsefimmap.c: New file.
* grub-core/Makefile.core.def (lsefimmap): New module.
	* include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-01 10:12:41 +02:00
Vladimir 'phcoder' Serbinenko
48798b6a1e Fix memory leak 2010-09-01 09:34:09 +02:00
Tristan Gingold
105de6a758 * grub-core/commands/efi/lsefisystab.c: New file.
* grub-core/commands/efi/lssal.c: Likewise.
	* grub-core/Makefile.core.def (lsacpi): New module.
	(lsefisystab): Likewise.
	* include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
	(GRUB_EFI_HCDP_TABLE_GUID): Likewise.
	(grub_efi_sal_system_table): New struct.
	(grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
	(grub_efi_sal_system_table_memory_descriptor): Likewise.
	(grub_efi_sal_system_table_platform_features): Likewise.
	(grub_efi_sal_system_table_translation_register_descriptor): Likewise.
	(grub_efi_sal_system_table_purge_translation_coherence): Likewise.
	(grub_efi_sal_system_table_ap_wakeup): Likewise.
	* include/grub/types.h (PRIuGRUB_UINT64_T): New definition.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-01 02:37:17 +02:00
Tristan Gingold
1782b135e5 * commands/lsacpi.c: New file.
* grub-core/Makefile.core.def (lsacpi): New module.
	* include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
	(GRUB_ACPI_MADT_SIGNATURE): Likewise.
	(grub_acpi_madt_entry_header): New struct.
	(grub_acpi_madt): Likewise.
	(grub_acpi_madt_entry_interrupt_override): Likewise.
	(grub_acpi_madt_entry_sapic): Likewise.
	(grub_acpi_madt_entry_lsapic): Likewise.
	(grub_acpi_madt_entry_platform_int_source): Likewise.
	* include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
	(PRIuGRUB_UINT32_T): Likewise.
	(PRIxGRUB_UINT64_T): Likewise.

	Also-By: Robert Millan <rmh.grub@aybabtu.com>

	Also-By: Vladimir Serbinenko <phcoder@gmail.com>
2010-09-01 01:05:32 +02:00
Vladimir 'phcoder' Serbinenko
70770806f3 Merge mainline into keylayouts 2010-08-31 14:12:34 +02:00
Vladimir 'phcoder' Serbinenko
5aaf2c18bd Merge mainline into keylayouts 2010-08-31 14:03:29 +02:00
Vladimir 'phcoder' Serbinenko
21ed554bb0 Interrupt wrapping and code simplifications.
* Makefile.util.def (grub-mkrescue): Use x86 tg instead of
	x86_noieee1275 which are functionaly equivalent in this case.
	(grub-install): Make source on each platform explicit. Enable on
	all noemu.
	* gentpl.py (x86_efi_pc): Removed group.
	(x86_noefi): Likewise.
	(i386_noefi): Likewise.
	(x86_noieee1275): Likewise.
	(i386_noieee1275): Likewise.
	(i386_noefi_noieee1275): Likewise.
	(i386_pc_qemu_coreboot): Likewise.
	(i386_coreboot_multiboot): Likewise.
	(i386_pc_coreboot_multiboot_qemu): Likewise.
	(x86_noefi_mips): Likewise.
	(noieee1275): Likewise.
	(ieee1275_mips): Likewise.
	(noemu_noieee1275): Likewise.
	(cmos): New group.
	(usb): Likewise.
	(videoinkernel): Likewise.
	(videomodules): Likewise.
	* grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
	include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
	include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
	include/grub/loader.h, include/grub/msdos_partition.h,
	include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
	include/grub/machine/console.h, include/grub/machine/vga.h,
	include/grub/machine/vbe.h, include/grub/machine/init.h,
	include/grub/machine/kernel.h, include/grub/cpu/time.h,
	include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
	(KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
	(KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
	* grub-core/Makefile.core.def (kernel): Explicit the source for
	startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
	Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
	Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
	Use videoinkernel tag.
	(usb): Enable on all usb.
	(usbserial_common): Likewise.
	(usbserial_pl2303): Likewise.
	(usbserial_ftdi): Likewise.
	(uhci): Enable on all x86.
	(ohci): Enable on all pci.
	(cmostest): Enable on all CMOS.
	(acpi): Include commands/acpi.c on all platforms.
	(halt): Add relevant lib/*/halt.c.
	(hdparm): Enable on all pci.
	(lspci): Likewise.
	(usbtest): Enable on all usb.
	(ata): Enable on all pci.
	(ata_pthru): Likewise.
	(usbms): Enable on all usb.
	(usb_keyboard): Likewise.
	(font): Use tag videomodules.
	(bufio): Likewise.
	(datetime): Use tag cmos. Enable on all noemu.
	(mmap): Use tags common and x86.
	(gfxterm): Use tag videomodules.
	(bitmap): Likewise.
	(bitmap_scale): Likewise.
	(video_fb): Likewise.
	(video): Likewise.
	* grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
	adjust padding accordingly. All users updated.
	(grub_ohci_transaction): Fix bad format specification.
	(GRUB_MOD_INIT): Add asserts for struct size.
	* grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
	(grub_alloc_td): Likewise.
	(grub_free_queue): Likewise.
	(grub_uhci_transfer): Likewise.
	(grub_uhci_transaction): Fix bad format specification.
	* grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
	(grub_usb_bulk_readwrite): Likewise.
	* grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
	* grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
	Made static.
	* grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
	Made static.
	* grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
	* grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
	Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
	Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
	Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_check_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
	Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_cdinfo_int13_extensions): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_diskinfo_int13_extensions): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_diskinfo_standard): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_diskinfo_standard): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S
	(grub_biosdisk_get_num_floppies): Moved from here ...
	* grub-core/disk/i386/pc/biosdisk.c
	(grub_biosdisk_get_num_floppies): ... here.
	Transformed into C. Made static.
	* grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
	New function.
	* grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
	* grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
	* grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
	Transformed into C. Made static.
	* grub-core/kern/i386/ieee1275/init.c: Removed.
	* grub-core/kern/i386/misc.S: Likewise.
	* grub-core/kern/i386/pc/startup.S (grub_get_memsize):
	Splitted from here ...
	* grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
	Moved from here...
	* grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
	Moved from here...
	* grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
	Transformed into C. Made static. All users updated.
	* grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
	Removed (replaced by C version).
	* grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
	Moved from here...
	* grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
	Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S
	(grub_vbe_bios_getset_dac_palette_width):Moved from here...
	* grub-core/video/i386/pc/vbe.c
	(grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
	... here. Transformed into C.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
	Moved from here...
	* grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
	... here. Transformed into C. Made static.
	* grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
	pxe_rm_entry as third argument.
	(grub_bios_interrupt): New function.
	* grub-core/kern/i386/qemu/mmap.c: Remove useless include.
	* grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
	of calling grub_stop.
	* grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
	* grub-core/lib/efi/halt.c (grub_halt): ...here.
	* grub-core/kern/emu/main.c (grub_halt): Moved from here ...
	* grub-core/lib/emu/halt.c (grub_halt): ... here.
	* grub-core/lib/i386/halt.c: Moved from here ...
	* grub-core/lib/i386/halt.c: ... here.
	* grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
	* grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
	* grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
	grub_stop_floppy.
	* grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
	* include/grub/i386/coreboot/init.h: Removed.
	* include/grub/i386/multiboot/init.h: Likewise.
	* include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
	* include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
	* include/grub/i386/pc/int.h: New file.
	* include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
	(grub_pxe_scan): Removed.
	(grub_pxe_call): Update prototype.
	* include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
	prototypes.
	* include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
	* include/grub/i386/qemu/init.h: Removed.
	* include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
	noreturn.
	(grub_halt): Likewise.
	* include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
	(grub_reboot): Likewise.
	* grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
	* include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
	* grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
2010-08-30 22:02:58 +02:00
Vladimir 'phcoder' Serbinenko
2a87d7d1b6 Remove biglinux FIXME comment. It's a non-issue 2010-08-27 22:34:25 +02:00
Vladimir 'phcoder' Serbinenko
7ddbecf25f implement legacy_color 2010-08-27 22:09:09 +02:00
Vladimir 'phcoder' Serbinenko
8fc6a27147 Implement legacy_kernel and legacy_initrd commands 2010-08-27 21:27:26 +02:00
Vladimir 'phcoder' Serbinenko
fff175c77f Implement grub-menulst2cfg and fix many bugs in legacy_parser 2010-08-27 20:04:49 +02:00
Vladimir 'phcoder' Serbinenko
92eb189b69 Merge mainline into legacy_parser 2010-08-27 19:05:06 +02:00
BVK Chaitanya
8fdefb9253 merge with mainline 2010-08-26 12:11:57 +05:30
BVK Chaitanya
ab8629d2ac pull-in menuentry branch 2010-08-26 12:02:52 +05:30
BVK Chaitanya
47b4c2c3e8 pull-in block-arg branch 2010-08-26 11:32:35 +05:30
BVK Chaitanya
928bad4708 merge with mainline 2010-08-26 09:30:11 +05:30
Vladimir 'phcoder' Serbinenko
afba9f98ec MErge mainline into intwrap 2010-08-25 23:39:42 +02:00
BVK Chaitanya
d84666e6bb merge with mainline 2010-08-22 21:00:22 +05:30
BVK Chaitanya
16c7cb32c8 merge with mainline 2010-08-19 16:54:00 +05:30
BVK Chaitanya
297f0c2b6e merge with mainline 2010-07-13 00:43:28 +05:30
BVK Chaitanya
baea17662b merge with mainline 2010-06-08 09:36:44 +05:30
BVK Chaitanya
a762e3c335 merge with mainline 2010-06-01 17:52:31 +05:30
BVK Chaitanya
692d7c2855 pull-in emu-lite branch 2010-05-26 17:49:05 +05:30
BVK Chaitanya
16321bf9ca pull-in emu-lite branch 2010-05-06 12:55:47 +05:30
BVK Chaitanya
8c41176882 automake commit without merge history 2010-05-06 11:34:04 +05:30