diff options
Diffstat (limited to 'main/grub/0010-xen-Add-PVH-boot-entry-code.patch')
-rw-r--r-- | main/grub/0010-xen-Add-PVH-boot-entry-code.patch | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/main/grub/0010-xen-Add-PVH-boot-entry-code.patch b/main/grub/0010-xen-Add-PVH-boot-entry-code.patch deleted file mode 100644 index 33c520f2d80..00000000000 --- a/main/grub/0010-xen-Add-PVH-boot-entry-code.patch +++ /dev/null @@ -1,86 +0,0 @@ -From da39673d5d194e66c9ad70ad4de4e90ee69f0886 Mon Sep 17 00:00:00 2001 -From: Juergen Gross <jgross@suse.com> -Date: Fri, 7 Dec 2018 13:11:38 +0100 -Subject: [PATCH 10/20] xen: Add PVH boot entry code - -Add the code for the Xen PVH mode boot entry. - -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 1a4d83af2fc1eb0a0951775a2b86860ab074c699) ---- - grub-core/kern/i386/xen/startup_pvh.S | 52 +++++++++++++++++++++++++++ - 1 file changed, 52 insertions(+) - -diff --git a/grub-core/kern/i386/xen/startup_pvh.S b/grub-core/kern/i386/xen/startup_pvh.S -index 69b8fdcca..363c31858 100644 ---- a/grub-core/kern/i386/xen/startup_pvh.S -+++ b/grub-core/kern/i386/xen/startup_pvh.S -@@ -19,11 +19,63 @@ - - #include <config.h> - #include <grub/symbol.h> -+#include <grub/machine/memory.h> - - .file "startup_pvh.S" - .text -+ .globl start, _start -+ .code32 - -+start: -+_start: -+ cld -+ lgdt gdtdesc -+ ljmp $GRUB_MEMORY_MACHINE_PROT_MODE_CSEG, $1f -+1: -+ movl $GRUB_MEMORY_MACHINE_PROT_MODE_DSEG, %eax -+ mov %eax, %ds -+ mov %eax, %es -+ mov %eax, %fs -+ mov %eax, %gs -+ mov %eax, %ss -+ leal LOCAL(stack_end), %esp -+ -+ /* Save address of start info structure. */ -+ mov %ebx, pvh_start_info -+ call EXT_C(grub_main) -+ /* Doesn't return. */ -+ -+ .p2align 3 -+gdt: -+ .word 0, 0 -+ .byte 0, 0, 0, 0 -+ -+ /* -- code segment -- -+ * base = 0x00000000, limit = 0xFFFFF (4 KiB Granularity), present -+ * type = 32bit code execute/read, DPL = 0 -+ */ -+ .word 0xFFFF, 0 -+ .byte 0, 0x9A, 0xCF, 0 -+ -+ /* -- data segment -- -+ * base = 0x00000000, limit 0xFFFFF (4 KiB Granularity), present -+ * type = 32 bit data read/write, DPL = 0 -+ */ -+ .word 0xFFFF, 0 -+ .byte 0, 0x92, 0xCF, 0 -+ -+ .p2align 3 -+/* this is the GDT descriptor */ -+gdtdesc: -+ .word 0x17 /* limit */ -+ .long gdt /* addr */ -+ -+ .p2align 2 - /* Saved pointer to start info structure. */ - .globl pvh_start_info - pvh_start_info: - .long 0 -+ -+ .bss -+ .space GRUB_MEMORY_MACHINE_PROT_STACK_SIZE -+LOCAL(stack_end): --- -2.21.0 - |