powerpc: Introduce asm-prototypes.h
Sparse picked up a number of functions that are implemented in C and then only referred to in asm code. This introduces asm-prototypes.h, which provides a place for prototypes of these functions. This silences some sparse warnings. Signed-off-by: Daniel Axtens <dja@axtens.net> [mpe: Add include guards, clean up copyright & GPL text] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
34852ed551
commit
42f5b4cacd
|
@ -0,0 +1,75 @@
|
|||
#ifndef _ASM_POWERPC_ASM_PROTOTYPES_H
|
||||
#define _ASM_POWERPC_ASM_PROTOTYPES_H
|
||||
/*
|
||||
* This file is for prototypes of C functions that are only called
|
||||
* from asm, and any associated variables.
|
||||
*
|
||||
* Copyright 2016, Daniel Axtens, IBM Corporation.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* as published by the Free Software Foundation; either version 2
|
||||
* of the License, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#include <linux/threads.h>
|
||||
#include <linux/kprobes.h>
|
||||
|
||||
/* SMP */
|
||||
extern struct thread_info *current_set[NR_CPUS];
|
||||
extern struct thread_info *secondary_ti;
|
||||
void start_secondary(void *unused);
|
||||
|
||||
/* kexec */
|
||||
struct paca_struct;
|
||||
struct kimage;
|
||||
extern struct paca_struct kexec_paca;
|
||||
void kexec_copy_flush(struct kimage *image);
|
||||
|
||||
/* pseries hcall tracing */
|
||||
extern struct static_key hcall_tracepoint_key;
|
||||
void __trace_hcall_entry(unsigned long opcode, unsigned long *args);
|
||||
void __trace_hcall_exit(long opcode, unsigned long retval,
|
||||
unsigned long *retbuf);
|
||||
/* OPAL tracing */
|
||||
#ifdef HAVE_JUMP_LABEL
|
||||
extern struct static_key opal_tracepoint_key;
|
||||
#endif
|
||||
|
||||
void __trace_opal_entry(unsigned long opcode, unsigned long *args);
|
||||
void __trace_opal_exit(long opcode, unsigned long retval);
|
||||
|
||||
/* VMX copying */
|
||||
int enter_vmx_usercopy(void);
|
||||
int exit_vmx_usercopy(void);
|
||||
int enter_vmx_copy(void);
|
||||
void * exit_vmx_copy(void *dest);
|
||||
|
||||
/* Traps */
|
||||
long machine_check_early(struct pt_regs *regs);
|
||||
long hmi_exception_realmode(struct pt_regs *regs);
|
||||
void SMIException(struct pt_regs *regs);
|
||||
void handle_hmi_exception(struct pt_regs *regs);
|
||||
void instruction_breakpoint_exception(struct pt_regs *regs);
|
||||
void RunModeException(struct pt_regs *regs);
|
||||
void __kprobes single_step_exception(struct pt_regs *regs);
|
||||
void __kprobes program_check_exception(struct pt_regs *regs);
|
||||
void alignment_exception(struct pt_regs *regs);
|
||||
void StackOverflow(struct pt_regs *regs);
|
||||
void nonrecoverable_exception(struct pt_regs *regs);
|
||||
void kernel_fp_unavailable_exception(struct pt_regs *regs);
|
||||
void altivec_unavailable_exception(struct pt_regs *regs);
|
||||
void vsx_unavailable_exception(struct pt_regs *regs);
|
||||
void fp_unavailable_tm(struct pt_regs *regs);
|
||||
void altivec_unavailable_tm(struct pt_regs *regs);
|
||||
void vsx_unavailable_tm(struct pt_regs *regs);
|
||||
void facility_unavailable_exception(struct pt_regs *regs);
|
||||
void TAUException(struct pt_regs *regs);
|
||||
void altivec_assist_exception(struct pt_regs *regs);
|
||||
void unrecoverable_exception(struct pt_regs *regs);
|
||||
void kernel_bad_stack(struct pt_regs *regs);
|
||||
void system_reset_exception(struct pt_regs *regs);
|
||||
void machine_check_exception(struct pt_regs *regs);
|
||||
void __kprobes emulation_assist_interrupt(struct pt_regs *regs);
|
||||
|
||||
#endif /* _ASM_POWERPC_ASM_PROTOTYPES_H */
|
|
@ -29,6 +29,7 @@
|
|||
#include <asm/prom.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/hw_breakpoint.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
|
||||
#ifdef CONFIG_PPC_BOOK3E
|
||||
int default_machine_kexec_prepare(struct kimage *image)
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
#include <asm/vdso.h>
|
||||
#include <asm/debug.h>
|
||||
#include <asm/kexec.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
|
||||
#ifdef DEBUG
|
||||
#include <asm/udbg.h>
|
||||
|
|
|
@ -60,6 +60,7 @@
|
|||
#include <asm/switch_to.h>
|
||||
#include <asm/tm.h>
|
||||
#include <asm/debug.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
#include <sysdev/fsl_pci.h>
|
||||
|
||||
#if defined(CONFIG_DEBUGGER) || defined(CONFIG_KEXEC)
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/uaccess.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <asm/switch_to.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
|
||||
int enter_vmx_usercopy(void)
|
||||
{
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#include <linux/percpu.h>
|
||||
#include <linux/jump_label.h>
|
||||
#include <asm/trace.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
|
||||
#ifdef HAVE_JUMP_LABEL
|
||||
struct static_key opal_tracepoint_key = STATIC_KEY_INIT;
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include <asm/plpar_wrappers.h>
|
||||
#include <asm/kexec.h>
|
||||
#include <asm/fadump.h>
|
||||
#include <asm/asm-prototypes.h>
|
||||
|
||||
#include "pseries.h"
|
||||
|
||||
|
|
Loading…
Reference in New Issue