mirror of
https://github.com/torvalds/linux.git
synced 2024-12-01 08:31:37 +00:00
a1a392f0b4
KEXEC_CONTROL_MEMORY_LIMIT is an unsigned long value and therefore should be defined as one. Otherwise the kexec control page can be allocated above 2GB which will cause a specification exception on the sam31 instruction in the s390 kexec relocation code. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/*
|
|
* include/asm-s390/kexec.h
|
|
*
|
|
* (C) Copyright IBM Corp. 2005
|
|
*
|
|
* Author(s): Rolf Adelsberger <adelsberger@de.ibm.com>
|
|
*
|
|
*/
|
|
|
|
#ifndef _S390_KEXEC_H
|
|
#define _S390_KEXEC_H
|
|
|
|
#include <asm/page.h>
|
|
#include <asm/processor.h>
|
|
/*
|
|
* KEXEC_SOURCE_MEMORY_LIMIT maximum page get_free_page can return.
|
|
* I.e. Maximum page that is mapped directly into kernel memory,
|
|
* and kmap is not required.
|
|
*/
|
|
|
|
/* Maximum physical address we can use pages from */
|
|
#define KEXEC_SOURCE_MEMORY_LIMIT (-1UL)
|
|
|
|
/* Maximum address we can reach in physical address mode */
|
|
#define KEXEC_DESTINATION_MEMORY_LIMIT (-1UL)
|
|
|
|
/* Maximum address we can use for the control pages */
|
|
/* Not more than 2GB */
|
|
#define KEXEC_CONTROL_MEMORY_LIMIT (1UL<<31)
|
|
|
|
/* Allocate one page for the pdp and the second for the code */
|
|
#define KEXEC_CONTROL_CODE_SIZE 4096
|
|
|
|
/* The native architecture */
|
|
#define KEXEC_ARCH KEXEC_ARCH_S390
|
|
|
|
#define MAX_NOTE_BYTES 1024
|
|
|
|
/* Provide a dummy definition to avoid build failures. */
|
|
static inline void crash_setup_regs(struct pt_regs *newregs,
|
|
struct pt_regs *oldregs) { }
|
|
|
|
#endif /*_S390_KEXEC_H */
|