/linux-4.4.14/drivers/lguest/ |
D | lg.h | 39 struct lg_cpu { struct 87 struct lg_cpu cpus[NR_CPUS]; argument 119 void __lgread(struct lg_cpu *, void *, unsigned long, unsigned); 120 void __lgwrite(struct lg_cpu *, unsigned long, const void *, unsigned); 141 int run_guest(struct lg_cpu *cpu, unsigned long __user *user); 154 unsigned int interrupt_pending(struct lg_cpu *cpu, bool *more); 155 void try_deliver_interrupt(struct lg_cpu *cpu, unsigned int irq, bool more); 156 void set_interrupt(struct lg_cpu *cpu, unsigned int irq); 157 bool deliver_trap(struct lg_cpu *cpu, unsigned int num); 158 void load_guest_idt_entry(struct lg_cpu *cpu, unsigned int i, [all …]
|
D | interrupts_and_traps.c | 51 static void push_guest_stack(struct lg_cpu *cpu, unsigned long *gstack, u32 val) in push_guest_stack() 68 static void push_guest_interrupt_stack(struct lg_cpu *cpu, bool has_err) in push_guest_interrupt_stack() 141 static void guest_run_interrupt(struct lg_cpu *cpu, u32 lo, u32 hi) in guest_run_interrupt() 173 static void restore_eflags(struct lg_cpu *cpu) in restore_eflags() 197 unsigned int interrupt_pending(struct lg_cpu *cpu, bool *more) in interrupt_pending() 226 void try_deliver_interrupt(struct lg_cpu *cpu, unsigned int irq, bool more) in try_deliver_interrupt() 309 void set_interrupt(struct lg_cpu *cpu, unsigned int irq) in set_interrupt() 384 bool deliver_trap(struct lg_cpu *cpu, unsigned int num) in deliver_trap() 465 void pin_stack_pages(struct lg_cpu *cpu) in pin_stack_pages() 493 void guest_set_stack(struct lg_cpu *cpu, u32 seg, u32 esp, unsigned int pages) in guest_set_stack() [all …]
|
D | page_tables.c | 83 static pgd_t *spgd_addr(struct lg_cpu *cpu, u32 i, unsigned long vaddr) in spgd_addr() 97 static pmd_t *spmd_addr(struct lg_cpu *cpu, pgd_t spgd, unsigned long vaddr) in spmd_addr() 115 static pte_t *spte_addr(struct lg_cpu *cpu, pgd_t spgd, unsigned long vaddr) in spte_addr() 136 static unsigned long gpgd_addr(struct lg_cpu *cpu, unsigned long vaddr) in gpgd_addr() 152 static unsigned long gpte_addr(struct lg_cpu *cpu, in gpte_addr() 162 static unsigned long gpte_addr(struct lg_cpu *cpu, in gpte_addr() 206 static pte_t gpte_to_spte(struct lg_cpu *cpu, pte_t gpte, int write) in gpte_to_spte() 253 static bool gpte_in_iomem(struct lg_cpu *cpu, pte_t gpte) in gpte_in_iomem() 263 static bool check_gpte(struct lg_cpu *cpu, pte_t gpte) in check_gpte() 273 static bool check_gpgd(struct lg_cpu *cpu, pgd_t gpgd) in check_gpgd() [all …]
|
D | segments.c | 67 static void fixup_gdt_table(struct lg_cpu *cpu, unsigned start, unsigned end) in fixup_gdt_table() 136 void setup_guest_gdt(struct lg_cpu *cpu) in setup_guest_gdt() 152 void copy_gdt_tls(const struct lg_cpu *cpu, struct desc_struct *gdt) in copy_gdt_tls() 165 void copy_gdt(const struct lg_cpu *cpu, struct desc_struct *gdt) in copy_gdt() 182 void load_guest_gdt_entry(struct lg_cpu *cpu, u32 num, u32 lo, u32 hi) in load_guest_gdt_entry() 210 void guest_load_tls(struct lg_cpu *cpu, unsigned long gtls) in guest_load_tls()
|
D | hypercalls.c | 37 static void do_hcall(struct lg_cpu *cpu, struct hcall_args *args) in do_hcall() 136 static void do_async_hcalls(struct lg_cpu *cpu) in do_async_hcalls() 198 static void initialize(struct lg_cpu *cpu) in initialize() 256 void do_hypercalls(struct lg_cpu *cpu) in do_hypercalls() 301 void write_timestamp(struct lg_cpu *cpu) in write_timestamp()
|
D | lguest_user.c | 19 static int getreg_setup(struct lg_cpu *cpu, const unsigned long __user *input) in getreg_setup() 41 static int setreg(struct lg_cpu *cpu, const unsigned long __user *input) in setreg() 67 static int user_send_irq(struct lg_cpu *cpu, const unsigned long __user *input) in user_send_irq() 88 static int trap(struct lg_cpu *cpu, const unsigned long __user *input) in trap() 108 struct lg_cpu *cpu; in read() 155 static int lg_cpu_start(struct lg_cpu *cpu, unsigned id, unsigned long start_ip) in lg_cpu_start() 307 struct lg_cpu *uninitialized_var(cpu); in write()
|
D | core.c | 184 void __lgread(struct lg_cpu *cpu, void *b, unsigned long addr, unsigned bytes) in __lgread() 195 void __lgwrite(struct lg_cpu *cpu, unsigned long addr, const void *b, in __lgwrite() 209 int run_guest(struct lg_cpu *cpu, unsigned long __user *user) in run_guest()
|
/linux-4.4.14/drivers/lguest/x86/ |
D | core.c | 72 static DEFINE_PER_CPU(struct lg_cpu *, lg_last_cpu); 85 static void copy_in_guest_info(struct lg_cpu *cpu, struct lguest_pages *pages) in copy_in_guest_info() 133 static void run_guest_once(struct lg_cpu *cpu, struct lguest_pages *pages) in run_guest_once() 185 unsigned long *lguest_arch_regptr(struct lg_cpu *cpu, size_t reg_off, bool any) in lguest_arch_regptr() 247 void lguest_arch_run_guest(struct lg_cpu *cpu) in lguest_arch_run_guest() 332 static void copy_from_guest(struct lg_cpu *cpu, in copy_from_guest() 359 static void setup_emulate_insn(struct lg_cpu *cpu) in setup_emulate_insn() 366 static void setup_iomem_insn(struct lg_cpu *cpu, unsigned long iomem_addr) in setup_iomem_insn() 375 void lguest_arch_handle_trap(struct lg_cpu *cpu) in lguest_arch_handle_trap() 631 int lguest_arch_do_hcall(struct lg_cpu *cpu, struct hcall_args *args) in lguest_arch_do_hcall() [all …]
|