Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
xen
xen-ops.h
Go to the documentation of this file.
1
#ifndef XEN_OPS_H
2
#define XEN_OPS_H
3
4
#include <
linux/init.h
>
5
#include <
linux/clocksource.h
>
6
#include <
linux/irqreturn.h
>
7
#include <xen/xen-ops.h>
8
9
/* These are code, but not functions. Defined in entry.S */
10
extern
const
char
xen_hypervisor_callback
[];
11
extern
const
char
xen_failsafe_callback
[];
12
13
extern
void
*
xen_initial_gdt
;
14
15
struct
trap_info
;
16
void
xen_copy_trap_info
(
struct
trap_info
*traps);
17
18
DECLARE_PER_CPU
(
struct
vcpu_info
, xen_vcpu_info);
19
DECLARE_PER_CPU
(
unsigned
long
, xen_cr3);
20
DECLARE_PER_CPU
(
unsigned
long
, xen_current_cr3);
21
22
extern
struct
start_info
*
xen_start_info
;
23
extern
struct
shared_info
xen_dummy_shared_info
;
24
extern
struct
shared_info
*
HYPERVISOR_shared_info
;
25
26
void
xen_setup_mfn_list_list
(
void
);
27
void
xen_setup_shared_info
(
void
);
28
void
xen_build_mfn_list_list
(
void
);
29
void
xen_setup_machphys_mapping
(
void
);
30
void
xen_setup_kernel_pagetable
(
pgd_t
*pgd,
unsigned
long
max_pfn
);
31
void
xen_reserve_top
(
void
);
32
extern
unsigned
long
xen_max_p2m_pfn
;
33
34
void
xen_set_pat
(
u64
);
35
36
char
*
__init
xen_memory_setup
(
void
);
37
void
__init
xen_arch_setup
(
void
);
38
void
xen_enable_sysenter
(
void
);
39
void
xen_enable_syscall
(
void
);
40
void
xen_vcpu_restore
(
void
);
41
42
void
xen_callback_vector
(
void
);
43
void
xen_hvm_init_shared_info
(
void
);
44
void
xen_unplug_emulated_devices
(
void
);
45
46
void
__init
xen_build_dynamic_phys_to_machine
(
void
);
47
unsigned
long
__init
xen_revector_p2m_tree
(
void
);
48
49
void
xen_init_irq_ops
(
void
);
50
void
xen_setup_timer
(
int
cpu
);
51
void
xen_setup_runstate_info
(
int
cpu
);
52
void
xen_teardown_timer
(
int
cpu
);
53
cycle_t
xen_clocksource_read
(
void
);
54
void
xen_setup_cpu_clockevents
(
void
);
55
void
__init
xen_init_time_ops
(
void
);
56
void
__init
xen_hvm_init_time_ops
(
void
);
57
58
irqreturn_t
xen_debug_interrupt
(
int
irq,
void
*
dev_id
);
59
60
bool
xen_vcpu_stolen
(
int
vcpu);
61
62
void
xen_setup_vcpu_info_placement
(
void
);
63
64
#ifdef CONFIG_SMP
65
void
xen_smp_init
(
void
);
66
void
__init
xen_hvm_smp_init
(
void
);
67
68
extern
cpumask_var_t
xen_cpu_initialized_map
;
69
#else
70
static
inline
void
xen_smp_init
(
void
) {}
71
static
inline
void
xen_hvm_smp_init
(
void
) {}
72
#endif
73
74
#ifdef CONFIG_PARAVIRT_SPINLOCKS
75
void
__init
xen_init_spinlocks
(
void
);
76
void
__cpuinit
xen_init_lock_cpu
(
int
cpu
);
77
void
xen_uninit_lock_cpu
(
int
cpu
);
78
#else
79
static
inline
void
xen_init_spinlocks
(
void
)
80
{
81
}
82
static
inline
void
xen_init_lock_cpu
(
int
cpu
)
83
{
84
}
85
static
inline
void
xen_uninit_lock_cpu
(
int
cpu
)
86
{
87
}
88
#endif
89
90
struct
dom0_vga_console_info
;
91
92
#ifdef CONFIG_XEN_DOM0
93
void
__init
xen_init_vga
(
const
struct
dom0_vga_console_info
*,
size_t
size
);
94
void
__init
xen_init_apic
(
void
);
95
#else
96
static
inline
void
__init
xen_init_vga
(
const
struct
dom0_vga_console_info
*
info
,
97
size_t
size
)
98
{
99
}
100
static
inline
void
__init
xen_init_apic
(
void
)
101
{
102
}
103
#endif
104
105
/* Declare an asm function, along with symbols needed to make it
106
inlineable */
107
#define DECL_ASM(ret, name, ...) \
108
ret name(__VA_ARGS__); \
109
extern char name##_end[]; \
110
extern char name##_reloc[] \
111
112
DECL_ASM
(
void
, xen_irq_enable_direct,
void
);
113
DECL_ASM
(
void
, xen_irq_disable_direct,
void
);
114
DECL_ASM
(
unsigned
long
, xen_save_fl_direct,
void
);
115
DECL_ASM
(
void
, xen_restore_fl_direct,
unsigned
long
);
116
117
/* These are not functions, and cannot be called normally */
118
void
xen_iret
(
void
);
119
void
xen_sysexit
(
void
);
120
void
xen_sysret32
(
void
);
121
void
xen_sysret64
(
void
);
122
void
xen_adjust_exception_frame
(
void
);
123
124
extern
int
xen_panic_handler_init
(
void
);
125
126
#endif
/* XEN_OPS_H */
Generated on Thu Jan 10 2013 13:22:10 for Linux Kernel by
1.8.2