| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/net/ |
| D | qcom,ipa.yaml | 1 # 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/ |
| D | ipa_reg.c | 1 // 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 …]
|
| D | ipa_reg.h | 1 /* 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 …]
|
| D | gsi.c | 1 // 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/ |
| D | qcom,rpmh.yaml | 1 # 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/ |
| D | sync_regs_test.c | 1 // 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/ |
| D | priv.c | 1 // 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 …]
|
| D | diag.c | 1 // 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 …]
|
| D | sigp.c | 1 // 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/ |
| D | ucall.c | 1 // 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/ |
| D | diag.c | 1 // 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 …]
|
| D | priv.c | 1 // 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 …]
|
| D | sigp.c | 1 // 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 …]
|
| D | vsie.c | 1 // 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/ |
| D | kvm_mmu.h | 1 /* 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 …]
|
| D | kvm_asm.h | 1 /* 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/ |
| D | sc7180.dtsi | 1 // 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 …]
|
| D | sdm845.dtsi | 1 // 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/ |
| D | kvm_asm.h | 2 * 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 …]
|
| D | kvm_mmu.h | 2 * 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 …]
|
| D | kvm_host.h | 2 * 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/ |
| D | switch.h | 1 // 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/ |
| D | kvm_host.h | 2 * 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/ |
| D | gcc-common.h | 1 /* 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/ |
| D | gcc-common.h | 1 /* 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 …]
|