Commit graph

2348 commits

Author SHA1 Message Date
robertmh
93a8108813 2009-09-03 Magnus Granberg <zorry@ume.nu>
* aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
        include -fPIE in the default specs.
        * configure.ac: Check if pie_possible is yes and add -fno-PIE
        to TARGET_CFLAGS.
2009-09-03 16:32:14 +00:00
fzielcke
160034b2bf 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
* INSTALL: Note that GNU Bison 2.3 or later is required.
2009-09-03 14:12:27 +00:00
cjwatson
087c07c4fa 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
* kern/i386/pc/startup.S: Fix typo.
2009-09-03 07:53:40 +00:00
phcoder
0355f07404 relocate runtime 2009-09-02 18:18:11 +02:00
phcoder
df2a15f643 Merge branch 'mainline' into snow64 2009-09-02 18:17:06 +02:00
phcoder
cbf978c0f0 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
* efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
	according to GCS.
2009-09-02 16:16:29 +00:00
phcoder
8a10b2c632 now hangs at maxDec 2009-09-02 13:34:40 +02:00
cjwatson
f091064493 2009-09-02  Colin Watson  <cjwatson@ubuntu.com>
* docs/grub.texi (Naming convention): Describe one-based partition
	numbering.
	(Device syntax): Likewise.
	(File name syntax): Likewise.
	(Block list syntax): Likewise.
	(Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
	menu.lst.
	(File name syntax): Likewise.
	(Command-line and menu entry commands): Document acpi, blocklist,
	crc, export, insmod, keystatus, ls, set, and unset commands.
2009-09-02 09:29:58 +00:00
cjwatson
f3e8cdfd49 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
* commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
	to avoid implying that only one of --shift, --ctrl, or --alt may be
	used.
2009-09-02 09:14:20 +00:00
cjwatson
c0bc232b72 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
* util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
	rather than comparing against S_IFREG, which will almost never work.
2009-09-02 01:42:06 +00:00
phcoder
72db7c22f3 crashing snow64 2009-09-02 02:52:10 +02:00
phcoder
aa0f752dfe 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
* commands/loadenv.c (check_blocklists): Fix off-by-one error.
	(write_blocklists): Likewise.
2009-09-01 19:07:42 +00:00
cjwatson
3e81e9369b DISTLIST is not in svn; fix my ChangeLog entry 2009-09-01 16:15:38 +00:00
cjwatson
ecb3166a82 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
* script/lua/grub_lua.h (fputs): Supply a format string as the first
	argument to grub_printf.
2009-09-01 16:14:11 +00:00
fzielcke
c403a1250d fix wrong date and use \t instead of 8 spaces in previous ChangeLog entry 2009-09-01 16:13:29 +00:00
fzielcke
31aba781b6 2009-01-01 Felix Zielcke <fzielcke@z-51.de>
* genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
        non GNU test.
2009-09-01 15:46:06 +00:00
phcoder
b5e7312c43 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
* kern/file.c (grub_file_read): Spelling fix
2009-08-30 20:19:09 +00:00
phcoder
fe00f472fc 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
	loading of headers in some cases.
2009-08-30 19:28:01 +00:00
robertmh
cc55302e00 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
* configure.ac: Bump version to 1.97~beta1.
        * docs/version.texi: Likewise.
2009-08-30 15:12:48 +00:00
robertmh
5c90cdd262 date fix 2009-08-30 15:08:50 +00:00
phcoder
965632c10f snow32 support. 2009-08-30 14:26:41 +02:00
phcoder
64bf71d0b1 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/i386/xnu.h: Add license header.
	include grub/err.h explicitly.
2009-08-29 12:57:38 +00:00
robertmh
c90edae43a 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
* util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
        to `ufs' in the vfs.root.mountfrom kernel parameter.
2009-08-29 00:34:33 +00:00
robertmh
d8888b5cb4 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
* term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.

        [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
        value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).

        [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
        `ARRAY_SIZE' macro.
2009-08-29 00:24:32 +00:00
phcoder
74f391dded Changelog 2009-08-28 21:17:23 +02:00
phcoder
49ffc6c627 finished merge 2009-08-28 20:59:54 +02:00
phcoder
42b29c0fab Merge branch 'usb' into utf2 2009-08-28 20:59:09 +02:00
phcoder
b8dae8de40 utf16_to_utf8 2009-08-28 20:58:50 +02:00
phcoder
fd4370fc33 Move grub_usb_get_string. 2009-08-28 20:09:44 +02:00
phcoder
6f07b921bc 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
* kern/file.c (grub_file_read): Check offset.
	* fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
	* fs/jfs.c (grub_jfs_read_file): Likewise.
	* fs/ntfs.c (grub_ntfs_read): Likewise.
	* fs/reiserfs.c (grub_reiserfs_read): Likewise.
	* fs/minix.c (grub_minix_read_file): Correct offset check.
	* fs/ufs.c (grub_ufs_read_file): Likewise.
2009-08-28 16:29:34 +00:00
cjwatson
b4f34077c8 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
* term/i386/pc/console.c (bios_data_area): Cast
	GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
2009-08-28 14:10:02 +00:00
phcoder
e7c69859a2 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1-bit optimised blitters.

	* include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
	prototype.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
	function.
	(grub_video_fbblit_replace_24bit_1bit): Likewise.
	(grub_video_fbblit_replace_16bit_1bit): Likewise.
	(grub_video_fbblit_replace_8bit_1bit): Likewise.
	(grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX888_1bit): Likewise.
	(grub_video_fbblit_blend_XXX565_1bit): Likewise.
	* video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
	when possible.
	* video/video.c (grub_video_get_blit_format): Return
	GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
2009-08-28 13:54:20 +00:00
cjwatson
a57da43f0d 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
* normal/cmdline.c (grub_cmdline_get): Supply a format string as
	the first argument to grub_printf.
2009-08-28 13:25:10 +00:00
cjwatson
4cbe67e509 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
2009-08-28  Robert Millan  <rmh.grub@aybabtu.com>

	Add `getkeystatus' terminal method.  Add a new `keystatus' command
	to query it.

	* include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
	GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
	modifier key bitmasks.
	(struct grub_term_input): Add `getkeystatus' member.
	(grub_getkeystatus): Add prototype.
	* kern/term.c (grub_getkeystatus): New function.

	* include/grub/i386/pc/memory.h
	(GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
	(struct grub_machine_bios_data_area): Define necessary parts of BIOS
	Data Area layout.
	* term/i386/pc/console.c (grub_console_getkeystatus): New function.
	(grub_console_term_input): Set `getkeystatus' member.
	* term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
	constants.
	(grub_usb_keyboard_getreport): Likewise.
	(grub_usb_keyboard_checkkey): Likewise.
	(grub_usb_keyboard_getkeystatus): New function.
	(grub_usb_keyboard_term): Set `getkeystatus' member.

	* commands/keystatus.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
	(keystatus_mod_SOURCES): New variable.
	(keystatus_mod_CFLAGS): Likewise.
	(keystatus_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
	commands/keystatus.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* DISTLIST: Add commands/keystatus.c.
2009-08-28 13:20:34 +00:00
phcoder
6e2a90859a 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
Split befs.mod and afs.mod into *_be.mod and *.mod

	* conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
	(grub_fstest_SOURCES): Likewise.
	(pkglib_MODULES): Add afs_be.mod and befs_be.mod.
	(afs_be_mod_SOURCES): New variable.
	(afs_be_mod_CFLAGS): Likewise.
	(afs_be_mod_LDFLAGS): Likewise.
	(befs_be_mod_SOURCES): Likewise.
	(befs_be_mod_CFLAGS): Likewise.
	(befs_be_mod_LDFLAGS): Likewise.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
	(grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* fs/afs_be.c: New file.
	* fs/befs_be.c: New file.
	* fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
	(GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
	(U16): Replaced with ...
	(grub_afs_to_cpu16): ...this. All users updated.
	(U32): Replaced with ...
	(grub_afs_to_cpu32): ...this. All users updated.
	(U64): Replaced with ...
	(grub_afs_to_cpu64): ...this. All users updated.
	(GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
	(GRUB_AFS_BO_BIG_ENDIAN): Likewise.
	(grub_afs_validate_sblock): Check only one endiannness.
	(GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
	(GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
	(GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
	(GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
2009-08-28 13:01:26 +00:00
bean
32a716555d 2009-08-26 Bean <bean123ch@gmail.com>
* fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
	64-bit number.
	(GRUB_XFS_FSB_TO_BLOCK): Likewise.
	(grub_xfs_inode_block): Change return type to grub_uint64_t.
	(grub_xfs_read_inode): Change type of block to grub_uint64_t.
2009-08-26 14:17:34 +00:00
phcoder
552bf6c568 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
NetBSD memory map support.

	* include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
	(grub_netbsd_btinfo_mmap_header): New structure.
	(grub_netbsd_btinfo_mmap_entry): Likewise.
	* loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
2009-08-26 00:32:57 +00:00
phcoder
1ae2078cd8 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Enable bsd.mod on coreboot.

	* conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
	(bsd_mod_SOURCES): New variable.
	(bsd_mod_CFLAGS): Likewise.
	(bsd_mod_LDFLAGS): Likewise.
	(bsd_mod_ASFLAGS): Likewise.
	* loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
	(grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
2009-08-25 23:18:48 +00:00
phcoder
beefc59841 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Cleanup NetBSD root support.

	* loader/i386/bsd.c (grub_netbsd_boot): Remove call to
	grub_bsd_get_device.
	Fix typo.
2009-08-25 19:57:18 +00:00
fzielcke
3b76e68ba7 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
* util/grub.d/00_header.in: Move check for the video backend of
	gfxterm from here ...
	* util/grub-mkconfig.in: ... to here.  Enable gfxterm if there's
	a suitable video backend.
2009-08-25 19:42:56 +00:00
phcoder
aea664ea28 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage in grub-setup.

	* util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
	"msdos_partition_map".
2009-08-25 08:28:13 +00:00
phcoder
ff747d50c1 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Fix breakage in normal/auth.c.

	* normal/auth.c (grub_iswordseparator): New function.
2009-08-25 08:11:50 +00:00
phcoder
e7e1f93ff6 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
Authentication support.

	* commands/password.c: New file.
	* conf/common.rmk (pkglib_MODULES): Add password.mod.
	(password_mod_SOURCES): New variable.
	(password_mod_CFLAGS): Likewise.
	(password_mod_LDFLAGS): Likewise.
	(normal_mod_SOURCES): Add normal/auth.c.
	* conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
	normal/auth.c.
	* conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
	* conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
	* conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
	* include/grub/auth.h: New file.
	* include/grub/err.h (grub_err_t): New enum value
	GRUB_ERR_ACCESS_DENIED.
	* include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
	'users'.
	* include/grub/normal.h (grub_cmdline_get): New argument 'history'.
	* normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
	users updated.
	* normal/auth.c: New file.
	* normal/main.c (grub_normal_add_menu_entry): Handle --users option.
	(grub_cmdline_run): Don't allow to go to command line without
	authentication.
	* normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
	* normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
	menuentry without superuser rights.
	* normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
	user isn't a superuser.
2009-08-24 23:55:06 +00:00
phcoder
70f1161d13 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Save space by inlining misc.c functions.

	* kern/misc.c (grub_iswordseparator): Made static.
	* kern/misc.c (grub_strcat): Moved from here ...
	* include/grub/misc.h (grub_strcat): ... here. Inlined.
	* kern/misc.c (grub_strncat): Moved from here ...
	* include/grub/misc.h (grub_strncat): ... here. Inlined.
	* kern/misc.c (grub_strcasecmp): Moved from here ...
	* include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
	* kern/misc.c (grub_strncasecmp): Moved from here ...
	* include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
	* kern/misc.c (grub_isalpha): Moved from here ...
	* include/grub/misc.h (grub_isalpha): ... here. Inlined.
	* kern/misc.c (grub_isdigit): Moved from here ...
	* include/grub/misc.h (grub_isdigit): ... here. Inlined.
	* kern/misc.c (grub_isgraph): Moved from here ...
	* include/grub/misc.h (grub_isgraph): ... here. Inlined.
	* kern/misc.c (grub_tolower): Moved from here ...
	* include/grub/misc.h (grub_tolower): ... here. Inlined.
2009-08-24 19:40:40 +00:00
phcoder
48e40bff44 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
* script/sh/function.c (grub_script_function_find): Cut error message
	not to flood terminal.
	* script/sh/lexer.c (grub_script_yylex): Remove command line length
	limit.
	* script/sh/script.c (grub_script_arg_add): Duplicate string.
2009-08-24 19:08:11 +00:00
cjwatson
c385bfc37f 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
* term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
	`report' grub_uint8_t *.
	(grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
	Use a 50-millisecond timeout rather than just repeating
	grub_usb_keyboard_getreport 50 times.
	(grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
2009-08-24 17:03:24 +00:00
phcoder
2d21e3e8e0 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Rename *_partition_map to part_*

	* partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
	* partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
	* partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
	* partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
	All users updated.
	* partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
	All users updated.
	* partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
	* util/grub-probe.c (probe_partmap): Don't transform partition name
	to get module name.
2009-08-24 13:34:03 +00:00
phcoder
dd103c4e04 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Fix OpenBSD and NetBSD support.

	* include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
	memory address conflict.
	(OPENBSD_MMAP_ACPI): New definition.
	(OPENBSD_MMAP_NVS): Likewise.
	* loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
	and OPENBSD_MMAP_NVS.
	Add memory map terminator
	Explicit cast when calling grub_unix_real_boot.
	(grub_nebsd_boot): Explicit cast when calling grub_unix_real_boot.
2009-08-24 13:20:24 +00:00
phcoder
16c84d744c 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Let user specify NetBSD root device.

	* loader/i386/bsd.c (netbsd_root): New variable.
	(netbsd_opts): New option 'root'.
	(NETBSD_ROOT_ARG): New macro.
	(grub_netbsd_boot): Use 'netbsd_root'.
	(grub_bsd_unload): Free 'netbsd_root'.
	(grub_cmd_netbsd): Fill 'netbsd_root'.
2009-08-24 13:10:12 +00:00
phcoder
adb29902f3 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
Support for 64-bit NetBSD.

	* loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
	point when booting non-FreeBSD.
2009-08-24 12:59:48 +00:00