aboutsummaryrefslogtreecommitdiffstats
path: root/main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2020-01-15 15:39:04 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2020-01-15 16:58:48 +0000
commit319500e94bae0ae674ba945be29f17617823c7df (patch)
tree5e355e33c200fd3110b43f4b9c264cd89a9d3354 /main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch
parent313fffd7875542f30a4aa9313e90ee1d7c3651af (diff)
downloadaports-319500e94bae0ae674ba945be29f17617823c7df.tar.bz2
aports-319500e94bae0ae674ba945be29f17617823c7df.tar.xz
main/grub: upgrade to 2.04
Diffstat (limited to 'main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch')
-rw-r--r--main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch245
1 files changed, 0 insertions, 245 deletions
diff --git a/main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch b/main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch
deleted file mode 100644
index f5d42d8829..0000000000
--- a/main/grub/0004-xen-Prepare-common-code-for-Xen-PVH-support.patch
+++ /dev/null
@@ -1,245 +0,0 @@
-From 49a68b2a338cd55490c776d15b0b399303a08df5 Mon Sep 17 00:00:00 2001
-From: Juergen Gross <jgross@suse.com>
-Date: Fri, 7 Dec 2018 13:11:32 +0100
-Subject: [PATCH 04/20] xen: Prepare common code for Xen PVH support
-
-Some common code needs to be special cased for Xen PVH mode. This hits
-mostly Xen PV mode specific areas.
-
-Split include/grub/i386/pc/int_types.h off from
-include/grub/i386/pc/int.h to support including this file later from
-xen_pvh code without the grub_bios_interrupt definition.
-
-Move definition of struct grub_e820_mmap_entry from
-grub-core/mmap/i386/pc/mmap.c to include/grub/i386/memory.h in order
-to make it usable from xen_pvh code.
-
-Signed-off-by: Juergen Gross <jgross@suse.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
-Tested-by: Hans van Kranenburg <hans@knorrie.org>
-(cherry picked from commit fc9d47ead56365c3335bb42cf651008c9ac1f494)
----
- grub-core/kern/i386/tsc.c | 2 +-
- grub-core/mmap/i386/pc/mmap.c | 8 -----
- include/grub/i386/memory.h | 7 ++++
- include/grub/i386/pc/int.h | 36 +------------------
- include/grub/i386/pc/int_types.h | 59 +++++++++++++++++++++++++++++++
- include/grub/i386/tsc.h | 2 +-
- include/grub/i386/xen/hypercall.h | 5 ++-
- include/grub/kernel.h | 4 ++-
- 8 files changed, 76 insertions(+), 47 deletions(-)
- create mode 100644 include/grub/i386/pc/int_types.h
-
-diff --git a/grub-core/kern/i386/tsc.c b/grub-core/kern/i386/tsc.c
-index 2e85289d8..b50831bfc 100644
---- a/grub-core/kern/i386/tsc.c
-+++ b/grub-core/kern/i386/tsc.c
-@@ -65,7 +65,7 @@ grub_tsc_init (void)
-
- tsc_boot_time = grub_get_tsc ();
-
--#ifdef GRUB_MACHINE_XEN
-+#if defined (GRUB_MACHINE_XEN) || defined (GRUB_MACHINE_XEN_PVH)
- (void) (grub_tsc_calibrate_from_xen () || calibrate_tsc_hardcode());
- #elif defined (GRUB_MACHINE_EFI)
- (void) (grub_tsc_calibrate_from_pit () || grub_tsc_calibrate_from_pmtimer () || grub_tsc_calibrate_from_efi() || calibrate_tsc_hardcode());
-diff --git a/grub-core/mmap/i386/pc/mmap.c b/grub-core/mmap/i386/pc/mmap.c
-index 609994516..6ab4f6730 100644
---- a/grub-core/mmap/i386/pc/mmap.c
-+++ b/grub-core/mmap/i386/pc/mmap.c
-@@ -42,14 +42,6 @@ extern grub_uint16_t grub_machine_mmaphook_kblow;
- extern grub_uint16_t grub_machine_mmaphook_kbin16mb;
- extern grub_uint16_t grub_machine_mmaphook_64kbin4gb;
-
--struct grub_e820_mmap_entry
--{
-- grub_uint64_t addr;
-- grub_uint64_t len;
-- grub_uint32_t type;
--} GRUB_PACKED;
--
--
- /* Helper for preboot. */
- static int fill_hook (grub_uint64_t addr, grub_uint64_t size,
- grub_memory_type_t type, void *data)
-diff --git a/include/grub/i386/memory.h b/include/grub/i386/memory.h
-index 8bb6e1cbb..5cb607fb4 100644
---- a/include/grub/i386/memory.h
-+++ b/include/grub/i386/memory.h
-@@ -44,6 +44,13 @@
-
- #include <grub/types.h>
-
-+struct grub_e820_mmap_entry
-+{
-+ grub_uint64_t addr;
-+ grub_uint64_t len;
-+ grub_uint32_t type;
-+} GRUB_PACKED;
-+
- grub_uint64_t grub_mmap_get_upper (void);
- grub_uint64_t grub_mmap_get_lower (void);
- grub_uint64_t grub_mmap_get_post64 (void);
-diff --git a/include/grub/i386/pc/int.h b/include/grub/i386/pc/int.h
-index 16a53e4fe..a60104001 100644
---- a/include/grub/i386/pc/int.h
-+++ b/include/grub/i386/pc/int.h
-@@ -20,45 +20,11 @@
- #define GRUB_INTERRUPT_MACHINE_HEADER 1
-
- #include <grub/symbol.h>
--#include <grub/types.h>
--
--struct grub_bios_int_registers
--{
-- grub_uint32_t eax;
-- grub_uint16_t es;
-- grub_uint16_t ds;
-- grub_uint16_t flags;
-- grub_uint16_t dummy;
-- grub_uint32_t ebx;
-- grub_uint32_t ecx;
-- grub_uint32_t edi;
-- grub_uint32_t esi;
-- grub_uint32_t edx;
--};
--
--#define GRUB_CPU_INT_FLAGS_CARRY 0x1
--#define GRUB_CPU_INT_FLAGS_PARITY 0x4
--#define GRUB_CPU_INT_FLAGS_ADJUST 0x10
--#define GRUB_CPU_INT_FLAGS_ZERO 0x40
--#define GRUB_CPU_INT_FLAGS_SIGN 0x80
--#define GRUB_CPU_INT_FLAGS_TRAP 0x100
--#define GRUB_CPU_INT_FLAGS_INTERRUPT 0x200
--#define GRUB_CPU_INT_FLAGS_DIRECTION 0x400
--#define GRUB_CPU_INT_FLAGS_OVERFLOW 0x800
--#ifdef GRUB_MACHINE_PCBIOS
--#define GRUB_CPU_INT_FLAGS_DEFAULT GRUB_CPU_INT_FLAGS_INTERRUPT
--#else
--#define GRUB_CPU_INT_FLAGS_DEFAULT 0
--#endif
-+#include <grub/i386/pc/int_types.h>
-
- void EXPORT_FUNC (grub_bios_interrupt) (grub_uint8_t intno,
- struct grub_bios_int_registers *regs)
- __attribute__ ((regparm(3)));
--struct grub_i386_idt
--{
-- grub_uint16_t limit;
-- grub_uint32_t base;
--} GRUB_PACKED;
-
- #ifdef GRUB_MACHINE_PCBIOS
- extern struct grub_i386_idt *EXPORT_VAR(grub_realidt);
-diff --git a/include/grub/i386/pc/int_types.h b/include/grub/i386/pc/int_types.h
-new file mode 100644
-index 000000000..2c5a69b63
---- /dev/null
-+++ b/include/grub/i386/pc/int_types.h
-@@ -0,0 +1,59 @@
-+/*
-+ * GRUB -- GRand Unified Bootloader
-+ * Copyright (C) 2018 Free Software Foundation, Inc.
-+ *
-+ * GRUB is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 3 of the License, or
-+ * (at your option) any later version.
-+ *
-+ * GRUB is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef GRUB_INTERRUPT_TYPES_MACHINE_HEADER
-+#define GRUB_INTERRUPT_TYPES_MACHINE_HEADER 1
-+
-+#include <grub/types.h>
-+
-+#define GRUB_CPU_INT_FLAGS_CARRY 0x1
-+#define GRUB_CPU_INT_FLAGS_PARITY 0x4
-+#define GRUB_CPU_INT_FLAGS_ADJUST 0x10
-+#define GRUB_CPU_INT_FLAGS_ZERO 0x40
-+#define GRUB_CPU_INT_FLAGS_SIGN 0x80
-+#define GRUB_CPU_INT_FLAGS_TRAP 0x100
-+#define GRUB_CPU_INT_FLAGS_INTERRUPT 0x200
-+#define GRUB_CPU_INT_FLAGS_DIRECTION 0x400
-+#define GRUB_CPU_INT_FLAGS_OVERFLOW 0x800
-+#ifdef GRUB_MACHINE_PCBIOS
-+#define GRUB_CPU_INT_FLAGS_DEFAULT GRUB_CPU_INT_FLAGS_INTERRUPT
-+#else
-+#define GRUB_CPU_INT_FLAGS_DEFAULT 0
-+#endif
-+
-+struct grub_bios_int_registers
-+{
-+ grub_uint32_t eax;
-+ grub_uint16_t es;
-+ grub_uint16_t ds;
-+ grub_uint16_t flags;
-+ grub_uint16_t dummy;
-+ grub_uint32_t ebx;
-+ grub_uint32_t ecx;
-+ grub_uint32_t edi;
-+ grub_uint32_t esi;
-+ grub_uint32_t edx;
-+};
-+
-+struct grub_i386_idt
-+{
-+ grub_uint16_t limit;
-+ grub_uint32_t base;
-+} GRUB_PACKED;
-+
-+#endif
-diff --git a/include/grub/i386/tsc.h b/include/grub/i386/tsc.h
-index a0aa2c573..324174ded 100644
---- a/include/grub/i386/tsc.h
-+++ b/include/grub/i386/tsc.h
-@@ -54,7 +54,7 @@ grub_get_tsc (void)
- static __inline int
- grub_cpu_is_tsc_supported (void)
- {
--#ifndef GRUB_MACHINE_XEN
-+#if !defined(GRUB_MACHINE_XEN) && !defined(GRUB_MACHINE_XEN_PVH)
- grub_uint32_t a,b,c,d;
- if (! grub_cpu_is_cpuid_supported ())
- return 0;
-diff --git a/include/grub/i386/xen/hypercall.h b/include/grub/i386/xen/hypercall.h
-index 198ee94af..4e4c12a49 100644
---- a/include/grub/i386/xen/hypercall.h
-+++ b/include/grub/i386/xen/hypercall.h
-@@ -26,7 +26,10 @@ EXPORT_FUNC (grub_xen_hypercall) (grub_uint32_t callno, grub_uint32_t a0,
- grub_uint32_t a1, grub_uint32_t a2,
- grub_uint32_t a3, grub_uint32_t a4,
- grub_uint32_t a5)
--__attribute__ ((regparm (3), cdecl));
-+#ifdef GRUB_MACHINE_XEN
-+ __attribute__ ((regparm (3), cdecl))
-+#endif
-+ ;
-
- static inline int
- grub_xen_sched_op (int cmd, void *arg)
-diff --git a/include/grub/kernel.h b/include/grub/kernel.h
-index 20ddf2da2..c17fc6e60 100644
---- a/include/grub/kernel.h
-+++ b/include/grub/kernel.h
-@@ -78,7 +78,9 @@ struct grub_module_info64
- #if defined (GRUB_MACHINE_PCBIOS) || defined (GRUB_MACHINE_COREBOOT) \
- || defined (GRUB_MACHINE_MULTIBOOT) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS) \
- || defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_ARC) \
-- || (defined (__sparc__) && defined (GRUB_MACHINE_IEEE1275)) || defined (GRUB_MACHINE_UBOOT) || defined (GRUB_MACHINE_XEN)
-+ || (defined (__sparc__) && defined (GRUB_MACHINE_IEEE1275)) \
-+ || defined (GRUB_MACHINE_UBOOT) || defined (GRUB_MACHINE_XEN) \
-+ || defined(GRUB_MACHINE_XEN_PVH)
- /* FIXME: stack is between 2 heap regions. Move it. */
- #define GRUB_KERNEL_PRELOAD_SPACE_REUSABLE 1
- #endif
---
-2.21.0
-