Lines Matching refs:v
55 struct vpe *res, *v; in get_vpe() local
62 list_for_each_entry(v, &vpecontrol.vpe_list, list) { in get_vpe()
63 if (v->minor == VPE_MODULE_MINOR) { in get_vpe()
64 res = v; in get_vpe()
94 struct vpe *v; in alloc_vpe() local
96 v = kzalloc(sizeof(struct vpe), GFP_KERNEL); in alloc_vpe()
97 if (v == NULL) in alloc_vpe()
100 INIT_LIST_HEAD(&v->tc); in alloc_vpe()
102 list_add_tail(&v->list, &vpecontrol.vpe_list); in alloc_vpe()
105 INIT_LIST_HEAD(&v->notify); in alloc_vpe()
106 v->minor = VPE_MODULE_MINOR; in alloc_vpe()
109 return v; in alloc_vpe()
133 void release_vpe(struct vpe *v) in release_vpe() argument
135 list_del(&v->list); in release_vpe()
136 if (v->load_addr) in release_vpe()
137 release_progmem(v); in release_vpe()
138 kfree(v); in release_vpe()
229 Elf32_Addr v) in apply_r_mips_none() argument
235 Elf32_Addr v) in apply_r_mips_gprel16() argument
240 rel = (int)v - gp_addr; in apply_r_mips_gprel16()
244 rel = (int)(short)((int)v + gp_offs + in apply_r_mips_gprel16()
260 Elf32_Addr v) in apply_r_mips_pc16() argument
263 rel = (((unsigned int)v - (unsigned int)location)); in apply_r_mips_pc16()
279 Elf32_Addr v) in apply_r_mips_32() argument
281 *location += v; in apply_r_mips_32()
287 Elf32_Addr v) in apply_r_mips_26() argument
289 if (v % 4) { in apply_r_mips_26()
307 ((*location + (v >> 2)) & 0x03ffffff); in apply_r_mips_26()
312 Elf32_Addr v) in apply_r_mips_hi16() argument
326 n->value = v; in apply_r_mips_hi16()
334 Elf32_Addr v) in apply_r_mips_lo16() argument
352 if (v != l->value) { in apply_r_mips_lo16()
365 val += v; in apply_r_mips_lo16()
387 val = v + vallo; in apply_r_mips_lo16()
405 Elf32_Addr v) = {
435 Elf32_Addr v; in apply_relocations() local
454 v = sym->st_value; in apply_relocations()
456 res = reloc_handlers[ELF32_R_TYPE(r_info)](me, location, v); in apply_relocations()
550 static int find_vpe_symbols(struct vpe *v, Elf_Shdr *sechdrs, in find_vpe_symbols() argument
559 v->__start = sym[i].st_value; in find_vpe_symbols()
562 v->shared_ptr = (void *)sym[i].st_value; in find_vpe_symbols()
565 if ((v->__start == 0) || (v->shared_ptr == NULL)) in find_vpe_symbols()
576 static int vpe_elfload(struct vpe *v) in vpe_elfload() argument
588 hdr = (Elf_Ehdr *) v->pbuffer; in vpe_elfload()
589 len = v->plen; in vpe_elfload()
644 v->load_addr = alloc_progmem(mod.core_size); in vpe_elfload()
645 if (!v->load_addr) in vpe_elfload()
648 pr_info("VPE loader: loading to %p\n", v->load_addr); in vpe_elfload()
657 dest = v->load_addr + sechdrs[i].sh_entsize; in vpe_elfload()
731 flush_icache_range((unsigned long)v->load_addr, in vpe_elfload()
732 (unsigned long)v->load_addr + v->len); in vpe_elfload()
734 if ((find_vpe_symbols(v, sechdrs, symindex, strtab, &mod)) < 0) { in vpe_elfload()
735 if (v->__start == 0) { in vpe_elfload()
740 if (v->shared_ptr == NULL) in vpe_elfload()
769 struct vpe *v; in vpe_open() local
779 v = get_vpe(aprp_cpu_index()); in vpe_open()
780 if (v == NULL) { in vpe_open()
786 state = xchg(&v->state, VPE_STATE_INUSE); in vpe_open()
790 list_for_each_entry(notifier, &v->notify, list) in vpe_open()
793 release_progmem(v->load_addr); in vpe_open()
798 v->pbuffer = vmalloc(P_SIZE); in vpe_open()
799 if (!v->pbuffer) { in vpe_open()
803 v->plen = P_SIZE; in vpe_open()
804 v->load_addr = NULL; in vpe_open()
805 v->len = 0; in vpe_open()
807 v->cwd[0] = 0; in vpe_open()
808 ret = getcwd(v->cwd, VPE_PATH_MAX); in vpe_open()
812 v->shared_ptr = NULL; in vpe_open()
813 v->__start = 0; in vpe_open()
820 struct vpe *v; in vpe_release() local
824 v = get_vpe(aprp_cpu_index()); in vpe_release()
825 if (v == NULL) in vpe_release()
828 hdr = (Elf_Ehdr *) v->pbuffer; in vpe_release()
830 if ((vpe_elfload(v) >= 0) && vpe_run) { in vpe_release()
831 vpe_run(v); in vpe_release()
847 v->shared_ptr = NULL; in vpe_release()
849 vfree(v->pbuffer); in vpe_release()
850 v->plen = 0; in vpe_release()
859 struct vpe *v; in vpe_write() local
864 v = get_vpe(aprp_cpu_index()); in vpe_write()
866 if (v == NULL) in vpe_write()
869 if ((count + v->len) > v->plen) { in vpe_write()
874 count -= copy_from_user(v->pbuffer + v->len, buffer, count); in vpe_write()
878 v->len += count; in vpe_write()
892 struct vpe *v = get_vpe(index); in vpe_get_shared() local
894 if (v == NULL) in vpe_get_shared()
897 return v->shared_ptr; in vpe_get_shared()
903 struct vpe *v = get_vpe(index); in vpe_notify() local
905 if (v == NULL) in vpe_notify()
908 list_add(¬ify->list, &v->notify); in vpe_notify()
915 struct vpe *v = get_vpe(index); in vpe_getcwd() local
917 if (v == NULL) in vpe_getcwd()
920 return v->cwd; in vpe_getcwd()