Home
last modified time | relevance | path

Searched +full:ipa +full:- +full:reg (Results 1 – 25 of 55) sorted by relevance

123

/kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/
Dqcom,ipa.yaml1 # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
3 ---
4 $id: http://devicetree.org/schemas/net/qcom,ipa.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm IP Accelerator (IPA)
10 - Alex Elder <elder@kernel.org>
13 This binding describes the Qualcomm IPA. The IPA is capable of offloading
17 The IPA sits between multiple independent "execution environments,"
18 including the Application Processor (AP) and the modem. The IPA presents
20 The GSI is an integral part of the IPA, but it is logically isolated
[all …]
/kernel/linux/linux-5.10/drivers/net/ipa/
Dipa_reg.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2019-2020 Linaro Ltd.
9 #include "ipa.h"
12 int ipa_reg_init(struct ipa *ipa) in ipa_reg_init() argument
14 struct device *dev = &ipa->pdev->dev; in ipa_reg_init()
17 /* Setup IPA register memory */ in ipa_reg_init()
18 res = platform_get_resource_byname(ipa->pdev, IORESOURCE_MEM, in ipa_reg_init()
19 "ipa-reg"); in ipa_reg_init()
21 dev_err(dev, "DT error getting \"ipa-reg\" memory property\n"); in ipa_reg_init()
[all …]
Dipa_reg.h1 /* SPDX-License-Identifier: GPL-2.0 */
3 /* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2020 Linaro Ltd.
13 struct ipa;
16 * DOC: IPA Registers
18 * IPA registers are located within the "ipa-reg" address space defined by
21 * space in ipa_mem_init(). All IPA registers are 32 bits wide.
24 * something. For example, each IPA endpoint has an set of registers
28 * computed by a function-like macro that takes a parameter used in the
59 * In some cases, different versions of IPA hardware use different offset or
[all …]
Dgsi.c1 // SPDX-License-Identifier: GPL-2.0
3 /* Copyright (c) 2015-2018, The Linux Foundation. All rights reserved.
4 * Copyright (C) 2018-2020 Linaro Ltd.
26 * DOC: The IPA Generic Software Interface
28 * The generic software interface (GSI) is an integral component of the IPA,
29 * providing a well-defined communication layer between the AP subsystem
30 * and the IPA core. The modem uses the GSI layer as well.
32 * -------- ---------
34 * | AP +<---. .----+ Modem |
35 * | +--. | | .->+ |
[all …]
/kernel/linux/linux-5.10/Documentation/devicetree/bindings/interconnect/
Dqcom,rpmh.yaml1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
3 ---
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
7 title: Qualcomm RPMh Network-On-Chip Interconnect
10 - Georgi Djakov <georgi.djakov@linaro.org>
11 - Odelu Kukatla <okukatla@codeaurora.org>
22 reg:
27 - qcom,sc7180-aggre1-noc
28 - qcom,sc7180-aggre2-noc
29 - qcom,sc7180-camnoc-virt
[all …]
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/s390x/
Dsync_regs_test.c1 // SPDX-License-Identifier: GPL-2.0-only
39 #define REG_COMPARE(reg) \ argument
40 TEST_ASSERT(left->reg == right->reg, \
41 "Register " #reg \
43 left->reg, right->reg)
45 #define REG_COMPARE32(reg) \ argument
46 TEST_ASSERT(left->reg == right->reg, \
47 "Register " #reg \
49 left->reg, right->reg)
99 run->kvm_valid_regs = INVALID_SYNC_FIELD; in main()
[all …]
/kernel/linux/linux-4.19/arch/s390/kvm/
Dpriv.c1 // SPDX-License-Identifier: GPL-2.0
17 #include <asm/asm-offsets.h>
24 #include <asm/page-states.h>
31 #include "kvm-s390.h"
36 vcpu->stat.instruction_ri++; in handle_ri()
38 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri()
40 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri()
49 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa()
52 return -EOPNOTSUPP; in kvm_s390_handle_aa()
57 vcpu->stat.instruction_gs++; in handle_gs()
[all …]
Ddiag.c1 // SPDX-License-Identifier: GPL-2.0
15 #include <asm/virtio-ccw.h>
16 #include "kvm-s390.h"
18 #include "trace-s390.h"
26 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
27 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages()
28 vcpu->stat.diagnose_10++; in diag_release_pages()
41 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
49 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
51 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
[all …]
Dsigp.c1 // SPDX-License-Identifier: GPL-2.0
17 #include "kvm-s390.h"
21 u64 *reg) in __sigp_sense() argument
31 *reg &= 0xffffffff00000000UL; in __sigp_sense()
33 *reg |= SIGP_STATUS_EXT_CALL_PENDING; in __sigp_sense()
35 *reg |= SIGP_STATUS_STOPPED; in __sigp_sense()
39 VCPU_EVENT(vcpu, 4, "sensed status of cpu %x rc %x", dst_vcpu->vcpu_id, in __sigp_sense()
49 .u.emerg.code = vcpu->vcpu_id, in __inject_sigp_emergency()
56 dst_vcpu->vcpu_id); in __inject_sigp_emergency()
68 u16 asn, u64 *reg) in __sigp_conditional_emergency() argument
[all …]
/kernel/linux/linux-5.10/tools/testing/selftests/kvm/lib/s390x/
Ducall.c1 // SPDX-License-Identifier: GPL-2.0
44 if (run->exit_reason == KVM_EXIT_S390_SIEIC && in get_ucall()
45 run->s390_sieic.icptcode == 4 && in get_ucall()
46 (run->s390_sieic.ipa >> 8) == 0x83 && /* 0x83 means DIAGNOSE */ in get_ucall()
47 (run->s390_sieic.ipb >> 16) == 0x501) { in get_ucall()
48 int reg = run->s390_sieic.ipa & 0xf; in get_ucall() local
50 memcpy(&ucall, addr_gva2hva(vm, run->s.regs.gprs[reg]), in get_ucall()
/kernel/linux/linux-5.10/arch/s390/kvm/
Ddiag.c1 // SPDX-License-Identifier: GPL-2.0
14 #include <asm/virtio-ccw.h>
15 #include "kvm-s390.h"
17 #include "trace-s390.h"
25 start = vcpu->run->s.regs.gprs[(vcpu->arch.sie_block->ipa & 0xf0) >> 4]; in diag_release_pages()
26 end = vcpu->run->s.regs.gprs[vcpu->arch.sie_block->ipa & 0xf] + PAGE_SIZE; in diag_release_pages()
27 vcpu->stat.diagnose_10++; in diag_release_pages()
40 gmap_discard(vcpu->arch.gmap, start, end); in diag_release_pages()
48 gmap_discard(vcpu->arch.gmap, start, prefix); in diag_release_pages()
50 gmap_discard(vcpu->arch.gmap, 0, PAGE_SIZE); in diag_release_pages()
[all …]
Dpriv.c1 // SPDX-License-Identifier: GPL-2.0
18 #include <asm/asm-offsets.h>
24 #include <asm/page-states.h>
31 #include "kvm-s390.h"
36 vcpu->stat.instruction_ri++; in handle_ri()
38 if (test_kvm_facility(vcpu->kvm, 64)) { in handle_ri()
40 vcpu->arch.sie_block->ecb3 |= ECB3_RI; in handle_ri()
49 if ((vcpu->arch.sie_block->ipa & 0xf) <= 4) in kvm_s390_handle_aa()
52 return -EOPNOTSUPP; in kvm_s390_handle_aa()
57 vcpu->stat.instruction_gs++; in handle_gs()
[all …]
Dsigp.c1 // SPDX-License-Identifier: GPL-2.0
17 #include "kvm-s390.h"
21 u64 *reg) in __sigp_sense() argument
31 *reg &= 0xffffffff00000000UL; in __sigp_sense()
33 *reg |= SIGP_STATUS_EXT_CALL_PENDING; in __sigp_sense()
35 *reg |= SIGP_STATUS_STOPPED; in __sigp_sense()
39 VCPU_EVENT(vcpu, 4, "sensed status of cpu %x rc %x", dst_vcpu->vcpu_id, in __sigp_sense()
49 .u.emerg.code = vcpu->vcpu_id, in __inject_sigp_emergency()
56 dst_vcpu->vcpu_id); in __inject_sigp_emergency()
68 u16 asn, u64 *reg) in __sigp_conditional_emergency() argument
[all …]
Dvsie.c1 // SPDX-License-Identifier: GPL-2.0
21 #include "kvm-s390.h"
47 __u8 reserved[0x0700 - 0x0258]; /* 0x0258 */
56 scb->ipa = 0x1000; in set_validity_icpt()
57 scb->ipb = ((__u32) reason_code) << 16; in set_validity_icpt()
58 scb->icptcode = ICPT_VALIDITY; in set_validity_icpt()
65 atomic_or(PROG_REQUEST, &vsie_page->scb_s.prog20); in prefix_unmapped()
72 if (vsie_page->scb_s.prog0c & PROG_IN_SIE) in prefix_unmapped_sync()
73 atomic_or(CPUSTAT_STOP_INT, &vsie_page->scb_s.cpuflags); in prefix_unmapped_sync()
74 while (vsie_page->scb_s.prog0c & PROG_IN_SIE) in prefix_unmapped_sync()
[all …]
/kernel/linux/linux-5.10/arch/arm64/include/asm/
Dkvm_mmu.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2012,2013 - ARM Ltd
29 * and that half of that space (VA_BITS - 1) is used for the linear
30 * mapping, we can also limit the EL2 space to (VA_BITS - 1).
41 * if (T & BIT(VA_BITS - 1))
44 * HYP_VA_MIN = 1 << (VA_BITS - 1)
45 * HYP_VA_MAX = HYP_VA_MIN + (1 << (VA_BITS - 1)) - 1
58 * reg: VA to be converted.
65 .macro kern_hyp_va reg
67 and \reg, \reg, #1 /* mask with va_mask */
[all …]
Dkvm_asm.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (C) 2012,2013 - ARM Ltd
22 /* The hyp-stub will return this for any kvm_call_hyp() call */
99 off = (unsigned long)&CHOOSE_NVHE_SYM(sym) - \
131 * - Don't be tempted to change the following is_kernel_in_hyp_mode()
136 * - Don't let the nVHE hypervisor have access to this, as it will
187 extern void __kvm_tlb_flush_vmid_ipa(struct kvm_s2_mmu *mmu, phys_addr_t ipa,
212 * Obtain the PC-relative address of a kernel symbol
216 * PC-relative computation, as opposed to a loading the VA from a
234 " .long (" #from " - .), (" #to " - .)\n" \
[all …]
/kernel/linux/linux-5.10/arch/arm64/boot/dts/qcom/
Dsc7180.dtsi1 // SPDX-License-Identifier: BSD-3-Clause
8 #include <dt-bindings/clock/qcom,dispcc-sc7180.h>
9 #include <dt-bindings/clock/qcom,gcc-sc7180.h>
10 #include <dt-bindings/clock/qcom,gpucc-sc7180.h>
11 #include <dt-bindings/clock/qcom,lpasscorecc-sc7180.h>
12 #include <dt-bindings/clock/qcom,rpmh.h>
13 #include <dt-bindings/clock/qcom,videocc-sc7180.h>
14 #include <dt-bindings/interconnect/qcom,osm-l3.h>
15 #include <dt-bindings/interconnect/qcom,sc7180.h>
16 #include <dt-bindings/interrupt-controller/arm-gic.h>
[all …]
Dsdm845.dtsi1 // SPDX-License-Identifier: GPL-2.0
8 #include <dt-bindings/clock/qcom,camcc-sdm845.h>
9 #include <dt-bindings/clock/qcom,dispcc-sdm845.h>
10 #include <dt-bindings/clock/qcom,gcc-sdm845.h>
11 #include <dt-bindings/clock/qcom,gpucc-sdm845.h>
12 #include <dt-bindings/clock/qcom,lpass-sdm845.h>
13 #include <dt-bindings/clock/qcom,rpmh.h>
14 #include <dt-bindings/clock/qcom,videocc-sdm845.h>
15 #include <dt-bindings/interconnect/qcom,osm-l3.h>
16 #include <dt-bindings/interconnect/qcom,sdm845.h>
[all …]
/kernel/linux/linux-4.19/arch/arm64/include/asm/
Dkvm_asm.h2 * Copyright (C) 2012,2013 - ARM Ltd
33 /* The hyp-stub will return this for any kvm_call_hyp() call */
58 extern void __kvm_tlb_flush_vmid_ipa(struct kvm *kvm, phys_addr_t ipa);
77 /* Home-grown __this_cpu_{ptr,read} variants that always work at HYP */
93 " .long (" #from " - .), (" #to " - .)\n" \
113 : "r" (addr), "i" (-EFAULT)); \
120 .macro hyp_adr_this_cpu reg, sym, tmp
121 adr_l \reg, \sym
123 add \reg, \reg, \tmp
126 .macro hyp_ldr_this_cpu reg, sym, tmp
[all …]
Dkvm_mmu.h2 * Copyright (C) 2012,2013 - ARM Ltd
39 * and that half of that space (VA_BITS - 1) is used for the linear
40 * mapping, we can also limit the EL2 space to (VA_BITS - 1).
51 * if (T & BIT(VA_BITS - 1))
54 * HYP_VA_MIN = 1 << (VA_BITS - 1)
55 * HYP_VA_MAX = HYP_VA_MIN + (1 << (VA_BITS - 1)) - 1
78 * reg: VA to be converted.
85 .macro kern_hyp_va reg
87 and \reg, \reg, #1 /* mask with va_mask */
88 ror \reg, \reg, #1 /* rotate to the first tag bit */
[all …]
Dkvm_host.h2 * Copyright (C) 2012,2013 - ARM Ltd
6 * Copyright (C) 2012 - Virtual Open Systems and Columbia University
65 /* 1-level 2nd stage table, protected by kvm->mmu_lock */
98 u64 hpfar_el2; /* Hyp IPA Fault Address Register */
130 MDCCINT_EL1, /* Monitor Debug Comms Channel Interrupt Enable Reg */
136 PMEVCNTR0_EL0, /* Event Counter Register (0-30) */
139 PMEVTYPER0_EL0, /* Event Type Register (0-30) */
151 FPEXC32_EL2, /* Floating-Point Exception Control Register */
184 #define c10_AMAIR0 (AMAIR_EL1 * 2) /* Aux Memory Attr Indirection Reg */
185 #define c10_AMAIR1 (c10_AMAIR0 + 1)/* Aux Memory Attr Indirection Reg */
[all …]
/kernel/linux/linux-5.10/arch/arm64/kvm/hyp/include/hyp/
Dswitch.h1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2015 - ARM Ltd
10 #include <linux/arm-smccc.h>
27 #include <asm/debug-monitors.h>
36 /* Check whether the FP regs were dirtied while in the host-side run loop: */
47 vcpu->arch.host_thread_info->flags & _TIF_FOREIGN_FPSTATE) in update_fp_enabled()
48 vcpu->arch.flags &= ~(KVM_ARM64_FP_ENABLED | in update_fp_enabled()
51 return !!(vcpu->arch.flags & KVM_ARM64_FP_ENABLED); in update_fp_enabled()
54 /* Save the 32-bit only FPSIMD system register state */
69 * trap to EL1. Therefore, always make sure that for 32-bit guests, in __activate_traps_fpsimd32()
[all …]
/kernel/linux/linux-4.19/arch/arm/include/asm/
Dkvm_host.h2 * Copyright (C) 2012 - Virtual Open Systems and Columbia University
16 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
76 /* Stage-2 page table */
101 u32 hpfar; /* Hyp IPA Fault Address Register */
185 /* vcpu power-off state */
220 #define vcpu_cp15(v,r) (v)->arch.ctxt.cp15[r]
225 int kvm_arm_get_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg);
226 int kvm_arm_set_reg(struct kvm_vcpu *vcpu, const struct kvm_one_reg *reg);
268 * registers as r0-r3 are already callee saved according to in __cpu_init_hyp_mode()
274 * to be passed into r2-r3 to the init code (yes, this is in __cpu_init_hyp_mode()
[all …]
/kernel/linux/linux-5.10/scripts/gcc-plugins/
Dgcc-common.h1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include "gcc-plugin.h"
11 #include "plugin-version.h"
16 #include "line-map.h"
20 #include "tree-inline.h"
25 #include "hard-reg-set.h"
33 #include "basic-block.h"
43 #include "pointer-set.h"
45 #include "hash-map.h"
51 #include "emit-rtl.h"
[all …]
/kernel/linux/linux-4.19/scripts/gcc-plugins/
Dgcc-common.h1 /* SPDX-License-Identifier: GPL-2.0 */
7 #include "gcc-plugin.h"
11 #include "plugin-version.h"
16 #include "line-map.h"
20 #include "tree-inline.h"
25 #include "hard-reg-set.h"
33 #include "basic-block.h"
43 #include "pointer-set.h"
45 #include "hash-map.h"
51 #include "emit-rtl.h"
[all …]

123