The AML parser implements only a small subset of possible AML
opcodes. On the Fujitsu Lifebook E744 this and another bug in
the parser (incorrect handling of TermArg data types) would lead
to the laptop not turning off (_S5 not found).
* grub-core/commands/acpihalt.c: Support OpAlias in the AML parser;
in skip_ext_op(), handle some Type2Opcodes more correctly (TermArgs
aren't always simply strings!); Add function to skip TermArgs
* include/grub/acpi.h: Add new opcodes
Origin: upstream, http://git.savannah.gnu.org/cgit/grub.git/commit/?id=0f1f95c7b7bc72cfbeea2f6dc5986855738ad96d
Bug-Debian: https://bugs.debian.org/766853
Last-Update: 2016-01-04
Patch-Name: acpihalt-opcodes-1.patch
Exclusive open on SNP will close all existing protocol instances which
may disable all receive filters on interface. Reinstall them after we
opened protocol exclusively.
Also follow UEFI specification recommendation and stop interfaces when
closing them:
Unexpected system errors, reboots and hangs can occur if an OS is loaded
and the network devices are not Shutdown() and Stopped().
Also by: Mark Salter <msalter@redhat.com>
Closes: 45204
Patch-Name: efinet-enable-hardware-filters-on-interface.patch
Bug: http://savannah.gnu.org/bugs/?45204
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1521612
Last-Update: 2015-12-03
EDK2 PXE driver creates two child devices - IPv4 and IPv6 - with
bound SNP instance. This means we get three cards for every physical
adapter when enumerating. Not only is this confusing, this may result
in grub ignoring packets that come in via the "wrong" card.
Example of device hierarchy is
Ctrl[91] PciRoot(0x0)/Pci(0x3,0x0)
Ctrl[95] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)
Ctrl[B4] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv4(0.0.0.0)
Ctrl[BC] PciRoot(0x0)/Pci(0x3,0x0)/MAC(525400123456,0x1)/IPv6(0000:0000:0000:0000:0000:0000:0000:0000)
Skip PXE created virtual devices when enumerating cards. Make sure to
find real card when applying initial autoconfiguration during PXE boot,
this information is associated with one of child devices.
Patch-Name: efinet-skip-virtual-devices-on-enumeration.patch
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1521612
Last-Update: 2015-12-03
Currently XFS driver converted inode numbers to native endianity only
when using them to compute inode position. Although this works, it is
somewhat confusing. So convert inode numbers when reading them from disk
structures as every other field.
Signed-off-by: Jan Kara <jack@suse.cz>
Origin: upstream, http://git.savannah.gnu.org/cgit/grub.git/commit/?id=a139188eb559ee23f51540948ec84ef5948fb2d1
Last-Update: 2015-11-05
Patch-Name: xfs-simplify-inode-endian-conversion.patch
Directory iteration used wrong position (sizeof wrong structure) for
termination of iteration inside a directory block. Luckily the position
ended up being wrong by just 1 byte and directory entries are larger so
things worked out fine in practice. But fix the problem anyway.
Signed-off-by: Jan Kara <jack@suse.cz>
Origin: upstream, http://git.savannah.gnu.org/cgit/grub.git/commit/?id=1570140f0362d9936f97a014a9fa5cecbca54f07
Last-Update: 2015-11-05
Patch-Name: xfs-fix-directory-iteration.patch
From original patch by dann frazier <dann.frazier@canonical.com>:
grub_net_fs_open() saves off a copy of the file structure it gets passed and
uses it to create a bufio structure. It then overwrites the passed in file
structure with this new bufio structure. Since file->name doesn't get set
until we return back to grub_file_open(), it means that only the bufio
structure gets a valid file->name. The "real" file's name is left
uninitialized. This leads to a crash when the progress module hook is called
on it.
grub_net_fs_open() already saved copy of file name as ->net->name, so change
progress module to use it.
Also, grub_file_open may leave file->name as NULL if grub_strdup fails. Check
for it.
Also-By: dann frazier <dann.frazier@canonical.com>
Patch-Name: progress_avoid_null_deref.patch
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1459872
This restrict ARP handling to MAC and IP addresses but in practice we need
only this case anyway and other cases are very rar if exist at all. It makes
code much simpler and less error-prone.
Origin: upstream, http://git.savannah.gnu.org/cgit/grub.git/commit/?id=63034d32612dd34f577605dfa8b417ee9144d8cb
Last-Update: 2015-04-06
Patch-Name: arp_icmp_oversize_handling.patch
Some platforms might be capable of running a 64-bit Linux kernel but
only use a 32-bit EFI. To support such systems, it is necessary to work
out the size of the firmware rather than just the size of the kernel.
To enable that, there is now an extra EFI sysfs file to describe the
underlying firmware. Read that if possible, otherwise fall back to the
kernel type as before.
Signed-off-by: Steve McIntyre <93sam@debian.org>
Bug-Debian: https://bugs.debian.org/775202
Forwarded: Not yet
Last-Update: 2015-01-10
Patch-Name: mixed_size_efi.patch
Add fallback boot entries for alternative installed init systems. Based
on patches from Michael Biebl and Didier Roche.
Bug-Debian: https://bugs.debian.org/757298
Bug-Debian: https://bugs.debian.org/773173
Forwarded: no
Last-Update: 2015-01-03
Patch-Name: mkconfig_other_inits.patch
Add an extra option to grub-install "--force-extra-removable". On EFI
platforms, this will cause an extra copy of the grub-efi image to be
written to the appropriate removable media patch
/boot/efi/EFI/BOOT/BOOT$ARCH.EFI as well. This will help with broken
UEFI implementations where the firmware does not work when configured
with new boot paths.
Signed-off-by: Steve McIntyre <93sam@debian.org>
Bug-Debian: https://bugs.debian.org/767037https://bugs.debian.org/773092
Forwarded: Not yet
Last-Update: 2014-12-20
Patch-Name: grub-install-extra-removable.patch
This is needed in case the Linux kernel is compiled with CONFIG_KERNEL_XZ or
CONFIG_KERNEL_LZO rather than CONFIG_KERNEL_GZ (gzio is already loaded by
grub.cfg today).
Signed-off-by: Ian Campbell <ijc@debian.org>
Bug-Debian: https://bugs.debian.org/755256
Forwarded: http://lists.gnu.org/archive/html/grub-devel/2014-11/msg00091.html
Last-Update: 2014-11-30
Patch-Name: insmod-xzio-and-lzopio-on-xen.patch
VSX bit is enabled by default for Power7 and Power8 CPU models,
so we need to disable them in order to avoid instruction exceptions.
Kernel will activate it when necessary.
* grub-core/kern/powerpc/ieee1275/startup.S: Disable VSX.
Also-By: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Also-By: Colin Watson <cjwatson@debian.org>
Origin: other, https://lists.gnu.org/archive/html/grub-devel/2014-09/msg00078.html
Last-Update: 2015-01-27
Patch-Name: ppc64el-disable-vsx.patch
Recent versions of binutils generate this section, but we don't need it
when producing raw images.
Bug-Debian: https://bugs.debian.org/762307
Forwarded: no
Last-Update: 2014-09-26
Patch-Name: mips-abiflags.patch
This makes it possible to build generally-useful utilities such as
grub-mount even if the rest of GRUB has not been ported to the target
CPU.
* configure.ac: Add "none" platform. Default to it for unsupported
CPUs rather than stopping with a fatal error. Don't downgrade
x86_64-none to i386. Define COND_real_platform Automake conditional
if the platform is anything other than "none". Don't do any include
directory linking for "none".
* Makefile.am: Skip building grub-core and all bootcheck targets if
!COND_real_platform.
* include/grub/time.h: Don't include <grub/cpu/time.h> if GRUB_UTIL
is defined.
Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=5d90f6e533d82abf89f9e1787f90f17f2fab14aa
Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=77063f4cb672f423272db7e21ca448cf3de98dcf
Last-Update: 2014-09-25
Patch-Name: platform-none.patch
* configure.ac: Remove -m64 from checks for -mcmodel=large and
-mno-red-zone. These are always either unnecessary (x86_64-emu) or
already in TARGET_CFLAGS at this point, and they produce incorrect
results when building for x32.
* grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Cast
pointers to Elf64_Xword via grub_addr_t, in order to work on x32.
* include/grub/x86_64/types.h (GRUB_TARGET_SIZEOF_VOID_P,
GRUB_TARGET_SIZEOF_LONG): Define to 4 on x32.
Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=2a5a532c0047d4eff90175936b220b638cce1013
Bug-Debian: http://bugs.debian.org/760428
Last-Update: 2014-09-07
Patch-Name: x32.patch
Commit 588744d0dc caused grub-mkconfig
no longer to be forgiving of trailing spaces on grub-probe output
lines, which among other things means that util/grub.d/10_linux.in
no longer detects LVM. To fix this, make grub-probe's output
delimiting more consistent. As a bonus, this improves the coverage
of the -0 option.
Fixes Debian bug #735935.
* grub-core/disk/cryptodisk.c
(grub_util_cryptodisk_get_abstraction): Add a user-data argument.
* grub-core/disk/diskfilter.c (grub_diskfilter_get_partmap):
Likewise.
* include/grub/cryptodisk.h (grub_util_cryptodisk_get_abstraction):
Update prototype.
* include/grub/diskfilter.h (grub_diskfilter_get_partmap): Likewise.
* util/grub-install.c (push_partmap_module, push_cryptodisk_module,
probe_mods): Adjust for extra user-data arguments.
* util/grub-probe.c (do_print, probe_partmap, probe_cryptodisk_uuid,
probe_abstraction): Use configured delimiter. Update callers.
Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=24024dac7f51d3c0df8e1bec63c02d52828de534
Bug-Debian: http://bugs.debian.org/735935
Forwarded: not-needed
Last-Update: 2014-03-31
Patch-Name: probe-delimiter.patch
is_qemu is not being set lead to disabling of feature like
GRUB_IEEE1275_FLAG_HAS_CURSORONOFF. This resulted in cursor not being
displayed during the grub-menu edit.
Author: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
Origin: upstream, http://git.savannah.gnu.org/gitweb/?p=grub.git;a=commitdiff;h=e4a1fe391906bfcd1a778c5ec4e242c4b07d429d
Forwarded: not-needed
Last-Update: 2014-03-24
Patch-Name: ieee1275-pseries-emulation.patch
Some powerpc machines require not updating the NVRAM. This can be handled
by existing grub-install command-line options, but it's friendlier to detect
this automatically.
On chrp_ibm machines, use the nvram utility rather than nvsetenv. (This
is possibly suitable for other machines too, but that needs to be
verified.)
Forwarded: no
Last-Update: 2014-10-15
Patch-Name: install_powerpc_machtypes.patch
Many tests fail when run as a non-root user on FreeBSD. The failures
all amount to an inability to open files using grub_util_fd_open,
because we cannot set the kern.geom.debugflags sysctl. This sysctl is
indeed important to allow us to do such things as installing GRUB to the
MBR, but if we need to do that and can't then we will get an error
later. Enforcing it here is unnecessary and prevents otherwise
perfectly reasonable operations.
Forwarded: https://lists.gnu.org/archive/html/grub-devel/2014-01/msg00086.html
Last-Update: 2014-01-17
Patch-Name: freebsd_debugflags_eperm.patch
The floppy images built by grub-shell are currently just over the
floppy limit, and the Debian patch set plus the 915resolution extra
bring this up to the point where GRUB tries to actually read past
the floppy limit, breaking fddboot_test. Passing -no-pad buys us
300KiB, which should keep us going for a while.
* tests/util/grub-shell.in: Pass -no-pad to xorriso when building
floppy images, saving 300KiB.
Forwarded: https://lists.gnu.org/archive/html/grub-devel/2014-01/msg00074.html
Last-Update: 2014-01-16
Patch-Name: grub-shell-no-pad.patch