mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
On 32-bit IRQ_STACK_SIZE is the same as THREAD_SIZE. To allow sharing struct irq_stack with 32-bit, define IRQ_STACK_SIZE for 32-bit and use it for struct irq_stack. No functional change. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: Dave Hansen <dave.hansen@intel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Kosina <jkosina@suse.cz> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Juergen Gross <jgross@suse.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Nick Desaulniers <ndesaulniers@google.com> Cc: Sean Christopherson <sean.j.christopherson@intel.com> Cc: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: x86-ml <x86@kernel.org> Link: https://lkml.kernel.org/r/20190414160145.632513987@linutronix.de
63 lines
1.7 KiB
C
63 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_X86_PAGE_32_DEFS_H
|
|
#define _ASM_X86_PAGE_32_DEFS_H
|
|
|
|
#include <linux/const.h>
|
|
|
|
/*
|
|
* This handles the memory map.
|
|
*
|
|
* A __PAGE_OFFSET of 0xC0000000 means that the kernel has
|
|
* a virtual address space of one gigabyte, which limits the
|
|
* amount of physical memory you can use to about 950MB.
|
|
*
|
|
* If you want more physical memory than this then see the CONFIG_HIGHMEM4G
|
|
* and CONFIG_HIGHMEM64G options in the kernel configuration.
|
|
*/
|
|
#define __PAGE_OFFSET_BASE _AC(CONFIG_PAGE_OFFSET, UL)
|
|
#define __PAGE_OFFSET __PAGE_OFFSET_BASE
|
|
|
|
#define __START_KERNEL_map __PAGE_OFFSET
|
|
|
|
#define THREAD_SIZE_ORDER 1
|
|
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
|
|
|
|
#define IRQ_STACK_SIZE THREAD_SIZE
|
|
|
|
#define N_EXCEPTION_STACKS 1
|
|
|
|
#ifdef CONFIG_X86_PAE
|
|
/*
|
|
* This is beyond the 44 bit limit imposed by the 32bit long pfns,
|
|
* but we need the full mask to make sure inverted PROT_NONE
|
|
* entries have all the host bits set in a guest.
|
|
* The real limit is still 44 bits.
|
|
*/
|
|
#define __PHYSICAL_MASK_SHIFT 52
|
|
#define __VIRTUAL_MASK_SHIFT 32
|
|
|
|
#else /* !CONFIG_X86_PAE */
|
|
#define __PHYSICAL_MASK_SHIFT 32
|
|
#define __VIRTUAL_MASK_SHIFT 32
|
|
#endif /* CONFIG_X86_PAE */
|
|
|
|
/*
|
|
* Kernel image size is limited to 512 MB (see in arch/x86/kernel/head_32.S)
|
|
*/
|
|
#define KERNEL_IMAGE_SIZE (512 * 1024 * 1024)
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
/*
|
|
* This much address space is reserved for vmalloc() and iomap()
|
|
* as well as fixmap mappings.
|
|
*/
|
|
extern unsigned int __VMALLOC_RESERVE;
|
|
extern int sysctl_legacy_va_layout;
|
|
|
|
extern void find_low_pfn_range(void);
|
|
extern void setup_bootmem_allocator(void);
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#endif /* _ASM_X86_PAGE_32_DEFS_H */
|