/openbmc/linux/drivers/pci/endpoint/ |
H A D | pci-epc-core.c | 21 struct pci_epc *epc = *(struct pci_epc **)res; in devm_pci_epc_release() local 23 pci_epc_destroy(epc); in devm_pci_epc_release() 28 struct pci_epc **epc = res; in devm_pci_epc_match() local 30 return *epc == match_data; in devm_pci_epc_match() 39 void pci_epc_put(struct pci_epc *epc) in pci_epc_put() argument 41 if (!epc || IS_ERR(epc)) in pci_epc_put() 44 module_put(epc->ops->owner); in pci_epc_put() 45 put_device(&epc->dev); in pci_epc_put() 59 struct pci_epc *epc; in pci_epc_get() local 68 epc = to_pci_epc(dev); in pci_epc_get() [all …]
|
H A D | pci-epc-mem.c | 47 int pci_epc_multi_mem_init(struct pci_epc *epc, in pci_epc_multi_mem_init() argument 60 epc->num_windows = 0; in pci_epc_multi_mem_init() 65 epc->windows = kcalloc(num_windows, sizeof(*epc->windows), GFP_KERNEL); in pci_epc_multi_mem_init() 66 if (!epc->windows) in pci_epc_multi_mem_init() 98 epc->windows[i] = mem; in pci_epc_multi_mem_init() 101 epc->mem = epc->windows[0]; in pci_epc_multi_mem_init() 102 epc->num_windows = num_windows; in pci_epc_multi_mem_init() 108 mem = epc->windows[i]; in pci_epc_multi_mem_init() 112 kfree(epc->windows); in pci_epc_multi_mem_init() 128 int pci_epc_mem_init(struct pci_epc *epc, phys_addr_t base, in pci_epc_mem_init() argument [all …]
|
H A D | pci-ep-cfs.c | 34 struct pci_epc *epc; member 54 struct pci_epc *epc = epc_group->epc; in pci_secondary_epc_epf_link() local 57 ret = pci_epc_add_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_link() 63 pci_epc_remove_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_link() 75 struct pci_epc *epc; in pci_secondary_epc_epf_unlink() local 80 epc = epc_group->epc; in pci_secondary_epc_epf_unlink() 83 pci_epc_remove_epf(epc, epf, SECONDARY_INTERFACE); in pci_secondary_epc_epf_unlink() 115 struct pci_epc *epc = epc_group->epc; in pci_primary_epc_epf_link() local 118 ret = pci_epc_add_epf(epc, epf, PRIMARY_INTERFACE); in pci_primary_epc_epf_link() 124 pci_epc_remove_epf(epc, epf, PRIMARY_INTERFACE); in pci_primary_epc_epf_link() [all …]
|
H A D | pci-epf-core.c | 64 struct pci_epc *epc; in pci_epf_bind() local 85 epc = epf->epc; in pci_epf_bind() 87 if (!IS_ERR_OR_NULL(epc)) { in pci_epf_bind() 88 if (!epc->max_vfs) { in pci_epf_bind() 94 if (vfunc_no > epc->max_vfs[func_no]) { in pci_epf_bind() 102 epc = epf->sec_epc; in pci_epf_bind() 104 if (!IS_ERR_OR_NULL(epc)) { in pci_epf_bind() 105 if (!epc->max_vfs) { in pci_epf_bind() 111 if (vfunc_no > epc->max_vfs[func_no]) { in pci_epf_bind() 121 epf_vf->epc = epf->epc; in pci_epf_bind() [all …]
|
H A D | Makefile | 7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\ 8 pci-epc-mem.o functions/
|
/openbmc/linux/arch/mips/kernel/ |
H A D | branch.c | 32 long epc = regs->cp0_epc; in __isa_exception_epc() local 35 if (__get_user(inst, (u16 __user *) msk_isa16_mode(epc))) { in __isa_exception_epc() 38 return epc; in __isa_exception_epc() 45 epc += 4; in __isa_exception_epc() 47 epc += 2; in __isa_exception_epc() 49 epc += 2; in __isa_exception_epc() 51 epc += 4; in __isa_exception_epc() 53 return epc; in __isa_exception_epc() 326 long epc; in __MIPS16e_compute_return_epc() local 328 epc = regs->cp0_epc; in __MIPS16e_compute_return_epc() [all …]
|
/openbmc/linux/include/linux/ |
H A D | pci-epc.h | 65 int (*write_header)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 67 int (*set_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 69 void (*clear_bar)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 71 int (*map_addr)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 73 void (*unmap_addr)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 75 int (*set_msi)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 77 int (*get_msi)(struct pci_epc *epc, u8 func_no, u8 vfunc_no); 78 int (*set_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, 80 int (*get_msix)(struct pci_epc *epc, u8 func_no, u8 vfunc_no); 81 int (*raise_irq)(struct pci_epc *epc, u8 func_no, u8 vfunc_no, [all …]
|
/openbmc/linux/drivers/pci/endpoint/functions/ |
H A D | pci-epf-ntb.c | 83 struct epf_ntb_epc *epc[2]; member 95 struct pci_epc *epc; member 146 struct pci_epc *epc; in epf_ntb_link_up() local 152 ntb_epc = ntb->epc[type]; in epf_ntb_link_up() 153 epc = ntb_epc->epc; in epf_ntb_link_up() 163 ret = pci_epc_raise_irq(epc, func_no, vfunc_no, irq_type, 1); in epf_ntb_link_up() 165 dev_err(&epc->dev, in epf_ntb_link_up() 244 struct pci_epc *epc; in epf_ntb_configure_mw() local 248 ntb_epc = ntb->epc[type]; in epf_ntb_configure_mw() 249 epc = ntb_epc->epc; in epf_ntb_configure_mw() [all …]
|
H A D | pci-epf-test.c | 224 filter.dev = epf->epc->dev.parent; in pci_epf_test_init_dma_chan() 328 struct pci_epc *epc = epf->epc; in pci_epf_test_copy() local 330 src_addr = pci_epc_mem_alloc_addr(epc, &src_phys_addr, reg->size); in pci_epf_test_copy() 338 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, src_phys_addr, in pci_epf_test_copy() 346 dst_addr = pci_epc_mem_alloc_addr(epc, &dst_phys_addr, reg->size); in pci_epf_test_copy() 354 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, dst_phys_addr, in pci_epf_test_copy() 393 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, dst_phys_addr); in pci_epf_test_copy() 396 pci_epc_mem_free_addr(epc, dst_phys_addr, dst_addr, reg->size); in pci_epf_test_copy() 399 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, src_phys_addr); in pci_epf_test_copy() 402 pci_epc_mem_free_addr(epc, src_phys_addr, src_addr, reg->size); in pci_epf_test_copy() [all …]
|
H A D | pci-epf-mhi.c | 142 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_alloc_map() local 145 *vaddr = pci_epc_mem_alloc_addr(epc, paddr, size + offset); in __pci_epf_mhi_alloc_map() 149 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, *paddr, in __pci_epf_mhi_alloc_map() 152 pci_epc_mem_free_addr(epc, *paddr, *vaddr, size + offset); in __pci_epf_mhi_alloc_map() 180 struct pci_epc *epc = epf->epc; in __pci_epf_mhi_unmap_free() local 182 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, paddr - offset); in __pci_epf_mhi_unmap_free() 183 pci_epc_mem_free_addr(epc, paddr - offset, vaddr - offset, in __pci_epf_mhi_unmap_free() 202 struct pci_epc *epc = epf->epc; in pci_epf_mhi_raise_irq() local 208 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no, PCI_EPC_IRQ_MSI, in pci_epf_mhi_raise_irq() 277 struct device *dma_dev = epf_mhi->epf->epc->dev.parent; in pci_epf_mhi_edma_read() [all …]
|
H A D | pci-epf-vntb.c | 216 ret = pci_epc_map_addr(ntb->epf->epc, func_no, vfunc_no, phys_addr, addr, size); in epf_ntb_configure_mw() 218 dev_err(&ntb->epf->epc->dev, in epf_ntb_configure_mw() 233 pci_epc_unmap_addr(ntb->epf->epc, in epf_ntb_teardown_mw() 348 pci_epc_clear_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar); in epf_ntb_config_sspad_bar_clear() 377 ret = pci_epc_set_bar(ntb->epf->epc, func_no, vfunc_no, epf_bar); in epf_ntb_config_sspad_bar_set() 421 const struct pci_epc_features *epc_features = pci_epc_get_features(epf->epc, in epf_ntb_config_spad_bar_alloc() 492 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no); in epf_ntb_configure_interrupt() 508 ret = pci_epc_set_msi(ntb->epf->epc, in epf_ntb_configure_interrupt() 538 epc_features = pci_epc_get_features(ntb->epf->epc, in epf_ntb_db_bar_init() 563 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar); in epf_ntb_db_bar_init() [all …]
|
/openbmc/linux/drivers/pci/controller/dwc/ |
H A D | pcie-designware-ep.c | 19 struct pci_epc *epc = ep->epc; in dw_pcie_ep_linkup() local 21 pci_epc_linkup(epc); in dw_pcie_ep_linkup() 27 struct pci_epc *epc = ep->epc; in dw_pcie_ep_init_notify() local 29 pci_epc_init_notify(epc); in dw_pcie_ep_init_notify() 80 funcs = pci->ep.epc->max_functions; in dw_pcie_ep_reset_bar() 128 static int dw_pcie_ep_write_header(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_write_header() argument 131 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_write_header() 215 static void dw_pcie_ep_clear_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_clear_bar() argument 218 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_clear_bar() 234 static int dw_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_set_bar() argument [all …]
|
/openbmc/qemu/hw/i386/ |
H A D | sgx-epc.c | 57 SGXEPCDevice *epc = SGX_EPC(dev); in sgx_epc_realize() local 67 if (!epc->hostmem) { in sgx_epc_realize() 71 hostmem = MEMORY_BACKEND(epc->hostmem); in sgx_epc_realize() 78 epc->addr = sgx_epc->base + sgx_epc->size; in sgx_epc_realize() 80 memory_region_add_subregion(&sgx_epc->mr, epc->addr - sgx_epc->base, in sgx_epc_realize() 87 sgx_epc->sections[sgx_epc->nr_sections++] = epc; in sgx_epc_realize() 94 SGXEPCDevice *epc = SGX_EPC(dev); in sgx_epc_unrealize() local 95 HostMemoryBackend *hostmem = MEMORY_BACKEND(epc->hostmem); in sgx_epc_unrealize() 102 const SGXEPCDevice *epc = SGX_EPC(md); in sgx_epc_md_get_addr() local 104 return epc->addr; in sgx_epc_md_get_addr() [all …]
|
H A D | sgx.c | 120 SGXEPCDevice *epc; in sgx_epc_reset() local 132 epc = pcms->sgx_epc.sections[j]; in sgx_epc_reset() 133 hostmem = MEMORY_BACKEND(epc->hostmem); in sgx_epc_reset() 282 SGXEPCDevice *epc; in sgx_epc_get_section() local 288 epc = pcms->sgx_epc.sections[section_nr]; in sgx_epc_get_section() 290 *addr = epc->addr; in sgx_epc_get_section() 291 *size = memory_device_get_region_size(MEMORY_DEVICE(epc), &error_fatal); in sgx_epc_get_section()
|
/openbmc/linux/drivers/pci/controller/cadence/ |
H A D | pcie-cadence-ep.c | 34 static int cdns_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_write_header() argument 37 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_write_header() 43 dev_err(&epc->dev, "Only Virtual Function #1 has deviceID\n"); in cdns_pcie_ep_write_header() 76 static int cdns_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_set_bar() argument 79 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_set_bar() 150 static void cdns_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_clear_bar() argument 153 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_clear_bar() 183 static int cdns_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_map_addr() argument 186 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_map_addr() 192 dev_err(&epc->dev, "no free outbound region\n"); in cdns_pcie_ep_map_addr() [all …]
|
/openbmc/linux/drivers/pci/controller/ |
H A D | pcie-rockchip-ep.c | 42 struct pci_epc *epc; member 102 static int rockchip_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_write_header() argument 106 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_write_header() 139 static int rockchip_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_set_bar() argument 142 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_set_bar() 207 static void rockchip_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_clear_bar() argument 210 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_clear_bar() 241 static int rockchip_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_map_addr() argument 245 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_map_addr() 257 static void rockchip_pcie_ep_unmap_addr(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_unmap_addr() argument [all …]
|
H A D | pcie-rcar-ep.c | 159 static int rcar_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in rcar_pcie_ep_write_header() argument 162 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_write_header() 195 static int rcar_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in rcar_pcie_ep_set_bar() argument 199 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_set_bar() 246 static void rcar_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rcar_pcie_ep_clear_bar() argument 249 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_clear_bar() 259 static int rcar_pcie_ep_set_msi(struct pci_epc *epc, u8 fn, u8 vfn, in rcar_pcie_ep_set_msi() argument 262 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_set_msi() 273 static int rcar_pcie_ep_get_msi(struct pci_epc *epc, u8 fn, u8 vfn) in rcar_pcie_ep_get_msi() argument 275 struct rcar_pcie_endpoint *ep = epc_get_drvdata(epc); in rcar_pcie_ep_get_msi() [all …]
|
/openbmc/u-boot/arch/riscv/lib/ |
H A D | interrupts.c | 15 static void _exit_trap(ulong code, ulong epc, struct pt_regs *regs) in _exit_trap() argument 38 code, exception_code[code], epc, regs->ra); in _exit_trap() 41 code, epc, regs->ra); in _exit_trap() 67 ulong handle_trap(ulong cause, ulong epc, struct pt_regs *regs) in handle_trap() argument 85 _exit_trap(cause, epc, regs); in handle_trap() 89 _exit_trap(cause, epc, regs); in handle_trap() 92 return epc; in handle_trap()
|
/openbmc/linux/arch/riscv/kernel/ |
H A D | traps_misaligned.c | 207 unsigned long epc = regs->epc; in handle_misaligned_load() local 208 unsigned long insn = get_insn(epc); in handle_misaligned_load() 212 regs->epc = 0; in handle_misaligned_load() 270 regs->epc = epc; in handle_misaligned_load() 282 regs->epc = epc + INSN_LEN(insn); in handle_misaligned_load() 290 unsigned long epc = regs->epc; in handle_misaligned_store() local 291 unsigned long insn = get_insn(epc); in handle_misaligned_store() 295 regs->epc = 0; in handle_misaligned_store() 322 regs->epc = epc; in handle_misaligned_store() 329 regs->epc = epc + INSN_LEN(insn); in handle_misaligned_store()
|
H A D | cfi.c | 38 if (get_kernel_nofault(insn, (void *)regs->epc - 4)) in decode_cfi_insn() 45 if (get_kernel_nofault(insn, (void *)regs->epc) || in decode_cfi_insn() 46 get_kernel_nofault(insn, (void *)regs->epc + GET_INSN_LENGTH(insn))) in decode_cfi_insn() 70 if (!is_cfi_trap(regs->epc)) in handle_cfi_failure() 74 return report_cfi_failure_noaddr(regs, regs->epc); in handle_cfi_failure() 76 return report_cfi_failure(regs, regs->epc, &target, type); in handle_cfi_failure()
|
H A D | traps.c | 138 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \ 142 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \ 168 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal() 175 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal() 199 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_load_misaligned() 207 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_load_misaligned() 220 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_store_misaligned() 228 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_store_misaligned() 277 force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->epc); in handle_break() 283 else if (report_bug(regs->epc, regs) == BUG_TRAP_TYPE_WARN || in handle_break() [all …]
|
H A D | signal.c | 258 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0() 361 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 370 (void *)regs->epc, (void *)regs->ra, frame); in setup_rt_frame() 401 continue_addr = regs->epc; in arch_do_signal_or_restart() 418 regs->epc = restart_addr; in arch_do_signal_or_restart() 433 if (regs->epc == restart_addr && in arch_do_signal_or_restart() 439 regs->epc = continue_addr; in arch_do_signal_or_restart() 451 if (syscall && regs->epc == restart_addr && retval == -ERESTART_RESTARTBLOCK) in arch_do_signal_or_restart()
|
/openbmc/linux/arch/mips/kvm/ |
H A D | emulate.c | 46 long epc = instpc; in kvm_compute_return_epc() local 50 if (epc & 3) { in kvm_compute_return_epc() 56 err = kvm_get_badinstrp((u32 *)epc, vcpu, &insn.word); in kvm_compute_return_epc() 65 arch->gprs[insn.r_format.rd] = epc + 8; in kvm_compute_return_epc() 85 epc = epc + 4 + (insn.i_format.simmediate << 2); in kvm_compute_return_epc() 87 epc += 8; in kvm_compute_return_epc() 88 nextpc = epc; in kvm_compute_return_epc() 94 epc = epc + 4 + (insn.i_format.simmediate << 2); in kvm_compute_return_epc() 96 epc += 8; in kvm_compute_return_epc() 97 nextpc = epc; in kvm_compute_return_epc() [all …]
|
/openbmc/qemu/docs/system/i386/ |
H A D | sgx.rst | 46 -object memory-backend-epc,id=mem1,size=64M,prealloc=on \ 47 -object memory-backend-epc,id=mem2,size=28M \ 48 -M sgx-epc.0.memdev=mem1,sgx-epc.1.memdev=mem2 143 -object memory-backend-epc,id=mem1,size=64M,prealloc=on \\ 144 -M sgx-epc.0.memdev=mem1,sgx-epc.0.node=0 151 and SGX epc info by:: 164 -object memory-backend-epc,id=mem0,size=64M,prealloc=on,host-nodes=0,policy=bind \\ 167 -object memory-backend-epc,id=mem1,size=28M,prealloc=on,host-nodes=1,policy=bind \\ 169 -M sgx-epc.0.memdev=mem0,sgx-epc.0.node=0,sgx-epc.1.memdev=mem1,sgx-epc.1.node=1 171 and SGX epc numa info by::
|
/openbmc/linux/arch/riscv/mm/ |
H A D | extable.c | 26 regs->epc = get_ex_fixup(ex); in ex_handler_fixup() 49 regs->epc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero() 57 ex = search_exception_tables(regs->epc); in fixup_exception()
|