mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
While the GCC and Clang compilers already define __ASSEMBLER__ automatically when compiling assembly code, __ASSEMBLY__ is a macro that only gets defined by the Makefiles in the kernel. This can be very confusing when switching between userspace and kernelspace coding, or when dealing with uapi headers that rather should use __ASSEMBLER__ instead. So let's standardize now on the __ASSEMBLER__ macro that is provided by the compilers. This is a mostly mechanical patch (done with a simple "sed -i" statement), except for the following files where comments with mis-spelled macros were tweaked manually: arch/arm64/include/asm/stacktrace/frame.h arch/arm64/include/asm/kvm_ptrauth.h arch/arm64/include/asm/debug-monitors.h arch/arm64/include/asm/esr.h arch/arm64/include/asm/scs.h arch/arm64/include/asm/memory.h Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
// Copyright (C) 2017 Arm Ltd.
|
|
#ifndef __ASM_SDEI_H
|
|
#define __ASM_SDEI_H
|
|
|
|
/* Values for sdei_exit_mode */
|
|
#define SDEI_EXIT_HVC 0
|
|
#define SDEI_EXIT_SMC 1
|
|
|
|
#define SDEI_STACK_SIZE IRQ_STACK_SIZE
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/linkage.h>
|
|
#include <linux/preempt.h>
|
|
#include <linux/types.h>
|
|
|
|
#include <asm/virt.h>
|
|
|
|
DECLARE_PER_CPU(struct sdei_registered_event *, sdei_active_normal_event);
|
|
DECLARE_PER_CPU(struct sdei_registered_event *, sdei_active_critical_event);
|
|
|
|
extern unsigned long sdei_exit_mode;
|
|
|
|
/* Software Delegated Exception entry point from firmware*/
|
|
asmlinkage void __sdei_asm_handler(unsigned long event_num, unsigned long arg,
|
|
unsigned long pc, unsigned long pstate);
|
|
|
|
/* and its CONFIG_UNMAP_KERNEL_AT_EL0 trampoline */
|
|
asmlinkage void __sdei_asm_entry_trampoline(unsigned long event_num,
|
|
unsigned long arg,
|
|
unsigned long pc,
|
|
unsigned long pstate);
|
|
|
|
/* Abort a running handler. Context is discarded. */
|
|
void __sdei_handler_abort(void);
|
|
|
|
/*
|
|
* The above entry point does the minimum to call C code. This function does
|
|
* anything else, before calling the driver.
|
|
*/
|
|
struct sdei_registered_event;
|
|
asmlinkage unsigned long __sdei_handler(struct pt_regs *regs,
|
|
struct sdei_registered_event *arg);
|
|
|
|
unsigned long do_sdei_event(struct pt_regs *regs,
|
|
struct sdei_registered_event *arg);
|
|
|
|
unsigned long sdei_arch_get_entry_point(int conduit);
|
|
#define sdei_arch_get_entry_point(x) sdei_arch_get_entry_point(x)
|
|
|
|
#endif /* __ASSEMBLER__ */
|
|
#endif /* __ASM_SDEI_H */
|