mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-21 08:53:41 +00:00
2f4dfe206a
With the advent of kdump, the assumption that the boot CPU when booting an UP kernel is always the CPU with a particular hardware ID (often 0) (usually referred to as BSP on some architectures) is not valid anymore. The reason being that the dump capture kernel boots on the crashed CPU (the CPU that invoked crash_kexec), which may be or may not be that particular CPU. Move definition of hard_smp_processor_id for the UP case to architecture-specific code ("asm/smp.h") where it belongs, so that each architecture can provide its own implementation. Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp> Cc: "Luck, Tony" <tony.luck@intel.com> Acked-by: Andi Kleen <ak@suse.de> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
58 lines
1.0 KiB
C
58 lines
1.0 KiB
C
/* smp.h: Sparc64 specific SMP stuff.
|
|
*
|
|
* Copyright (C) 1996 David S. Miller (davem@caip.rutgers.edu)
|
|
*/
|
|
|
|
#ifndef _SPARC64_SMP_H
|
|
#define _SPARC64_SMP_H
|
|
|
|
#include <linux/threads.h>
|
|
#include <asm/asi.h>
|
|
#include <asm/starfire.h>
|
|
#include <asm/spitfire.h>
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
#include <linux/cpumask.h>
|
|
#include <linux/cache.h>
|
|
|
|
#endif /* !(__ASSEMBLY__) */
|
|
|
|
#ifdef CONFIG_SMP
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
/*
|
|
* Private routines/data
|
|
*/
|
|
|
|
#include <asm/bitops.h>
|
|
#include <asm/atomic.h>
|
|
|
|
extern cpumask_t phys_cpu_present_map;
|
|
#define cpu_possible_map phys_cpu_present_map
|
|
|
|
extern cpumask_t cpu_sibling_map[NR_CPUS];
|
|
|
|
/*
|
|
* General functions that each host system must provide.
|
|
*/
|
|
|
|
extern int hard_smp_processor_id(void);
|
|
#define raw_smp_processor_id() (current_thread_info()->cpu)
|
|
|
|
extern void smp_setup_cpu_possible_map(void);
|
|
extern unsigned char boot_cpu_id;
|
|
|
|
#endif /* !(__ASSEMBLY__) */
|
|
|
|
#else
|
|
|
|
#define hard_smp_processor_id() 0
|
|
#define smp_setup_cpu_possible_map() do { } while (0)
|
|
#define boot_cpu_id (0)
|
|
|
|
#endif /* !(CONFIG_SMP) */
|
|
|
|
#endif /* !(_SPARC64_SMP_H) */
|