aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir@xen.org>2012-06-20 09:37:29 +0100
committerKeir Fraser <keir@xen.org>2012-06-20 09:37:29 +0100
commit381b11e87376cc584f6ebc1962629443ae5a9841 (patch)
tree59fab5c0e980dcad3a3de01ed9f50adeab03f09a
parent0e716008e14d4eff7bc3ebb0663ea46ba39d4c49 (diff)
downloadxen-381b11e87376cc584f6ebc1962629443ae5a9841.tar.gz
xen-381b11e87376cc584f6ebc1962629443ae5a9841.tar.bz2
xen-381b11e87376cc584f6ebc1962629443ae5a9841.zip
x86: Make asmlinkage explicitly a no-op, and avoid usage in arch/x86
Signed-off-by: Keir Fraser <keir@xen.org> xen-unstable changeset: 24511:a141f6d64916 xen-unstable date: Sun Jan 15 22:02:35 2012 +0000
-rw-r--r--xen/arch/x86/acpi/power.c2
-rw-r--r--xen/arch/x86/hvm/svm/asid.c2
-rw-r--r--xen/arch/x86/hvm/svm/intr.c2
-rw-r--r--xen/arch/x86/hvm/svm/svm.c4
-rw-r--r--xen/arch/x86/hvm/vmx/intr.c2
-rw-r--r--xen/arch/x86/hvm/vmx/vmx.c6
-rw-r--r--xen/arch/x86/irq.c2
-rw-r--r--xen/arch/x86/trace.c2
-rw-r--r--xen/arch/x86/traps.c30
-rw-r--r--xen/arch/x86/x86_32/traps.c4
-rw-r--r--xen/arch/x86/x86_64/traps.c12
-rw-r--r--xen/include/asm-x86/config.h6
-rw-r--r--xen/include/asm-x86/irq.h2
-rw-r--r--xen/include/asm-x86/processor.h6
-rw-r--r--xen/include/asm-x86/x86_32/asm_defns.h2
-rw-r--r--xen/include/asm-x86/x86_64/asm_defns.h2
16 files changed, 42 insertions, 44 deletions
diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 53b5e17c44..7a08091b00 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -321,7 +321,7 @@ static void tboot_sleep(u8 sleep_state)
}
/* System is really put into sleep state by this stub */
-acpi_status asmlinkage acpi_enter_sleep_state(u8 sleep_state)
+acpi_status acpi_enter_sleep_state(u8 sleep_state)
{
acpi_status status;
diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
index 1723866f11..3b9c6ce0f6 100644
--- a/xen/arch/x86/hvm/svm/asid.c
+++ b/xen/arch/x86/hvm/svm/asid.c
@@ -38,7 +38,7 @@ void svm_asid_init(struct cpuinfo_x86 *c)
* Called directly before VMRUN. Checks if the VCPU needs a new ASID,
* assigns it, and if required, issues required TLB flushes.
*/
-asmlinkage void svm_asid_handle_vmrun(void)
+void svm_asid_handle_vmrun(void)
{
struct vcpu *curr = current;
struct vmcb_struct *vmcb = curr->arch.hvm_svm.vmcb;
diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
index 0a69d38142..77ce22fe78 100644
--- a/xen/arch/x86/hvm/svm/intr.c
+++ b/xen/arch/x86/hvm/svm/intr.c
@@ -116,7 +116,7 @@ static void enable_intr_window(struct vcpu *v, struct hvm_intack intack)
vmcb, general1_intercepts | GENERAL1_INTERCEPT_VINTR);
}
-asmlinkage void svm_intr_assist(void)
+void svm_intr_assist(void)
{
struct vcpu *v = current;
struct vmcb_struct *vmcb = v->arch.hvm_svm.vmcb;
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index faf82ba18d..85ce21ea82 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1534,7 +1534,7 @@ static struct hvm_function_table __read_mostly svm_function_table = {
.get_insn_bytes = svm_get_insn_bytes,
};
-asmlinkage void svm_vmexit_handler(struct cpu_user_regs *regs)
+void svm_vmexit_handler(struct cpu_user_regs *regs)
{
unsigned int exit_reason;
struct vcpu *v = current;
@@ -1851,7 +1851,7 @@ asmlinkage void svm_vmexit_handler(struct cpu_user_regs *regs)
vmcb_set_vintr(vmcb, intr);
}
-asmlinkage void svm_trace_vmentry(void)
+void svm_trace_vmentry(void)
{
HVMTRACE_ND (VMENTRY, 1/*cycles*/, 0, 0, 0, 0, 0, 0, 0);
}
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index f9cb3f9cd7..2e9b410ad5 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -109,7 +109,7 @@ static void enable_intr_window(struct vcpu *v, struct hvm_intack intack)
}
}
-asmlinkage void vmx_intr_assist(void)
+void vmx_intr_assist(void)
{
struct hvm_intack intack;
struct vcpu *v = current;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index c487d3cba0..fe7e69cc82 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2035,7 +2035,7 @@ static void vmx_failed_vmentry(unsigned int exit_reason,
domain_crash(curr->domain);
}
-asmlinkage void vmx_enter_realmode(struct cpu_user_regs *regs)
+void vmx_enter_realmode(struct cpu_user_regs *regs)
{
struct vcpu *v = current;
@@ -2089,7 +2089,7 @@ static int vmx_handle_eoi_write(void)
return 0;
}
-asmlinkage void vmx_vmexit_handler(struct cpu_user_regs *regs)
+void vmx_vmexit_handler(struct cpu_user_regs *regs)
{
unsigned int exit_reason, idtv_info, intr_info = 0, vector = 0;
unsigned long exit_qualification, inst_len = 0;
@@ -2518,7 +2518,7 @@ asmlinkage void vmx_vmexit_handler(struct cpu_user_regs *regs)
}
}
-asmlinkage void vmx_vmenter_helper(void)
+void vmx_vmenter_helper(void)
{
struct vcpu *curr = current;
u32 new_asid, old_asid;
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index c54f0bc4ba..5afa90b02e 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -636,7 +636,7 @@ void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask)
DEFINE_PER_CPU(unsigned int, irq_count);
-asmlinkage void do_IRQ(struct cpu_user_regs *regs)
+void do_IRQ(struct cpu_user_regs *regs)
{
struct irqaction *action;
uint32_t tsc_in;
diff --git a/xen/arch/x86/trace.c b/xen/arch/x86/trace.c
index 3ae3e2d40d..404f293188 100644
--- a/xen/arch/x86/trace.c
+++ b/xen/arch/x86/trace.c
@@ -11,7 +11,7 @@
#define TRC_64_FLAG 0
#endif
-asmlinkage void trace_hypercall(void)
+void trace_hypercall(void)
{
struct cpu_user_regs *regs = guest_cpu_user_regs();
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 78ed240ee2..5dd38fc3ef 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -420,7 +420,7 @@ static char *trapstr(int trapnr)
* are disabled). In such situations we can't do much that is safe. We try to
* print out some tracing and then we just spin.
*/
-asmlinkage void fatal_trap(int trapnr, struct cpu_user_regs *regs)
+void fatal_trap(int trapnr, struct cpu_user_regs *regs)
{
static DEFINE_PER_CPU(char, depth);
@@ -534,7 +534,7 @@ static unsigned int check_guest_io_breakpoint(struct vcpu *v,
* Called from asm to set up the MCE trapbounce info.
* Returns 0 if no callback is set up, else 1.
*/
-asmlinkage int set_guest_machinecheck_trapbounce(void)
+int set_guest_machinecheck_trapbounce(void)
{
struct vcpu *v = current;
struct trap_bounce *tb = &v->arch.trap_bounce;
@@ -548,7 +548,7 @@ asmlinkage int set_guest_machinecheck_trapbounce(void)
* Called from asm to set up the NMI trapbounce info.
* Returns 0 if no callback is set up, else 1.
*/
-asmlinkage int set_guest_nmi_trapbounce(void)
+int set_guest_nmi_trapbounce(void)
{
struct vcpu *v = current;
struct trap_bounce *tb = &v->arch.trap_bounce;
@@ -596,13 +596,13 @@ static inline void do_trap(
}
#define DO_ERROR_NOCODE(trapnr, name) \
-asmlinkage void do_##name(struct cpu_user_regs *regs) \
+void do_##name(struct cpu_user_regs *regs) \
{ \
do_trap(trapnr, regs, 0); \
}
#define DO_ERROR(trapnr, name) \
-asmlinkage void do_##name(struct cpu_user_regs *regs) \
+void do_##name(struct cpu_user_regs *regs) \
{ \
do_trap(trapnr, regs, 1); \
}
@@ -959,7 +959,7 @@ static int emulate_forced_invalid_op(struct cpu_user_regs *regs)
return EXCRET_fault_fixed;
}
-asmlinkage void do_invalid_op(struct cpu_user_regs *regs)
+void do_invalid_op(struct cpu_user_regs *regs)
{
struct bug_frame bug;
struct bug_frame_str bug_str;
@@ -1053,7 +1053,7 @@ asmlinkage void do_invalid_op(struct cpu_user_regs *regs)
panic("FATAL TRAP: vector = %d (invalid opcode)\n", TRAP_invalid_op);
}
-asmlinkage void do_int3(struct cpu_user_regs *regs)
+void do_int3(struct cpu_user_regs *regs)
{
DEBUGGER_trap_entry(TRAP_int3, regs);
@@ -1066,7 +1066,7 @@ asmlinkage void do_int3(struct cpu_user_regs *regs)
do_guest_trap(TRAP_int3, regs, 0);
}
-asmlinkage void do_machine_check(struct cpu_user_regs *regs)
+void do_machine_check(struct cpu_user_regs *regs)
{
machine_check_vector(regs, regs->error_code);
}
@@ -1367,7 +1367,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
* Bit 3: Reserved bit violation
* Bit 4: Instruction fetch
*/
-asmlinkage void do_page_fault(struct cpu_user_regs *regs)
+void do_page_fault(struct cpu_user_regs *regs)
{
unsigned long addr, fixup;
unsigned int error_code;
@@ -1433,7 +1433,7 @@ asmlinkage void do_page_fault(struct cpu_user_regs *regs)
* during early boot (an issue was seen once, but was most likely a hardware
* problem).
*/
-asmlinkage void __init do_early_page_fault(struct cpu_user_regs *regs)
+void __init do_early_page_fault(struct cpu_user_regs *regs)
{
static int stuck;
static unsigned long prev_eip, prev_cr2;
@@ -2978,7 +2978,7 @@ static void emulate_gate_op(struct cpu_user_regs *regs)
#endif
}
-asmlinkage void do_general_protection(struct cpu_user_regs *regs)
+void do_general_protection(struct cpu_user_regs *regs)
{
struct vcpu *v = current;
unsigned long fixup;
@@ -3248,7 +3248,7 @@ static int dummy_nmi_callback(struct cpu_user_regs *regs, int cpu)
static nmi_callback_t nmi_callback = dummy_nmi_callback;
-asmlinkage void do_nmi(struct cpu_user_regs *regs)
+void do_nmi(struct cpu_user_regs *regs)
{
unsigned int cpu = smp_processor_id();
unsigned char reason;
@@ -3284,7 +3284,7 @@ void unset_nmi_callback(void)
nmi_callback = dummy_nmi_callback;
}
-asmlinkage void do_device_not_available(struct cpu_user_regs *regs)
+void do_device_not_available(struct cpu_user_regs *regs)
{
struct vcpu *curr = current;
@@ -3325,7 +3325,7 @@ static void ler_enable(void)
wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl | 1);
}
-asmlinkage void do_debug(struct cpu_user_regs *regs)
+void do_debug(struct cpu_user_regs *regs)
{
struct vcpu *v = current;
@@ -3378,7 +3378,7 @@ asmlinkage void do_debug(struct cpu_user_regs *regs)
return;
}
-asmlinkage void do_spurious_interrupt_bug(struct cpu_user_regs *regs)
+void do_spurious_interrupt_bug(struct cpu_user_regs *regs)
{
}
diff --git a/xen/arch/x86/x86_32/traps.c b/xen/arch/x86/x86_32/traps.c
index 64baa3839e..4b224dc7b3 100644
--- a/xen/arch/x86/x86_32/traps.c
+++ b/xen/arch/x86/x86_32/traps.c
@@ -20,7 +20,7 @@
#include <public/callback.h>
-extern asmlinkage int hypercall(void);
+extern int hypercall(void);
static void print_xen_info(void)
{
@@ -229,7 +229,7 @@ static struct notifier_block cpu_doublefault_tss_nfb = {
.notifier_call = cpu_doublefault_tss_callback
};
-asmlinkage void do_double_fault(void)
+void do_double_fault(void)
{
struct tss_struct *tss;
unsigned int cpu;
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index 78a0452b49..2373435f29 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -23,10 +23,10 @@
#include <asm/hvm/support.h>
#include <public/callback.h>
-asmlinkage void syscall_enter(void);
-asmlinkage void sysenter_entry(void);
-asmlinkage void compat_hypercall(void);
-asmlinkage void int80_direct_trap(void);
+void syscall_enter(void);
+void sysenter_entry(void);
+void compat_hypercall(void);
+void int80_direct_trap(void);
static void print_xen_info(void)
{
@@ -215,8 +215,8 @@ void show_page_walk(unsigned long addr)
l1_table_offset(addr), l1e_get_intpte(l1e), pfn);
}
-asmlinkage void double_fault(void);
-asmlinkage void do_double_fault(struct cpu_user_regs *regs)
+void double_fault(void);
+void do_double_fault(struct cpu_user_regs *regs)
{
unsigned int cpu;
diff --git a/xen/include/asm-x86/config.h b/xen/include/asm-x86/config.h
index 27c766d2db..ea6f84f6e8 100644
--- a/xen/include/asm-x86/config.h
+++ b/xen/include/asm-x86/config.h
@@ -110,13 +110,13 @@ extern char wakeup_start[];
extern unsigned int video_mode, video_flags;
#endif
+#define asmlinkage
+
#if defined(__x86_64__)
#define CONFIG_X86_64 1
#define CONFIG_COMPAT 1
-#define asmlinkage
-
#define PML4_ENTRY_BITS 39
#ifndef __ASSEMBLY__
#define PML4_ENTRY_BYTES (1UL << PML4_ENTRY_BITS)
@@ -280,8 +280,6 @@ extern unsigned int video_mode, video_flags;
#define CONFIG_X86_32 1
#define CONFIG_DOMAIN_PAGE 1
-#define asmlinkage __attribute__((regparm(0)))
-
/*
* Memory layout (high to low): PAE-SIZE
* ------
diff --git a/xen/include/asm-x86/irq.h b/xen/include/asm-x86/irq.h
index 59a786028e..5d4f793076 100644
--- a/xen/include/asm-x86/irq.h
+++ b/xen/include/asm-x86/irq.h
@@ -97,7 +97,7 @@ fastcall void smp_thermal_interrupt(struct cpu_user_regs *regs);
fastcall void smp_cmci_interrupt(struct cpu_user_regs *regs);
fastcall void smp_irq_move_cleanup_interrupt(struct cpu_user_regs *regs);
-asmlinkage void do_IRQ(struct cpu_user_regs *regs);
+void do_IRQ(struct cpu_user_regs *regs);
void disable_8259A_irq(unsigned int irq);
void enable_8259A_irq(unsigned int irq);
diff --git a/xen/include/asm-x86/processor.h b/xen/include/asm-x86/processor.h
index 1751373f49..2ace0da47d 100644
--- a/xen/include/asm-x86/processor.h
+++ b/xen/include/asm-x86/processor.h
@@ -548,7 +548,7 @@ void show_registers(struct cpu_user_regs *regs);
void show_execution_state(struct cpu_user_regs *regs);
#define dump_execution_state() run_in_exception_handler(show_execution_state)
void show_page_walk(unsigned long addr);
-asmlinkage void fatal_trap(int trapnr, struct cpu_user_regs *regs);
+void fatal_trap(int trapnr, struct cpu_user_regs *regs);
#ifdef CONFIG_COMPAT
void compat_show_guest_stack(struct vcpu *, struct cpu_user_regs *, int lines);
@@ -562,8 +562,8 @@ extern void mtrr_bp_init(void);
void mcheck_init(struct cpuinfo_x86 *c, bool_t bsp);
#define DECLARE_TRAP_HANDLER(_name) \
-asmlinkage void _name(void); \
-asmlinkage void do_ ## _name(struct cpu_user_regs *regs)
+void _name(void); \
+void do_ ## _name(struct cpu_user_regs *regs)
DECLARE_TRAP_HANDLER(divide_error);
DECLARE_TRAP_HANDLER(debug);
DECLARE_TRAP_HANDLER(nmi);
diff --git a/xen/include/asm-x86/x86_32/asm_defns.h b/xen/include/asm-x86/x86_32/asm_defns.h
index 93f25d8ba3..cd869e174f 100644
--- a/xen/include/asm-x86/x86_32/asm_defns.h
+++ b/xen/include/asm-x86/x86_32/asm_defns.h
@@ -138,7 +138,7 @@ __asm__( \
#define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
#define BUILD_IRQ(nr) \
-asmlinkage void IRQ_NAME(nr); \
+void IRQ_NAME(nr); \
__asm__( \
"\n"__ALIGN_STR"\n" \
STR(IRQ) #nr "_interrupt:\n\t" \
diff --git a/xen/include/asm-x86/x86_64/asm_defns.h b/xen/include/asm-x86/x86_64/asm_defns.h
index 5c7159a7a5..e919e38990 100644
--- a/xen/include/asm-x86/x86_64/asm_defns.h
+++ b/xen/include/asm-x86/x86_64/asm_defns.h
@@ -114,7 +114,7 @@ __asm__( \
#define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
#define BUILD_IRQ(nr) \
-asmlinkage void IRQ_NAME(nr); \
+void IRQ_NAME(nr); \
__asm__( \
"\n"__ALIGN_STR"\n" \
STR(IRQ) #nr "_interrupt:\n\t" \