mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-23 23:59:22 +00:00
Merge branch 'master' into phcoder/scratch
Conflicts: grub-core/kern/arm/cache_armv6.S grub-core/kern/uboot/init.c include/grub/arm/system.h
This commit is contained in:
commit
2cbee7340c
22 files changed
+190
-59
No files matched your search
@@ -1,3 +1,78 @@
|
|||||||
|
2013-12-23 Colin Watson <cjwatson@debian.org>
|
||||||
|
|
||||||
|
Update some documentation to refer to Git rather than Bazaar.
|
||||||
|
|
||||||
|
* docs/grub.texi (Obtaining and Building GRUB): Refer to Git rather
|
||||||
|
than Bazaar.
|
||||||
|
* po/README: Likewise. Fix spelling mistake.
|
||||||
|
|
||||||
|
2013-12-23 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
Don't distribute config.h.
|
||||||
|
|
||||||
|
* Makefile.am (platform_HEADERS): Move to ...
|
||||||
|
(nodist_platform_HEADERS): ... here. Fixes gettext_strings_test
|
||||||
|
failure when building from a distributed tarball.
|
||||||
|
|
||||||
|
2013-12-23 Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
|
||||||
|
* 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 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
ARM64 support for grub-mkrescue.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Install modinfo.sh to keep build information around.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/modinfo.sh.in: Add build config information.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
ARM64 grub-file and grub-mkconfig support.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Remove leftover options defines.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* include/grub/arm64/linux.h: Remove leftovers. Add missing prefixes.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/loader/arm64/linux.c: Add missing bracket.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Add arm64-efi recognition to grub-file.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Fix ia64-efi recognition in grub-file.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Recognize raspberry pi kernel in grub-file.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Enable cache on ARM U-Boot port.
|
||||||
|
|
||||||
|
Without it the port is reidiculously slow.
|
||||||
|
|
||||||
|
2013-12-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
Fix ARM cache maintainance.
|
||||||
|
|
||||||
|
More code was converted from ASM to C for easier handling.
|
||||||
|
|
||||||
2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
|
2013-12-22 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
|
* grub-core/kern/arm/cache.c (grub_arm_disable_caches_mmu): Use v6
|
||||||
|
|||||||
+1
-1
@@ -127,7 +127,7 @@ widthspec.h: $(FONT_SOURCE) build-grub-gen-widthspec
|
|||||||
CLEANFILES += widthspec.h
|
CLEANFILES += widthspec.h
|
||||||
|
|
||||||
# Install config.h into platformdir
|
# Install config.h into platformdir
|
||||||
platform_HEADERS = config.h
|
nodist_platform_HEADERS = config.h
|
||||||
|
|
||||||
pkgdata_DATA += grub-mkconfig_lib
|
pkgdata_DATA += grub-mkconfig_lib
|
||||||
|
|
||||||
|
|||||||
@@ -51,12 +51,6 @@
|
|||||||
#define PACKAGE_NAME "@PACKAGE_NAME@"
|
#define PACKAGE_NAME "@PACKAGE_NAME@"
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
|
#define PACKAGE_BUGREPORT "@PACKAGE_BUGREPORT@"
|
||||||
/* Default boot directory name" */
|
|
||||||
#define GRUB_BOOT_DIR_NAME "@bootdirname@"
|
|
||||||
/* Default grub directory name */
|
|
||||||
#define GRUB_DIR_NAME "@grubdirname@"
|
|
||||||
/* Define to 1 if GCC generates calls to __register_frame_info(). */
|
|
||||||
#define NEED_REGISTER_FRAME_INFO @NEED_REGISTER_FRAME_INFO@
|
|
||||||
|
|
||||||
#define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@"
|
#define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@"
|
||||||
#define GRUB_PLATFORM "@GRUB_PLATFORM@"
|
#define GRUB_PLATFORM "@GRUB_PLATFORM@"
|
||||||
|
|||||||
+5
-12
@@ -214,20 +214,14 @@ case "$platform" in
|
|||||||
qemu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_QEMU=1" ;;
|
qemu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_QEMU=1" ;;
|
||||||
pc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_PCBIOS=1" ;;
|
pc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_PCBIOS=1" ;;
|
||||||
emu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_EMU=1" ;;
|
emu) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_EMU=1" ;;
|
||||||
loongson) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_LOONGSON=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
loongson) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_LOONGSON=1" ;;
|
||||||
qemu_mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_QEMU_MIPS=1 -DGRUB_MACHINE_MIPS_BONITO=1" ;;
|
qemu_mips) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS_QEMU_MIPS=1" ;;
|
||||||
arc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARC=1" ;;
|
arc) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARC=1" ;;
|
||||||
esac
|
esac
|
||||||
case "$target_cpu" in
|
|
||||||
arm) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARM=1" ;;
|
|
||||||
arm64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_ARM64=1" ;;
|
|
||||||
mips |mipsel) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_MIPS=1" ;;
|
|
||||||
sparc64) machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE_SPARC64=1" ;;
|
|
||||||
esac
|
|
||||||
if test x${target_cpu} = xmipsel ; then
|
if test x${target_cpu} = xmipsel ; then
|
||||||
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo mips_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo mips_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
||||||
else
|
else
|
||||||
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,` -DGRUB_TARGET_CPU_`echo ${target_cpu} | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`=1"
|
machine_CPPFLAGS="$machine_CPPFLAGS -DGRUB_MACHINE=`echo ${target_cpu}_$platform | sed y,abcdefghijklmnopqrstuvwxyz,ABCDEFGHIJKLMNOPQRSTUVWXYZ,`"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
case "${target_cpu}-$platform" in
|
case "${target_cpu}-$platform" in
|
||||||
@@ -1174,7 +1168,7 @@ enable_grub_emu_usb=no
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test x"$enable_grub_emu_sdl" = xno ; then
|
if test x"$enable_grub_emu_sdl" = xno ; then
|
||||||
grub_emu_sdl_excuse="explicitely disabled"
|
grub_emu_sdl_excuse="explicitly disabled"
|
||||||
fi
|
fi
|
||||||
[if [ x"$grub_emu_sdl_excuse" = x ]; then
|
[if [ x"$grub_emu_sdl_excuse" = x ]; then
|
||||||
# Check for libSDL libraries.]
|
# Check for libSDL libraries.]
|
||||||
@@ -1190,7 +1184,7 @@ AC_CHECK_LIB([SDL], [SDL_Init], [LIBSDL="-lSDL"],
|
|||||||
[fi]
|
[fi]
|
||||||
|
|
||||||
if test x"enable_grub_emu_sdl" = xyes && test x"$grub_emu_sdl_excuse" != x ; then
|
if test x"enable_grub_emu_sdl" = xyes && test x"$grub_emu_sdl_excuse" != x ; then
|
||||||
AC_MSG_ERROR([SDL support for grub-emu was explicitely requested but can't be compiled ($grub_emu_sdl_excuse)])
|
AC_MSG_ERROR([SDL support for grub-emu was explicitly requested but can't be compiled ($grub_emu_sdl_excuse)])
|
||||||
fi
|
fi
|
||||||
if test x"$grub_emu_sdl_excuse" = x ; then
|
if test x"$grub_emu_sdl_excuse" = x ; then
|
||||||
enable_grub_emu_sdl=yes
|
enable_grub_emu_sdl=yes
|
||||||
@@ -1580,7 +1574,6 @@ AC_SUBST(BSS_START_SYMBOL)
|
|||||||
AC_SUBST(END_SYMBOL)
|
AC_SUBST(END_SYMBOL)
|
||||||
AC_SUBST(PACKAGE)
|
AC_SUBST(PACKAGE)
|
||||||
AC_SUBST(VERSION)
|
AC_SUBST(VERSION)
|
||||||
AC_SUBST(NEED_REGISTER_FRAME_INFO)
|
|
||||||
|
|
||||||
AC_ARG_ENABLE([werror],
|
AC_ARG_ENABLE([werror],
|
||||||
[AS_HELP_STRING([--disable-werror],
|
[AS_HELP_STRING([--disable-werror],
|
||||||
|
|||||||
+1
-1
@@ -6385,7 +6385,7 @@ just do:
|
|||||||
@end group
|
@end group
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
Also, the latest version is available using Bazaar. See
|
Also, the latest version is available using Git. See
|
||||||
@uref{http://www.gnu.org/software/grub/grub-download.html} for more
|
@uref{http://www.gnu.org/software/grub/grub-download.html} for more
|
||||||
information.
|
information.
|
||||||
|
|
||||||
|
|||||||
@@ -221,12 +221,14 @@ KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/uboot.h
|
|||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/disk.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/uboot/disk.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/extcmd.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/lib/arg.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_arm_efi
|
if COND_arm_efi
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/efi/loader.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/efi.h
|
||||||
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/efi/disk.h
|
||||||
|
KERNEL_HEADER_FILES += $(top_srcdir)/include/grub/arm/system.h
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if COND_arm64_efi
|
if COND_arm64_efi
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ static const struct grub_arg_option options[] = {
|
|||||||
N_("Check if FILE can be used as x86 multiboot2 kernel"), 0, 0},
|
N_("Check if FILE can be used as x86 multiboot2 kernel"), 0, 0},
|
||||||
{"is-arm-linux", 0, 0,
|
{"is-arm-linux", 0, 0,
|
||||||
N_("Check if FILE is ARM Linux"), 0, 0},
|
N_("Check if FILE is ARM Linux"), 0, 0},
|
||||||
|
{"is-arm64-linux", 0, 0,
|
||||||
|
N_("Check if FILE is ARM64 Linux"), 0, 0},
|
||||||
{"is-ia64-linux", 0, 0,
|
{"is-ia64-linux", 0, 0,
|
||||||
N_("Check if FILE is IA64 Linux"), 0, 0},
|
N_("Check if FILE is IA64 Linux"), 0, 0},
|
||||||
{"is-mips-linux", 0, 0,
|
{"is-mips-linux", 0, 0,
|
||||||
@@ -82,6 +84,8 @@ static const struct grub_arg_option options[] = {
|
|||||||
N_("Check if FILE is x86_64 EFI file"), 0, 0},
|
N_("Check if FILE is x86_64 EFI file"), 0, 0},
|
||||||
{"is-ia64-efi", 0, 0,
|
{"is-ia64-efi", 0, 0,
|
||||||
N_("Check if FILE is IA64 EFI file"), 0, 0},
|
N_("Check if FILE is IA64 EFI file"), 0, 0},
|
||||||
|
{"is-arm64-efi", 0, 0,
|
||||||
|
N_("Check if FILE is ARM64 EFI file"), 0, 0},
|
||||||
{"is-arm-efi", 0, 0,
|
{"is-arm-efi", 0, 0,
|
||||||
N_("Check if FILE is ARM EFI file"), 0, 0},
|
N_("Check if FILE is ARM EFI file"), 0, 0},
|
||||||
{"is-hibernated-hiberfil", 0, 0,
|
{"is-hibernated-hiberfil", 0, 0,
|
||||||
@@ -105,6 +109,7 @@ enum
|
|||||||
IS_MULTIBOOT,
|
IS_MULTIBOOT,
|
||||||
IS_MULTIBOOT2,
|
IS_MULTIBOOT2,
|
||||||
IS_ARM_LINUX,
|
IS_ARM_LINUX,
|
||||||
|
IS_ARM64_LINUX,
|
||||||
IS_IA64_LINUX,
|
IS_IA64_LINUX,
|
||||||
IS_MIPS_LINUX,
|
IS_MIPS_LINUX,
|
||||||
IS_MIPSEL_LINUX,
|
IS_MIPSEL_LINUX,
|
||||||
@@ -121,6 +126,7 @@ enum
|
|||||||
IS_32_EFI,
|
IS_32_EFI,
|
||||||
IS_64_EFI,
|
IS_64_EFI,
|
||||||
IS_IA_EFI,
|
IS_IA_EFI,
|
||||||
|
IS_ARM64_EFI,
|
||||||
IS_ARM_EFI,
|
IS_ARM_EFI,
|
||||||
IS_HIBERNATED,
|
IS_HIBERNATED,
|
||||||
IS_XNU64,
|
IS_XNU64,
|
||||||
@@ -377,16 +383,42 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args)
|
|||||||
}
|
}
|
||||||
case IS_ARM_LINUX:
|
case IS_ARM_LINUX:
|
||||||
{
|
{
|
||||||
grub_uint32_t sig;
|
grub_uint32_t sig, sig_pi;
|
||||||
|
if (grub_file_read (file, &sig_pi, 4) != 4)
|
||||||
|
break;
|
||||||
|
/* Raspberry pi. */
|
||||||
|
if (sig_pi == grub_cpu_to_le32_compile_time (0xea000006))
|
||||||
|
{
|
||||||
|
ret = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (grub_file_seek (file, 0x24) == (grub_size_t) -1)
|
if (grub_file_seek (file, 0x24) == (grub_size_t) -1)
|
||||||
break;
|
break;
|
||||||
if (grub_file_read (file, &sig, 4) != 4)
|
if (grub_file_read (file, &sig, 4) != 4)
|
||||||
break;
|
break;
|
||||||
if (sig != grub_cpu_to_le32_compile_time (0x016f2818))
|
if (sig == grub_cpu_to_le32_compile_time (0x016f2818))
|
||||||
break;
|
{
|
||||||
ret = 1;
|
ret = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case IS_ARM64_LINUX:
|
||||||
|
{
|
||||||
|
grub_uint32_t sig;
|
||||||
|
|
||||||
|
if (grub_file_seek (file, 0x38) == (grub_size_t) -1)
|
||||||
|
break;
|
||||||
|
if (grub_file_read (file, &sig, 4) != 4)
|
||||||
|
break;
|
||||||
|
if (sig == grub_cpu_to_le32_compile_time (0x644d5241))
|
||||||
|
{
|
||||||
|
ret = 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
case IS_PAE_DOMU ... IS_DOM0:
|
case IS_PAE_DOMU ... IS_DOM0:
|
||||||
{
|
{
|
||||||
struct grub_xen_file_info xen_inf;
|
struct grub_xen_file_info xen_inf;
|
||||||
@@ -535,6 +567,7 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args)
|
|||||||
case IS_32_EFI:
|
case IS_32_EFI:
|
||||||
case IS_64_EFI:
|
case IS_64_EFI:
|
||||||
case IS_IA_EFI:
|
case IS_IA_EFI:
|
||||||
|
case IS_ARM64_EFI:
|
||||||
case IS_ARM_EFI:
|
case IS_ARM_EFI:
|
||||||
{
|
{
|
||||||
char signature[4];
|
char signature[4];
|
||||||
@@ -573,11 +606,15 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args)
|
|||||||
&& coff_head.machine !=
|
&& coff_head.machine !=
|
||||||
grub_cpu_to_le16_compile_time (GRUB_PE32_MACHINE_IA64))
|
grub_cpu_to_le16_compile_time (GRUB_PE32_MACHINE_IA64))
|
||||||
break;
|
break;
|
||||||
|
if (type == IS_ARM64_EFI
|
||||||
|
&& coff_head.machine !=
|
||||||
|
grub_cpu_to_le16_compile_time (GRUB_PE32_MACHINE_ARM64))
|
||||||
|
break;
|
||||||
if (type == IS_ARM_EFI
|
if (type == IS_ARM_EFI
|
||||||
&& coff_head.machine !=
|
&& coff_head.machine !=
|
||||||
grub_cpu_to_le16_compile_time (GRUB_PE32_MACHINE_ARMTHUMB_MIXED))
|
grub_cpu_to_le16_compile_time (GRUB_PE32_MACHINE_ARMTHUMB_MIXED))
|
||||||
break;
|
break;
|
||||||
if (type == IS_64_EFI || type == IS_64_EFI)
|
if (type == IS_IA_EFI || type == IS_64_EFI || type == IS_ARM64_EFI)
|
||||||
{
|
{
|
||||||
struct grub_pe64_optional_header o64;
|
struct grub_pe64_optional_header o64;
|
||||||
if (grub_file_read (file, &o64, sizeof (o64)) != sizeof (o64))
|
if (grub_file_read (file, &o64, sizeof (o64)) != sizeof (o64))
|
||||||
|
|||||||
@@ -133,7 +133,7 @@ show_help (grub_device_t dev)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (! found)
|
if (! found)
|
||||||
grub_printf_ (N_("Sorry no parttool is available for %s\n"),
|
grub_printf_ (N_("Sorry, no parttool is available for %s\n"),
|
||||||
dev->disk->partition->partmap->name);
|
dev->disk->partition->partmap->name);
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1012,7 +1012,7 @@ grub_util_ldm_embed (struct grub_disk *disk, unsigned int *nsectors,
|
|||||||
usable for bootloaders (called generically
|
usable for bootloaders (called generically
|
||||||
"embedding zone") and this operation is
|
"embedding zone") and this operation is
|
||||||
called "embedding". */
|
called "embedding". */
|
||||||
N_("your LDM embedding Partition is too small;"
|
N_("your LDM Embedding Partition is too small;"
|
||||||
" embedding won't be possible"));
|
" embedding won't be possible"));
|
||||||
*nsectors = lv->size;
|
*nsectors = lv->size;
|
||||||
if (*nsectors > max_nsectors)
|
if (*nsectors > max_nsectors)
|
||||||
|
|||||||
@@ -46,13 +46,14 @@ FUNCTION(grub_arm_cache_type)
|
|||||||
FUNCTION(grub_arm_clear_mmu_v6)
|
FUNCTION(grub_arm_clear_mmu_v6)
|
||||||
mov r0, #0
|
mov r0, #0
|
||||||
mcr p15, 0, r0, c2, c0, 2
|
mcr p15, 0, r0, c2, c0, 2
|
||||||
mvn r0, #0
|
|
||||||
mcr p15, 0, r0, c3, c0, 0
|
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
FUNCTION(grub_arm_enable_mmu)
|
FUNCTION(grub_arm_enable_mmu)
|
||||||
mcr p15, 0, r0, c2, c0, 0
|
mcr p15, 0, r0, c2, c0, 0
|
||||||
|
|
||||||
|
mvn r0, #0
|
||||||
|
mcr p15, 0, r0, c3, c0, 0
|
||||||
|
|
||||||
mrc p15, 0, r0, c1, c0, 0
|
mrc p15, 0, r0, c1, c0, 0
|
||||||
bic r0, r0, #(1 << 23)
|
bic r0, r0, #(1 << 23)
|
||||||
mcr p15, 0, r0, c1, c0, 0
|
mcr p15, 0, r0, c1, c0, 0
|
||||||
|
|||||||
@@ -198,6 +198,5 @@ grub_efi_prepare_platform (void)
|
|||||||
if (err != GRUB_ERR_NONE)
|
if (err != GRUB_ERR_NONE)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
grub_arm_disable_caches_mmu();
|
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
@@ -271,7 +271,7 @@ grub_ieee1275_map (grub_addr_t phys, grub_addr_t virt, grub_size_t size,
|
|||||||
grub_ieee1275_cell_t mode;
|
grub_ieee1275_cell_t mode;
|
||||||
grub_ieee1275_cell_t size;
|
grub_ieee1275_cell_t size;
|
||||||
grub_ieee1275_cell_t virt;
|
grub_ieee1275_cell_t virt;
|
||||||
#ifdef GRUB_MACHINE_SPARC64
|
#ifdef __sparc__
|
||||||
grub_ieee1275_cell_t phys_high;
|
grub_ieee1275_cell_t phys_high;
|
||||||
#endif
|
#endif
|
||||||
grub_ieee1275_cell_t phys_low;
|
grub_ieee1275_cell_t phys_low;
|
||||||
@@ -279,7 +279,7 @@ grub_ieee1275_map (grub_addr_t phys, grub_addr_t virt, grub_size_t size,
|
|||||||
} args;
|
} args;
|
||||||
|
|
||||||
INIT_IEEE1275_COMMON (&args.common, "call-method",
|
INIT_IEEE1275_COMMON (&args.common, "call-method",
|
||||||
#ifdef GRUB_MACHINE_SPARC64
|
#ifdef __sparc__
|
||||||
7,
|
7,
|
||||||
#else
|
#else
|
||||||
6,
|
6,
|
||||||
@@ -287,7 +287,7 @@ grub_ieee1275_map (grub_addr_t phys, grub_addr_t virt, grub_size_t size,
|
|||||||
1);
|
1);
|
||||||
args.method = (grub_ieee1275_cell_t) "map";
|
args.method = (grub_ieee1275_cell_t) "map";
|
||||||
args.ihandle = grub_ieee1275_mmu;
|
args.ihandle = grub_ieee1275_mmu;
|
||||||
#ifdef GRUB_MACHINE_SPARC64
|
#ifdef __sparc__
|
||||||
args.phys_high = 0;
|
args.phys_high = 0;
|
||||||
#endif
|
#endif
|
||||||
args.phys_low = phys;
|
args.phys_low = phys;
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ grub_machine_init (void)
|
|||||||
/* Enumerate memory and initialize the memory management system. */
|
/* Enumerate memory and initialize the memory management system. */
|
||||||
grub_uboot_mm_init ();
|
grub_uboot_mm_init ();
|
||||||
|
|
||||||
/* Shold be earlier but it needs memalign. */
|
/* Should be earlier but it needs memalign. */
|
||||||
#ifdef __arm__
|
#ifdef __arm__
|
||||||
grub_arm_enable_caches_mmu ();
|
grub_arm_enable_caches_mmu ();
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -283,6 +283,8 @@ linux_boot (void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
grub_arm_disable_caches_mmu ();
|
||||||
|
|
||||||
linuxmain (0, machine_type, fdt_addr);
|
linuxmain (0, machine_type, fdt_addr);
|
||||||
|
|
||||||
return grub_error (GRUB_ERR_BAD_OS, "Linux call returned");
|
return grub_error (GRUB_ERR_BAD_OS, "Linux call returned");
|
||||||
|
|||||||
@@ -113,14 +113,14 @@ get_fdt (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
check_kernel (struct linux_kernel_header *lh)
|
check_kernel (struct grub_arm64_linux_kernel_header *lh)
|
||||||
{
|
{
|
||||||
if (lh->magic != GRUB_LINUX_MAGIC)
|
if (lh->magic != GRUB_ARM64_LINUX_MAGIC)
|
||||||
return grub_error(GRUB_ERR_BAD_OS, "invalid magic number");
|
return grub_error(GRUB_ERR_BAD_OS, "invalid magic number");
|
||||||
|
|
||||||
if ((lh->code0 & 0xffff) != GRUB_EFI_PE_MAGIC)
|
if ((lh->code0 & 0xffff) != GRUB_EFI_PE_MAGIC)
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
N_("plain Image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled");
|
N_("plain Image kernel not supported - rebuild with CONFIG_(U)EFI_STUB enabled"));
|
||||||
|
|
||||||
grub_dprintf ("linux", "UEFI stub kernel:\n");
|
grub_dprintf ("linux", "UEFI stub kernel:\n");
|
||||||
grub_dprintf ("linux", "text_offset = 0x%012llx\n",
|
grub_dprintf ("linux", "text_offset = 0x%012llx\n",
|
||||||
@@ -381,7 +381,7 @@ grub_cmd_linux (grub_command_t cmd __attribute__ ((unused)),
|
|||||||
int argc, char *argv[])
|
int argc, char *argv[])
|
||||||
{
|
{
|
||||||
grub_file_t file = 0;
|
grub_file_t file = 0;
|
||||||
struct linux_kernel_header lh;
|
struct grub_arm64_linux_kernel_header lh;
|
||||||
|
|
||||||
grub_dl_ref (my_mod);
|
grub_dl_ref (my_mod);
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,35 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# User-controllable options
|
||||||
grub_modinfo_target_cpu=@target_cpu@
|
grub_modinfo_target_cpu=@target_cpu@
|
||||||
grub_modinfo_platform=@platform@
|
grub_modinfo_platform=@platform@
|
||||||
|
grub_disk_cache_stats=@DISK_CACHE_STATS@
|
||||||
|
grub_boot_time_stats=@BOOT_TIME_STATS@
|
||||||
|
grub_have_font_source=@HAVE_FONT_SOURCE@
|
||||||
|
|
||||||
|
# Autodetected config
|
||||||
|
grub_have_asm_uscore=@HAVE_ASM_USCORE@
|
||||||
|
grub_i8086_addr32="@ADDR32@"
|
||||||
|
grub_i8086_data32="@DATA32@"
|
||||||
|
grub_bss_start_symbol="@BSS_START_SYMBOL@"
|
||||||
|
grub_end_symbol="@END_SYMBOL@"
|
||||||
|
|
||||||
|
# Build environment
|
||||||
|
grub_target_cc='@TARGET_CC@'
|
||||||
|
grub_target_cflags='@TARGET_CFLAGS@'
|
||||||
|
grub_target_cppflags='@TARGET_CPPFLAGS@'
|
||||||
|
grub_target_ccasflags='@TARGET_CCASFLAGS@'
|
||||||
|
grub_target_ldflags='@TARGET_LDFLAGS@'
|
||||||
|
grub_target_strip='@TARGET_STRIP@'
|
||||||
|
grub_target_nm='@TARGET_NM@'
|
||||||
|
grub_target_ranlib='@TARGET_RANLIB@'
|
||||||
|
grub_target_objconf='@TARGET_OBJCONV@'
|
||||||
|
grub_target_obj2elf='@TARGET_OBJ2ELF@'
|
||||||
|
|
||||||
|
# Version
|
||||||
|
grub_version="@VERSION@"
|
||||||
|
grub_package="@PACKAGE@"
|
||||||
|
grub_package_string="@PACKAGE_STRING@"
|
||||||
|
grub_package_version="@PACKAGE_VERSION@"
|
||||||
|
grub_package_name="@PACKAGE_NAME@"
|
||||||
|
grub_package_bugreport="@PACKAGE_BUGREPORT@"
|
||||||
@@ -9,7 +9,7 @@ enum
|
|||||||
GRUB_ARM_MACHINE_TYPE_FDT = 0xFFFFFFFF
|
GRUB_ARM_MACHINE_TYPE_FDT = 0xFFFFFFFF
|
||||||
};
|
};
|
||||||
|
|
||||||
void grub_arm_disable_caches_mmu (void);
|
void EXPORT_FUNC(grub_arm_disable_caches_mmu) (void);
|
||||||
void grub_arm_enable_caches_mmu (void);
|
void grub_arm_enable_caches_mmu (void);
|
||||||
void grub_arm_enable_mmu (grub_uint32_t *mmu_tables);
|
void grub_arm_enable_mmu (grub_uint32_t *mmu_tables);
|
||||||
void grub_arm_clear_mmu_v6 (void);
|
void grub_arm_clear_mmu_v6 (void);
|
||||||
|
|||||||
@@ -21,13 +21,10 @@
|
|||||||
|
|
||||||
#include <grub/efi/efi.h>
|
#include <grub/efi/efi.h>
|
||||||
|
|
||||||
#define GRUB_EFI_KERNEL_STUB_ENTRY_OFFSET 0
|
#define GRUB_ARM64_LINUX_MAGIC 0x644d5241 /* 'ARM\x64' */
|
||||||
#define GRUB_LINUX_MAX_LOAD_ADDR 0xffffffffffffULL
|
|
||||||
|
|
||||||
#define GRUB_LINUX_MAGIC 0x644d5241 /* 'ARM\x64' */
|
|
||||||
|
|
||||||
/* From linux/Documentation/arm64/booting.txt */
|
/* From linux/Documentation/arm64/booting.txt */
|
||||||
struct linux_kernel_header
|
struct grub_arm64_linux_kernel_header
|
||||||
{
|
{
|
||||||
grub_uint32_t code0; /* Executable code */
|
grub_uint32_t code0; /* Executable code */
|
||||||
grub_uint32_t code1; /* Executable code */
|
grub_uint32_t code1; /* Executable code */
|
||||||
@@ -41,14 +38,4 @@ struct linux_kernel_header
|
|||||||
grub_uint32_t hdr_offset; /* Offset of PE/COFF header */
|
grub_uint32_t hdr_offset; /* Offset of PE/COFF header */
|
||||||
};
|
};
|
||||||
|
|
||||||
#define grub_linux_get_params() NULL
|
|
||||||
extern grub_err_t grub_linux_init_params (void);
|
|
||||||
extern grub_err_t grub_linux_finalize_params (void);
|
|
||||||
extern grub_err_t grub_linux_register_kernel (struct linux_kernel_header *lh);
|
|
||||||
extern grub_err_t grub_linux_register_cmdline (void * addr);
|
|
||||||
extern grub_err_t grub_linux_register_initrd (void * addr, grub_size_t size);
|
|
||||||
|
|
||||||
extern void grub_efi_linux_arch_register_commands (void);
|
|
||||||
extern void grub_efi_linux_arch_unregister_commands (void);
|
|
||||||
|
|
||||||
#endif /* ! GRUB_LINUX_CPU_HEADER */
|
#endif /* ! GRUB_LINUX_CPU_HEADER */
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
If you checked out this source tree directly from GRUB Bazaar, you might
|
If you checked out this source tree directly from GRUB Git, you might be
|
||||||
be wondering where are the POT and PO files. Here are some instructions
|
wondering where are the POT and PO files. Here are some instructions
|
||||||
that will hopefully clarify the situation.
|
that will hopefully clarify the situation.
|
||||||
|
|
||||||
- If you're a user or a distributor, simply fill the po directory by
|
- If you're a user or a distributor, simply fill the po directory by
|
||||||
@@ -16,7 +16,7 @@ that will hopefully clarify the situation.
|
|||||||
(http://translationproject.org/). The GRUB project doesn't interact
|
(http://translationproject.org/). The GRUB project doesn't interact
|
||||||
with translators directly (but we dearly appreciate your work!).
|
with translators directly (but we dearly appreciate your work!).
|
||||||
|
|
||||||
- If you're a developer adding/removing/modifiing translatable strings,
|
- If you're a developer adding/removing/modifying translatable strings,
|
||||||
you can check that these turn into a sane POT file by using the
|
you can check that these turn into a sane POT file by using the
|
||||||
`po/grub.pot' make rule.
|
`po/grub.pot' make rule.
|
||||||
|
|
||||||
|
|||||||
@@ -741,7 +741,7 @@ grub_install_copy_files (const char *src,
|
|||||||
"fs.lst", "partmap.lst",
|
"fs.lst", "partmap.lst",
|
||||||
"parttool.lst",
|
"parttool.lst",
|
||||||
"video.lst", "crypto.lst",
|
"video.lst", "crypto.lst",
|
||||||
"terminal.lst" };
|
"terminal.lst", "modinfo.sh" };
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE (pkglib_DATA); i++)
|
for (i = 0; i < ARRAY_SIZE (pkglib_DATA); i++)
|
||||||
|
|||||||
@@ -273,7 +273,8 @@ for i in "${grub_mkconfig_dir}"/* ; do
|
|||||||
*/\#*\#) ;;
|
*/\#*\#) ;;
|
||||||
*)
|
*)
|
||||||
if grub_file_is_not_garbage "$i" && test -x "$i" ; then
|
if grub_file_is_not_garbage "$i" && test -x "$i" ; then
|
||||||
for platform in x86 i386-xen-pae x86_64-xen mips mipsel sparc64 powerpc ia64 arm; do
|
for platform in x86 i386-xen-pae x86_64-xen mips mipsel sparc64 powerpc ia64 arm arm64; do
|
||||||
|
|
||||||
GRUB_PLATFORM=$platform
|
GRUB_PLATFORM=$platform
|
||||||
export GRUB_PLATFORM
|
export GRUB_PLATFORM
|
||||||
buf="$($i)"
|
buf="$($i)"
|
||||||
|
|||||||
+10
-1
@@ -441,6 +441,9 @@ main (int argc, char *argv[])
|
|||||||
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_PC]
|
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_PC]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275]
|
|| source_dirs[GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI]
|
|| source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI]
|
||||||
|
|| source_dirs[GRUB_INSTALL_PLATFORM_IA64_EFI]
|
||||||
|
|| source_dirs[GRUB_INSTALL_PLATFORM_ARM_EFI]
|
||||||
|
|| source_dirs[GRUB_INSTALL_PLATFORM_ARM64_EFI]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_X86_64_EFI])
|
|| source_dirs[GRUB_INSTALL_PLATFORM_X86_64_EFI])
|
||||||
system_area = SYS_AREA_COMMON;
|
system_area = SYS_AREA_COMMON;
|
||||||
else if (source_dirs[GRUB_INSTALL_PLATFORM_SPARC64_IEEE1275])
|
else if (source_dirs[GRUB_INSTALL_PLATFORM_SPARC64_IEEE1275])
|
||||||
@@ -636,7 +639,8 @@ main (int argc, char *argv[])
|
|||||||
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI]
|
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_X86_64_EFI]
|
|| source_dirs[GRUB_INSTALL_PLATFORM_X86_64_EFI]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_IA64_EFI]
|
|| source_dirs[GRUB_INSTALL_PLATFORM_IA64_EFI]
|
||||||
|| source_dirs[GRUB_INSTALL_PLATFORM_ARM_EFI])
|
|| source_dirs[GRUB_INSTALL_PLATFORM_ARM_EFI]
|
||||||
|
|| source_dirs[GRUB_INSTALL_PLATFORM_ARM64_EFI])
|
||||||
{
|
{
|
||||||
char *efidir = grub_util_make_temporary_dir ();
|
char *efidir = grub_util_make_temporary_dir ();
|
||||||
char *efidir_efi = grub_util_path_concat (2, efidir, "efi");
|
char *efidir_efi = grub_util_path_concat (2, efidir, "efi");
|
||||||
@@ -659,6 +663,11 @@ main (int argc, char *argv[])
|
|||||||
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_ARM_EFI, "arm-efi", imgname);
|
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_ARM_EFI, "arm-efi", imgname);
|
||||||
free (imgname);
|
free (imgname);
|
||||||
|
|
||||||
|
imgname = grub_util_path_concat (2, efidir_efi_boot, "bootaarch64.efi");
|
||||||
|
make_image_fwdisk_abs (GRUB_INSTALL_PLATFORM_ARM64_EFI, "arm64-efi",
|
||||||
|
imgname);
|
||||||
|
free (imgname);
|
||||||
|
|
||||||
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI])
|
if (source_dirs[GRUB_INSTALL_PLATFORM_I386_EFI])
|
||||||
{
|
{
|
||||||
imgname = grub_util_path_concat (2, efidir_efi_boot, "boot.efi");
|
imgname = grub_util_path_concat (2, efidir_efi_boot, "boot.efi");
|
||||||
|
|||||||
Reference in new issue
Block a user