Commit Graph
100 Commits
Author SHA1 Message Date
Vladimir 'phcoder' Serbinenko c1f2882010 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
* term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
	(grub_ofconsole_getwh): Split to ...
	(grub_ofconsole_getwh): ... this.
	(grub_ofconsole_dimensions): ...and this.
	(grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2010-01-13 20:43:48 +01:00
Vladimir 'phcoder' Serbinenko 10891398fd 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
* loader/i386/pc/multiboot2.c: Removed stalled file.
2010-01-12 17:56:05 +01:00
Vladimir 'phcoder' Serbinenko 0b8a223cb1 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
* util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
	Reported by: Grégoire Sutre
2010-01-12 13:36:44 +01:00
Vladimir 'phcoder' Serbinenko ffa8e3d277 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
* term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
	in premature implicit newline.
2010-01-10 22:35:46 +01:00
Vladimir 'phcoder' Serbinenko e9060a9d3b 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
* normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
	which resulted in garbled command line at the end of screen.
2010-01-10 22:34:25 +01: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
Vladimir 'phcoder' Serbinenko 44fcb2bc59 merge mainline into multiterm 2010-01-07 21:34:43 +01: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
Vladimir 'phcoder' Serbinenko 519634516f Merge mainline into multiterm 2010-01-05 16:27:41 +01:00
Vladimir 'phcoder' Serbinenko 52c2d97f26 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
	New constant.
	(grub_efi_piwg_device_path): New structure
	(grub_efi_piwg_device_path_t): New type.
	* loader/efi/appleloader.c (piwg_full_device_path): New structure.
	(devpath_1): Transform to a structure. All users updated.
	(devpath_2): Likewise.
	(devpath_3): Likewise.
	(devpath_4): Likewise.
	(devpath_5): Likewise.
2010-01-04 14:59:06 +01:00
Vladimir 'phcoder' Serbinenko 98ff6a54de 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
* loader/efi/appleloader.c: Restored. Update all users.
2010-01-04 14:53:15 +01:00
Vladimir 'phcoder' Serbinenko e44721e811 Fix punctuation in ChangeLog 2009-12-31 15:05:12 +01:00
Vladimir 'phcoder' Serbinenko 33433555f3 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
* include/grub/list.h (grub_assert_fail): Removed.
	(grub_bad_type_cast_real): New function.
	(grub_bad_type_cast): New macro.
	(GRUB_AS_LIST): Use grub_bad_type_cast.
	(GRUB_AS_LIST_P): Likewise.
	(GRUB_AS_NAMED_LIST): Likewise.
	(GRUB_AS_NAMED_LIST_P): Likewise.
	(GRUB_AS_PRIO_LIST): Likewise.
	(GRUB_AS_PRIO_LIST_P): Likewise.
	* include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
2009-12-31 15:03:09 +01:00
Vladimir 'phcoder' Serbinenko f5a513064c 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
* loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
	Fix syntax error.
2009-12-29 19:06:04 +01:00
Vladimir 'phcoder' Serbinenko d8a1cbbd0b Fix compilation warning 2009-12-29 17:54:27 +01:00
Vladimir 'phcoder' Serbinenko 37f7fb26a3 always_inline cl_print to avoid regparm=3 bug 2009-12-29 13:03:22 +01:00
Vladimir 'phcoder' Serbinenko bd2b242ea2 Fix space after completion 2009-12-29 10:24:10 +01:00
Vladimir 'phcoder' Serbinenko a6f106ce37 Fix i386-ieee1275 compilation 2009-12-28 22:06:30 +01:00
Vladimir 'phcoder' Serbinenko c181849b95 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
2009-12-28 01:02:21 +01:00
Vladimir 'phcoder' Serbinenko 13d1f24696 Fix grub-emu compilation 2009-12-27 22:36:09 +01:00
Vladimir 'phcoder' Serbinenko dc71441293 Output \n\r like it was done previously because ncurses is confused by \r\n 2009-12-27 22:35:40 +01:00
Vladimir 'phcoder' Serbinenko f45e1a9fb7 Allocate correct size 2009-12-27 22:34:49 +01:00
Vladimir 'phcoder' Serbinenko 9c8739a456 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* normal/menu_text.c (grub_print_message_indented): Prevent
	past-the-end-of-array dereference.
2009-12-27 22:32:52 +01:00
Vladimir 'phcoder' Serbinenko 3851cc386e Prevent NULL dereferencing when unregistering ciphers 2009-12-27 22:29:22 +01:00
Vladimir 'phcoder' Serbinenko 3e74249c4c 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
* video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
	(GRUB_MOD_FINI (video_reader_jpeg)): ...this
2009-12-27 22:21:48 +01:00
Vladimir 'phcoder' Serbinenko 1975ecdc59 Fix include in kern/term.c 2009-12-27 17:40:36 +01:00
Vladimir 'phcoder' Serbinenko 562e438b77 Add defines for yeeloong 2009-12-27 17:21:49 +01:00
Vladimir 'phcoder' Serbinenko 731ffd8773 Fix EFI compilation 2009-12-26 22:16:14 +01:00
Vladimir 'phcoder' Serbinenko 27a8ee52b4 Remove menu init hooks. They are useless 2009-12-26 16:39:16 +01:00
Vladimir 'phcoder' Serbinenko 9c288be27a 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
Use search command for preliminar UUID search.

	* commands/search.c: Split into ...
	* commands/search_wrap.c: ...this
	* commands/search.c: ...and this.
	* commands/search_file.c: New file.
	* commands/search_label.c: New file.
	* commands/search_uuid.c: New file.
	* conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
	Add commands/search_wrap.c, commands/search_file.c,
	commands/search_label.c and commands/search_uuid.c.
	* conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
	(search_mod_SOURCES): Set to commands/search_wrap.c.
	(pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
	search_label.mod.
	(search_fs_file_mod_SOURCES): New variable.
	(search_fs_file_mod_CFLAGS): Likewise.
	(search_fs_file_mod_LDFLAGS): Likewise.
	(search_label_mod_SOURCES): Likewise.
	(search_label_mod_CFLAGS): Likewise.
	(search_label_mod_LDFLAGS): Likewise.
	(search_fs_uuid_mod_SOURCES): New variable.
	(search_fs_uuid_mod_CFLAGS): Likewise.
	(search_fs_uuid_mod_LDFLAGS): Likewise.
	(fs_file_mod_SOURCES): Removed.
	(fs_file_mod_CFLAGS): Likewise.
	(fs_file_mod_LDFLAGS): Likewise.
	(fs_uuid_mod_SOURCES): Removed.
	(fs_uuid_mod_CFLAGS): Likewise.
	(fs_uuid_mod_LDFLAGS): Likewise.
	* conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
	Set to util/grub-install.in.
	* disk/fs_file.c: Removed.
	* disk/fs_uuid.c: Likewise.
	* include/grub/search.h: New file.
	* util/grub-install.in: Handle sparc64.
	Create and use load.cfg.
	* util/sparc64/ieee1275/grub-install.in: Removed.
2009-12-25 23:06:52 +01:00
Vladimir 'phcoder' Serbinenko db9433999c 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
	Ignore return status if CF is cleared.
	(grub_biosdisk_get_diskinfo_standard): Likewise.
2009-12-25 23:01:32 +01:00
Vladimir 'phcoder' Serbinenko 7ebaa2b4ff 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
Support for (pxe[:server[:gateway]]) syntax and
	use environment variable for PXE.

	* commands/i386/pc/pxecmd.c (options): Removed.
	(print_ip): Removed.
	(grub_cmd_pxe): Removed
	(grub_cmd_pxe_unload): New function.
	* fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
	(grub_pxe_your_ip): Made static.
	(grub_pxe_default_server_ip): Likewise.
	(grub_pxe_default_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.
	(parse_ip): New function.
	(grub_pxe_open): Support server and gateway specification.
	(grub_pxe_close): Free disk->data.
	(grub_pxefs_open): Use disk->data.
	(grub_pxefs_read): Likewise.
	(grub_env_write_readonly): New function.
	(set_mac_env): Likewise.
	(set_env_limn_ro): Likewise.
	(parse_dhcp_vendor): Likewise.
	(grub_pxe_detect): Set the environment variables.
	(set_ip_env): New function.
	(write_ip_env): Likewise.
	(grub_env_write_pxe_default_server): Likewise.
	(grub_env_write_pxe_default_gateway): Likewise.
	(grub_env_write_pxe_blocksize): Likewise.
	(GRUB_MOD_INIT(pxe)): Set environment variables.
	* include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
	(grub_pxe_mac_addr_t): ... this. All users updated.
	(grub_pxe_your_ip): Removed.
	(grub_pxe_server_ip): Likewise.
	(grub_pxe_gateway_ip): Likewise.
	(grub_pxe_blksize): Likewise.
2009-12-25 22:01:06 +01:00
Vladimir 'phcoder' Serbinenko d75d75d93b Fix glitch with escape message 2009-12-25 16:53:54 +01:00
Vladimir 'phcoder' Serbinenko 6066889c88 normal_exit command 2009-12-25 16:28:31 +01:00
Vladimir 'phcoder' Serbinenko 0e76d18c5b Fix various issues in menu editor 2009-12-25 13:18:08 +01:00
Vladimir 'phcoder' Serbinenko a999b9d965 Fix refresh in cmdline 2009-12-25 13:17:27 +01:00
Vladimir 'phcoder' Serbinenko 2e5b307c47 Make menu editor work 2009-12-25 04:12:29 +01:00
Vladimir 'phcoder' Serbinenko 33c1ed4c8d terminal modules autoloading 2009-12-25 03:37:20 +01:00
Vladimir 'phcoder' Serbinenko bf2ebfbe02 Lost hunk 2009-12-25 03:36:42 +01:00
Vladimir 'phcoder' Serbinenko ca04c7a550 Colin Watson's request 2009-12-25 01:20:44 +01:00
Vladimir 'phcoder' Serbinenko fa533ebb5c Various fixes to make multiterm work 2009-12-25 01:13:21 +01:00
Vladimir 'phcoder' Serbinenko 4fc4ee303d Set default console on non-i386-pc 2009-12-25 00:13:03 +01:00
Vladimir 'phcoder' Serbinenko 840f2e6e08 Remove NEED_INIT. 2009-12-25 00:12:36 +01:00
Vladimir 'phcoder' Serbinenko 288031b37c REtrieve position from right console in loader/i386/linux.c 2009-12-25 00:07:52 +01:00
Vladimir 'phcoder' Serbinenko 6d305d4f7d Fix paging. 2009-12-24 23:37:38 +01:00
Vladimir 'phcoder' Serbinenko abd1cab3d9 Fix terminal_* commands 2009-12-24 23:21:27 +01:00
Vladimir 'phcoder' Serbinenko 9f0cd916a4 Restrict terminfo to serial 2009-12-24 23:20:43 +01:00
Vladimir 'phcoder' Serbinenko 686ff5b4d1 Don't output unnecessary newline in command line prompt 2009-12-24 23:19:54 +01:00
Vladimir 'phcoder' Serbinenko 4b4513adb3 bugfix in cmdline handling 2009-12-24 22:55:06 +01:00
Vladimir 'phcoder' Serbinenko 0aa6339849 Working multi-terminal 2009-12-24 21:54:37 +01:00
Vladimir 'phcoder' Serbinenko 3be7f8de12 FORALL_ACTIVE_TERM_OUTPUTS macro 2009-12-24 17:51:43 +01:00
Vladimir 'phcoder' Serbinenko 2322a12693 remove list iterators to save space 2009-12-24 16:25:10 +01:00
Vladimir 'phcoder' Serbinenko 2e71383172 Core changes hopefully finished 2009-12-24 15:34:33 +01:00
Vladimir 'phcoder' Serbinenko e48625a306 merge crypto into multiout 2009-12-24 00:38:41 +01:00
Vladimir 'phcoder' Serbinenko f4c623e170 Work on multi-out terminal 2009-12-24 00:37:11 +01:00
Vladimir 'phcoder' Serbinenko a2e77ce455 merge mainline into crypto 2009-12-23 20:34:26 +01:00
Vladimir 'phcoder' Serbinenko a7a095c71a hashsum support 2009-12-23 20:31:12 +01:00
Vladimir 'phcoder' Serbinenko 0eb11149c9 eliminate dead code and data in des.c 2009-12-23 19:58:33 +01:00
Vladimir 'phcoder' Serbinenko 7316783f35 Crypto module autoloading 2009-12-23 17:33:35 +01:00
Vladimir 'phcoder' Serbinenko 009ec74317 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
* video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
	size counting.
2009-12-23 14:48:55 +01:00
Vladimir 'phcoder' Serbinenko d3d30ea08e 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
* commands/memrw.c (grub_cmd_write): Support for mask parameter.
	(GRUB_MOD_INIT(memrw)): Update help line.
2009-12-22 17:00:28 +01:00
Vladimir 'phcoder' Serbinenko a34f5c705a 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
* commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
	Use grub_extcmd_t. All users updated.
	(options): New variable.
	(grub_cmd_read): Restructure for readability. Support "-v" option.
	(grub_cmd_write): Restructure for readability.
2009-12-22 16:36:50 +01:00
Vladimir 'phcoder' Serbinenko ba136b293a merge mainline into crypto 2009-12-22 14:28:39 +01:00
Vladimir 'phcoder' Serbinenko dc77a79959 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
* commands/lspci.c (grub_pci_classes): Add "USB Controller".
	(options): New variable.
	(iospace): Likewise.
	(grub_lspci_iter): List IO spaces if "-i" was given.
	(grub_cmd_lspci): Parse options.
	(GRUB_MOD_INIT(lspci)): Use extcmd.
	(GRUB_MOD_FINI(lspci)): Likewise.
2009-12-22 10:41:53 +01:00
Vladimir 'phcoder' Serbinenko 11d1828177 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
* bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
2009-12-22 10:18:18 +01:00
Vladimir 'phcoder' Serbinenko b5d5993b6d 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
* bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
	(grub_uhci_portstatus): Likewise.
	(grub_uhci_portstatus): Add necessary delay.
2009-12-22 10:15:59 +01:00
Vladimir 'phcoder' Serbinenko d4e580ed07 Revert obviously wrong 1963 by Felix Zielcke. 2009-12-22 10:10:57 +01:00
Vladimir 'phcoder' Serbinenko 6fba9b7490 merge mainline into lspci 2009-12-21 23:01:47 +01:00
Vladimir 'phcoder' Serbinenko 7d991d17a8 Fix abug in 64-bit memory address space 2009-12-21 22:32:33 +01:00
Vladimir 'phcoder' Serbinenko 973c6c8563 Fix ChangeLog date 2009-12-21 16:44:17 +01:00
Vladimir 'phcoder' Serbinenko b07e53f027 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
* video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
2009-12-21 16:43:21 +01:00
Vladimir 'phcoder' Serbinenko 3041d8989c 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
* kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
	of arguments. Return number of tokens and not arguments. All users
	updated.
2009-12-20 22:54:12 +01:00
Vladimir 'phcoder' Serbinenko de15bf8e7f 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
* util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
	non-MSDOS paritions.
2009-12-20 21:08:03 +01:00
Vladimir 'phcoder' Serbinenko 3c9296a029 ChangeLog 2009-12-20 20:23:11 +01:00
Vladimir 'phcoder' Serbinenko 8140d50bdc PXE environment variables 2009-12-20 20:05:53 +01:00
Vladimir 'phcoder' Serbinenko e0a6ca52f2 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
* include/grub/types.h (UNUSED): Removed since it conflicts with
	NetBSD headers. All users changed to direct __attribute__ ((unused)).
	Reported by Grégoire Sutre.
2009-12-20 14:09:16 +01:00
Vladimir 'phcoder' Serbinenko 5a1ad2b9fd 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
Fix console palette on OpenFirmware.

	* term/ieee1275/ofconsole.c (MAX): Removed.
	(colors): Redone based on VGA palette.
	(grub_ofconsole_setcolor): Discard brightness bit since only 8
	colors are supported.
	(grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
2009-12-18 17:25:06 +01:00
Vladimir 'phcoder' Serbinenko d3d389719c ChangeLog 2009-12-18 17:24:12 +01:00
Vladimir 'phcoder' Serbinenko 352640ca0d merge mainline into ofconsole 2009-12-18 17:19:44 +01:00
Vladimir 'phcoder' Serbinenko 2ecf0c7ea4 Discard brightness bit 2009-12-18 17:19:12 +01:00
Vladimir 'phcoder' Serbinenko b045f00a84 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
Fix potential EfiEmu double prepare.

	* efiemu/main.c (prepared): New variable
	(grub_efiemu_unload): Set prepare to '0'.
	(grub_efiemu_prepare): Return if already prepared. Set prepared.

	set_virtual_address_map support.

	* include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
	prototype.
	* include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
	prototype.
	(grub_efiemu_crc32): Likewise.
	(grub_efiemu_crc64): Likewise.
	(grub_efiemu_set_virtual_address_map): Likewise.
	* include/grub/autoefi.h (grub_autoefi_exit_boot_services):
	New definition.
	(grub_autoefi_set_virtual_address_map): Likewise.
	* kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
	* loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
	Restructure flow to accomodate it.
	* efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
	(grub_efiemu_crc): Recompute CRC32.
	* efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
	(efiemu_ptv_relocated): ... this. Made global. All users updated.
	* efiemu/symbols.c (relocated_handle): New variable.
	(grub_efiemu_free_syms): Free relocated_handle.
	(grub_efiemu_alloc_syms): Allocate relocated_handle.
	(grub_efiemu_write_sym_markers): New function.
	(grub_efiemu_set_virtual_address_map): Likewise.

	Newer XNU parameters.

	* include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
	* include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
	(grub_xnu_fill_devicetree): New prototype.
	(grub_xnu_heap_real_start): New variable.
	* loader/xnu.c (get_name_ptr): New function.
	(grub_xnu_load_driver): Fill namelen and name.

	64-bit xnu support.

	* conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
	and 'loader/macho64.c'.
	* conf/i386-pc.rmk: Likewise.
	* conf/x86_64-efi.rmk: Likewise.
	* include/grub/i386/macho.h (grub_macho_thread64): New structure.
	* include/grub/xnu.h (grub_xnu_is_64bit): New variable.
	* include/grub/macho.h (grub_macho_segment64): New structure.
	* include/grub/machoload.h (grub_macho32_size): Renamed from ...
	(grub_macho_size32): ... to this.
	(grub_macho32_get_entry_point): Renamed from ...
	(grub_macho_get_entry_point32): ... to this.
	(grub_macho_contains_macho64): New prototype.
	(grub_macho_size64): Likewise.
	(grub_macho_get_entry_point64): Likewise.
	(grub_macho32_load): Renamed from ...
	(grub_macho_load32): ... to this.
	(grub_macho32_filesize): Renamed from ...
	(grub_macho_filesize32): ... to this.
	(grub_macho32_readfile): Renamed from ...
	(grub_macho_readfile32): ... to this.
	(grub_macho_filesize64): New prototype.
	(grub_macho_readfile64): Likewise.
	(grub_macho_parse32): Likewise.
	(grub_macho_parse64): Likewise.
	* loader/macho.c: Split into ...
	* loader/machoXX.c: ... and this. Replace 32 with XX.
	* loader/macho32.c: New file.
	* loader/macho64.c: Likewise.
	* loader/xnu.c (grub_xnu_is_64bit): New variable.
	(grub_cmd_xnu_kernel): Make 32-bit only.
	(grub_cmd_xnu_kernel64): New function.
	(grub_xnu_load_driver): Support Mach-O 64.
	(grub_cmd_xnu_mkext): Likewise.
	* util/grub.d/30_os-prober.in (osx_entry): New function.
	Generate entries for 64-bit boot too.

	Eliminate ad-hoc tree format in XNU and EfiEmu.

	* efiemu/main.c (grub_efiemu_prepare): Update comment.
	* efiemu/pnvram.c: Rewritten to use environment variables.
	All users updated.

	Inline utf16_to_utf8.

	* kern/misc.c (grub_utf16_to_utf8): Move from here ...
	* include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
	All users updated.
	* include/grub/misc.h (grub_utf16_to_utf8): Removed.

	* bus/usb/usb.c (grub_usb_get_string): Move from here ...
	* commands/usbtest.c (grub_usb_get_string): ... move here.
	(usb_print_str): Fix error handling.
	* include/grub/usb.h (grub_usb_get_string): Remove.

	UTF-8 to UTF-16 transformation.

	* conf/common.rmk (pkglib_MODULES): Add charset.mod
	(charset_mod_SOURCES): New variable.
	(charset_mod_CFLAGS): Likewise.
	(charset_mod_LDFLAGS): Likewise.
	* include/grub/utf.h: New file.
	* lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)

	Support for device properties.

	* include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
	(grub_xnu_devprop_device_header): Likewise.
	(grub_xnu_devprop_device_descriptor): Likewise.
	(grub_xnu_devprop_add_device): New prototype.
	(grub_xnu_devprop_remove_device): Likewise.
	(grub_xnu_devprop_remove_property): Likewise.
	(grub_xnu_devprop_add_property_utf8): Likewise.
	(grub_xnu_devprop_add_property_utf16): Likewise.
	(grub_cpu_xnu_init): Likewise.
	(grub_cpu_xnu_fini): Likewise.
	(grub_cpu_xnu_unload): Likewise.
	* loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
	(property_descriptor): Likewise.
	(devices): New variable.
	(grub_xnu_devprop_remove_property): New function.
	(grub_xnu_devprop_add_device): Likewise.
	(grub_xnu_devprop_remove_device): Likewise.
	(grub_xnu_devprop_add_property): Likewise.
	(grub_xnu_devprop_add_property_utf8): Likewise.
	(grub_xnu_devprop_add_property_utf16): Likewise.
	(hextoval): Likewise.
	(grub_cpu_xnu_fill_devprop): Likewise.
	(grub_cmd_devprop_load): Likewise.
	(grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
	grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
	(cmd_devprop_load): New variable.
	(grub_cpu_xnu_init): New function.
	(grub_cpu_xnu_fini): Likewise.
	* loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
	* loader/xnu.c (grub_xnu_parse_devtree): Remove.
	(grub_cmd_xnu_devtree): Likewise.
	(hextoval): New function.
	(unescape): Likewise.
	(grub_xnu_fill_devicetree): Likewise.

	* util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
	* util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
2009-12-18 15:20:21 +01:00
Vladimir 'phcoder' Serbinenko 8463a018b2 ChangeLog 2009-12-18 04:58:00 +01:00
Vladimir 'phcoder' Serbinenko 68693c0743 Reimpliment grub-dumpdevtree 2009-12-18 04:57:29 +01:00
Vladimir 'phcoder' Serbinenko 889a4cbaaa Eliminate empty line 2009-12-18 04:56:55 +01:00
Vladimir 'phcoder' Serbinenko 52d1a0fd1a Remove unwantred commits 2009-12-18 04:56:03 +01:00
Vladimir 'phcoder' Serbinenko 7ea73643f5 merge mtrunk into xnu 2009-12-18 03:57:32 +01:00
Vladimir 'phcoder' Serbinenko 2cd7057fc8 30_os-prober update 2009-12-18 03:33:24 +01:00
Vladimir 'phcoder' Serbinenko 86cd6ff556 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
Workaround for broken ATI VBE.

	* video/i386/pc/vbe.c (last_set_mode): New variable.
	(grub_vbe_set_video_mode): Set 'last_set_mode'.
	(grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
	(grub_video_vbe_setup): Don't check for reserved flag.
2009-12-18 02:35:15 +01:00
Vladimir 'phcoder' Serbinenko 0945f1816d Changelog 2009-12-18 02:21:37 +01:00
Vladimir 'phcoder' Serbinenko 5b4f655bad cleaned ATI fixes 2009-12-18 02:11:26 +01:00
Vladimir 'phcoder' Serbinenko b73d4bab7e Merge trunk into ati 2009-12-18 02:04:10 +01:00
Vladimir 'phcoder' Serbinenko db846aed9a minimalising ATI impact 2009-12-16 16:53:01 +01:00
Vladimir 'phcoder' Serbinenko c179ebe4ee 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
UUID support for HFS.

	* fs/hfs.c (grub_hfs_uuid): New function.
	(grub_hfs_fs): New value .uuid.
	* include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
2009-12-16 15:40:31 +01:00
Vladimir 'phcoder' Serbinenko 8a40612b2c fix ofconsole palette 2009-12-15 19:57:23 +01:00
Vladimir 'phcoder' Serbinenko 7ca3f5c2d9 one more possible fix 2009-12-14 18:16:32 +01:00
Vladimir 'phcoder' Serbinenko 29eb90c620 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
	anything.
2009-12-13 18:32:06 +01:00
Vladimir 'phcoder' Serbinenko 3e8c081543 legacy-like stack handling 2009-12-13 18:10:53 +01:00