Commit graph

3118 commits

Author SHA1 Message Date
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
6419c43e4f Fix indentation in util/grub.d/00_header.in output 2010-01-20 13:56:45 +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
Vladimir 'phcoder' Serbinenko
119c50eab3 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/x86_64/at_keyboard.h: New file.
2010-01-20 08:02:45 +01:00
Vladimir 'phcoder' Serbinenko
47d5f3c1c2 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* loader/mips/linux.c: Include missing grub/i18n.h.
2010-01-20 08:01:48 +01:00
Vladimir 'phcoder' Serbinenko
2d49abe9e7 merge mainline into asprintf 2010-01-20 07:36:17 +01:00
Robert Millan
55ff526642 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* normal/menu.c (notify_execution_failure): Clarify error message.
2010-01-20 02:50:36 +00:00
Robert Millan
c893cc87fc 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* commands/loadenv.c (check_blocklists): Use `grub_err_t' as
	return value (and revert all return statements).  Update users.
2010-01-20 02:43:19 +00:00
Colin Watson
917dd37040 2010-01-20 Dan Merillat <debian@dan.merillat.org>
* kern/device.c (grub_device_iterate): Allocate new part_ent
	structure based on sizeof (*p) rather than sizeof (p->next), to
	account for structure padding.

	* util/grub-probe.c (probe_raid_level): Return -1 immediately if
	disk is NULL, which might happen for LVM physical volumes with no
	LVM signature.
2010-01-20 02:11:07 +00:00
Robert Millan
d4a4ee5765 Merge mips branch 2010-01-20 01:55:41 +00:00
Robert Millan
ff9890710e 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* loader/mips/linux.c (grub_cmd_initrd)
	(GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
2010-01-20 01:29:06 +00:00
Robert Millan
e3538adaea 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
* kern/mips/yeeloong/init.c (grub_video_sm712_init)
	(grub_video_video_init, grub_video_bitmap_init)
	(grub_font_manager_init, grub_term_gfxterm_init)
	(grub_at_keyboard_init): New extern declarations.
	(grub_machine_init): Initialize gfxterm and at_keyboard.
	
	* kern/main.c (grub_main): Revert grub_printf delay kludge.
	
	* util/grub-install.in: Revert embed of `at_keyboard.mod' and
	`gfxterm.mod' into core image.
	
	* conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): Copy to ...
	
	* conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here, and ...
	
	* conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
	(kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
	(kernel_img_FORMAT): ... here.
	
	(kernel_img_SOURCES): Add files necessary for output (gfxterm)
	and input (at_keyboard) terminals in kernel.
	(kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
	
	(pkglib_MODULES): Remove `pci.mod'.
	(pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
	(sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
	(at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
	(at_keyboard_mod_LDFLAGS): Remove variables.
2010-01-20 01:19:53 +00:00
Robert Millan
ca2a220a74 Resync 2010-01-20 00:47:55 +00:00
Robert Millan
25c2b5b317 Merge kernel-font branch 2010-01-20 00:42:55 +00:00
Robert Millan
7a988ee134 Remove a debug comment. 2010-01-20 00:34:57 +00:00
Vladimir 'phcoder' Serbinenko
915fc1b8bf 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
* include/multiboot.h: Resynced with spec.
	* include/multiboot2.h: Likewise.
	* loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
	GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2010-01-20 01:08:46 +01:00
Robert Millan
4df7b90f94 Add (unused) mode_mask parameter to grub_video_sm712_setup() 2010-01-18 22:07:05 +00:00
Robert Millan
e022a2d667 Sync with trunk 2010-01-18 20:51:35 +00:00
Robert Millan
41f683d456 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
* include/grub/term.h (grub_term_register_input,
	grub_term_register_output): Check return of terminal init()
	routines, and abort if errors are raised.
	
	* commands/terminal.c: Update copyright year.
2010-01-18 20:20:34 +00:00
Robert Millan
905c7ca691 Resync 2010-01-18 19:45:50 +00:00