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>
This commit is contained in:
Marc Hartmayer
2019-11-19 17:54:04 +01:00
committed by Jan Höppner
parent d884fb8db4
commit 7e37a1d4e0
3 changed files with 36 additions and 9 deletions

View File

@@ -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 */

View File

@@ -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

View File

@@ -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