Commit graph

2330 commits

Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko
e6e7b4ea1f Remove i386/loader.h 2010-01-12 22:22:36 +01:00
Vladimir 'phcoder' Serbinenko
1b86596ae1 Remove OS area 2010-01-12 22:17:44 +01:00
Vladimir 'phcoder' Serbinenko
c911e8791a Port linux16 to relocator framework 2010-01-12 22:17:26 +01:00
Vladimir 'phcoder' Serbinenko
14dacc815a Clarify type of cmd_line_ptr 2010-01-12 22:16:33 +01:00
Vladimir 'phcoder' Serbinenko
cdab631686 Relocator16 support 2010-01-12 22:15:50 +01:00
Vladimir 'phcoder' Serbinenko
49a716be3b Possibility to prefer higher or lower chunks in relocator 2010-01-12 22:14:26 +01:00
Vladimir 'phcoder' Serbinenko
611f8f0eb9 Remove unused BSD helpers 2010-01-12 17:57:04 +01:00
Vladimir 'phcoder' Serbinenko
73910decff Fix various bugs in *bsd. Freebsd64 on relocators 2010-01-12 17:50:11 +01:00
Vladimir 'phcoder' Serbinenko
14933205d1 Relocator64 support 2010-01-12 17:48:51 +01:00
Vladimir 'phcoder' Serbinenko
1d24828f20 Fix out of memory hang. Add sanity checks 2010-01-12 17:47:14 +01:00
Vladimir 'phcoder' Serbinenko
8468cbeccd Fix typo in relocator32.S 2010-01-12 17:46:17 +01:00
Vladimir 'phcoder' Serbinenko
108408aa39 BSD on relocators 2010-01-11 22:54:40 +01:00
Vladimir 'phcoder' Serbinenko
d45dca5ab3 Fix few bugs in relocators 2010-01-11 22:54:20 +01:00
Vladimir 'phcoder' Serbinenko
55b40bc68a Ported linux to relocator framework 2010-01-11 14:59:01 +01:00
Vladimir 'phcoder' Serbinenko
cb1b2ad7e0 Reenable XNU 2010-01-11 13:43:44 +01:00
Vladimir 'phcoder' Serbinenko
669a1c01fb Fix various mistakes 2010-01-11 13:43:31 +01:00
Vladimir 'phcoder' Serbinenko
796d2fa20e Remove uselees instruction 2010-01-11 13:42:45 +01:00
Vladimir 'phcoder' Serbinenko
b56495543a Fix variable name collision 2010-01-11 13:40:59 +01:00
Vladimir 'phcoder' Serbinenko
d2601bb7bc decrease scope of code_size 2010-01-11 11:32:41 +01:00
Vladimir 'phcoder' Serbinenko
5c8e58b0cb merge abstractmbi into newreloc 2010-01-11 11:29:52 +01:00
Vladimir 'phcoder' Serbinenko
7e267737b6 Add align to .S files 2010-01-10 18:59:31 +01:00
Vladimir 'phcoder' Serbinenko
cd0514794a MAnipulate mbi in abstract way 2010-01-10 18:58:18 +01:00
Vladimir 'phcoder' Serbinenko
14e43c6e02 First working newreloc 2010-01-10 15:06:17 +01:00
Robert Millan
f0d0c0b726 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
* loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
	initialization with similar approach as with other Linux loaders.
2010-01-10 01:43:42 +00:00
Robert Millan
0e60bae74e 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
Fix i386-ieee1275 build.
	
	* loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
	and grub_term_height() for video_{width,height} initialization.
2010-01-10 01:10:39 +00:00
Vladimir 'phcoder' Serbinenko
6b60576149 merge mainline into newreloc 2010-01-10 01:56:47 +01:00
Robert Millan
cdec4d3193 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
Fix grub-emu build.
	
	* conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2010-01-10 00:47:19 +00:00
Vladimir 'phcoder' Serbinenko
95c7fc3f55 First compileable newreloc 2010-01-10 00:30:33 +01:00
Robert Millan
cdb3f378d6 Merge multiterm branch 2010-01-09 22:49:18 +00:00
Robert Millan
822873a7da Eliminate grub_term_register_{input,output}_active. Default terminals are
automatically activated because they're the only terminal that has been loaded.

This solution is temporary.  In the future, all terminals should auto-enable,
but this is non-trivial due to resource conflict, and it shouldn't prevent
merge in trunk.
2010-01-09 23:42:17 +01:00
Robert Millan
75cc5b682e Merge from trunk 2010-01-09 23:22:48 +01:00
Robert Millan
1a064917fe 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
Make loader output a bit more user-friendly.
	
	* util/grub.d/10_hurd.in: Print message indicating that GNU Mach
	is being loaded.  Likewise for the Hurd.
	
	* util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
	that kernel of FreeBSD ${version} is being loaded.
	
	* loader/i386/linux.c (grub_cmd_linux): Move debug info to
	grub_dprintf().
	(grub_cmd_initrd): Likewise.
	* util/grub.d/10_linux.in (linux_entry): Print message indicating
	that Linux ${version} is being loaded.  Likewise for initrd.
2010-01-09 22:02:00 +00:00
carles
5ce0a83a15 2010-01-09 Carles Pina i Estany <carles@pina.cat>
* gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2010-01-09 20:20:27 +00:00
carles
809bbfebfe 2010-01-08 Carles Pina i Estany <carles@pina.cat>
* loader/efi/appleloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/efi/chainloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
	(grub_cmd_linux): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/i386/xnu.c: Include `<grub/i18n.h>'.
	(grub_cpu_xnu_init): Gettextizze.
	* loader/multiboot_loader.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
	(grub_linux_load64): Capitalise Linux.
	(GRUB_MOD_INIT): Gettextizze.
	* loader/xnu.c: Include `<grub/i18n.h>'.
	(GRUB_MOD_INIT): Gettextizze.
	* po/POTFILES: Add `loader/efi/appleloader.c',
	`loader/efi/chainloader.c', `loader/i386/efi/linux.c',
	`loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
	`loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
	`loader/i386/xnu.c', `loader/multiboot_loader.c',
	`loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
	and `loader/xnu.c'.
2010-01-08 21:35:38 +00:00
Robert Millan
b394b2cab8 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
* src/mkisofs.c: Remove `ifdef linux' portability kludge.
2010-01-08 15:22:40 +00:00
Robert Millan
cd943b7587 2010-01-08 Robert Millan <rmh.mkisofs@aybabtu.com>
* util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
	(SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
	* util/mkisofs/mkisofs.c (main): Readjust --version output.
2010-01-08 15:19:42 +00:00
Vladimir 'phcoder' Serbinenko
1dcb8d30a9 ChangeLog 2010-01-07 22:22:24 +01:00
Vladimir 'phcoder' Serbinenko
3b88cbbda5 Warning fixes 2010-01-07 22:22:11 +01:00
Vladimir 'phcoder' Serbinenko
fc054c9cb8 Various cleanups 2010-01-07 22:18:59 +01:00
Robert Millan
bc8b32b3ec 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
Reset Multiboot 2 support.  New loader implements the draft in
	/branches/multiboot2 and shares as much code as possible with the
	production Multiboot 1 implementation.
	
	* loader/ieee1275/multiboot2.c: Remove file.  Update all users.
	* loader/multiboot2.c: Likewise.
	* loader/i386/multiboot_helper.S: Likewise.
	* include/multiboot2.h: Replace with latest version from the draft
	in /branches/multiboot2.
	
	* conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
	`loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
	and `loader/multiboot2.c'.
	(pkglib_MODULES): Add `multiboot2.mod'.
	(multiboot2_mod_SOURCES): New variable.
	(multiboot2_mod_LDFLAGS): Likewise.
	(multiboot2_mod_CFLAGS): Likewise.  Define `GRUB_USE_MULTIBOOT2'.
	
	* conf/i386-pc.rmk: Likewise.
	
	* conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
	(multiboot_mod_SOURCES): Remove variable.
	(multiboot_mod_LDFLAGS): Likewise.
	(multiboot_mod_CFLAGS): Likewise.
	
	* include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
	`<multiboot2.h>' instead of `<multiboot.h>'.
	[GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
	(MULTIBOOT_HEADER_MAGIC): New macros.
	
	* loader/multiboot_loader.c (module_version_status): Remove variable.
	(find_multi_boot2_header): Remove function.
	(grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
	logic.  Always check for the Multiboot version we're compiling for.
	(grub_cmd_module_loader): Likewise.
	[GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
	command instead of `multiboot'.
2010-01-07 21:05:25 +00:00
Vladimir 'phcoder' Serbinenko
44fcb2bc59 merge mainline into multiterm 2010-01-07 21:34:43 +01:00
Robert Millan
5d2c52b8ca 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
* include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
	* loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here.  Update
	all users.
2010-01-07 19:55:16 +00:00
Robert Millan
53108d92ba 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2010-01-07  Vladimir Serbinenko  <phcoder@gmail.com>
	
	Fix breakage introduced with previous commit.
	
	* normal/dyncmd.c (read_command_list): Avoid unregistering kernel
	commands.
	* normal/handler.c (read_handler_list): Revert part of previous commit
	affecting this file.
	* normal/main.c (read_lists): Move read_handler_list() call back to ...
	(grub_normal_execute): ... here.
2010-01-07 16:53:29 +00:00
Robert Millan
5a1ed29ebd Simplify terminal check in loader/i386/efi/linux.c and loader/i386/linux.c
Revert loader/i386/ieee1275/linux.c change
2010-01-07 01:21:32 +00:00
Robert Millan
c1d2f1d81b Merge from trunk 2010-01-07 00:58:54 +00:00
Robert Millan
e2e936b2f2 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
Merge prefix-redefinition-fix branch.
	
	* normal/autofs.c (read_fs_list): Make function capable of being
	run multiple times, gracefuly replacing the previous data
	structures.
	* normal/dyncmd.c (read_command_list): Likewise.
	* normal/handler.c (read_handler_list): Likewise.
	* normal/main.c (read_lists): New function.  Calls all the
	list reading functions.
	(grub_normal_execute): Use read_lists() instead of calling all
	list reading functions explicitly.  Register read_lists() as a
	variable hook attached to ${prefix}.
2010-01-07 00:52:56 +00:00
Vladimir 'phcoder' Serbinenko
607a3701db 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
Merge crypto branch.

	* Makefile.in (pkglib_DATA):  Add crypto.lst.
	(crypto.lst): New target.
	* commands/hashsum.c: New file.
	* commands/password.c (check_password): Use grub_crypto_memcmp.
	* commands/password_pbkdf2.c: New file.
	* commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
	* conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
	normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
	(grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
	-I$(srcdir)/lib/libgcrypt_wrap.
	* conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
	(pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
	password_pbkdf2.mod.
	(crypto_mod_SOURCES): New variable.
	(crypto_mod_CFLAGS): Likewise.
	(crypto_mod_LDFLAGS): Likewise.
	(hashsum_mod_SOURCES): New variable.
	(hashsum_mod_CFLAGS): Likewise.
	(hashsum_mod_LDFLAGS): Likewise.
	(pbkdf2_mod_SOURCES): New variable.
	(pbkdf2_mod_CFLAGS): Likewise.
	(pbkdf2_mod_LDFLAGS): Likewise.
	(password_pbkdf2_mod_SOURCES): New variable.
	(password_pbkdf2_mod_CFLAGS): Likewise.
	(password_pbkdf2_mod_LDFLAGS): Likewise.
	(bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
	(grub_mkpasswd_pbkdf2_SOURCES): New variable.
	(grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
	Include conf/gcry.rmk.
	* include/grub/auth.h: Rewritten.
	* include/grub/crypto.h: New file.
	* include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
	* include/grub/normal.h (read_crypto_list): New prototype.
	* lib/crypto.c: New file.
	* lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
	* lib/pbkdf2.c: Likewise.
	* normal/auth.c (grub_auth_strcmp): Removed.
	(grub_iswordseparator): Likewise.
	(grub_auth_strword): Likewise.
	(is_authenticated): Use grub_strword.
	(grub_auth_check_authentication): Use grub_strcmp, grub_password_get
	and grub_strword. Pass entered password to authentication callback.
	* normal/crypto.c: New file.
	* normal/main.c: Call read_crypto_list.
	* util/grub-mkpasswd-pbkdf2.c: New file.
	* util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2010-01-07 01:13:01 +01:00
Vladimir 'phcoder' Serbinenko
42841caa75 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
Fix descent and ascent calculation.

	* util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
	(options): New option "asce".
	(usage): Likewise.
	(add_char): Ignore invalid glyphs for descent calculation.
	Calculate ascent from actual content.
	(print_glyphs): Use 'asce'.
	(write_font): Likewise. Allow ascent override.
	(main): Handle "asce" option.
2010-01-06 23:25:57 +01:00
carles
e7730de786 2010-01-06 Carles Pina i Estany <carles@pina.cat>
* kern/err.c: Include `<grub/i18n.h>'.
	(grub_print_error): Add full stop. Gettextizze.
	* loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
	(grub_bsd_load_elf): Capitalise ELF.
	(grub_cmd_freebsd_loadenv): Add `s' in error string.
	(grub_cmd_freebsd_module): Likewise.
	(grub_cmd_freebsd_module_elf): Likewise.
	* loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2010-01-06 22:00:57 +00:00
carles
40e3a41f85 2010-01-06 Carles Pina i Estany <carles@pina.cat>
* commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
	* commands/search_file.c (HELP_MESSAGE): New macro.
	* commands/search_label.c (HELP_MESSAGE): Likewise.
	* commands/search_uuid.c (HELP_MESSAGE): Likewise.
	* po/POTFILES: Add `commands/search_file.c',
	`commands/search_label.c', `commands_uuid.c'. Remove duplicate
	`commands/search.c'.
2010-01-06 21:36:34 +00:00