Merge branch 'timers/urgent' into timers/core
Pick up urgent fixes to apply dependent cleanup patch
This commit is contained in:
@@ -46,4 +46,27 @@
|
||||
static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||
struct pt_regs *oldregs) { }
|
||||
|
||||
struct kimage;
|
||||
struct s390_load_data {
|
||||
/* Pointer to the kernel buffer. Used to register cmdline etc.. */
|
||||
void *kernel_buf;
|
||||
|
||||
/* Total size of loaded segments in memory. Used as an offset. */
|
||||
size_t memsz;
|
||||
|
||||
/* Load address of initrd. Used to register INITRD_START in kernel. */
|
||||
unsigned long initrd_load_addr;
|
||||
};
|
||||
|
||||
int kexec_file_add_purgatory(struct kimage *image,
|
||||
struct s390_load_data *data);
|
||||
int kexec_file_add_initrd(struct kimage *image,
|
||||
struct s390_load_data *data,
|
||||
char *initrd, unsigned long initrd_len);
|
||||
int *kexec_file_update_kernel(struct kimage *iamge,
|
||||
struct s390_load_data *data);
|
||||
|
||||
extern const struct kexec_file_ops s390_kexec_image_ops;
|
||||
extern const struct kexec_file_ops s390_kexec_elf_ops;
|
||||
|
||||
#endif /*_S390_KEXEC_H */
|
||||
|
17
arch/s390/include/asm/purgatory.h
Normal file
17
arch/s390/include/asm/purgatory.h
Normal file
@@ -0,0 +1,17 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* Copyright IBM Corp. 2018
|
||||
*
|
||||
* Author(s): Philipp Rudo <prudo@linux.vnet.ibm.com>
|
||||
*/
|
||||
|
||||
#ifndef _S390_PURGATORY_H_
|
||||
#define _S390_PURGATORY_H_
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#include <linux/purgatory.h>
|
||||
|
||||
int verify_sha256_digest(void);
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* _S390_PURGATORY_H_ */
|
@@ -1,7 +1,7 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
/*
|
||||
* S390 version
|
||||
* Copyright IBM Corp. 1999, 2010
|
||||
* Copyright IBM Corp. 1999, 2017
|
||||
*/
|
||||
#ifndef _ASM_S390_SETUP_H
|
||||
#define _ASM_S390_SETUP_H
|
||||
@@ -37,17 +37,31 @@
|
||||
#define LPP_MAGIC _BITUL(31)
|
||||
#define LPP_PID_MASK _AC(0xffffffff, UL)
|
||||
|
||||
/* Offsets to entry points in kernel/head.S */
|
||||
|
||||
#define STARTUP_NORMAL_OFFSET 0x10000
|
||||
#define STARTUP_KDUMP_OFFSET 0x10010
|
||||
|
||||
/* Offsets to parameters in kernel/head.S */
|
||||
|
||||
#define IPL_DEVICE_OFFSET 0x10400
|
||||
#define INITRD_START_OFFSET 0x10408
|
||||
#define INITRD_SIZE_OFFSET 0x10410
|
||||
#define OLDMEM_BASE_OFFSET 0x10418
|
||||
#define OLDMEM_SIZE_OFFSET 0x10420
|
||||
#define COMMAND_LINE_OFFSET 0x10480
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
#include <asm/lowcore.h>
|
||||
#include <asm/types.h>
|
||||
|
||||
#define IPL_DEVICE (*(unsigned long *) (0x10400))
|
||||
#define INITRD_START (*(unsigned long *) (0x10408))
|
||||
#define INITRD_SIZE (*(unsigned long *) (0x10410))
|
||||
#define OLDMEM_BASE (*(unsigned long *) (0x10418))
|
||||
#define OLDMEM_SIZE (*(unsigned long *) (0x10420))
|
||||
#define COMMAND_LINE ((char *) (0x10480))
|
||||
#define IPL_DEVICE (*(unsigned long *) (IPL_DEVICE_OFFSET))
|
||||
#define INITRD_START (*(unsigned long *) (INITRD_START_OFFSET))
|
||||
#define INITRD_SIZE (*(unsigned long *) (INITRD_SIZE_OFFSET))
|
||||
#define OLDMEM_BASE (*(unsigned long *) (OLDMEM_BASE_OFFSET))
|
||||
#define OLDMEM_SIZE (*(unsigned long *) (OLDMEM_SIZE_OFFSET))
|
||||
#define COMMAND_LINE ((char *) (COMMAND_LINE_OFFSET))
|
||||
|
||||
extern int memory_end_set;
|
||||
extern unsigned long memory_end;
|
||||
@@ -121,12 +135,12 @@ extern void (*_machine_power_off)(void);
|
||||
|
||||
#else /* __ASSEMBLY__ */
|
||||
|
||||
#define IPL_DEVICE 0x10400
|
||||
#define INITRD_START 0x10408
|
||||
#define INITRD_SIZE 0x10410
|
||||
#define OLDMEM_BASE 0x10418
|
||||
#define OLDMEM_SIZE 0x10420
|
||||
#define COMMAND_LINE 0x10480
|
||||
#define IPL_DEVICE (IPL_DEVICE_OFFSET)
|
||||
#define INITRD_START (INITRD_START_OFFSET)
|
||||
#define INITRD_SIZE (INITRD_SIZE_OFFSET)
|
||||
#define OLDMEM_BASE (OLDMEM_BASE_OFFSET)
|
||||
#define OLDMEM_SIZE (OLDMEM_SIZE_OFFSET)
|
||||
#define COMMAND_LINE (COMMAND_LINE_OFFSET)
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* _ASM_S390_SETUP_H */
|
||||
|
@@ -45,6 +45,9 @@ struct thread_info {
|
||||
void arch_release_task_struct(struct task_struct *tsk);
|
||||
int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src);
|
||||
|
||||
void arch_setup_new_exec(void);
|
||||
#define arch_setup_new_exec arch_setup_new_exec
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user