|
@@ -84,7 +84,7 @@ struct pv_init_ops {
|
|
|
*/
|
|
|
unsigned (*patch)(u8 type, u16 clobber, void *insnbuf,
|
|
|
unsigned long addr, unsigned len);
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
|
|
|
struct pv_lazy_ops {
|
|
@@ -92,12 +92,12 @@ struct pv_lazy_ops {
|
|
|
void (*enter)(void);
|
|
|
void (*leave)(void);
|
|
|
void (*flush)(void);
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
struct pv_time_ops {
|
|
|
unsigned long long (*sched_clock)(void);
|
|
|
unsigned long long (*steal_clock)(int cpu);
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
struct pv_cpu_ops {
|
|
|
/* hooks for various privileged instructions */
|
|
@@ -176,7 +176,7 @@ struct pv_cpu_ops {
|
|
|
|
|
|
void (*start_context_switch)(struct task_struct *prev);
|
|
|
void (*end_context_switch)(struct task_struct *next);
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
struct pv_irq_ops {
|
|
|
/*
|
|
@@ -199,7 +199,7 @@ struct pv_irq_ops {
|
|
|
#ifdef CONFIG_X86_64
|
|
|
void (*adjust_exception_frame)(void);
|
|
|
#endif
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
struct pv_mmu_ops {
|
|
|
unsigned long (*read_cr2)(void);
|
|
@@ -305,7 +305,7 @@ struct pv_mmu_ops {
|
|
|
an mfn. We can tell which is which from the index. */
|
|
|
void (*set_fixmap)(unsigned /* enum fixed_addresses */ idx,
|
|
|
phys_addr_t phys, pgprot_t flags);
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
struct arch_spinlock;
|
|
|
#ifdef CONFIG_SMP
|
|
@@ -322,7 +322,7 @@ struct pv_lock_ops {
|
|
|
void (*kick)(int cpu);
|
|
|
|
|
|
struct paravirt_callee_save vcpu_is_preempted;
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
/* This contains all the paravirt structures: we get a convenient
|
|
|
* number for each function using the offset which we use to indicate
|
|
@@ -334,7 +334,7 @@ struct paravirt_patch_template {
|
|
|
struct pv_irq_ops pv_irq_ops;
|
|
|
struct pv_mmu_ops pv_mmu_ops;
|
|
|
struct pv_lock_ops pv_lock_ops;
|
|
|
-};
|
|
|
+} __no_randomize_layout;
|
|
|
|
|
|
extern struct pv_info pv_info;
|
|
|
extern struct pv_init_ops pv_init_ops;
|