RISC-V: Add to build system
This patch adds support for RISC-V to the grub build system. With this patch, I can successfully build grub on RISC-V as a UEFI application. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com> Tested-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
1edef90cf9
commit
09d8eedbba
22 changed files with 201 additions and 21 deletions
|
@ -477,6 +477,8 @@ have_bootdev (enum grub_install_plat pl)
|
|||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_I386_IEEE1275:
|
||||
case GRUB_INSTALL_PLATFORM_SPARC64_IEEE1275:
|
||||
case GRUB_INSTALL_PLATFORM_POWERPC_IEEE1275:
|
||||
|
@ -900,6 +902,8 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_I386_IEEE1275:
|
||||
case GRUB_INSTALL_PLATFORM_SPARC64_IEEE1275:
|
||||
|
@ -945,6 +949,8 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_I386_IEEE1275:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_UBOOT:
|
||||
|
@ -998,6 +1004,8 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
is_efi = 1;
|
||||
break;
|
||||
|
@ -1111,6 +1119,12 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
efi_file = "BOOTAA64.EFI";
|
||||
break;
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
efi_file = "BOOTRISCV32.EFI";
|
||||
break;
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
efi_file = "BOOTRISCV64.EFI";
|
||||
break;
|
||||
default:
|
||||
grub_util_error ("%s", _("You've found a bug"));
|
||||
break;
|
||||
|
@ -1138,6 +1152,12 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
efi_file = "grubaa64.efi";
|
||||
break;
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
efi_file = "grubriscv32.efi";
|
||||
break;
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
efi_file = "grubriscv64.efi";
|
||||
break;
|
||||
default:
|
||||
efi_file = "grub.efi";
|
||||
break;
|
||||
|
@ -1440,6 +1460,8 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
g = grub_util_guess_efi_drive (*curdev);
|
||||
break;
|
||||
|
@ -1533,6 +1555,8 @@ main (int argc, char *argv[])
|
|||
case GRUB_INSTALL_PLATFORM_X86_64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
core_name = "core.efi";
|
||||
snprintf (mkimage_target, sizeof (mkimage_target),
|
||||
|
@ -1636,6 +1660,8 @@ main (int argc, char *argv[])
|
|||
break;
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_MIPSEL_QEMU_MIPS:
|
||||
case GRUB_INSTALL_PLATFORM_MIPS_QEMU_MIPS:
|
||||
|
@ -1871,6 +1897,8 @@ main (int argc, char *argv[])
|
|||
/* FALLTHROUGH */
|
||||
case GRUB_INSTALL_PLATFORM_ARM_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_ARM64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV32_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_RISCV64_EFI:
|
||||
case GRUB_INSTALL_PLATFORM_IA64_EFI:
|
||||
{
|
||||
char *dst = grub_util_path_concat (2, efidir, efi_file);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue