Commit graph

1098 commits

Author SHA1 Message Date
robertmh
6374daf387 2009-02-21 Robert Millan <rmh@aybabtu.com>
Implement USB keyboard support (based on patch by Marco Gerards)

        * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
        (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
        (usb_keyboard_mod_LDFLAGS): New variables.

        * term/usb_keyboard.c: New file.
2009-02-21 14:55:06 +00:00
chrfranke
8fa4ea7017 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
Corrected wrong declaration

	* kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
2009-02-14 19:24:31 +00:00
chrfranke
353976ac0e 2009-02-14 Christian Franke <franke@computer.org>
* commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
	(grub_lspci_iter): Print class code and programming interface byte.
2009-02-14 17:26:35 +00:00
chrfranke
6aa1169b6d 2009-02-14 Christian Franke <franke@computer.org>
* gendistlist.sh: Ignore `.svn' directories.
2009-02-14 16:02:12 +00:00
fzielcke
265372ca74 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
* fs/fat.c: Add 2009 to Copyright line.
2009-02-14 14:38:50 +00:00
chrfranke
9ff516f3eb 2009-02-14 Christian Franke <franke@computer.org>
* commands/hdparm.c: New file.  Provides `hdparm' command
	which sends ATA commands via grub_disk_ata_pass_through ().

	* conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.

	* disk/ata.c: Include <grub/ata.h>.  Move <grub/misc.h>
	and <grub/cpu/io.h> to include/grub/ata.h.
	(enum grub_ata_addressing_t): Move to include/grub/ata.h.
	(GRUB_CDROM_SECTOR_SIZE): Remove.
	(GRUB_ATA_*): Move to include/grub/ata.h.
	(GRUB_ATAPI_*): Likewise.
	(enum grub_ata_commands): Likewise.
	(enum grub_ata_timeout_milliseconds): Likewise.
	(struct grub_ata_device): Likewise.
	(grub_ata_regset): Likewise.
	(grub_ata_regget): Likewise.
	(grub_ata_regset2): Likewise.
	(grub_ata_regget2): Likewise.
	(grub_ata_check_ready): Likewise.
	(grub_ata_wait_not_busy): Remove static, exported in
	include/grub/ata.h.
	(grub_ata_wait_drq): Likewise.
	(grub_ata_pio_read): Likewise.

	* disk/ata_pthru.c: New file.  Provides grub_ata_pass_through ()
	function for hdparm.mod.

	* include/grub/ata.h: New file, contains declarations from
	disk/ata.c.
	(enum grub_ata_commands): Add new commands for commands/hdparm.c.

	* include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
	(grub_disk_ata_pass_through): New exported variable.

	* kern/disk.c (grub_disk_ata_pass_through): New variable.
2009-02-14 12:57:55 +00:00
cbennett
772e23dad2 2009-02-13 Colin D Bennett <colin@gibibit.com>
Support multiple fallback entries, and provide an API to support
	executing default+fallback menu entries.  Renamed the `terminal' menu
	viewer to `text'.

	* include/grub/normal.h (grub_normal_text_menu_viewer): New global
	variable declaration.
	(grub_menu_execute_callback): New structure declaration.
	(grub_menu_execute_callback_t): New typedef.
	(grub_menu_execute_with_fallback): New function declaration.
	(grub_menu_get_entry): Likewise.
	(grub_menu_get_timeout): Likewise.
	(grub_menu_set_timeout): Likewise.

	* normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.

	* normal/menu.c (grub_wait_after_message): Moved to
	`normal/menu_text.c'.
	(draw_border): Likewise.
	(print_message): Likewise.
	(print_entry): Likewise.
	(print_entries): Likewise.
	(grub_menu_init_page): Likewise.
	(get_entry_number): Likewise.
	(print_timeout): Likewise.
	(run_menu): Likewise.
	(grub_menu_execute_entry): Likewise.
	(show_text_menu): Likewise.
	(get_and_remove_first_entry_number): New function.
	(grub_menu_execute_with_fallback): Likewise.
	(get_entry): Renamed to ...
	(grub_menu_get_entry): .. this and made it global.
	(get_timeout): Renamed to ...
	(grub_menu_get_timeout): ... this and made it global.
	(set_timeout): Renamed to ...
	(grub_menu_set_timeout): ... this and made it global.
	(grub_normal_terminal_menu_viewer): Renamed to ...
	(grub_normal_text_menu_viewer): ... this.

	* normal/menu_text.c: New file.  Extracted text-menu-specific code
	from normal/menu.c.

	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.

	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	(normal_mod_SOURCES): Likewise.
2009-02-13 20:06:27 +00:00
robertmh
16ac430e8c 2009-02-11 Robert Millan <rmh@aybabtu.com>
* util/grub.d/00_header.in: Update old reference to `font' command.
2009-02-11 00:36:58 +00:00
fzielcke
06ff20fcfe 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
* fs/fat.c (grub_fat_mount): Fix wrong comparison.

	Based on patch from Javier Martín.
2009-02-10 09:50:08 +00:00
fzielcke
96da94074c 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
* conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
	to avoid false posivites with FAT.
	(grub_fstest_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2009-02-09 18:00:36 +00:00
fzielcke
6dca6fe432 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
	bpb.version_specific.fat12_or_fat16.fstype and
	bpb.version_specific.fat32.fstype.
2009-02-09 14:17:19 +00:00
robertmh
be110b3076 Fix ChangeLog entry 2009-02-08 22:11:48 +00:00
robertmh
2550c62fe0 2009-02-08 Robert Millan <rmh@aybabtu.com>
* fs/tar.c: Replace "fs/cpio.h" with "cpio.h".
2009-02-08 21:50:27 +00:00
robertmh
56978920b1 2009-02-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (host_os, host_cpu): New variables.
        (target_os): Remove.  Update all users.
2009-02-08 19:59:32 +00:00
robertmh
d64399b562 2009-02-08 Marco Gerards <marco@gnu.org>
* Makefile.in (enable_grub_emu_usb): New variable.
        * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
        (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
        `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
        (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
        (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
        `usbtest.mod' and `usbms.mod'.
        (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
        (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
        (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
        (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
        (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
        variables.

        * disk/usbms.c: New file.

        * include/grub/usb.h: Likewise.

        * include/grub/usbtrans.h: Likewise.

        * include/grub/usbdesc.h: Likewise.

        * bus/usb/usbtrans.c: Likewise.

        * bus/usb/ohci.c: Likewise.

        * bus/usb/uhci.c: Likewise.

        * bus/usb/usbhub.c: Likewise.

        * bus/usb/usb.c: Likewise.

        * commands/usbtest.c: Likewise.

        * util/usb.c: Likewise.

        * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.

        * configure.ac: Test for libusb presence.

        * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
2009-02-08 17:58:32 +00:00
chaac
2b40d6bb9f 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
* kern/mm.c: Add more comments.
2009-02-08 10:52:03 +00:00
robertmh
73a4ce818c 2009-02-08 Robert Millan <rmh@aybabtu.com>
Patch from Javier Martín.
        * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
        `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
2009-02-08 00:28:09 +00:00
robertmh
f821ce593a 2009-02-08 Robert Millan <rmh@aybabtu.com>
* fs/cpio.c: Split tar functionality to ...
        * fs/tar.c: ... here (new file).  Update all users.
2009-02-07 23:38:01 +00:00
robertmh
aebfc4b085 2009-02-07 Robert Millan <rmh@aybabtu.com>
* fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
        backward-incompatible features.

        Based on patch from Javier Martín, with some adjustments.
2009-02-07 23:13:48 +00:00
robertmh
cea15bca5b 2009-02-07 Michael Scherer <misc@mandriva.org>
* fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
2009-02-07 20:57:23 +00:00
robertmh
0bb5115e67 2009-02-07 Robert Millan <rmh@aybabtu.com>
* conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
        position of `disk/lvm.c\' to ensure grub_init_all() always picks it
        after the RAID stuff.
2009-02-07 20:55:48 +00:00
chaac
38a0f8e7b5 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
Fixes problem when running vbetest command as reported by 
	Vladimir Serbinenko <phcoder@gmail.com>.

	* (grub_vbe_set_video_mode): Fixed problem with text modes.
2009-02-05 18:28:58 +00:00
fzielcke
3143cc1c5f 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
	/dev/md/NpN style mdraid devices.
2009-02-04 10:52:25 +00:00
proski
7c3ff286eb Fix typos and extra spaces 2009-02-03 22:33:45 +00:00
fzielcke
9cba6fce00 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
* util/unifont2pff.rb: Remove.
2009-02-03 20:23:33 +00:00
fzielcke
e507a2c14f 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
	`#'.
2009-02-03 13:34:52 +00:00
fzielcke
d2c2b4cdb9 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
* conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2009-02-03 13:22:26 +00:00
chrfranke
b4315fb069 2009-02-02 Christian Franke <franke@computer.org>
* lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
2009-02-02 19:43:14 +00:00
fzielcke
de3aa26079 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
* INSTALL: Note that we now require at least autconf 2.59 and that LZO 
	is optional.
2009-02-01 16:17:32 +00:00
chaac
825a182b6a 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
Base on patch on bug #24154 created by Tomas Tintera
	<trosos@seznam.cz>.

	* video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
2009-02-01 09:33:29 +00:00
chaac
a69ef770ff 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
Based on patch on bug #25318 created by Bernhard Rosenkraenzer 
	<bero@arklinux.org>.

	* normal/parser.y (script_init): Add missing semicolon.
2009-02-01 09:03:15 +00:00
chaac
6fa42fa65a 2009-01-31 Colin D Bennett <colin@gibibit.com>
* normal/main.c: Add include to grub/menu_viewer.h. 
	(free_menu_entry_classes): Added.
	(grub_normal_menu_addentry): Added class property handling.
	(grub_normal_execute): Changed to use new menu viewer for menu viewing.
	(GRUB_MOD_INIT(normal)): Added register for text based menu viewer.

	* normal/menu_viewer.c: New file.

	* normal/menu.c (run_menu_entry): Renamed to ...
	(grub_menu_execute_entry): ... this and	made it as global.
	(grub_menu_run): Renamed to ...
	(show_text_menu): ... this and made it local.
	(show_text_menu): Adapt to new function names.
	(grub_normal_terminal_menu_viewer): New global variable.

	* include/grub/menu.h: New file.

	* include/grub/menu_viewer.h: New file.

	* include/grub/normal.h: Added include to grub/menu.h.
	(grub_menu_entry): Moved to include/grub/menu.h.
	(grub_menu_entry_t): Likewise.
	(grub_menu): Likewise.
	(grub_menu_t): Likewise.
	(grub_normal_terminal_menu_viewer): Added.
	(grub_menu_execute_entry): Likewise.
	(grub_menu_run): Removed.

	* DISTLIST: Added include/grub/menu.h.
	Added include/grub/menu_viewer.h.
	Added normal/menu_viewer.c.

2009-01-31  Vesa Jääskeläinen  <chaac@nic.fi>

	* normal/execute.c (grub_script_execute_menuentry): Changed to use
	arglist for menutitle arguments.

	* normal/main.c (grub_normal_menu_addentry): Likewise.

	* normal/parser.y (menuentry): Likewise.

	* normal/script.c (grub_script_create_cmdmenu): Likewise.

	* include/grub/script.h (grub_script_cmd_menuentry): Likewise.
	(grub_script_create_cmdmenu): Likewise.

	* include/grub/normal.h (grub_normal_menu_addentry): Likewise.

	* conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
	changes.

	* conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.

	* conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.

	* conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
2009-01-31 09:15:43 +00:00
chrfranke
56192c2346 2009-01-30 Christian Franke <franke@computer.org>
* normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
	in option help text.
2009-01-30 21:10:17 +00:00
proski
d72521b377 2009-01-27 Pavel Roskin <proski@gnu.org>
* disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
2009-01-28 02:19:07 +00:00
chaac
994b5e841d 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
* commands/lsmmap.c: Add include to grub/machine/memory.h.

	* fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.

	* term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
	unregister function.
2009-01-27 19:07:32 +00:00
chaac
6a7eab2c13 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
* disk/scsi.c (grub_scsi_read): Fix sign problem.

	* term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.

	* util/grub-mkfont.c (usage): Fix typo.

	* util/elf/grub-mkimage.c (load_modules): Fix warning.
2009-01-27 18:26:09 +00:00
proski
3fb18f094d 2009-01-26 Daniel Mierswa <impulze@impulze.org>
* fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
2009-01-26 04:35:57 +00:00
proski
336e1fb9ea 2009-01-26 Daniel Mierswa <impulze@impulze.org>
* commands/search.c (search_fs_uuid): Ignore case of the UUID.
2009-01-26 04:26:47 +00:00
proski
1806b56e2b 2009-01-26 Daniel Mierswa <impulze@impulze.org>
* kern/misc.c (grub_strcasecmp): New function.
	(grub_strcasecmp): Use grub_size_t instead of int for length.
	Fix return value.
	* include/grub/misc.h: Update function prototypes.
2009-01-26 04:22:44 +00:00
proski
ef257b36a6 Remove trailing whitespace 2009-01-26 04:05:54 +00:00
robertmh
580b2a0fb2 2009-01-26 Robert Millan <rmh@aybabtu.com>
* configure.ac: Fix cross-compilation check.
2009-01-25 23:04:46 +00:00
chrfranke
d31c24f1e0 2009-01-22 Christian Franke <franke@computer.org>
* kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
	(precision) digit string.  Allow `.format2' without `format1' (width).
	Limit input chars for `%s' output to `format2' if specified.  This is
	compatible with standard printf ().
2009-01-22 20:27:52 +00:00
chrfranke
3138b44c90 2009-01-22 Christian Franke <franke@computer.org>
* disk/ata.c (grub_ata_wait_status): Replace by ...
	(grub_ata_wait_not_busy): ... this function.  Checks only BSY bit,
	other status bits may be invalid while BSY is asserted.
	(grub_ata_check_ready): New function.
	(grub_ata_cmd): Removed.
	(grub_ata_wait_drq): New function.
	(grub_ata_strncpy): Remove inline.
	(grub_ata_pio_read): Reduce to actual block transfer.  BSY wait
	and error check now done by grub_ata_wait_drq ().
	(grub_ata_pio_write): Likewise.
	(grub_atapi_identify): Set DEV before check for !BSY.  Use
	grub_ata_wait_drq () to wait for data.
	(grub_ata_device_initialize): Add status register check to
	detect missing SATA slave devices.  Add debug messages.
	(grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
	(grub_atapi_packet): Set DEV before check for !BSY.  Replace
	transfer loop by grub_ata_pio_write ().
	(grub_ata_identify): Set DEV before check for !BSY. Use
	grub_ata_wait_drq () to wait for data.
	(grub_ata_setaddress): Set DEV before check for !BSY. 
	(grub_ata_readwrite): Remove duplicate code, handle batch/rest and
	read/write in one loop.  Fix invalid command on write.  Fix incomplete
	command on (size % batch) == 0.  Add missing error check after write of
	last block.  Add debug messages.
	(grub_atapi_read):  Replace transfer loop by grub_ata_pio_read ().
2009-01-22 20:15:05 +00:00
chrfranke
59a64ef6da 2009-01-19 Christian Franke <franke@computer.org>
* disk/ata.c (GRUB_ATAPI_REG_*): New defines.
	(GRUB_ATAPI_IREASON_*): Likewise.
	(grub_ata_pio_write): Fix timeout error return.
	(grub_atapi_identify): Add grub_ata_wait () after cmd.
	(grub_atapi_wait_drq): New function.
	(grub_atapi_packet): New parameter `size'.
	Use grub_atapi_wait_drq () and direct write instead of
	grub_ata_pio_write ().
	(grub_atapi_read): Replace grub_ata_pio_read () by a loop which
	reads the number of bytes requested by the device for each DRQ
	assertion.
	(grub_atapi_write): Remove old implementation, return not
	implemented instead.
2009-01-19 20:39:57 +00:00
chrfranke
1cfe20b333 2009-01-19 Christian Franke <franke@computer.org>
* disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
	of 512 to calculate data size.
	(grub_scsi_read12): Likewise.
	(grub_scsi_write10): Likewise.
	(grub_scsi_write12): Likewise.
	(grub_scsi_read): Adjust size according to blocksize.
	Add checks for invalid blocksize and unaligned transfer.
2009-01-19 20:27:54 +00:00
chaac
bee5fe5d09 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
* font/font.c (grub_font_loader_init): Re-position unknown glyph.

	* term/gfxterm.c (write_char): Fix background rendering for wide 
	width glyphs.
2009-01-19 17:09:53 +00:00
robertmh
3e643f8c13 2009-01-19 Robert Millan <rmh@aybabtu.com>
* config.guess: Update to latest version from config git.
        * config.sub: Likewise.
2009-01-19 12:33:07 +00:00
fzielcke
4fa809981f 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
* Makefile.in: Change font compilation to use new grub-mkfont instead
	of java version.

	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
2009-01-17 09:38:38 +00:00
chrfranke
7086085ba3 2009-01-16 Christian Franke <franke@computer.org>
* disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
	(enum grub_ata_timeout_milliseconds): New enum.
	(grub_ata_wait_status): Add parameter milliseconds.
	(grub_ata_cmd): Remove variable `err'.  Remove wait for !DRQ to allow
	recovery from timed-out commands.
	(grub_ata_pio_read): Add parameter milliseconds.  Fix error return,
	return grub_errno instead of REG_ERROR.
	(grub_ata_pio_write): Add parameter milliseconds.
	(grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
	Pass milliseconds to grub_ata_wait_status () and
	grub_ata_pio_read ().
	(grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
	(grub_ata_identify): Remove variable `ataerr'.  Pass milliseconds to
	grub_ata_wait_status ().  Fix IDENTIFY timeout check.
	(grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
	It is not suitable for device detection, because DEV bit is ignored,
	the command may run too long, and not all devices set the signature
	properly.
	(grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
	(grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
	Fix device selection, DEV bit must be set first to address the registers
	of the correct device.
	(grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
	grub_ata_pio_read/write ().
	(grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
	(grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
2009-01-16 19:29:41 +00:00
proski
4a412913d1 2009-01-13 Carles Pina i Estany <carles@pina.cat>
* util/grub-editenv.c (main): Use fseeko(), not fseek().
2009-01-14 00:17:12 +00:00
proski
7795c55ef9 Spacing fixes 2009-01-14 00:13:52 +00:00
bean
d913988ca9 2009-01-13 Bean <bean123ch@gmail.com>
* util/grub-mkfont.c (write_font): forget to remove some debug code.
2009-01-13 17:03:13 +00:00
bean
e52db1f722 2009-01-13 Bean <bean123ch@gmail.com>
* Makefile.in: (enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
	(grub_mkfont_SOURCES): New variable.
	(grub_mkfont_CFLAGS): Likewise.
	(grub_mkfont_LDFLAGS): Likewise.

	* configure.ac (--enable-grub-mkfont): New option. Check for freetype2
	library if `--enable-grub-mkfont' is requested.
	(enable_grub_mkfont): New variable.
	(freetype_cflags): Likewise.
	(freetype_libs): Likewise.

	* util/grub-mkfont.c: New file.
2009-01-13 16:34:26 +00:00
chrfranke
093af1fe82 2009-01-12 Christian Franke <franke@computer.org>
* disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
	mode check.  Fix setting of compat_use[].
2009-01-12 20:23:13 +00:00
robertmh
f36cc10867 2009-01-10 Robert Millan <rmh@aybabtu.com>
Update a few copyright years which we forgot to do in 2008 (only for
            files whose changes made in 2008 were copyright-significant)

            * Makefile.in: Add 2008 to Copyright line.
            * disk/ieee1275/ofdisk.c: Likewise.
            * disk/efi/efidisk.c: Likewise.
            * kern/dl.c: Likewise.
            * kern/sparc64/ieee1275/init.c: Likewise.
            * kern/mm.c: Likewise.
            * kern/efi/mm.c: Likewise.
            * boot/i386/pc/boot.S: Likewise.
            * genfslist.sh: Likewise.
            * fs/iso9660.c: Likewise.
            * fs/hfs.c: Likewise.
            * fs/jfs.c: Likewise.
            * fs/minix.c: Likewise.
            * fs/ufs.c: Likewise.
            * gensymlist.sh.in: Likewise.
            * genkernsyms.sh.in: Likewise.
            * include/grub/misc.h: Likewise.
            * include/grub/types.h: Likewise.
            * include/grub/symbol.h: Likewise.
            * include/grub/elf.h: Likewise.
            * include/grub/kernel.h: Likewise.
            * include/grub/disk.h: Likewise.
            * include/grub/dl.h: Likewise.
            * include/grub/i386/linux.h: Likewise.
            * include/grub/i386/pc/biosdisk.h: Likewise.
            * include/grub/efi/api.h: Likewise.
            * include/grub/efi/pe32.h: Likewise.
            * include/grub/util/misc.h: Likewise.
            * normal/execute.c: Likewise.
            * normal/arg.c: Likewise.
            * normal/completion.c: Likewise.
            * normal/lexer.c: Likewise.
            * normal/parser.y: Likewise.
            * normal/misc.c: Likewise.
            * commands/i386/pc/vbeinfo.c: Likewise.
            * commands/hexdump.c: Likewise.
            * commands/terminal.c: Likewise.
            * commands/ls.c: Likewise.
            * commands/help.c: Likewise.
            * partmap/pc.c: Likewise.
            * loader/efi/chainloader.c: Likewise.
            * loader/multiboot_loader.c: Likewise.
            * loader/i386/pc/multiboot2.c: Likewise.
            * term/efi/console.c: Likewise.
            * term/i386/pc/serial.c: Likewise.
            * util/lvm.c: Likewise.
            * util/console.c: Likewise.
            * util/i386/efi/grub-mkimage.c: Likewise.
            * util/raid.c: Likewise.
2009-01-10 13:07:44 +00:00
chaac
7f02114b79 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
* commands/videotest.c: Removed include to grub/machine/memory.h.

	* conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
	videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
	(video_mod_SOURCES): Removed.
	(video_mod_CFLAGS): Likewise.
	(video_mod_LDFLAGS): Likewise.
	(gfxterm_mod_SOURCES): Likewise.
	(gfxterm_mod_CFLAGS): Likewise.
	(gfxterm_mod_LDFLAGS): Likewise.
	(videotest_mod_SOURCES): Likewise.
	(videotest_mod_CFLAGS): Likewise.
	(videotest_mod_LDFLAGS): Likewise.
	(bitmap_mod_SOURCES): Likewise.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.
	(jpeg_mod_SOURCES): Likewise.
	(jpeg_mod_CFLAGS): Likewise.
	(jpeg_mod_LDFLAGS): Likewise.
	(png_mod_SOURCES): Likewise.
	(png_mod_CFLAGS): Likewise.
	(png_mod_LDFLAGS): Likewise.

	* conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
	bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
	(video_mod_SOURCES): Added.
	(video_mod_CFLAGS): Likewise.
	(video_mod_LDFLAGS): Likewise.
	(videotest_mod_SOURCES): Likewise.
	(videotest_mod_CFLAGS): Likewise.
	(videotest_mod_LDFLAGS): Likewise.
	(bitmap_mod_SOURCES): Likewise.
	(bitmap_mod_CFLAGS): Likewise.
	(bitmap_mod_LDFLAGS): Likewise.
	(tga_mod_SOURCES): Likewise.
	(tga_mod_CFLAGS): Likewise.
	(tga_mod_LDFLAGS): Likewise.
	(jpeg_mod_SOURCES): Likewise.
	(jpeg_mod_CFLAGS): Likewise.
	(jpeg_mod_LDFLAGS): Likewise.
	(png_mod_SOURCES): Likewise.
	(png_mod_CFLAGS): Likewise.
	(png_mod_LDFLAGS): Likewise.
	(gfxterm_mod_SOURCES): Likewise.
	(gfxterm_mod_CFLAGS): Likewise.
	(gfxterm_mod_LDFLAGS): Likewise.	

	* term/gfxterm.c: Removed include to grub/machine/memory.h,
	grub/machine/console.h.
2009-01-05 23:01:00 +00:00
jerone
644fff97d2 2009-01-04 Jerone Young <jerone@gmail.com>
Make on screen instructions clearer

        Based on patch created by Jidanni <jidanni@jidanni.org>

        * normal/menu.c: print clearer instructions on the screen
2009-01-05 05:25:05 +00:00
proski
34c44600fe Fix typos, trailing whitespace 2009-01-02 23:38:44 +00:00
chaac
1e901a7573 2009-01-02 Colin D Bennett <colin@gibibit.com>
New font engine.
	
	Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
	build system and fixed gfxterm.c to work with different	sized fonts.

	* configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
	
	* configure: Re-generated.
	
	* DISTLIST: Removed font/manager.c.
	Added font/font.c.
	Added font/font_cmd.c.
	
	* Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF.  Added Font tool
	compilation.
	
	* include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype.  Changed users.
	
	* kern/misc.c (grub_utf8_to_ucs4): Changed prototype. 

	* kern/term.c: Changed users of grub_utf8_to_ucs4.
	
	* normal/menu.c: Likewise.
		
	* conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
	(font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
	
	* include/grub/font.h: Replaced with new file.
	
	* include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
	(GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
	(GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
	(GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
	(grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
	(grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha, 
	fg_red, fg_green, fg_blue, fg_alpha.
	(grub_video_adapter): Removed blit_glyph.
	(grub_video_blit_glyph): Removed.	
	
	* font/manager.c: Removed file.
	
	* font/font.c: New file. 
	
	* font/font_cmd.c: Likewise.
	
	* video/video.c (grub_video_blit_glyph): Removed.
	
	* video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
	(grub_video_vbe_map_rgba): Likewise.
	(grub_video_vbe_unmap_color_int): Likewise.
	(grub_video_vbe_blit_glyph): Removed.
	(grub_video_vbe_adapter): Removed blit_glyph.
	
	* video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
	(get_pixel): Likewise.
	(set_pixel): Likewise. 
	
	* commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
	
	* term/gfxterm.c: Adapted to new font engine.
	
	* term/i386/pc/vesafb.c: Marked as deprecated.  Made it compile.
	
	* term/i386/pc/vga.c: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
	
	* util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.

	* util/grub.d/00_header.in: Changed to use new loadfont command.
	
	* util/grub-mkconfig_lib.in: Changed font extension.
2009-01-02 15:26:06 +00:00
fzielcke
278922e80b 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
* util/getroot.c (grub_util_get_grub_dev): Add support for
	/dev/md/dNNpNN style partitionable mdraid devices.
2008-12-28 16:20:30 +00:00
bean
3ced05cf17 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
* fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
	at a time limit of the PXE TFTP API correctly.
	(grub_pxefs_close): Likewise.
2008-12-12 04:12:05 +00:00
robertmh
7fd0ee30f8 2008-11-29 Robert Millan <rmh@aybabtu.com>
* disk/ata.c (grub_ata_pciinit): Handle errors rised by
        grub_ata_device_initialize() calls.
2008-11-29 21:05:59 +00:00
robertmh
0c5e79ab5f 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
* fs/affs.c (grub_affs_iterate_dir): Return failure when directory
        iteration failed.
        * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
2008-11-28 20:10:36 +00:00
robertmh
15257703eb Provide grub-install on coreboot.
* conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
        (grub_install_SOURCES): New variable.
        * util/i386/pc/grub-install.in: Add a few condition checks to make it
        usable on coreboot.
2008-11-28 20:06:55 +00:00
robertmh
893137807d 2008-11-28 Robert Millan <rmh@aybabtu.com>
Fix build on powerpc-ieee1275.  Based on patch created by
        Manoel Abranches <mrabran@linux.vnet.ibm.com>.
        * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
        `kern/ieee1275/mmap.c'.
        * include/grub/powerpc/ieee1275/memory.h: New file.
2008-11-28 19:56:19 +00:00
fzielcke
9fc5388a5d 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
* util/grub-fstest.c (grub_term_get_current_input): Change return type
	to `grub_term_input_t'.
	(grub_term_get_current_output): Change return type to
	`grub_term_output_t'.
2008-11-25 16:40:17 +00:00
robertmh
cbf36fd39d * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
to 0x200000 (avoids trouble with some OFW implementations, and matches
        with the one in Yaboot).
        Reported by Manoel Abranches
2008-11-22 20:13:22 +00:00
robertmh
80fc88f22d * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
comments.  Avoid copiing one more byte than necessary (just in case).
2008-11-22 15:00:39 +00:00
robertmh
bc3a2f3115 2008-11-22 Robert Millan <rmh@aybabtu.com>
Fix breakage on coreboot due to declaration missmatch.
        * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
        (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
        grub_vga_text_cls().
2008-11-22 14:56:52 +00:00
robertmh
60d6b16e1e Add `lsmmap' command (lists firmware-provided memory map):
* commands/lsmmap.c: New file.
        * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
        (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
        variables.
        * conf/powerpc-ieee1275.rmk: Likewise.
        * conf/i386-coreboot.rmk: Likewise.
        * conf/i386-ieee1275.rmk: Likewise.
2008-11-20 20:34:14 +00:00
robertmh
79d29fd7b8 Harmonize ieee1275's grub_available_iterate() with the generic
grub_machine_mmap_iterate() interface (fixes a recently-introduced
        build problem on i386-ieee1275):
        * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
        * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here.  Add third
        parameter `type'.  Update all users of this function.
        * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
        `kern/ieee1275/mmap.c'.
        * kern/ieee1275/init.c
        * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
        with ...
        (grub_machine_mmap_iterate): ... this.
        * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
        return type to `grub_err_t'.  Update all implementations of this
        function prototype.
        * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
        Likewise.
2008-11-20 20:30:24 +00:00
robertmh
40f9faa4de Move comment text to `#error' stanza. 2008-11-20 20:25:30 +00:00
robertmh
e94045a110 * loader/i386/linux.c (allocate_pages): Fix a warning. 2008-11-20 20:22:04 +00:00
robertmh
73e8e268b7 * util/grub-mkconfig_lib.in (grub_warn): New function.
(convert_system_path_to_grub_path): Use grub_warn() when issuing
        warnings, to obtain consistent formatting.
        * util/grub.d/00_header.in: Likewise.
        * util/update-grub_lib.in: Likewise.
2008-11-20 19:22:20 +00:00
robertmh
3cf6ac19e1 2008-11-19 Robert Millan <rmh@aybabtu.com>
* kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
        (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
2008-11-20 18:07:10 +00:00
robertmh
9290711060 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
constraints to initrd allocation (based on code from
        loader/i386/pc/linux.c).  Without them, initrd was allocated too high
        for Linux to find it.
2008-11-19 12:11:44 +00:00
robertmh
ebaaf49b02 2008-11-19 Robert Millan <rmh@aybabtu.com>
* loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
2008-11-19 12:05:20 +00:00
robertmh
2f2a344257 Add #error instance with comment to explain why this
loader isn't currently usable on PC/BIOS.
2008-11-14 20:18:07 +00:00
robertmh
dfab719fc8 2008-11-14 Robert Millan <rmh@aybabtu.com>
* fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
        order to cope with duplicate slashes.
2008-11-14 20:08:47 +00:00
robertmh
10fc3eb9a7 2008-11-14 Robert Millan <rmh@aybabtu.com>
* include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
        Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000).  We
        don't want to mess with lower memory, because it is used in the Linux
        loader.

        * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
        an appropiate place in lower memory, between 0x10000 and 0x90000,
        like loader/i386/efi/linux.c does.  Linux often panics if real_mode_mem
        is in our heap (probably as a result of it being corrupted during
        decompression).
2008-11-14 19:04:26 +00:00
robertmh
e2e078478e 2008-11-14 Robert Millan <rmh@aybabtu.com>
* term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
        (GRUB_SERIAL_PORT_NUM): Fix misscalculation.
2008-11-14 17:57:39 +00:00
robertmh
fe8e8d69e1 2008-11-12 Robert Millan <rmh@aybabtu.com>
Make loader/i386/linux.c buildable on i386-pc (although disabled).

        * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
        (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
        from here ...
        * include/grub/i386/pc/memory.h: ... to here.
2008-11-12 20:53:48 +00:00
robertmh
976b07d044 2008-11-12 Robert Millan <rmh@aybabtu.com>
Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
        split).

        * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
        (grub_console_cur_color, grub_console_real_putchar)
        (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
        (grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): Move from here ...
        * include/grub/i386/vga_common.h: ... to here (new file).

        * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
        `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
        `<grub/i386/io.h>'.
        * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
        `<grub/i386/vga_common.h>'.
2008-11-12 17:43:39 +00:00
robertmh
76679cd3a4 2008-11-12 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
        * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
        (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
        variables.
        * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
        `term/i386/pc/console.c' with `term/i386/vga_common.c'.

        * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
        grub_console_init() with call to grub_vga_text_init().
        (grub_machine_fini): Replace call to
        grub_console_fini() with call to grub_vga_text_fini() and
        grub_at_keyboard_fini().

        * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
        (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
        (grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): New function prototypes.

        * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
        (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
        (grub_vga_text_setcursor): Static-ize.
        (grub_vga_text_term): New structure.
        (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.

        * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
        (grub_console_cur_color, grub_console_standard_color)
        (grub_console_normal_color, grub_console_highlight_color)
        (map_char, grub_console_putchar, grub_console_getcharwidth)
        (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
        (grub_console_getcolor): Move from here ...
        * term/i386/vga_common.c: ... to here (same function names).
2008-11-12 15:02:17 +00:00
robertmh
95b841d37b 2008-11-12 Robert Millan <rmh@aybabtu.com>
Use newly-added Multiboot support in coreboot.

        * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
        `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.

        * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
        alignment, set `MULTIBOOT_MEMORY_INFO' flag.
        (codestart): Store the MBI in `startup_multiboot_info' when we're
        being loaded using Multiboot.

        * kern/i386/coreboot/init.c (grub_machine_init): Move
        grub_at_keyboard_init() call to beginning of function (useful for
        debugging).  Call grub_machine_mmap_init() before attempting to use
        grub_machine_mmap_iterate().
        (grub_lower_mem, grub_upper_mem): Move from here ...
        * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
        here (new file).

        * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
        function prototype.
2008-11-11 23:27:18 +00:00
robertmh
761ca975a9 2008-11-12 Robert Millan <rmh@aybabtu.com>
Fix a regression introduced by the at_keyboard.mod split.  Because
        some terminals are default on some platforms and non-default on
        others, the first terminal being registered determines which is
        going to be default.

        * kern/term.c (grub_term_register_input): If this is the first
        terminal being registered, set it as the current one.
        (grub_term_register_output): Likewise.

        * term/efi/console.c (grub_console_init): Do not call
        grub_term_set_current_output() or grub_term_set_current_input().
        * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
        * term/i386/pc/console.c (grub_console_init): Likewise.
        (grub_console_fini): Do not call grub_term_set_current_input()
        (but leave grub_term_set_current_output() to restore text mode).
2008-11-11 23:16:54 +00:00
proski
dba3f844eb Fix spacing and a minor typo 2008-11-10 15:04:00 +00:00
robertmh
6c529df74c 2008-11-10 Robert Millan <rmh@aybabtu.com>
* util/grub.d/00_header.in: Add backward compatibility check for
        versions of terminal.mod that don't understand `terminal_input' or
        `terminal_output'.
2008-11-10 08:49:26 +00:00
robertmh
132e411342 2008-11-09 Robert Millan <rmh@aybabtu.com>
* commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
        `terminal_input' / `terminal_output', not `terminal'.
2008-11-09 12:44:31 +00:00
robertmh
2a9c59400b (DISTCLEANFILES): Add `build_env.mk'. 2008-11-08 15:21:57 +00:00
robertmh
ac293d504e 2008-11-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (include_DATA): Fix srcdir=. assumption.
2008-11-08 12:53:22 +00:00
robertmh
dcb6fa0a1c * term/ieee1275/ofconsole.c: Remove stale `#endif'. 2008-11-08 12:25:52 +00:00
robertmh
0025933a5e 2008-11-08 Robert Millan <rmh@aybabtu.com>
* term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
        `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
        members.  Update all users.
        * util/console.c (grub_ncurses_term): Split in ...
        (grub_ncurses_term_input): ... this, and ...
        (grub_ncurses_term_output): ... this.  Update all users.
2008-11-08 12:17:51 +00:00
robertmh
37c86336bf 2008-11-08 Robert Millan <rmh@aybabtu.com>
* Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
        (PKGDATA): Add $(pkgdata_SRCDIR).
        (pkglib_BUILDDIR): New variable.
        (pkgdata_SRCDIR): New variable.
        (build_env.mk): New target.
        (include_DATA): New variable.
        (install-local): Install $(include_DATA) files in $(includedir).
2008-11-08 11:29:53 +00:00
proski
d99d46f105 2008-11-07 Pavel Roskin <proski@gnu.org>
* gendistlist.sh: Use C locale for sorting to ensure consistent
	output on all systems.
2008-11-07 22:33:37 +00:00
proski
b6c15a2d2a 2008-11-07 Pavel Roskin <proski@gnu.org>
* util/grub.d/00_header.in: Remove incorrect space before
	"serial".
2008-11-07 22:30:24 +00:00
robertmh
c32ee8c9a8 2008-11-07 Robert Millan <rmh@aybabtu.com>
* include/multiboot2.h (struct multiboot_header): Add `flags' member as
        per specification.
        * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
        * loader/multiboot_loader.c (find_multi_boot2_header): New function
        (based on find_multi_boot1_header).
        (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
        using find_multi_boot2_header(), and abort if neither Multiboot or
        Multiboot headers were found.
2008-11-07 19:53:25 +00:00
robertmh
651c29b79e 2008-11-07 Robert Millan <rmh@aybabtu.com>
Modularize at_keyboard.mod:

            * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
            (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
            (at_keyboard_mod_LDFLAGS): New variables.

            Actual terminal split:

            * include/grub/term.h (struct grub_term): Split in ...
            (struct grub_term_input): ... this, and ...
            (struct grub_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/term.c (grub_term_list): Split in ...
            (grub_term_list_input): ... this, and ...
            (grub_term_list_output): ... this.  Update all users.
            (grub_cur_term): Split in ...
            (grub_cur_term_input): ... this, and ...
            (grub_cur_term_output): ... this.  Update all users.
            (grub_term_set_current): Split in ...
            (grub_term_set_current_input): ... this, and ...
            (grub_term_set_current_output): ... this.
            (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            (grub_term_register): Split in ...
            (grub_term_register_input): ... this, and ...
            (grub_term_register_output): ... this.
            (grub_term_unregister): Split in ...
            (grub_term_unregister_input): ... this, and ...
            (grub_term_unregister_output): ... this.
            (grub_term_iterate): Split in ...
            (grub_term_iterate_input): ... this, and ...
            (grub_term_iterate_output): ... this.

            * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
            a check for input and one for output (and only attempt to get keys
            from user when input works).

            * util/grub-probe.c (grub_term_get_current): Split in ...
            (grub_term_get_current_input): ... this, and ...
            (grub_term_get_current_output): ... this.
            * util/grub-fstest.c: Likewise.
            * util/i386/pc/grub-setup.c: Likewise.
            * util/grub-editenv.c: Likewise.

            Portability adjustments:

            * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
            `term/i386/pc/at_keyboard.c'.
            * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
            grub_keyboard_controller_init() (now handled by terminal .init).
            * kern/i386/coreboot/init.c (grub_machine_init): Add call to
            grub_at_keyboard_init().
            * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
            (grub_console_checkkey, grub_console_getkey): Remove (now provided by
            at_keyboard.mod via input terminal interface).
            * include/grub/i386/coreboot/console.h: Convert into a stub for
            `<grub/i386/pc/console.h>'.

            Migrate full terminals to new API:

            * term/efi/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            * term/ieee1275/ofconsole.c: Remove __i386__ hack.
            (grub_ofconsole_init): Split into ...
            (grub_ofconsole_init_input): ... this, and ...
            (grub_ofconsole_init_output): ... this.
            (grub_ofconsole_term): Split into ...
            (grub_ofconsole_term_input): ... this, and ...
            (grub_ofconsole_term_output): ... this.  Update all users.
            * term/i386/pc/serial.c (grub_serial_term): Split into ...
            (grub_serial_term_input): ... this, and ...
            (grub_serial_term_output): ... this.  Update all users.
            * term/i386/pc/console.c (grub_console_term): Split into ...
            (grub_console_term_input): ... this, and ...
            (grub_console_term_output): ... this.  Update all users.
            (grub_console_term_input): Only enable it on PC/BIOS platform.
            (grub_console_init): Remove grub_keyboard_controller_init() call.

            Migrate input terminals to new API:

            * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
            `i386' and `i386/pc' to enable build on x86_64 (this driver is
            i386-specific anyway).
            (grub_console_checkkey): Rename to ...
            (grub_at_keyboard_checkkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_orig): New variable.
            (grub_console_getkey): Rename to ...
            (grub_at_keyboard_getkey): ... this.  Static-ize.  Update all
            users.
            (grub_keyboard_controller_init): Static-ize.  Save original
            controller value so that it can be restored ...
            (grub_keyboard_controller_fini): ... here (new function).
            (grub_at_keyboard_term): New structure.
            (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
            functions.

            Migrate output terminals to new API:

            * term/i386/pc/vga.c (grub_vga_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * term/gfxterm.c (grub_video_term): Change type to
            `struct  grub_term_output'.  Remove `.checkkey' and `.getkey'
            members.  Update all users.
            * include/grub/i386/pc/console.h (grub_console_checkkey)
            (grub_console_getkey): Do not export (no longer needed by gfxterm,
            etc).

            Migrate `terminal' command and userland tools to new API:

            * commands/terminal.c (grub_cmd_terminal): Split into ...
            (grub_cmd_terminal_input): ... this, and ...
            (grub_cmd_terminal_output): ... this.
            (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
            `terminal_input' and `terminal_output'.
            * util/grub.d/00_header.in: Adjust `terminal' calls to new
            `terminal_input' / `terminal_output' API.
            * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
            ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
            provided ${GRUB_TERMINAL}, convert it).
2008-11-07 19:11:39 +00:00
robertmh
96e5d876a4 2008-11-04 Robert Millan <rmh@aybabtu.com>
* util/grub.d/10_freebsd.in: New file.  Generate grub configuration
        for FreeBSD.
        * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
2008-11-04 15:20:35 +00:00
bean
556f377582 2008-11-03 Bean <bean123ch@gmail.com>
* kern/elf.c (grub_elf32_load): Revert to previous code.
	(grub_elf64_load): Likewise.

	* loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
2008-11-03 13:08:21 +00:00