Leif Lindholm
4d21c10199
arm64: set correct length of device path end entry
...
The length of the Device Path End entry in the grub_linux_boot()
function was incorrectly set to 0. This triggers an assert failure
in debug builds of Tianocore.
Set it to sizeof (grub_efi_device_path_t).
2014-01-07 17:52:50 +00:00
Andrey Borzenkov
668add258f
strip .eh_frame section from arm64-efi kernel
...
Fixes grub-mkimage error "relocation 0x105 is not implemented yet."
2013-12-30 13:07:54 +00:00
Vladimir Serbinenko
093dec7370
Don't abort() on unavailable coreboot tables if not running on coreboot.
2013-12-28 17:25:14 +01:00
Andrey Borzenkov
989af02582
remove unused error.h from kern/emu/misc.c
...
Fixes compilation on mingw32, where include is apparently missing.
2013-12-28 09:04:10 +04:00
Vladimir Serbinenko
5bda44d7f9
* grub-core/kern/arm/cache_armv6.S: Remove .arch directive.
...
As these functions are used on pre-ARMv6 CPUs as well we don't want
to make assembler assume that architecture is higher than default one.
2013-12-25 23:31:42 +01:00
Andrey Borzenkov
a6e7719bbe
fix EFI detection on Windows
...
We are on legacy BIOS if GetFirmwareEnvironmentVariable fails (returns
zero) *and* extended error information is ERROR_INVALID_FUNCTION.
Cf. http://msdn.microsoft.com/en-us/library/windows/desktop/ms724325%28v=vs.85%29.aspx
2013-12-25 22:36:28 +04:00
Vladimir Serbinenko
dc3286ade4
* grub-core/disk/efi/efidisk.c (name_devices): Skip Apple ghosts.
2013-12-24 20:32:14 +01:00
Vladimir Serbinenko
09c479006c
Fix buffer overflow in grub_efi_print_device_path.
2013-12-24 19:04:46 +01:00
Vladimir Serbinenko
4d6c69536e
Show SATA device path.
2013-12-24 18:10:28 +01:00
Vladimir Serbinenko
e5fa26e573
Make newly-created files other than grub.cfg world-readable.
2013-12-24 17:36:10 +01:00
Vladimir Serbinenko
4127206896
Make rijndael.c respect aliasing rules.
...
Trivial backport of dfb4673da8ee52d95e0a62c9f49ca8599943f22e.
2013-12-24 16:57:28 +01:00
Vladimir Serbinenko
f7c7c4d4ad
Make grub_util_device_is_mapped_stat available in grub-emu core.
2013-12-24 16:56:14 +01:00
Vladimir Serbinenko
6a7957f9f5
Save TARGET_CC version in modinfo.sh.
...
Suggested by: Andrey Borzenkov.
2013-12-24 14:47:44 +01:00
Vladimir Serbinenko
e88f0420b9
Make grub_util_devmapper_part_to_disk and grub_util_find_partition_start
...
follow the same algorithm to avoid method mismatch. Don't assume
DMRAID- UUID to mean full disk but instead check that mapping is linear.
2013-12-24 14:16:57 +01:00
Vladimir Serbinenko
da98622662
Declare GRUB_EFI_VENDOR_APPLE_GUID.
2013-12-24 14:14:19 +01:00
Vladimir Serbinenko
fba31b5f69
Dump type and vendor specific data when printing device path.
2013-12-24 14:05:48 +01:00
Vladimir Serbinenko
72f099578e
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-23 18:17:29 +01:00
Vladimir Serbinenko
cef394032d
* grub-core/modinfo.sh.in: Add build config information.
2013-12-23 18:17:09 +01:00
Vladimir Serbinenko
a4d610026f
ARM64 grub-file and grub-mkconfig support.
2013-12-23 18:17:09 +01:00
Vladimir Serbinenko
0c930a841e
Remove leftover options defines.
2013-12-23 18:17:02 +01:00
Colin Watson
16f7455b04
* configure.ac: Fix spelling.
...
* grub-core/commands/parttool.c: Fix grammar.
* grub-core/disk/ldm.c: Use consistent capitalisation for "LDM
Embedding Partition".
2013-12-23 13:32:35 +00:00
Vladimir Serbinenko
74fa9ac1a6
* include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
2013-12-23 05:56:31 +01:00
Vladimir Serbinenko
62956fe7b9
* grub-core/loader/arm64/linux.c: Add missing bracket.
2013-12-23 05:34:13 +01:00
Vladimir Serbinenko
260632161f
Add arm64-efi recognition to grub-file.
2013-12-23 05:33:44 +01:00
Vladimir Serbinenko
4cd0b55fd0
Fix ia64-efi recognition in grub-file.
2013-12-23 05:27:04 +01:00
Vladimir Serbinenko
95b56e3a97
Recognize raspberry pi kernel in grub-file.
2013-12-23 05:19:42 +01:00
Vladimir Serbinenko
bbc52c228f
Enable cache on ARM U-Boot port.
...
Without it the port is reidiculously slow.
2013-12-23 05:01:58 +01:00
Vladimir Serbinenko
943981ff65
Fix ARM cache maintainance.
...
More code was converted from ASM to C for easier handling.
2013-12-23 04:27:53 +01:00
Vladimir Serbinenko
adabfb5418
* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
...
algorithm on v5.
Suggested by: Leif Lindholm.
2013-12-22 22:33:35 +01:00
Leif Lindholm
30a9ab952f
arm64: add EFI Linux loader
...
Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org>
2013-12-22 18:38:44 +00:00
Leif Lindholm
c415eaa98f
fdt: additions required for arm64 Linux loader
...
- Add grub_fdt_create_empty_tree() function.
- Add 64-bit setprop.
2013-12-22 18:38:44 +00:00
Vladimir Serbinenko
313fb3cef8
Add module loading and parsing boot time checkpoints.
2013-12-22 18:14:42 +01:00
Vladimir Serbinenko
37f617c025
* grub-core/loader/arm/linux.c: Pass arguments through on ATAG
...
platforms.
2013-12-22 18:14:00 +01:00
Vladimir Serbinenko
5ad9f728eb
Workaround buggy timer in raspberry pie by using our own timer
...
implementation.
2013-12-22 02:48:42 +01:00
Vladimir Serbinenko
0d8b81f89a
Fix ARM Linux Loader on non-FDT platforms.
2013-12-22 00:30:19 +01:00
Vladimir Serbinenko
0b602bf9ad
* grub-core/osdep/unix/getroot.c: Non-unix build fix.
2013-12-21 18:10:05 +01:00
Vladimir Serbinenko
96650a82ec
* grub-core/kern/emu/main.c: Build fix for emu.
2013-12-21 18:09:19 +01:00
Vladimir Serbinenko
ca3e20886e
Build fixes for argp.h with older gcc.
2013-12-21 18:08:25 +01:00
Vladimir Serbinenko
ae558c2ccf
Enable -Wformat=2 if it's supported.
2013-12-21 15:28:28 +01:00
Vladimir Serbinenko
ab216512d7
* grub-core/commands/macbless.c (grub_mac_bless_inode): Pass inode as u32
...
as both HFS and HFS+ have 32-bit inodes.
2013-12-21 14:40:53 +01:00
Vladimir Serbinenko
80b29fc9b4
* grub-core/disk/raid6_recover.c (grub_raid_block_mulx): Use grub_size_t
...
for size.
2013-12-21 14:16:49 +01:00
Vladimir Serbinenko
6e327fcd4c
* grub-core/disk/lvm.c: Use grub_size_t for sizes and grub_ssize_t
...
for pointer difference.
2013-12-21 14:15:04 +01:00
Vladimir Serbinenko
579ee114b1
Add missing static qualifiers.
2013-12-21 13:50:13 +01:00
Vladimir Serbinenko
5dbde526a8
Inline printf templates when possible to enable format checking.
2013-12-21 13:40:18 +01:00
Vladimir Serbinenko
17b4355943
* grub-core/net/bootp.c (grub_cmd_dhcpopt): Use snprintf where it
...
was intended.
2013-12-21 13:35:28 +01:00
Vladimir Serbinenko
76a2a43011
* grub-core/lib/crypto.c: Don't discard const attribute.
2013-12-21 13:34:03 +01:00
Vladimir Serbinenko
0d26164edd
* grub-core/lib/disk.c: Fix potential overflow.
2013-12-21 13:32:39 +01:00
Vladimir Serbinenko
2622b1e8a8
* grub-core/lib/arg.c: Don't discard const attribute.
2013-12-21 13:28:52 +01:00
Vladimir Serbinenko
05126706b0
* grub-core/kern/dl.c: Don't discard const attribute.
2013-12-21 13:26:27 +01:00
Vladimir Serbinenko
2f9c48041a
* grub-core/kern/disk.c: Fix potential overflow.
2013-12-21 13:23:37 +01:00
Vladimir Serbinenko
065adc346c
Clarify several translatable messages.
2013-12-21 03:21:45 +01:00
David Prévot
496a6b3024
Correct some translatable strings.
2013-12-21 03:03:31 +01:00
Vladimir Serbinenko
bfdfeb2508
Clarify several translatable messages.
2013-12-21 01:41:16 +01:00
Colin Watson
3bc1b2daab
Fix various build problems on GNU/Hurd.
...
* grub-core/osdep/unix/getroot.c (strip_extra_slashes): Move inside
!defined (__GNU__).
(xgetcwd): Likewise.
* include/grub/emu/hostdisk.h (grub_util_hurd_get_disk_info)
[__GNU__]: Add prototype.
* util/getroot.c (grub_util_biosdisk_get_grub_dev) [__GNU__]: Format
long int using %ld rather than %d.
2013-12-20 14:02:27 +00:00
Allen Pais
ee281fd0c6
* grub-core/boot/sparc64/ieee1275/boot.S: Fix order of fields.
...
Also-By: Bob Picco <bob.picco@oracle.com>
2013-12-19 01:53:56 +01:00
Vladimir Serbinenko
2e238b3708
Make grub_zlib_decompress handle incomplete chunks.
...
Fixes squash4.
2013-12-18 23:39:49 +01:00
Vladimir Serbinenko
2984035e1a
* grub-core/Makefile.am: Don't attempt to export grub_bios_interrupt on i386-multiboot.
2013-12-18 21:19:11 +01:00
Aleš Nesrsta
b9f03772b5
* grub-core/disk/usbms.c: Retry on unknown errors.
...
Reuse the same tag on retries.
2013-12-18 19:00:45 +01:00
Aleš Nesrsta
e3ef0d30cf
* grub-core/bus/usb/ehci.c: Fix handling of newborn transfers.
...
Avoid confusing them with already completed transfers.
2013-12-18 18:59:49 +01:00
Vladimir Serbinenko
72c9a50773
Remove xen VFB.
...
Due to XEN bug it prevents Linux boot. Remove it at least, until
workaround is found.
2013-12-18 18:43:09 +01:00
Vladimir Serbinenko
64dd5fdc00
Add missing license section in macbless.mod and macho.mod.
2013-12-18 17:11:11 +01:00
Vladimir Serbinenko
1962ed95cc
* grub-core/lib/syslinux_parse.c: Declare timeout unsigned.
2013-12-18 12:29:30 +01:00
Vladimir Serbinenko
7a7f52388b
Make grub_util_get_windows_path_real static.
2013-12-18 07:45:15 +01:00
Vladimir Serbinenko
9246d5c8a4
* grub-core/commands/fileXX.c: Silence cast-align.
...
* grub-core/loader/i386/xen_fileXX.c: Likewise.
2013-12-18 07:40:43 +01:00
Vladimir Serbinenko
bc8dd11952
* grub-core/loader/arm/linux.c: Use common initrd functions.
2013-12-18 07:34:28 +01:00
Vladimir Serbinenko
57a691b7e7
Decrease number of strings to translate.
2013-12-18 07:26:13 +01:00
Vladimir Serbinenko
74fa9417e5
* grub-core/kern/arm/dl.c: Remove unnecessarry execution mode check.
2013-12-18 07:06:23 +01:00
Vladimir Serbinenko
636977b089
Mark strings for translation and add remaining ones to exclude list.
2013-12-18 06:50:24 +01:00
Vladimir Serbinenko
a43b3e5d8e
Silence spurious warning.
2013-12-18 06:19:16 +01:00
Vladimir Serbinenko
81294aff98
Remove check_nt_hiberfil as it's been superseeded by file command.
2013-12-18 06:03:23 +01:00
Vladimir Serbinenko
8f5add13ff
Implement syslinux parser.
2013-12-18 05:28:05 +01:00
Vladimir Serbinenko
8ff35d0a1b
* grub-core/commands/legacycfg.c: Use 32-bit Linux protocol on non-BIOS.
2013-12-18 05:21:06 +01:00
Vladimir Serbinenko
ba14476051
Support cpuid --pae.
2013-12-17 23:40:49 +01:00
Vladimir Serbinenko
daaa89dbe5
Use AT keyboard on Yeeloong 3A.
2013-12-17 22:54:30 +01:00
Vladimir Serbinenko
25a7863d77
Add Yeeloong 3A reboot and halt.
2013-12-17 22:53:18 +01:00
Vladimir Serbinenko
184c61ddce
Add Radeon Yeeloong 3A support.
2013-12-17 22:52:04 +01:00
Vladimir Serbinenko
fd4650a556
Add bonito 3A support.
2013-12-17 22:49:27 +01:00
Vladimir Serbinenko
3e88fbfa6e
* grub-core/loader/machoXX.c: Fix compilation on non-i386.
2013-12-17 22:44:46 +01:00
Vladimir Serbinenko
1123bed944
* grub-core/loader/i386/xen_fileXX.c: Silence cast-align.
2013-12-17 20:47:31 +01:00
Vladimir Serbinenko
ebda165f3a
* grub-core/loader/macho.c: Fix compilation on non-i386.
2013-12-17 20:46:33 +01:00
Jon McCune
24d5934daa
Fix double-free introduced by commit 33d02a42d6
...
To reproduce the problem, make sure you have a GPG public key available, build and install GRUB:
grub-install --debug --debug-image="all" --pubkey=/boot/pubkey.gpg --modules="serial terminfo gzio search search_label search_fs_uuid search_fs_file linux vbe video_fb video mmap relocator verify gcry_rsa gcry_dsa gcry_sha256 hashsum gcry_sha1 mpi echo loadenv boottime" /dev/sda
Sign all the files in /boot/grub/* and reboot.
'make check' results identical before and after this change.
TESTED: In a QEMU VM using an i386 target.
2013-12-17 07:32:07 -08:00
Vladimir Serbinenko
18e76955be
Use %I64 and not %ll when using OS printf if compiling for windows.
2013-12-17 16:04:47 +01:00
Vladimir Serbinenko
b8765fa082
Implement better integration with Mac firmware.
2013-12-17 15:21:02 +01:00
Vladimir Serbinenko
1f032575bb
* grub-core/loader/multiboot_mbi2.c: Implement special value for load_addr.
2013-12-17 15:14:50 +01:00
Vladimir Serbinenko
d45067a290
Add explicit thumb interwork bx in asm files.
...
Shouldn't matter for armv >= 5 but let's be safe.
2013-12-17 14:50:44 +01:00
Vladimir Serbinenko
3086175489
Implement Truecrypt ISO loader.
2013-12-17 14:45:46 +01:00
Vladimir Serbinenko
e14d409b6f
* grub-core/lib/arg.c: Ensure at least a single space between commands.
2013-12-17 14:42:02 +01:00
Vladimir Serbinenko
ec824e0f2a
Implement grub_file tool and use it to implement generating of config
...
in separate root.
2013-12-17 14:39:48 +01:00
Vladimir Serbinenko
296f76068d
Change to v1 xen grants.
2013-12-17 13:55:47 +01:00
Vladimir Serbinenko
2c384f1e6e
* grub-core/lib/i386/xen/relocator.S: Fix hypercall ABI violation.
...
GRUB relied on %ebx being preserved across hypercall which isn't true.
2013-12-17 13:40:52 +01:00
Vladimir Serbinenko
d16ff5897f
* grub-core/lib/x86_64/xen/relocator.S: Fix hypercall ABI violation.
...
GRUB relied on %rdi being preserved across hypercall which isn't true.
2013-12-17 13:19:58 +01:00
Vladimir Serbinenko
71669c3b76
Implement XEN VFB support.
2013-12-17 13:07:26 +01:00
Vladimir Serbinenko
60d1dd3d72
Remove grub_bios_interrupt on coreboot.
...
It's not used currently and cannot be used safely currently.
2013-12-17 12:54:11 +01:00
Vladimir Serbinenko
a82010503e
Update exclude.pot and mark few strings for translation.
2013-12-17 01:18:09 +01:00
Vladimir Serbinenko
dd05b91f6b
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
2013-12-16 20:33:19 +01:00
Vladimir Serbinenko
2a123f4c58
* grub-core/tests/sleep_test.c: Silence spurious warning.
2013-12-16 20:32:43 +01:00
Andrey Borzenkov
840a2c0592
add verbose information to linux platform check
...
As suggested by Vladimir Serbienko, add additional verbose output to inform
why we selected this specific platform.
2013-12-16 23:17:40 +04:00
Andrey Borzenkov
d770e63557
use grub_util_exec_redirect_all to silence "moprobe efivars"
...
modprobe -q still prints error on non-EFI. Redirect stderr instead.
Reported by Javier Vasquez.
2013-12-16 22:41:16 +04:00
Andrey Borzenkov
396311f0f6
consolidate grub_util_exec code
...
We need to hide "modprobe efivars" error output to avoid confusion. So
consolidate grub_util_exec_* into single function that can optionally redirect
all three standard descriptors and make all other functions compatibility
wrappers.
Also remove include/grub/osdep/exec_unix.h which does not appear to be used
anywhere.
2013-12-16 22:41:15 +04:00
Vladimir Serbinenko
316c8d9a18
Make grub_xen_hypercall on i386 cdecl rather than stdcall to avoid
...
linker trying to "fixup" the code.
2013-12-16 18:10:50 +01:00
Vladimir Serbinenko
8fcce8d50f
* grub-core/kern/x86_64/xen/startup.S: Align stack.
2013-12-16 17:44:10 +01:00
Vladimir Serbinenko
6f1f6a0c82
Add support for converting PE+ to Elf64.
2013-12-16 15:30:50 +01:00
Vladimir Serbinenko
66a07ce2f8
* grub-core/commands/minicmd.c (grub_mini_cmd_dump): Handle LLP case.
2013-12-16 15:28:07 +01:00
Vladimir Serbinenko
cc6fb517de
Remove practice of assigning random const pointers to device id.
...
This is not required as cache code already checks driver id as well.
2013-12-16 14:49:11 +01:00
Vladimir Serbinenko
d87cb3ae3c
* grub-core/lib/posix_wrap/errno.h: Undefine errno before redefining.
2013-12-16 14:36:48 +01:00
Vladimir Serbinenko
f4171ebd34
Handle X86_64_PC64 relocation.
...
Those are generated by some cygwin compilers.
2013-12-16 14:24:19 +01:00
Vladimir Serbinenko
252a289cb3
Determine the need for mingw-related stubs at compile time rather than
...
using not very significant $target_os.
2013-12-16 14:18:15 +01:00
Vladimir Serbinenko
fadddc260a
Merge branch 'master' of git.sv.gnu.org:/srv/git/grub
...
Conflicts:
ChangeLog
2013-12-16 14:15:37 +01:00
Vladimir Serbinenko
23d2abc33c
* grub-core/genmod.sh.in: Strip before converting to ELF as strip
...
may not work with ELF.
2013-12-16 13:18:48 +01:00
Vladimir Serbinenko
4f979ccbf1
Use unix functions for temporary files and special files on cygwin.
2013-12-16 13:16:37 +01:00
Vladimir Serbinenko
6a09d83e12
* grub-core/genmoddep.awk: Remove explicit getline < /dev/stdin.
2013-12-16 13:02:19 +01:00
Andrey Borzenkov
e477187bf4
small fixes for Windows EFI install code
...
Fix potential crash caused by signed vs. unsigned comparison. Negative
length compares as very large unsigned number causing subsequent NULL access.
Make exhaustive search for all BootNNNN variables to find one matching
requested efi_distributor.
2013-12-15 22:00:15 +04:00
Ian Campbell
80b865bdc8
* grub-core/kern/uboot/init.c: Fix units of uboot timer.
2013-12-15 17:59:40 +01:00
Vladimir Serbinenko
04b0285701
New functional test for sleep function.
...
This test allows to check sleep without qemu. Keep qemu version as
well as functional test won't notice if all clocks are going too fast
or too slow.
2013-12-15 17:57:58 +01:00
Vladimir Serbinenko
d99af4f0e8
* grub-core/commands/efi/lsefisystab.c: Use %lld to show num_table_entries.
2013-12-15 14:42:19 +01:00
Vladimir Serbinenko
111bf5db8b
* grub-core/loader/i386/linux.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:37:12 +01:00
Vladimir Serbinenko
24ca71c93b
* grub-core/loader/i386/linux.c: Use %p rather than %lx for pointers.
2013-12-15 14:35:18 +01:00
Vladimir Serbinenko
48ba5c0c86
* grub-core/kern/elfXX.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:33:22 +01:00
Vladimir Serbinenko
8ae6704517
* grub-core/disk/loopback.c: Use sequential IDs rather than pointer.
...
In case of quick removal of loopback and adding another one it may
get same ID, confusing the cache system.
2013-12-15 14:31:21 +01:00
Vladimir Serbinenko
ed55931073
* grub-core/commands/acpi.c: Use grub_addr_t rather than long when
...
appropriate.
2013-12-15 14:27:04 +01:00
Vladimir Serbinenko
8fa2627942
* grub-core/kern/i386/coreboot/cbtable.c: Use char * arithmetic rather
...
than converting to long.
2013-12-15 14:24:34 +01:00
Vladimir Serbinenko
6f5f3337d8
* grub-core/disk/cryptodisk.c: Rename "n" to "last_cryptodisk_id".
2013-12-15 14:21:14 +01:00
Vladimir Serbinenko
7e47e27bd8
Add gcc_struct to all packed structures when compiling with mingw.
...
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir Serbinenko
814442ba69
Implement windows flavour of EFI install routines.
2013-12-14 23:35:58 +01:00
Vladimir Serbinenko
a24725cc6e
Change grub_install_register_efi interface to pass GRUB device.
...
This allows grub_install_register_efi to request partition info
directly.
2013-12-14 23:31:56 +01:00
Vladimir Serbinenko
38933cee85
Workaround cygwin bug when using \\?\Volume{GUID} syntax.
2013-12-14 23:28:34 +01:00
Vladimir Serbinenko
6d3cfe5063
Do not use TCHAR string functions as they are not available on cygwin.
2013-12-14 23:25:30 +01:00
Vladimir Serbinenko
4bad23a15f
Workaround windows bug when querying EFI system partition parameters.
2013-12-14 23:23:11 +01:00
Vladimir Serbinenko
6a5fe1328b
* grub-core/kern/i386/qemu/init.c (resource): Decrease struct size
...
by using bitfields.
2013-12-14 23:15:47 +01:00
Vladimir Serbinenko
bc8fcf4bd3
* grub-core/boot/i386/qemu/boot.S: Add missing EXT_C.
2013-12-14 23:13:42 +01:00
Vladimir Serbinenko
60b967be7e
Make i386-* other than i386-pc compileable under cygwin.
2013-12-14 23:12:53 +01:00
Vladimir Serbinenko
6dc3337774
Fix definition of grub_efi_hard_drive_device_path. Take care that
...
existing code would work even if by some reason bogus definition is
used by EFI implementations.
2013-12-14 22:04:02 +01:00
Vladimir Serbinenko
f2c6ff15e5
* grub-core/osdep/windows/hostdisk.c: Fix cygwin compilation.
2013-12-14 21:55:44 +01:00
Vladimir Serbinenko
6b8a162516
* grub-core/osdep/windows/blocklist.c: Add missing cast in printf
...
invocation.
2013-12-14 21:54:37 +01:00
Vladimir Serbinenko
607a39f9f0
* include/grub/efi/api.h: Rename protocol and interface to avoid
...
conflict.
2013-12-14 21:48:46 +01:00
Vladimir Serbinenko
f684d7e1a9
* grub-core/osdep/exec.c: Use unix version on cygwin.
2013-12-14 21:39:03 +01:00
Vladimir Serbinenko
0df77d793c
Implement multiboot2 EFI BS specification.
2013-12-13 12:56:14 +01:00
Vladimir Serbinenko
dafff9ce44
* grub-core/normal/charset.c: Fix premature line wrap and crash.
...
Crash happened only in some cases like a string starting at the
half of the screen of same length.
2013-12-11 17:06:00 +01:00
Vladimir Serbinenko
44bbfa33b8
Propagate the EFI commits to x86-efi specific parts.
2013-12-11 16:11:17 +01:00
Vladimir Serbinenko
3e3dff249f
* grub-core/commands/efi/lssal.c: Fix terminating condition.
2013-12-11 15:59:12 +01:00
Vladimir Serbinenko
316dda716c
Introduce grub_efi_packed_guid and use it where alignment is not
...
guaranteed.
2013-12-11 15:57:08 +01:00
Vladimir Serbinenko
219401b8b9
* include/grub/efi/api.h (grub_efi_device_path): Define length as
...
unaligned u16 rather than u8[2].
2013-12-11 15:54:01 +01:00
Vladimir Serbinenko
30d0053799
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Add checks
...
for relocation range.
2013-12-11 11:29:35 +01:00
Vladimir Serbinenko
979742bc7e
* grub-core/kern/ia64/dl.c (grub_arch_dl_relocate_symbols): Handle
...
non-function pcrel21b relocation. It happens with .text.unlikely
section.
2013-12-11 11:28:48 +01:00
Leif Lindholm
16c8f78513
efi: mm: make MAX_USABLE_ADDRESS platform-specific
2013-12-10 18:05:29 +00:00
Leif Lindholm
3f1423e789
* grub-core/lib/fdt.c: change memcpy => grub_memcpy
2013-12-10 16:51:10 +00:00
Andrey Borzenkov
9f2f979bcf
always define config_directory and config_file as full pathname
...
If configfile is relative pathname, extend it with current ($root) so its
interpretation does not change if $root is changed later.
Suggested by Vladimir Serbienko.
2013-12-10 09:55:27 +04:00
Vladimir Serbinenko
7a148da6dd
Implement sparc64 trampolines (needed for sparc64-emu).
2013-12-10 00:01:27 +01:00
Vladimir Serbinenko
21eee750b7
* grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Check
...
range of R_SPARC_HI22.
Implement R_SPARC_LM22.
2013-12-09 15:51:12 +01:00
Vladimir Serbinenko
7b54b62682
* grub-core/kern/powerpc/dl_helper.c (grub_arch_dl_get_tramp_got_size):
...
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
2013-12-09 15:43:27 +01:00
Vladimir Serbinenko
9a945e2a24
* grub-core/kern/emu/cache.c [__ia64__]: Use our cache cleaning routine
...
on ia64 as __clear_cache is a dummy on ia64.
2013-12-09 14:24:56 +01:00
Vladimir Serbinenko
4f4ea1b449
* grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
...
Do not explicitly check for symbol table as it's already checked in
platform-independent layer.
2013-12-09 14:22:31 +01:00
Vladimir Serbinenko
78b2b0a1a0
* grub-core/kern/ia64/efi/init.c (grub_arch_sync_caches): Move to ...
...
* grub-core/kern/ia64/cache.c (grub_arch_sync_caches): ... here.
2013-12-08 18:27:40 +01:00
Vladimir Serbinenko
d14772c455
* grub-core/kern/emu/main.c: Silence missing prototypes to allow emu
...
compilation with GCC <= 4.2.
* grub-core/kern/emu/argp_common.c: Likewise.
2013-12-08 18:21:10 +01:00
Vladimir Serbinenko
11e4167a35
* grub-core/osdep/windows/emuconsole.c: Remove unsigned comparison >= 0.
...
But ensure that the variables in question are indeed unsigned.
2013-12-08 18:16:32 +01:00
Vladimir Serbinenko
fa7eb63dec
* grub-core/kern/emu/lite.c: Add missing include of ../ia64/dl_helper.c.
2013-12-08 18:14:32 +01:00
Vladimir Serbinenko
50b3a68db9
Remove grub_memalign on emu.
2013-12-08 18:12:20 +01:00
Vladimir Serbinenko
fbbfb6ab11
* grub-core/kern/ia64/efi/init.c: Fix alignment code so it doesn't
...
truncate incomplete lines but instead flushes them.
2013-12-08 18:10:05 +01:00
Vladimir Serbinenko
a19293cb75
Move OS-dependent mprotect for module loading to grub-core/osdep/*/dl.c
...
and implement windows variant.
2013-12-08 18:08:23 +01:00
Vladimir Serbinenko
d5c14e1e26
Fix mips-emu compilation.
2013-12-08 17:49:02 +01:00
Vladimir Serbinenko
c311ced5d7
Make arm-emu work.
2013-12-08 02:59:21 +01:00
Andrey Borzenkov
bb05e313eb
use light-gray as default color in normal.mod for consistency
...
Defalut font color on PC console seems to be light-gray; this is
what user also gets in rescue prompt and what is defined as
GRUB_TERM_DEFAULT_NORMAL_COLOR. But normal.mod defaults to white.
This makes unpleasant visual effect as colors are changed after kernel
is booted.
Use the same color eveywhere for consistency and default to light-gray
as this is also what at least Linux kernel is using by default.
2013-12-07 20:00:48 +04:00
Vladimir Serbinenko
8c534b85f1
Revamp relocation handling.
...
Move more code to common dl.c. Add missing veneers for arm and arm64.
Decreases kernel size by 70 bytes on i386-pc (40-50 compressed)
2013-12-06 09:18:55 +01:00
Colin Watson
59b38922a1
Pacify compiler warning
...
* grub-core/osdep/linux/hostdisk.c
(grub_util_find_partition_start_os): Initialise start to avoid
spurious compiler warning.
2013-12-05 15:48:27 +00:00
Colin Watson
0480665b9d
On Linux, read partition start offsets from sysfs if possible
...
This lets us cope with block device drivers that don't implement
HDIO_GETGEO. Fixes Ubuntu bug #1237519 .
* grub-core/osdep/linux/hostdisk.c (sysfs_partition_path): New
function.
(sysfs_partition_start): Likewise.
(grub_util_find_partition_start_os): Try sysfs_partition_start
before HDIO_GETGEO.
2013-12-05 13:51:52 +00:00
Leif Lindholm
bbeee1c4a3
grub-core/lib/fdt.c: correctly update size_dt_struct in add_subnode()
2013-12-05 11:44:41 +00:00
Vladimir Serbinenko
e5ed2f6947
Handle unaligned .bss on sparc64.
...
Current code improperly assumes that both __bss_start and _end are
aligned to 8-bytes. Eliminating this assumption and explicitly align
modules.
2013-12-05 06:35:19 +01:00
Vladimir Serbinenko
4a73746a04
* grub-core/boot/sparc64/ieee1275/boot.S [CDBOOT]: Move scratchpad
...
so it doesn't land in the middle of loaded image.
2013-12-04 19:54:37 +01:00
Vladimir Serbinenko
8a3f0a24b5
* grub-core/kern/emu/main.c: Ignore missing prototype for main.
2013-12-04 10:28:23 +01:00
Vladimir Serbinenko
6f07c4e407
Pass font config to config.h and not by TARGET_CFLAGS as adding
...
arguments doesn't work if TARGET_CFLAGS is specified on command
line.
2013-12-04 10:25:53 +01:00
Vladimir Serbinenko
cd15c394cc
* grub-core/osdep/windows/emuconsole.c (grub_console_putchar):
...
Remove variable length arrays.
* grub-core/term/efi/console.c (grub_console_putchar): Likewise.
2013-12-04 10:05:33 +01:00
Vladimir Serbinenko
bb6e299ccb
* grub-core/kern/i386/qemu/init.c: Remove variable length arrays.
2013-12-04 09:48:36 +01:00
Vladimir Serbinenko
47f88cc94e
* grub-core/kern/efi/efi.c: Remove variable length arrays.
2013-12-04 08:39:22 +01:00
Vladimir Serbinenko
40b5739ff9
* grub-core/kern/uboot/init.c (uboot_timer_ms): Fix overflow after 71
...
minutes.
2013-12-04 08:26:39 +01:00
Vladimir Serbinenko
234d93464a
* grub-core/disk/ieee1275/ofdisk.c: Remove variable length arrays.
...
* grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
2013-12-04 08:10:01 +01:00
Colin Watson
0c0eab527f
* grub-core/Makefile.core.def (setjmp): Distribute
...
lib/arm64/setjmp.S.
2013-12-03 18:11:18 +00:00
Colin Watson
44d4884779
Merge branch 'cjwatson/timeout-style'
2013-12-03 16:15:45 +00:00
Colin Watson
f315b508ae
Reduce nesting level.
2013-12-03 16:11:00 +00:00
Andrey Borzenkov
5037aa9a7b
fix libgrub.pp build post arm64 merge
...
grub-core/kern/arm64/dl_helper.c:26:28: fatal error: grub/cpu/reloc.h: No such file or directory
2013-11-30 22:36:10 +04:00
Leif Lindholm
b29b77fee2
New port arm64-efi
2013-11-30 16:50:31 +01:00
Vladimir Serbinenko
35de6d4bac
* grub-core/lib/libgcrypt/mpi/longlong.h: Fix compilation error with
...
-march=armv3.
2013-11-30 11:19:06 +01:00
Vladimir Serbinenko
ce55ed0389
Remove leftover GRUB_IA64_DL_TRAMP_SIZE.
2013-11-30 11:14:30 +01:00
Vladimir Serbinenko
eec893ae49
* grub-core/kern/emu/hostfs.c (is_dir): Remove variable length arrays.
2013-11-29 05:52:20 +01:00
Vladimir Serbinenko
d54f647a4a
* grub-core/osdep/linux/ofpath.c: Check return value of read.
2013-11-29 05:46:19 +01:00
Vladimir Serbinenko
469021b4b3
Remove libgnulib.a and use its sources in dependencies directly.
...
This was the only instance of "library" in core config. A bug was
reported that -fno-stack-protector wasn't passed to it. Instead of
figuring out why it failed just remove this construction used
needlessly.
2013-11-29 03:36:50 +01:00
Vladimir Serbinenko
83c256ba42
* grub-core/osdep/unix/password.c (grub_password_get): Check that
...
fgets succeeded.
2013-11-29 03:32:57 +01:00
Colin Watson
8f236c1419
Revamp hidden timeout handling
...
Add a new timeout_style environment variable and a corresponding
GRUB_TIMEOUT_STYLE configuration key for grub-mkconfig. This
controls hidden-timeout handling more simply than the previous
arrangements, and pressing any hotkeys associated with menu entries
during the hidden timeout will now boot the corresponding menu entry
immediately.
GRUB_HIDDEN_TIMEOUT=<non-empty> + GRUB_TIMEOUT=<non-zero> now
generates a warning, and if it shows the menu it will do so as if
the second timeout were not present. Other combinations are
translated into reasonable equivalents.
2013-11-28 02:29:15 +00:00
Vladimir Serbinenko
2d76b4d81e
Eliminate variable length arrays in grub_vsnprintf_real.
...
A bit tricky because this function has to continue to work without
heap for short strings. Fixing prealloc to 32 arguments is reasonable
but make all stack references use 32-bit offset rather than 8-bit one.
So split va_args preparsing to separate function and put the prealloc
into the caller.
2013-11-27 15:16:09 +01:00
Vladimir Serbinenko
4f9541226c
Introduce grub_util_file_sync and use it instead of fsync(fileno(f)).
...
Fixes build for windows.
2013-11-27 14:13:50 +01:00
Colin Watson
16ef26fd3a
* grub-core/osdep/unix/exec.c (grub_util_exec_redirect): Remove
...
references to mdadm from otherwise generic code.
(grub_util_exec_pipe): Likewise.
(grub_util_exec_pipe_stderr): Likewise.
* grub-core/osdep/unix/getroot.c (grub_util_pull_lvm_by_command):
This function calls vgs, not mdadm; adjust variable names
accordingly.
2013-11-27 11:22:31 +00:00
Colin Watson
5c7206e45e
Speed up test suite by avoiding fsync
...
Add grub_util_disable_fd_syncs call to turn grub_util_fd_sync calls into
no-ops, and use it in programs that copy files but do not need to take
special care to sync writes (grub-mknetdir, grub-rescue,
grub-mkstandalone).
On my laptop, this reduces partmap_test's runtime from 1236 seconds to
204 seconds.
2013-11-27 10:10:22 +00:00
Vladimir Serbinenko
1e4b358720
Add PCI command activation to all PCI drivers as required for coreboot
...
and maybe some other firmwares.
2013-11-26 14:21:11 +01:00
Vladimir Serbinenko
9208367d3f
* grub-core/Makefile.am: Reduce gratuituous differences between Apple
...
and non-Apple variants of efiemu compile.
2013-11-26 11:38:12 +01:00
Andrey Borzenkov
c2b70d0981
Explicitly check for linking format to use for efiemu64 module
...
Similar to check for target linking format, also check for efiemu64
instead of hardcoding -melf_x86_64. This fixes compilation on *BSD
variants. We cannot easily reuse main target check because platforms
are different (main target is 32 bit and efiemu64 - 64 bit).
This commit adds EFIEMU64_LINK_FORMAT that contains detected
link option and is used in efiemu64.o linking instead of hardcoded
value.
Reported-By: Beeblebrox <zaphod@berentweb.com>
2013-11-25 22:32:55 +04:00
Vladimir Serbinenko
d2f7902af0
Make arm64 compileable with clang
2013-11-25 13:06:56 +01:00
Vladimir Serbinenko
1005bed722
Use b.ge form for instructions
2013-11-25 13:04:44 +01:00
Vladimir Serbinenko
d6c92cdc34
Merge branch 'master' into leiflindholm/arm64
...
Conflicts:
include/grub/util/install.h
2013-11-25 13:02:27 +01:00
Vladimir Serbinenko
61e1b9a49d
* grub-core/osdep/unix/platform.c (get_ofpathname): Trim ending newline.
...
Don't rely on PATH_MAX.
2013-11-25 07:34:49 +01:00
Vladimir Serbinenko
c98dd165b0
* grub-core/genmoddep.awk: Use more portable && rather than and.
2013-11-25 07:32:51 +01:00
Vladimir Serbinenko
5c066a81c2
Apple assembly doesn't handle symbol arithmetic well. So define an
...
offset symbol in boot.S and use it.
2013-11-24 07:12:12 +01:00