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
289634b1fa
Report trampoline information before going to video mode
2009-12-18 11:15:46 +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
Felix Zielcke
0297aafb9f
2009-12-17 Felix Zielcke <fzielcke@z-51.de>
...
* gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
the `find' command.
2009-12-17 11:19:12 +01:00
Vladimir 'phcoder' Serbinenko
b8576d05c9
merge 10_videomask info efigfx
2009-12-16 19:06:01 +01:00
Vladimir 'phcoder' Serbinenko
b044bf0351
use video subsystem on EFI
2009-12-16 19:04:58 +01:00
Vladimir 'phcoder' Serbinenko
e6d8d32a94
fix efi video drivers for video API change
2009-12-16 19:03:56 +01:00
Vladimir 'phcoder' Serbinenko
45da21ff5a
merge mainline into videomask
2009-12-16 17:52:17 +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
Felix Zielcke
574cce0cfa
2009-12-14 Felix Zielcke <fzielcke@z-51.de>
...
Fix a segfault with parsing unknown long options.
* util/grub-mkrelpath.c (options): Zero terminate it.
2009-12-14 11:06:24 +01:00
Carles Pina i Estany
c4a3e41a72
2009-12-13 Carles Pina i Estany <carles@pina.cat>
...
* include/grub/misc.h (grub_puts): New declaration.
(grub_puts_): Likewise.
* kern/mis.c (grub_puts): New definition.
(grub_puts_): Likewise.
2009-12-13 19:51:08 +00:00
Robert Millan
2e8a760287
2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
...
* util/grub-probe.c (probe): Improve error message.
2009-12-13 19:46:59 +00:00
Robert Millan
b50b77b9a8
Merge relocator branch
2009-12-13 18:37:44 +00:00
Robert Millan
616da3a154
2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
...
* loader/i386/multiboot_elfxx.c
(CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
initialization.
2009-12-13 18:29:15 +00: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
Vladimir 'phcoder' Serbinenko
5a0e0cc6bd
Fix XNU resume.
2009-12-13 18:07:01 +01:00
Vladimir 'phcoder' Serbinenko
087793c68e
Cleanup address expressions for readability and using only unsigned arithmetics
2009-12-13 18:03:46 +01:00
Carles Pina i Estany
3102743011
2009-12-13 Carles Pina i Estany <carles@pina.cat>
...
* script/execute.c (grub_script_execute_cmdline): Set grub_errno to
GRUB_ERR_NONE before calling grub_env_set.
2009-12-13 12:35:20 +00:00
Robert Millan
dc0c71d974
2009-12-12 Robert Millan <rmh@aybabtu.com>
...
* gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
* genmk.rb (video): New variable.
(CLEANFILES, VIDEOFILES): Add #{video}.
(#{video}): New target rule.
* genvideolist.sh: New file.
* Makefile.in (pkglib_DATA): Add video.lst.
(video.lst): New target rule.
* util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
`video.lst'.
* util/grub.d/30_os-prober.in: Replace `vbe' with
${GRUB_VIDEO_BACKEND}.
2009-12-12 00:43:32 +00:00
Robert Millan
03157a273d
util/sparc64/ieee1275/grub-install.in was meant to be removed
2009-12-12 00:10:38 +00:00
Robert Millan
37ba589a4e
Merge from trunk
2009-12-12 00:07:45 +00:00
Robert Millan
cb0573b750
Merge from trunk
2009-12-11 23:11:58 +00:00
Robert Millan
cbf73baaae
Indentation fix & missing copyright year.
2009-12-11 23:10:57 +00:00
Robert Millan
2a4bfcf0da
2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
...
* THANKS: Add David Miller.
2009-12-11 22:44:47 +00:00
Robert Millan
dfec2d96f9
Merge from trunk
2009-12-11 21:20:00 +00:00
Robert Millan
2a3aa4d570
Merge pciaccess branch
2009-12-11 21:12:57 +00:00
Felix Zielcke
8d0502d9b2
2009-12-11 Felix Zielcke <fzielcke@z-51.de>
...
* util/misc.c: Don't include <errno.h> twice.
2009-12-11 11:11:34 +01:00
Felix Zielcke
0d56ed64d2
2009-12-10 Felix Zielcke <fzielcke@z-51.de>
...
* disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
name in an error message.
(grub_biosdisk_rw): Likewise.
2009-12-10 19:15:20 +01:00
Vladimir 'phcoder' Serbinenko
2e59983c82
2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
...
Eliminate NTFS 4Gib barrier.
* fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
(read_run_data): Likewise.
(grub_ntfs_read_run_list): Likewise.
(grub_ntfs_read_block): Likewise.
(grub_ntfs_iterate_dir): Likewise.
(read_mft): Likewise.
(read_data): Likewise.
Use COM_LOG_LEN.
* fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
to avoid 64-bit division
* include/grub/ntfs.h (COM_LOG_LEN): New definition.
(grub_ntfs_rlst): Use grub_disk_addr_t.
2009-12-10 14:45:00 +01:00
Vladimir 'phcoder' Serbinenko
71ee178adb
2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
...
Eliminate grub-fstest 4Gib barrier.
* util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
(read_file): Fix error reporting.
2009-12-10 14:39:54 +01:00
Vladimir 'phcoder' Serbinenko
2520d4b815
2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
...
Eliminate hexdump 4Gib barrier.
* commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
* lib/arg.c (grub_arg_parse): Use grub_strtoull.
2009-12-10 14:37:42 +01:00
Vladimir 'phcoder' Serbinenko
e1f270654e
2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
...
* kern/device.c (grub_device_iterate): Ignore errors during first scan.
Fixes amarsh bug.
2009-12-10 13:26:22 +01:00
Robert Millan
1a0f7f4553
2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
...
Remove miscellaneous files in distclean target.
* Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
2009-12-09 21:43:05 +00:00
Colin Watson
c631d9fb17
2009-12-09 Colin Watson <cjwatson@ubuntu.com>
...
* util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
if they're already set. This resolves the conflict between my
grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
fixing the --grub-probe option again.
* util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
change on 2009-10-06, so that we now once again source
`${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
2009-12-09 16:20:17 +00:00
Robert Millan
7c7b610626
2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
...
* conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
`util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
`util/devicemap.c'.
2009-12-08 16:00:52 +00:00
Colin Watson
6c1f8c1215
2009-12-08 Colin Watson <cjwatson@ubuntu.com>
...
* util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2009-12-08 01:02:08 +00:00
Colin Watson
b967a04d5b
2009-12-08 Colin Watson <cjwatson@ubuntu.com>
...
* util/grub.d/00_header.in: Use `set var=val' rather than plain
`var=val'.
* util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2009-12-08 01:01:21 +00:00