/drivers/lguest/ |
H A D | Makefile | 5 obj-$(CONFIG_LGUEST) += lg.o 6 lg-y = core.o hypercalls.o page_tables.o interrupts_and_traps.o \ 9 lg-$(CONFIG_X86_32) += x86/switcher_32.o x86/core.o
|
H A D | core.c | 21 #include "lg.h" 171 bool lguest_address_ok(const struct lguest *lg, argument 174 return (addr+len) / PAGE_SIZE < lg->pfn_limit && (addr+len >= addr); 184 if (!lguest_address_ok(cpu->lg, addr, bytes) 185 || copy_from_user(b, cpu->lg->mem_base + addr, bytes) != 0) { 196 if (!lguest_address_ok(cpu->lg, addr, bytes) 197 || copy_to_user(cpu->lg->mem_base + addr, b, bytes) != 0) 210 while (!cpu->lg->dead) { 259 if (cpu->lg->dead) 296 if (cpu->lg [all...] |
H A D | lguest_user.c | 17 #include "lg.h" 42 * cpu->lg->eventfds before cpu->lg->eventfds is set. Sounds crazy, 49 map = rcu_dereference(cpu->lg->eventfds); 61 /* We're done with the rcu-protected variable cpu->lg->eventfds. */ 82 * element. Then we make the lg eventfd pointer point to the new array. 90 static int add_eventfd(struct lguest *lg, unsigned long addr, int fd) argument 92 struct lg_eventfd_map *new, *old = lg->eventfds; 126 * doing "lg->eventfds = new", but it uses memory barriers to make 133 rcu_assign_pointer(lg 153 attach_eventfd(struct lguest *lg, const unsigned long __user *input) argument 203 struct lguest *lg = file->private_data; local 320 struct lguest *lg; local 408 struct lguest *lg = file->private_data; local 453 struct lguest *lg = file->private_data; local [all...] |
H A D | interrupts_and_traps.c | 20 #include "lg.h" 116 if (get_user(irq_enable, &cpu->lg->lguest_data->irq_enabled) == 0 147 if (put_user(0, &cpu->lg->lguest_data->irq_enabled)) 164 if (!cpu->lg->lguest_data) 171 if (copy_from_user(&blk, cpu->lg->lguest_data->blocked_interrupts, 197 if (cpu->regs->eip >= cpu->lg->noirq_start && 198 (cpu->regs->eip < cpu->lg->noirq_end)) 204 if (put_user(X86_EFLAGS_IF, &cpu->lg->lguest_data->irq_enabled)) 210 if (get_user(irq_enabled, &cpu->lg->lguest_data->irq_enabled)) 215 &cpu->lg 288 check_syscall_vector(struct lguest *lg) argument [all...] |
H A D | lg.h | 42 struct lguest *lg; member in struct:lg_cpu 123 bool lguest_address_ok(const struct lguest *lg, 174 bool check_syscall_vector(struct lguest *lg); 188 int init_guest_pagetable(struct lguest *lg); 189 void free_guest_pagetable(struct lguest *lg); 191 void guest_set_pgd(struct lguest *lg, unsigned long gpgdir, u32 i); 193 void guest_set_pmd(struct lguest *lg, unsigned long gpgdir, u32 i); 251 if (!(cpu)->lg->dead) { \ 252 (cpu)->lg->dead = kasprintf(GFP_ATOMIC, fmt); \ 253 if (!(cpu)->lg [all...] |
H A D | page_tables.c | 20 #include "lg.h" 106 return &cpu->lg->pgdirs[i].pgdir[index]; 164 return cpu->lg->pgdirs[cpu->cpu_pgd].gpgdir + index * sizeof(pgd_t); 244 base = (unsigned long)cpu->lg->mem_base / PAGE_SIZE; 281 pte_pfn(gpte) >= cpu->lg->pfn_limit) 288 (pgd_pfn(gpgd) >= cpu->lg->pfn_limit)) 296 (pmd_pfn(gpmd) >= cpu->lg->pfn_limit)) 601 static void flush_user_mappings(struct lguest *lg, int idx) argument 605 for (i = 0; i < pgd_index(lg->kernel_address); i++) 606 release_pgd(lg 662 find_pgdir(struct lguest *lg, unsigned long pgtable) argument 736 release_all_pagetables(struct lguest *lg) argument 932 guest_set_pgd(struct lguest *lg, unsigned long gpgdir, u32 idx) argument 948 guest_set_pmd(struct lguest *lg, unsigned long pmdp, u32 idx) argument 962 init_guest_pagetable(struct lguest *lg) argument 1009 free_guest_pagetable(struct lguest *lg) argument [all...] |
/drivers/net/ethernet/mellanox/mlx4/ |
H A D | fw.c | 693 int lg; local 713 lg = ffs(mlx4_icm_addr(&iter) | mlx4_icm_size(&iter)) - 1; 714 if (lg < MLX4_ICM_PAGE_SHIFT) { 723 for (i = 0; i < mlx4_icm_size(&iter) >> lg; ++i) { 726 virt += 1 << lg; 730 cpu_to_be64((mlx4_icm_addr(&iter) + (i << lg)) | 731 (lg - MLX4_ICM_PAGE_SHIFT)); 732 ts += 1 << (lg - 10); 797 u8 lg; local 834 MLX4_GET(lg, outbo [all...] |
/drivers/scsi/qla2xxx/ |
H A D | qla_mbx.c | 1637 struct logio_entry_24xx *lg; local 1652 lg = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &lg_dma); 1653 if (lg == NULL) { 1658 memset(lg, 0, sizeof(struct logio_entry_24xx)); 1660 lg->entry_type = LOGINOUT_PORT_IOCB_TYPE; 1661 lg->entry_count = 1; 1662 lg->handle = MAKE_HANDLE(req->id, lg->handle); 1663 lg->nport_handle = cpu_to_le16(loop_id); 1664 lg 1905 struct logio_entry_24xx *lg; local [all...] |
/drivers/infiniband/hw/mthca/ |
H A D | mthca_cmd.c | 661 int lg; local 681 lg = ffs(mthca_icm_addr(&iter) | mthca_icm_size(&iter)) - 1; 682 if (lg < MTHCA_ICM_PAGE_SHIFT) { 690 for (i = 0; i < mthca_icm_size(&iter) >> lg; ++i) { 693 virt += 1 << lg; 697 cpu_to_be64((mthca_icm_addr(&iter) + (i << lg)) | 698 (lg - MTHCA_ICM_PAGE_SHIFT)); 699 ts += 1 << (lg - 10); 782 u8 lg; local 823 MTHCA_GET(lg, outbo [all...] |