Home
last modified time | relevance | path

Searched full:epc (Results 1 – 25 of 80) sorted by relevance

1234

/linux/drivers/pci/endpoint/
H A Dpci-epc-mem.c13 #include <linux/pci-epc.h>
40 * @epc: the EPC device that invoked pci_epc_mem_init
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 = kzalloc_objs(*epc->windows, num_windows); 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()
[all …]
H A DMakefile7 obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\
8 pci-epc-mem.o functions/
/linux/arch/mips/kernel/
H A Dbranch.c32 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 …]
H A Dkprobes.c192 * result of evaluation would be the updated epc. The insturction in delayslot
205 long epc; in evaluate_branch_instruction() local
208 epc = regs->cp0_epc; in evaluate_branch_instruction()
209 if (epc & 3) in evaluate_branch_instruction()
229 …pr_notice("Failed to emulate branch instruction because of unaligned epc - sending SIGBUS to %s.\n… in evaluate_branch_instruction()
264 * epc to be restored.
/linux/drivers/pci/controller/cadence/
H A Dpcie-cadence-ep.c11 #include <linux/pci-epc.h>
38 static int cdns_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_write_header() argument
41 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_write_header()
48 dev_err(&epc->dev, "Only Virtual Function #1 has deviceID\n"); in cdns_pcie_ep_write_header()
81 static int cdns_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_set_bar() argument
84 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_set_bar()
152 static void cdns_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_clear_bar() argument
155 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_clear_bar()
185 static int cdns_pcie_ep_map_addr(struct pci_epc *epc, u8 fn, u8 vfn, in cdns_pcie_ep_map_addr() argument
188 struct cdns_pcie_ep *ep = epc_get_drvdata(epc); in cdns_pcie_ep_map_addr()
[all …]
/linux/drivers/pci/controller/
H A Dpcie-rockchip-ep.c18 #include <linux/pci-epc.h>
29 * @epc: PCI EPC device
50 struct pci_epc *epc; member
114 static int rockchip_pcie_ep_write_header(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_write_header() argument
118 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_write_header()
151 static int rockchip_pcie_ep_set_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_set_bar() argument
154 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_set_bar()
219 static void rockchip_pcie_ep_clear_bar(struct pci_epc *epc, u8 fn, u8 vfn, in rockchip_pcie_ep_clear_bar() argument
222 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_clear_bar()
253 static u64 rockchip_pcie_ep_align_addr(struct pci_epc *epc, u64 pci_addr, in rockchip_pcie_ep_align_addr() argument
[all …]
/linux/drivers/pci/controller/dwc/
H A Dpcie-designware-ep.c15 #include <linux/pci-epc.h>
65 funcs = pci->ep.epc->max_functions; in dw_pcie_ep_reset_bar()
85 static int dw_pcie_ep_write_header(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_write_header() argument
88 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_write_header()
353 static void dw_pcie_ep_clear_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_clear_bar() argument
356 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_clear_bar()
490 static int dw_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no, u8 vfunc_no, in dw_pcie_ep_set_bar() argument
493 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_set_bar()
621 static u64 dw_pcie_ep_align_addr(struct pci_epc *epc, u64 pci_addr, in dw_pcie_ep_align_addr() argument
624 struct dw_pcie_ep *ep = epc_get_drvdata(epc); in dw_pcie_ep_align_addr()
[all …]
/linux/Documentation/arch/x86/
H A Dsgx.rst37 SGX utilizes an *Enclave Page Cache (EPC)* to store pages that are associated
56 Regular EPC pages contain the code and data of an enclave.
64 number for a page evicted from the EPC.
69 The processor tracks EPC pages in a hardware metadata structure called the
70 *Enclave Page Cache Map (EPCM)*. The EPCM contains an entry for each EPC page
146 EPC sanitization
155 The sanitization is done by going through EPC address space and applying the
231 EPC leaks
234 When EPC page leaks happen, a WARNING like this is shown in dmesg:
236 "EREMOVE returned ... and an EPC page was leaked. SGX may become unusable..."
[all …]
/linux/drivers/pci/endpoint/functions/
H A Dpci-epf-test.c19 #include <linux/pci-epc.h>
263 filter.dev = epf->epc->dev.parent; in pci_epf_test_init_dma_chan()
364 struct pci_epc *epc = epf->epc; in pci_epf_test_copy() local
393 ret = pci_epc_mem_map(epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy()
401 ret = pci_epc_mem_map(epf->epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy()
406 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, in pci_epf_test_copy()
433 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &dst_map); in pci_epf_test_copy()
434 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &src_map); in pci_epf_test_copy()
443 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &dst_map); in pci_epf_test_copy()
444 pci_epc_mem_unmap(epc, epf->func_no, epf->vfunc_no, &src_map); in pci_epf_test_copy()
[all …]
/linux/arch/riscv/kernel/
H A Dtraps_misaligned.c146 static inline int get_insn(struct pt_regs *regs, ulong epc, ulong *r_insn) in get_insn() argument
150 if (epc & 0x2) { in get_insn()
153 if (__read_insn(regs, insn, epc, u16)) in get_insn()
164 epc += sizeof(u16); in get_insn()
165 if (__read_insn(regs, tmp, epc, u16)) in get_insn()
171 if (__read_insn(regs, insn, epc, u32)) in get_insn()
196 unsigned long epc = regs->epc; in handle_vector_misaligned_load() local
199 if (get_insn(regs, epc, &insn)) in handle_vector_misaligned_load()
205 regs->epc = epc + INSN_LEN(insn); in handle_vector_misaligned_load()
210 regs->epc = epc; in handle_vector_misaligned_load()
[all …]
H A Dcfi.c11 * Returns the target address and the expected type when regs->epc points
31 * ebreak ; <- regs->epc in decode_cfi_insn()
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 Dtraps.c152 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \
157 do_trap_error(regs, signo, code, regs->epc, "Oops - " str); \
181 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal()
189 do_trap_error(regs, SIGILL, ILL_ILLOPC, regs->epc, in do_trap_insn_illegal()
229 do_trap_error(regs, SIGBUS, BUS_ADRALN, regs->epc, in do_trap_misaligned()
292 force_sig_fault(SIGTRAP, TRAP_BRKPT, (void __user *)regs->epc); in handle_break()
298 else if (report_bug(regs->epc, regs) == BUG_TRAP_TYPE_WARN || in handle_break()
300 regs->epc += get_break_insn_length(regs->epc); in handle_break()
330 regs->epc += 4; in do_trap_ecall_u()
349 do_trap_error(regs, SIGILL, ILL_ILLTRP, regs->epc, in do_trap_ecall_u()
[all …]
H A Dkgdb.c39 unsigned long pc = regs->epc; in get_step_address()
201 {DBG_REG_EPC, GDB_SIZEOF_REG, offsetof(struct pt_regs, epc)},
255 regs->epc = pc; in kgdb_arch_set_pc()
283 regs->epc = addr; in kgdb_arch_update_addr()
333 type = kgdb_riscv_kgdbbreak(regs->epc); in kgdb_riscv_notify()
344 regs->epc += 4; in kgdb_riscv_notify()
H A Dsignal.c347 frame, (void *)regs->epc, (void *)regs->sp); in SYSCALL_DEFINE0()
468 regs->epc = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame()
477 (void *)regs->epc, (void *)regs->ra, frame); in setup_rt_frame()
508 continue_addr = regs->epc; in arch_do_signal_or_restart()
525 regs->epc = restart_addr; in arch_do_signal_or_restart()
540 if (regs->epc == restart_addr && in arch_do_signal_or_restart()
546 regs->epc = continue_addr; in arch_do_signal_or_restart()
558 if (syscall && regs->epc == restart_addr && retval == -ERESTART_RESTARTBLOCK) in arch_do_signal_or_restart()
/linux/arch/x86/kernel/cpu/sgx/
H A Dmain.c40 /* Nodes with one or more EPC sections. */
53 * Reset post-kexec EPC pages to the uninitialized state. The pages are removed
468 * __sgx_alloc_epc_page() - Allocate an EPC page
470 * Iterate through NUMA nodes and reserve ia free EPC page to the caller. Start
474 * - an EPC page: A borrowed EPC pages were available.
475 * - NULL: Out of EPC pages.
484 * Try local node first. If it doesn't have an EPC section, in __sgx_alloc_epc_page()
506 * @page: EPC page
521 * @page: EPC page
548 * sgx_alloc_epc_page() - Allocate an EPC page
[all …]
H A Dvirt.c29 * virtual EPC instances, and the lock to protect it.
43 /* Calculate index of EPC page in virtual EPC's page_array */ in __sgx_vepc_fault()
118 * Take a previously guest-owned EPC page and return it to the in sgx_vepc_remove_page()
119 * general EPC page pool. in sgx_vepc_remove_page()
137 * virtual EPC have been EREMOVE'd. See comments in below in in sgx_vepc_free_page()
140 * The user of virtual EPC (KVM) needs to guarantee there's no in sgx_vepc_free_page()
213 * only had children in this 'epc' area. in sgx_vepc_release()
/linux/arch/mips/kvm/
H A Demulate.c46 long epc = instpc; in kvm_compute_return_epc() local
50 if (epc & 3) { in kvm_compute_return_epc()
51 kvm_err("%s: unaligned epc\n", __func__); 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()
[all …]
H A Dtrace.h176 { KVM_TRACE_COP0(14, 0), "EPC" }, \
317 __field(unsigned long, epc)
325 __entry->epc = kvm_read_c0_guest_epc(&vcpu->arch.cop0);
332 TP_printk("EPC: 0x%08lx PC: 0x%08lx Status: 0x%08x Cause: 0x%08x BadVAddr: 0x%08lx",
333 __entry->epc,
/linux/arch/riscv/include/asm/
H A Dftrace.h128 unsigned long epc; member
161 return arch_ftrace_regs(fregs)->epc; in ftrace_regs_get_instruction_pointer()
167 arch_ftrace_regs(fregs)->epc = pc; in ftrace_regs_set_instruction_pointer()
206 arch_ftrace_regs(fregs)->epc = arch_ftrace_regs(fregs)->ra; in ftrace_override_function_with_return()
215 regs->epc = afregs->epc; in ftrace_partial_regs()
H A Dptrace.h16 unsigned long epc; member
74 return regs->epc; in instruction_pointer()
79 regs->epc = val; in instruction_pointer_set()
/linux/arch/riscv/mm/
H A Dextable.c26 regs->epc = get_ex_fixup(ex); in ex_handler_fixup()
57 regs->epc = get_ex_fixup(ex); in ex_handler_uaccess_err_zero()
78 regs->epc = get_ex_fixup(ex); in ex_handler_load_unaligned_zeropad()
86 ex = search_exception_tables(regs->epc); in fixup_exception()
/linux/include/uapi/linux/
H A Dzorro.h36 #define ZORRO_ID(manuf, prod, epc) \ argument
37 ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc))
48 * (epc). The epc has to be ANDed with the GVP_PRODMASK before the
/linux/arch/csky/kernel/
H A Datomic.S21 mfcr a3, epc
53 mtcr a3, epc
H A Dentry.S213 /* increase epc for continue */
214 mfcr a0, epc
216 mtcr a0, epc
/linux/Documentation/devicetree/bindings/usb/
H A Drenesas,rzn1-usbf.yaml41 - description: The USBF EPC interrupt
42 - description: The USBF AHB-EPC interrupt

1234