File s390-tools-sles15sp2-25-zipl-move-Linux-layout-definitions-into-separate-hea.patch of Package s390-tools.16701

Subject: [PATCH] [FEAT VS1804] zipl: move Linux layout definitions into separate header
From: Marc Hartmayer <mhartmay@linux.ibm.com>

Summary:     genprotimg: Introduce new tool for the creation of PV images
Description: genprotimg takes a kernel, host-key documents, optionally an
             initrd, optionally a file with the kernel command line, and it
             generates a single, loadable image file. The image consists of a
             concatenation of a plain text boot loader, the encrypted
             components for kernel, initrd, and cmdline, and the
             integrity-protected PV header, containing metadata necessary for
             running the guest in PV mode. It's possible to use this image file
             as a kernel for zIPL or for a direct kernel boot using QEMU.
Upstream-ID: 7e37a1d4e0605ea120db18f82d039c055fd5d737
Problem-ID:  VS1804

Upstream-Description:

             zipl: move Linux layout definitions into separate header

             Move the Linux layout values to `include/boot/linux_layout.h`. This
             allows the reuse of the definitions, e.g. in assembler files, and
             later for the creation of linker scripts.

             Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
             Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
             Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
             Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>


Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
 include/boot/linux_layout.h |   33 +++++++++++++++++++++++++++++++++
 zipl/boot/stage3.h          |    9 ++-------
 zipl/include/zipl.h         |    3 +--
 3 files changed, 36 insertions(+), 9 deletions(-)

--- /dev/null
+++ b/include/boot/linux_layout.h
@@ -0,0 +1,33 @@
+/*
+ * s390 Linux layout definitions
+ *
+ * Copyright IBM Corp. 2020
+ *
+ * s390-tools is free software; you can redistribute it and/or modify
+ * it under the terms of the MIT license. See LICENSE for details.
+ */
+
+#ifndef LINUX_LAYOUT_H
+#define LINUX_LAYOUT_H
+
+#include "lib/zt_common.h"
+
+/* Entry address offsets */
+#define IMAGE_ENTRY		_AC(0x10000, UL)
+#define IMAGE_ENTRY_KDUMP	_AC(0x10010, UL)
+
+/* Parameter address offsets */
+#define IPL_DEVICE		_AC(0x10400, UL)
+#define INITRD_START		_AC(0x10408, UL)
+#define INITRD_SIZE		_AC(0x10410, UL)
+#define OLDMEM_BASE		_AC(0x10418, UL)
+#define OLDMEM_SIZE		_AC(0x10420, UL)
+#define COMMAND_LINE		_AC(0x10480, UL)
+
+/* Parameter sizes */
+#define COMMAND_LINE_SIZE	896
+
+
+#ifndef __ASSEMBLER__
+#endif /* __ASSEMBLER__ */
+#endif /* LINUX_LAYOUT_H */
--- a/zipl/boot/stage3.h
+++ b/zipl/boot/stage3.h
@@ -16,14 +16,9 @@
 #include "s390.h"
 
 #include "boot/ipl.h"
+#include "boot/linux_layout.h"
+
 
-#define IPL_DEVICE		 0x10400UL
-#define INITRD_START		 0x10408UL
-#define INITRD_SIZE		 0x10410UL
-#define OLDMEM_BASE		 0x10418UL
-#define OLDMEM_SIZE		 0x10420UL
-#define COMMAND_LINE		 0x10480UL
-#define COMMAND_LINE_SIZE	 896
 #define COMMAND_LINE_EXTRA       0xE000
 
 #define STAGE3_FLAG_SCSI	 0x0001000000000000ULL
--- a/zipl/include/zipl.h
+++ b/zipl/include/zipl.h
@@ -14,14 +14,13 @@
 
 #include <stdint.h>
 #include "lib/zt_common.h"
+#include "boot/linux_layout.h"
 
 #define ZIPL_MAGIC			"zIPL"
 #define ZIPL_MAGIC_SIZE			4
 #define DISK_LAYOUT_ID			0x00000001
 
 #define STAGE3_ENTRY			0xa000UL
-#define IMAGE_ENTRY			0x10000UL
-#define IMAGE_ENTRY_KDUMP		0x10010UL
 
 #define STAGE2_LOAD_ADDRESS		0x2000UL
 #define STAGE3_LOAD_ADDRESS		0xa000UL
openSUSE Build Service is sponsored by