Vladimir Serbinenko
0704e83a1b
Regenerate checksum.h.
...
Screenshots checked.
Using unifont from http://ftp.us.debian.org/debian/pool/main/u/unifont/xfonts-unifont_7.0.06-1_all.deb .
2017-01-31 22:36:11 +01:00
Vladimir Serbinenko
f14c77f501
grub-mkfont: Remove leftover debug statement.
2017-01-31 22:32:21 +01:00
Vladimir Serbinenko
0fd9fa565b
charset: Trim away RLM and LRM.
...
They are not visible but would otherwise end up as [LRM] or [RLM] squares
with some fonts.
2017-01-31 19:29:31 +01:00
Vladimir Serbinenko
6f5aa28bc2
gfxterm: Fix clearing of cursor.
...
If ascent is bigger than height - 2, then we draw over character box but then
to clear cursor we only draw over character box. So trim ascent if necessarry.
2017-01-31 18:49:37 +01:00
Vladimir Serbinenko
a134ef1ab9
ia64: Add support for R_IA64_GPREL64I.
...
Recent GCC generates those relocations, so we need to support them.
2017-01-31 12:39:01 +01:00
Vladimir Serbinenko
255b9e0bea
grub-module-verifier: Add mips to all_video whitelist.
...
On MIPS video is compiled-in. So all_video is empty. Whitelist it.
2017-01-30 19:52:58 +01:00
Vladimir Serbinenko
b53f595b3e
Fix -nopie/-nopie check.
...
We don't use lgcc_s but missing lgcc_s or another library cause test to fail.
So use -nostdlib.
We need to use -Werror to avoid warning-generated case to be accepted.
Clang uses -nopie rather than -no-pie. Check both and use whichever one works.
Additionally android clang passes -pie to the linker even though it doesn't
define __PIE__. So if compilation without no-pie logic fails add -nopie/-no-pie
even if __PIE__ is not defined.
2017-01-30 19:38:55 +01:00
Vladimir Serbinenko
6371e9c104
grub-module-verifier: Ignore all_video emptiness on xen.
...
It's intentional that it's empty when no video modules
are available.
2017-01-30 00:13:41 +00:00
Vladimir Serbinenko
d15f17b2a0
Support arm clang 3.8 amd later.
...
clang 3.8 and later doesn't support -mllvm -use-arm-movt=0
whereas older clang doesn't know -mno-movt. So use
-mno-movt whenever possible and fallback to mllvm variant.
2017-01-28 14:41:23 +00:00
Vladimir Serbinenko
43dbf83aa2
Ensure that grub_reboot doesn't return on emu.
...
Use grub_fatal if longjmp fails.
grub_reboot is marked as noreturn so return would cause
a crash.
2017-01-27 20:10:23 +00:00
Vladimir Serbinenko
bec592aa87
grub-shell: skip font copying when no font is available.
2017-01-27 20:09:06 +00:00
Vladimir Serbinenko
79fc008935
Don't use -mlong-calls on arm.
...
We don't really need it and it's flaky and creates
bogus symbols with clang.
2017-01-27 18:48:25 +00:00
Vladimir Serbinenko
bf9c561670
configure: Disable movw/movt with clang.
...
Those relocations are not compatible with PE and also
not compatible with custom uboot relocator.
Disable them.
2017-01-27 18:48:23 +00:00
Vladimir Serbinenko
afa9dda37e
grub-fs-tester: Delete directory once we're done.
2017-01-27 18:00:40 +00:00
Vladimir Serbinenko
cde63a3bb0
grub-fs-tester: Accomodate for slower systems.
...
fstime can be more different with xz squashfs.
Allow difference up to 3 seconds.
This code is ugly now but rewriting it now is not on the
table.
2017-01-27 17:58:15 +00:00
Vladimir Serbinenko
bf0e59cebf
grub-fs-tester: Accomodate for testing in proot containers.
...
proot creates hidden files with .proot prefix and name
derived from real file name. So decrease file name length
and path depth. For some reason depth 85 also results in
undeleteable directory, so use 84 instead of 85.
2017-01-27 17:46:47 +00:00
Vladimir Serbinenko
7f2a856fae
multiboot2: Remove useless GRUB_PACKED
...
Reported by: Daniel Kiper
2016-03-10 21:16:10 +01:00
Vladimir Serbinenko
8207874e5d
Release 2.02~beta3
2016-02-28 03:07:41 +01:00
Vladimir Serbinenko
102e435d81
grub_arch_sync_dma_caches: Accept volatile address
2016-02-28 03:07:27 +01:00
Vladimir Serbinenko
ca028db3d4
usbtrans: Fix memory coherence and use-after-free.
2016-02-27 13:40:52 +01:00
Vladimir Serbinenko
0f076d75d0
ehci: Fix memory coherence
...
This is a no-op on x86 but necessarry on ARM and may be necessarry on MIPS.
2016-02-27 13:40:52 +01:00
Vladimir Serbinenko
86ef66d977
arm-uboot: Make self-relocatable to allow loading at any address
2016-02-27 13:40:52 +01:00
Vladimir Serbinenko
5bcb7d394c
Allow _start == 0 with relocatable images
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
df21fff504
Provide __bss_start and _end symbols in grub-mkimage.
...
For this ensure that all bss sections are merged.
We need this to correctly prelink non-PE relocatable images.
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
73a9c742fe
Encapsulate image layout into a separate structure.
...
Currently we pass around a lot of pointer. Instead put all relevant data
into one structure.
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
dd3969e7ec
mkimagexx: Split PE and generic part for relocations.
...
As a preparation for U-Boot relocations, split emitting PE-relocations
from parsing source ELF-relocations.
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
36212460d3
mkimage.c: Split into separate files.
...
util/grub-mkimagexx.c is included in a special way into mkimage.c.
Interoperation between defines makes this very tricky. Instead
just have a clean interface and compile util/grub-mkimage*.c separately
from mkimage.c
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
2ebef43cf6
bsd: Ensure that kernel is loaded before loading module.
...
kernel_type may be set to the type of failed kernel. This patching-up is
easier than to reflow kernel loading routines.
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
8c26dace6f
cat: Don't switch terminal mode when there is nothing to highlight.
...
This just pollutes serial console.
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
070e190305
Use console rather than serial_efi0 on arm64-efi in tests
2016-02-27 13:35:36 +01:00
Vladimir Serbinenko
06a3b0b214
Regenerate checksums
2016-02-26 11:37:47 +01:00
Vladimir Serbinenko
5486a4e12b
Makefile: Don't delete default_payload.elf if it doesn't exist.
2016-02-26 11:14:46 +01:00
Vladimir Serbinenko
94c56a4c65
ieee1275: fix signed comparison
2016-02-24 18:37:22 +01:00
Vladimir Serbinenko
054d1325e9
Improve EHCI logging
...
Add dprintf's on common error paths and remove some entries which are too
noisy.
2016-02-22 20:07:10 +01:00
Vladimir Serbinenko
0678b5d629
usb_keyboard: Remove useless include
...
This prevents non-PCI machines from having USB.
2016-02-22 20:05:54 +01:00
Vladimir Serbinenko
be4e9d20a5
Refresh before abort
...
This ensures that abort message is actually visible to the user.
2016-02-22 19:46:55 +01:00
Vladimir Serbinenko
e3745f9087
default_payload.elf: Always rebuild and remove before build.
...
It's difficult to know all dependencies. Since it's manual and cheap
target anyway, simply always rebuild it.
2016-02-17 18:19:18 +01:00
Vladimir Serbinenko
01d50c2539
default_payload.elf: Include password_pbkdf2.
...
Withoout this module we may end up in a system where no password is
accepted.
2016-02-17 18:11:51 +01:00
Vladimir Serbinenko
8d69065f52
default_payload.elf: Add modules from $(EXTRA_PAYLOAD_MODULES).
...
This allows coreboot building system to add extra modules depending
on user config.
2016-02-17 18:10:31 +01:00
Vladimir Serbinenko
59ec05bcf8
mm: Avoid integer overflow.
2016-02-17 18:09:44 +01:00
Vladimir Serbinenko
fabde8324d
Remove -Wno-maybe-uninitialized as it may not be present.
2016-02-17 17:58:05 +01:00
Vladimir Serbinenko
5cae910665
Fix warnings when compiling with -O3
2016-02-17 17:56:41 +01:00
Vladimir Serbinenko
25492a0f04
Add wbinvd around bios call.
...
Via C3 has problems with cache coherency when transitioning between the modes,
so flush it around bios calls.
2016-02-14 08:34:10 +01:00
Vladimir Serbinenko
a2ab8c2172
TODO: Remove obsolete link
2016-02-12 17:51:52 +01:00
Vladimir Serbinenko
feef882f98
grub-shell: Update 32-bit OVMF binary name.
2016-02-12 16:08:04 +01:00
Vladimir Serbinenko
6e1ace590a
Change -v to -V for version of shell utils.
2016-02-12 15:46:05 +01:00
Vladimir Serbinenko
7c35f65aac
xnu: Add new kernel path to autoconfig.
2016-02-12 15:42:26 +01:00
Vladimir Serbinenko
4598cafa7d
arm64: Use cpu timer for timekeeping.
2016-02-12 12:43:02 +01:00
Vladimir Serbinenko
6f4189ffc1
powerpc: Trim header in tests.
2016-02-12 12:42:04 +01:00
Vladimir Serbinenko
127cfea8be
default_payload: Include syslinuxcfg, all filesystems and xnu.
2016-02-12 12:41:28 +01:00
Vladimir Serbinenko
22aa31bcc3
xnu: Supply random seed.
...
Now we're able to load kernels up to El Capitan.
2016-02-12 12:40:10 +01:00
Vladimir Serbinenko
e72de13b9e
Add RNG module.
2016-02-12 12:39:38 +01:00
Vladimir Serbinenko
342d6edb97
yylex: use grub_fatal for exit.
...
lexer calls yylex_fatal on fatal internal errors. yylex_fatal itself is
declared as noreturn and calls exit. Returning from noreturn function has
unpredictable consequences.
2016-02-12 12:34:54 +01:00
Vladimir Serbinenko
e5c9300191
printf: Fix and test %% behaviour in presence of subsequenbt args.
2016-02-12 12:33:41 +01:00
Vladimir Serbinenko
d9a3bfead8
Split pmtimer wait and tsc measurement from pmtimer tsc calibration.
2016-02-12 11:40:51 +01:00
Vladimir Serbinenko
1933d37371
Make grub_cpu_is_tsc_supported generally available.
2016-02-12 11:38:51 +01:00
Vladimir Serbinenko
b29638222e
Make grub_acpi_find_fadt accessible generically
2016-02-12 11:35:48 +01:00
Vladimir Serbinenko
8ad190cac2
Make unaligned types public.
...
This simplifies code which has to handle those types.
2016-02-12 09:11:06 +01:00
Vladimir Serbinenko
281baeecd3
Fix emu compilation error on arm.
2016-02-12 09:10:08 +01:00
Vladimir Serbinenko
df4df4d887
xnu: Include relocated EFI in heap size.
2016-02-11 12:30:45 +01:00
Vladimir Serbinenko
2d425ffdd5
xnu: supply ramsize to the kernel.
...
Without this info recent kernels crash as they allocate no heap.
2016-02-11 11:58:28 +01:00
Vladimir Serbinenko
ff84a9b868
Error out if mtools invocation fails.
2016-01-22 19:28:08 +01:00
Vladimir Serbinenko
605eecc985
arm64: Add support for relocations needed for linaro gcc
2016-01-22 19:09:37 +01:00
Vladimir Serbinenko
b6a03dfd32
efiemu: Fix compilation failure
2016-01-22 14:10:30 +01:00
Vladimir Serbinenko
5f2b285bf8
Document cpuid -p
2016-01-22 13:50:53 +01:00
Vladimir Serbinenko
dab148891e
Document expr1 expr2 syntax for test command
2016-01-22 13:27:36 +01:00
Vladimir Serbinenko
0edd750e50
xen_boot: Remove obsolete module type distinctions.
2016-01-22 10:18:47 +01:00
Vladimir Serbinenko
cc2ed41039
arm: Ignore qemu clock bug
2016-01-22 10:12:43 +01:00
Vladimir Serbinenko
7c6c2ad42c
i386-ieee1275: Increase maximum heap size to accomodate highres graphi tests
2016-01-22 10:12:43 +01:00
Vladimir Serbinenko
b4787552b0
Tests: Support arm-efi
2016-01-08 09:49:08 +01:00
Vladimir Serbinenko
e4c49cab9b
arm64/setjmp: Add missing move for arg1 == 0 case.
2016-01-07 21:10:05 +01:00
Vladimir Serbinenko
9efd79f376
grub-shell: Support arm64-efi
2016-01-07 21:02:53 +01:00
Vladimir Serbinenko
a2dcab70f8
x86_64-efi: Automatically add -bios OVMF.fd to qemu in tests.
2016-01-07 19:29:53 +01:00
Vladimir Serbinenko
62328a95c9
Allow GRUB_QEMU_OPTS to override machine.
2016-01-07 19:28:47 +01:00
Vladimir Serbinenko
6e4174f6f9
arm64: Disable tests that need native drivers.
2016-01-07 19:27:56 +01:00
Vladimir Serbinenko
06c94739a5
Disable NetBSD bootcheck on EFI until it supports ACPI on EFI.
2016-01-07 19:27:10 +01:00
Vladimir Serbinenko
db5eb6225d
grub-shell: Use new cbfstool syntax.
2016-01-07 15:55:45 +01:00
Vladimir Serbinenko
44876dd64e
grub-shell: On i386-ieee1275 don't try to switch to console.
...
console goes to serial as well, so this doesn't stop garbage from going
to serial. But it creates garbage itself.
2016-01-07 15:54:42 +01:00
Vladimir Serbinenko
86e3b4ba1a
hddboot_test: reenable on OVMF
...
OVMF now supports booting from disks.
2016-01-07 15:54:06 +01:00
Vladimir Serbinenko
607d66116a
iee1275/datetime: Fix off-by-1 error.
2016-01-07 15:53:42 +01:00
Vladimir Serbinenko
716c9f2675
Adjust bootcheck tests for multiboot/coreboot/qemu to match real support.
...
coreboot has ACPI while 2 others don't. *BSD need ACPI and have trouble
without it. Don't even attempt to boot *BSD on multiboot or qemu targets.
On coreboot boot all *BSD except 32-bit NetBSD which apparently does some
early BIOS calls.
2016-01-07 15:51:03 +01:00
Vladimir Serbinenko
9f8f9e62af
minixfs_test: Check if mkfs.minixfs supports -B option.
2016-01-05 21:10:27 +01:00
Vladimir Serbinenko
f86fd54cf0
Add memdisk support to grub-emu.
...
Use it to add custom files, so that tests which need them work.
2016-01-05 21:10:27 +01:00
Vladimir Serbinenko
3f430a0126
Move file loading functions to grub-emu.
...
So that we can use it in grub-emu as well as utils.
2016-01-05 21:10:27 +01:00
Vladimir Serbinenko
f2b54835f2
Disable progress indicator in grub-shell.
...
This disables progress indicator for tests. This in turn fixes test
flakiness as they ended up timing-dependent.
2016-01-05 21:10:10 +01:00
Vladimir Serbinenko
300be005a8
Update checksums
2016-01-05 11:55:30 +01:00
Vladimir Serbinenko
80fdaf1d01
configure.ac: Reorder efiemu check to after link format check.
...
efiemu is supposed to be disabled when compiling through exe format.
Unfortunately format was determined only after efiemu check. Reorder to fix the
problem
2015-12-31 22:36:23 +01:00
Vladimir Serbinenko
40051fedc3
configure: Add -fno-unwind-tables if supported.
...
Unwind tables are useless for us bt consume space if present. Ensure that they
are not.
2015-12-31 19:20:03 +01:00
Vladimir Serbinenko
dcc499aaf0
module-verifier: allow limited-range relocations on sparc64.
...
clang as incomplete mcmodel=large support. As we don't currently need full
mcmodel=large support for sparc64, relax those checks.
2015-12-31 18:30:39 +01:00
Vladimir Serbinenko
3b21499506
Disable build-time module check on emu.
...
On emu some checks can be laxer like check for relocation range. Additionally
module loading in emu is rarely used. So skip this check rather than making
it laxer for all platforms. In ideal we may want to have slightly different
check for emu but for now this is good enough.
2015-12-31 18:20:11 +01:00
Vladimir Serbinenko
5ae590b32d
configure: Fix grub_cv_cc_fno_unwind_tables check.
...
Check tries -fno-dwarf2-cfi-asm but adds -fno-asynchronous-unwind-tables
to TARGET_CFLAGS. Fix this.
2015-12-31 18:19:15 +01:00
Vladimir Serbinenko
f1b3525385
Add -mno-stack-arg-probe on mingw.
...
This argument disables generation of calls to __chkstk_ms. Those calls are
useless on GRUB as function is dummy. Yet they increase module size and
use limited-range relocations which may not work under some memory layouts.
We currently don't use such layouts on concerned platforms but lt's correct
this.
2015-12-31 18:15:49 +01:00
Vladimir Serbinenko
68e158dffd
Strip .ARM.exidx
...
This section is generated by clang and is useful only for debugging.
It contains exotic relocations, so strip them to avoid them interferring
with module loading.
2015-12-31 18:13:59 +01:00
Vladimir Serbinenko
e1b2b9bf1d
module-verifier: Check range-limited relative relocations.
...
Check that they point to the same module, so will end up in the same
chunk of memory.
2015-12-31 15:29:28 +01:00
Vladimir Serbinenko
76588d1319
xen/relocator: Use local symbol to ensure that code is relocation-free.
2015-12-31 14:54:56 +01:00
Vladimir Serbinenko
60ae582142
backtrace: Fix register call syntax
2015-12-31 14:54:48 +01:00
Vladimir Serbinenko
a7cf8b1e23
Verify modules on build-time rather than failing in runtime.
2015-12-31 13:09:15 +01:00
Vladimir Serbinenko
5919626c90
sparc64: Fix assembly to let compiler to fill in memory references.
...
This fixes the use of not fully relocatable (they assume that variables are
under 4G limit in virtual memory) references.
2015-12-31 13:07:16 +01:00
Vladimir Serbinenko
79cfad6fbe
backtrace: Remove assembly assumption that grub_backtrace_pointer is under 4G
2015-12-30 18:19:44 +01:00
Vladimir Serbinenko
dbab354157
grub-mkrescue: Delete temporary file
...
Reported by: Thomas Schmitt
2015-12-29 17:48:34 +01:00