Commit graph

2630 commits

Author SHA1 Message Date
Colin Watson
b769a37b6e 2010-01-26 Colin Watson <cjwatson@ubuntu.com>
* conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
	kern/err.c, kern/list.c, and kern/misc.c.
	* util/deviceiter.c [__linux__]: Define MINOR.
	(grub_util_iterate_devices): Add support for DM-RAID disk devices.
	* util/mkdevicemap.c (grub_putchar): New function.
	(grub_getkey): New function.
	(grub_refresh): New function.
	(main): Set debug=all if -v -v is used.
2010-01-26 14:26:16 +00:00
Colin Watson
7181e2281f 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
* configure.ac: Check for Linux device-mapper support.
	* util/hostdisk.c (device_is_mapped): New function.
	(find_partition_start): New function, partly broken out from
	linux_find_partition and grub_util_biosdisk_get_grub_dev but with
	device-mapper support added.
	(linux_find_partition): Use find_partition_start.
	(convert_system_partition_to_system_disk): Add `st' argument.
	Support Linux /dev/mapper/* devices if device-mapper support is
	available; only DM-RAID devices are understood at present.
	(find_system_device): Add `st' argument.  Pass it to
	convert_system_partition_to_system_disk.
	(grub_util_biosdisk_get_grub_dev): Pass stat result to
	find_system_device and convert_system_partition_to_system_disk.  Use
	find_partition_start.
2010-01-25 17:47:51 +00:00
Colin Watson
847effd8bf 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
* util/hostdisk.c (open_device): Add trailing newline to debug
	message.
2010-01-25 17:04:22 +00:00
Grégoire Sutre
ea4a7e35eb 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
* configure.ac: Check for `limits.h'.
	* util/misc.c: Include `<limits.h>' (for PATH_MAX).
2010-01-25 10:06:55 +01:00
Robert Millan
67951a534f 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
* loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
	capitalize error strings.
2010-01-24 21:04:29 +00:00
Samuel Thibault
c273d4cea9 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
* util/grub.d/10_hurd.in: Add a recovery mode.
2010-01-24 14:30:10 +01:00
Vladimir 'phcoder' Serbinenko
69be5b74be 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for libgcc symbols with -nostdlib.
2010-01-23 22:56:08 +01:00
BVK Chaitanya
fc9e58104a fix underquoted AC_DEFUN parameters 2010-01-23 22:38:10 +05:30
Vladimir 'phcoder' Serbinenko
4b358c0a56 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
	stack since heap may be unavailable at that point.
	(grub_ofconsole_gotoxy): Likewise.
2010-01-22 20:42:02 +01:00
Vladimir 'phcoder' Serbinenko
454fcd1c9b 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Check for _restgpr_14_x.
	* include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
	and _savegpr_* prototypes.
2010-01-22 20:40:21 +01:00
Robert Millan
566863ca19 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
Use generic grub_reboot() for i386-efi.
	
	* kern/efi/efi.c [__i386__] (grub_reboot): Remove.
	* kern/i386/efi/startup.S: Include `"../realmode.S"'.
	* kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2010-01-22 17:12:40 +00:00
Vladimir 'phcoder' Serbinenko
bf86e59a76 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
	presence of "prefix" variable as it breaks when normal.mod is
	embedded.
2010-01-22 00:33:07 +01:00
Vladimir 'phcoder' Serbinenko
d645e0f8e8 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
	stack since heap is unavailable at that point.
2010-01-22 00:07:28 +01:00
Vladimir 'phcoder' Serbinenko
f9ab2e25d3 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
	(grub_freebsd_bootinfo): Rewritten.
	* loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2010-01-21 17:35:14 +01:00
Vladimir 'phcoder' Serbinenko
01fc7054b9 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
* util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2010-01-21 13:58:40 +01:00
Robert Millan
caab4fd6ca 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
* po/POTFILES: Remove mkisofs-related files.  They have their own TLP
	domain now.
2010-01-21 08:04:49 +00:00
Felix Zielcke
67eb14272d 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
* util/misc.c (make_system_path_relative_to_its_root): Change the work
	around for handling "/" to the correct fix.  Fix a memory leak.  Use
	xstrdup instead of strdup.
2010-01-20 23:53:53 +01:00
Vladimir 'phcoder' Serbinenko
a9ed4ff36f 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2010-01-20 22:21:08 +01:00
Vladimir 'phcoder' Serbinenko
bed35bdac7 2009-11-29 Vladimir Serbinenko <phcoder@gmail.com>
Optimise glyph lookup by Basic Multilingual Plane lookup array.

	* font/font.c (struct grub_font): New member 'bmp_idx'.
	(font_init): Initialise 'bmp_idx'.
	(load_font_index): Fill 'bmp_idx'.
	(find_glyph): Make inline. Use bmp_idx for BMP characters.
2010-01-20 21:56:05 +01:00
Vladimir 'phcoder' Serbinenko
e6d5d6e624 merge mainline into bmpidx 2010-01-20 21:53:43 +01:00
Vladimir 'phcoder' Serbinenko
48209f4f05 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
	unnecessary calls.
2010-01-20 21:45:41 +01:00
Vladimir 'phcoder' Serbinenko
b64e72394a merge mainline into scrollopt 2010-01-20 21:38:14 +01:00
Vladimir 'phcoder' Serbinenko
9f0a4bb7df 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Move context handling out of the kernel.

	* conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
	* conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
	* conf/i386-efi.rmk: Likewise.
	* conf/i386-ieee1275.rmk: Likewise.
	* conf/i386-pc.rmk: Likewise.
	* conf/powerpc-ieee1275.rmk: Likewise.
	* conf/sparc64-ieee1275.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* include/grub/env.h: Include grub/menu.h.
	(grub_env_var_type): Removed.
	(grub_env_var): Replaced field 'type' with 'global'.
	(grub_env_find): New prototype.
	(grub_env_context_open): Remove EXPORT_FUNC.
	(grub_env_context_close): Likewise.
	(grub_env_export): Likewise.
	(grub_env_set_data_slot): Removed.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.
	(grub_env_unset_menu): New prototype.
	(grub_env_set_menu): Likewise.
	(grub_env_get_menu): Likewise.
	* include/grub/env_private.h: New file.
	* include/grub/normal.h (grub_context_init): New prototype.
	(grub_context_fini): Likewise.
	* kern/corecmd.c (grub_core_cmd_export): Moved from here ...
	* normal/context.c (grub_cmd_export): ... to here.
	* kern/env.c: Include env_private.h.
	(HASHSZ): Moved to include/grub/env_private.h.
	(grub_env_context): Likewise.
	(grub_env_sorted_var): Likewise.
	(current_context): Renamed from this ...
	(grub_current_context): ...to this. 'static' removed. All users updated.
	(grub_env_find): Removed 'static'.
	(grub_env_context_open): Moved to normal/context.c.
	(grub_env_context_close): Likewise.
	(grub_env_export): Likewise.
	(mangle_data_slot_name): Removed.
	(grub_env_set_data_slot): Likewise.
	(grub_env_get_data_slot): Likewise.
	(grub_env_unset_data_slot): Likewise.
	* kern/main.c (grub_set_root_dev): Don't export root.
	It will be done later.
	(grub_main): Don't export prefix.
	It will be done later.
	* normal/context.c: New file.
	* normal/main.c (free_menu): Use grub_env_unset_menu.
	(grub_normal_add_menu_entry): Use grub_env_get_menu.
	(read_config_file): Use grub_env_get_menu and grub_env_set_menu.
	(GRUB_MOD_INIT(normal)): Call grub_context_init.
	(GRUB_MOD_FINI(normal)): Call grub_context_fini.
2010-01-20 21:32:41 +01:00
Vladimir 'phcoder' Serbinenko
61c501a941 merge mainline into newenv 2010-01-20 21:31:39 +01:00
Vladimir 'phcoder' Serbinenko
8dd35b8c20 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
setpci support.

	* commands/setpci.c: New file.
	* conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
	(setpci_mod_SOURCES): New variable.
	(setpci_mod_CFLAGS): Likewise.
	(setpci_mod_LDFLAGS): Likewise.
2010-01-20 20:55:55 +01:00
Vladimir 'phcoder' Serbinenko
baccdb23a7 Use grub_snprintf in commands/setpci.c 2010-01-20 20:54:58 +01:00
Vladimir 'phcoder' Serbinenko
5b47ee8044 merge mainline into setpci 2010-01-20 20:51:00 +01:00
Vladimir 'phcoder' Serbinenko
fdb1b2ea4e 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* video/sm712.c (grub_video_sm712_setup): Use GRUB_PCI_REG_CLASS.
2010-01-20 20:49:18 +01:00
Vladimir 'phcoder' Serbinenko
449193d59e 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Byte-addressable PCI configuration space.

	* bus/pci.c (grub_pci_make_address): Use byte address instead of
	dword address.
	(grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
	GRUB_PCI_REG_CACHELINE.
	* bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
	* bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
	* commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
	* commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
	grub_pci_make_address.
	(lock_rom_area): Likewise.
	* commands/lspci.c (grub_lspci_iter): Use macroses
	GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
	of grub_pci_make_address.
	* disk/ata.c (grub_ata_pciinit): Likewise.
	* include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
	(GRUB_PCI_REG_VENDOR): Likewise.
	(GRUB_PCI_REG_DEVICE): Likewise.
	(GRUB_PCI_REG_COMMAND): Likewise.
	(GRUB_PCI_REG_STATUS): Likewise.
	(GRUB_PCI_REG_REVISION): Likewise.
	(GRUB_PCI_REG_CLASS): Likewise.
	(GRUB_PCI_REG_CACHELINE): Likewise.
	(GRUB_PCI_REG_LAT_TIMER): Likewise.
	(GRUB_PCI_REG_HEADER_TYPE): Likewise.
	(GRUB_PCI_REG_BIST): Likewise.
	(GRUB_PCI_REG_ADDRESSES): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_ADDRESS_REG): Likewise.
	(GRUB_PCI_REG_CIS_POINTER): Likewise.
	(GRUB_PCI_REG_SUBVENDOR): Likewise.
	(GRUB_PCI_REG_SUBSYSTEM): Likewise.
	(GRUB_PCI_REG_ROM_ADDRESS): Likewise.
	(GRUB_PCI_REG_CAP_POINTER): Likewise.
	(GRUB_PCI_REG_IRQ_LINE): Likewise.
	(GRUB_PCI_REG_IRQ_PIN): Likewise.
	(GRUB_PCI_REG_MIN_GNT): Likewise.
	(GRUB_PCI_REG_MAX_LAT): Likewise.
	* loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
	* loader/i386/efi/xnu.c (find_framebuf): Likewise.
	* video/efi_uga.c (find_framebuf): Likewise.
	* util/pci.c (grub_pci_make_address): Use byte-addressed configuration
	space.
2010-01-20 20:42:35 +01:00
Vladimir 'phcoder' Serbinenko
f7fcb23c76 merge mainline into pciclean 2010-01-20 20:40:30 +01:00
Vladimir 'phcoder' Serbinenko
61c8e880e4 Add comments to loadbios.c 2010-01-20 20:33:01 +01:00
Robert Millan
96d73208a1 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
	can be reliably determined to be supported.
2010-01-20 17:01:12 +00:00
Robert Millan
d44844828a 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
	that VESA is supported.
	(grub_linux_boot): Use generic framebuffer unless VESA is known to be
	supported.
2010-01-20 16:30:20 +00:00
Vladimir 'phcoder' Serbinenko
00308ecfe8 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2010-01-20 15:43:21 +01:00
Robert Millan
f66924a414 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/misc.c (make_system_path_relative_to_its_root): Work around
	special-casing of "/", as previous incarnation of this routine did.
2010-01-20 14:40:00 +00:00
Vladimir 'phcoder' Serbinenko
cbca0ada62 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Fix any-emu compilation.

	* conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
	* grub_bin2h_SOURCES: New variable.
2010-01-20 15:26:31 +01:00
Robert Millan
34a66d995b 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/00_header.in: Fix stupid mistake from last commit.
2010-01-20 14:10:46 +00:00
Robert Millan
94fabf587a 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/00_header.in: Fix handling of locale_dir.
2010-01-20 13:55:30 +00:00
Vladimir 'phcoder' Serbinenko
02cf98ca8d 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
	as possible unifont location (Gentoo).
	Reported by: Alexander Brüning
2010-01-20 13:27:23 +01:00
Vladimir 'phcoder' Serbinenko
327dbcd7b9 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
Don't try to generate lists for kernel.img.

	* conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
	(pkglib_MODULES): Remove kernel.img.
	(kernel_img_EXPORTS): Removed.
	(kernel_img_RELOCATABLE): New variable.
	* conf/x86_64-efi.rmk: Likewise.
	* genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2010-01-20 10:59:15 +01:00
Vladimir 'phcoder' Serbinenko
ca46729091 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/misc.h (grub_sprintf): Removed. All users switched to
	grub_xasprintf or grub_snprintf.
	(grub_vsprintf): Likewise.
	(grub_snprintf): New proto.
	(grub_vsnprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_xvasprintf): Likewise.
	* kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
	(grub_sprintf): Removed.
	(grub_vsnprintf): New function.
	(grub_snprintf): Likewise.
	(grub_xvasprintf): Likewise.
	(grub_xasprintf): Likewise.
	(grub_vsprintf): Renamed to ...
	(grub_vsnprintf_real): ...this. New argument max_len.
2010-01-20 09:53:23 +01:00
Vladimir 'phcoder' Serbinenko
93079f9f96 ChangeLog 2010-01-20 09:28:35 +01:00
Vladimir 'phcoder' Serbinenko
61eb45eee7 Rename asprint into xasprintf and avsprintf into xvasprintf 2010-01-20 09:12:47 +01:00
Vladimir 'phcoder' Serbinenko
adb893f2ae use correct size strings in mips/linux.c 2010-01-20 09:02:01 +01:00
Vladimir 'phcoder' Serbinenko
b09a4a8dff add missing error handling 2010-01-20 09:01:25 +01:00
BVK Chaitanya
242f3b11c9 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
* include/grub/script_sh.h (sourcecode): Remove const qualifier to
	fix grub-script-check warning.
2010-01-20 12:52:29 +05:30
BVK Chaitanya
aca655fd20 fix grub-script-check warnings 2010-01-20 12:48:35 +05:30
Vladimir 'phcoder' Serbinenko
14284856a2 merge mainline into asprintf 2010-01-20 08:06:28 +01:00
Vladimir 'phcoder' Serbinenko
7ee92c32e1 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/font.h (grub_font_load): Fix prototype.
2010-01-20 08:04:39 +01:00
Vladimir 'phcoder' Serbinenko
f80927cadb 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2010-01-20 08:04:01 +01:00