forked from luck/tmp_suning_uos_patched
x86, asmlinkage, paravirt: Add __visible/asmlinkage to xen paravirt ops
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Andi Kleen <ak@linux.intel.com> Link: http://lkml.kernel.org/r/1375740170-7446-13-git-send-email-andi@firstfloor.org Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:
parent
54c2f3fdb9
commit
9a55fdbe94
|
@ -387,7 +387,8 @@ extern struct pv_lock_ops pv_lock_ops;
|
|||
|
||||
/* Simple instruction patching code. */
|
||||
#define DEF_NATIVE(ops, name, code) \
|
||||
extern const char start_##ops##_##name[], end_##ops##_##name[]; \
|
||||
extern const char start_##ops##_##name[] __visible, \
|
||||
end_##ops##_##name[] __visible; \
|
||||
asm("start_" #ops "_" #name ": " code "; end_" #ops "_" #name ":")
|
||||
|
||||
unsigned paravirt_patch_nop(void);
|
||||
|
|
|
@ -324,7 +324,7 @@ struct pv_time_ops pv_time_ops = {
|
|||
.steal_clock = native_steal_clock,
|
||||
};
|
||||
|
||||
struct pv_irq_ops pv_irq_ops = {
|
||||
__visible struct pv_irq_ops pv_irq_ops = {
|
||||
.save_fl = __PV_IS_CALLEE_SAVE(native_save_fl),
|
||||
.restore_fl = __PV_IS_CALLEE_SAVE(native_restore_fl),
|
||||
.irq_disable = __PV_IS_CALLEE_SAVE(native_irq_disable),
|
||||
|
@ -336,7 +336,7 @@ struct pv_irq_ops pv_irq_ops = {
|
|||
#endif
|
||||
};
|
||||
|
||||
struct pv_cpu_ops pv_cpu_ops = {
|
||||
__visible struct pv_cpu_ops pv_cpu_ops = {
|
||||
.cpuid = native_cpuid,
|
||||
.get_debugreg = native_get_debugreg,
|
||||
.set_debugreg = native_set_debugreg,
|
||||
|
|
|
@ -105,9 +105,9 @@ static inline void __init xen_init_apic(void)
|
|||
/* Declare an asm function, along with symbols needed to make it
|
||||
inlineable */
|
||||
#define DECL_ASM(ret, name, ...) \
|
||||
ret name(__VA_ARGS__); \
|
||||
extern char name##_end[]; \
|
||||
extern char name##_reloc[] \
|
||||
asmlinkage ret name(__VA_ARGS__); \
|
||||
extern char name##_end[] __visible; \
|
||||
extern char name##_reloc[] __visible
|
||||
|
||||
DECL_ASM(void, xen_irq_enable_direct, void);
|
||||
DECL_ASM(void, xen_irq_disable_direct, void);
|
||||
|
@ -115,11 +115,11 @@ DECL_ASM(unsigned long, xen_save_fl_direct, void);
|
|||
DECL_ASM(void, xen_restore_fl_direct, unsigned long);
|
||||
|
||||
/* These are not functions, and cannot be called normally */
|
||||
void xen_iret(void);
|
||||
void xen_sysexit(void);
|
||||
void xen_sysret32(void);
|
||||
void xen_sysret64(void);
|
||||
void xen_adjust_exception_frame(void);
|
||||
asmlinkage void xen_iret(void);
|
||||
asmlinkage void xen_sysexit(void);
|
||||
asmlinkage void xen_sysret32(void);
|
||||
asmlinkage void xen_sysret64(void);
|
||||
asmlinkage void xen_adjust_exception_frame(void);
|
||||
|
||||
extern int xen_panic_handler_init(void);
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user