mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
Replace struct install_set with a new type containing multiple program tables and program components. Refactor the code accordingly. When retrieving device INFO, for each mirror complete a respective structure disk_info in the INFO.BASE array. When building a bootmap, for each mirror create a separate program table (or a pair of tables in case of DASD - for CCW-TYPE IPL and for LD-IPL), using respective components in the arrays INFO.BASE and BIS.MIRRORS Make data of program components added via get_component_buffer() and get_component_file() be duplicated per each mirror. Make boot record on each mirror point out to a respective program table in the bootmap (when booting from different mirrors, different program tables in the bootmap are used). This patch doesn't make functional changes. However, test cases comparing boot meta-data dumps of different mirrors may fail (since boot records on different mirrors now refer different copies of boot data). This will be fixed by the next patches in the series which allow boot data to be reused. Signed-off-by: Eduard Shishkin <edward6@linux.ibm.com> Reviewed-by: Stefan Haberland <sth@linux.ibm.com> Signed-off-by: Steffen Eiden <seiden@linux.ibm.com>
70 lines
1.9 KiB
C
70 lines
1.9 KiB
C
/*
|
|
* s390-tools/zipl/include/zipl.h
|
|
* zSeries Initial Program Loader tool.
|
|
*
|
|
* Copyright IBM Corp. 2001, 2017
|
|
*
|
|
* 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 ZIPL_H
|
|
#define ZIPL_H
|
|
|
|
#include <stdint.h>
|
|
#include "lib/zt_common.h"
|
|
#include "lib/util_base.h"
|
|
#include "boot/loaders_layout.h"
|
|
|
|
#define ADDRESS_LIMIT 0x80000000UL
|
|
#define UNSPECIFIED_ADDRESS -1UL
|
|
#define LEGACY_MAXIMUM_PARMLINE_SIZE 0x380UL
|
|
#define MAXIMUM_PARMLINE_SIZE 0x10000UL
|
|
#define MAXIMUM_PHYSICAL_BLOCKSIZE 0x1000UL
|
|
|
|
#define BOOTMAP_FILENAME "bootmap"
|
|
#define BOOTMAP_TEMPLATE_FILENAME "bootmap_temp.XXXXXX"
|
|
#define DUMP_TEMP_MOUNT_POINT_DIR "/tmp"
|
|
#define DUMP_TEMP_MOUNT_POINT_NAME "zipl-dump-mount-point-XXXXXX"
|
|
#define DUMP_META_FILE_NAME "ngdump.meta"
|
|
|
|
#define DEFAULTBOOT_SECTION "defaultboot"
|
|
|
|
#define ZIPL_CONF_VAR "ZIPLCONF"
|
|
#define ZIPL_RUNTIME_CONF "/run/zipl/zipl.conf"
|
|
#define ZIPL_DEFAULT_CONF TOOLS_SYSCONFDIR "/zipl.conf"
|
|
#define ZIPL_MINIMAL_CONF TOOLS_LIBDIR "/zipl.conf"
|
|
#define ZIPL_DEFAULT_BLSDIR "/boot/loader/entries"
|
|
#define ZIPL_STAGE3_PATH util_libdir_path("stage3.bin")
|
|
#define ZIPL_SIPL_PATH "/sys/firmware/ipl/has_secure"
|
|
|
|
#define MENU_DEFAULT_PROMPT 0
|
|
#define MENU_DEFAULT_TIMEOUT 0
|
|
|
|
#define MAX_DUMP_VOLUMES 32
|
|
#define MAX_TARGETS 32
|
|
#define FIRST_MIRROR_ID 0
|
|
|
|
#define SECURE_BOOT_UNDEFINED -1
|
|
#define SECURE_BOOT_DISABLED 0
|
|
#define SECURE_BOOT_ENABLED 1
|
|
#define SECURE_BOOT_AUTO 2
|
|
|
|
/* Internal component load address type */
|
|
typedef uint64_t address_t;
|
|
|
|
/* Type for address calculations */
|
|
#define VOID_ADD(ptr, offset) ((void *) (((unsigned long) ptr) + \
|
|
((unsigned long) offset)))
|
|
|
|
/* Call a function depending on the value of dry_run and return either the
|
|
* resulting return code or 0. */
|
|
#define DRY_RUN_FUNC(x) (dry_run ? 0 : (x))
|
|
|
|
extern int verbose;
|
|
extern int interactive;
|
|
extern int dry_run;
|
|
|
|
#endif /* not ZIPL_H */
|