* [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:49 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david This patchset adds support for the new hcall H_RPT_INVALIDATE and replaces the nested tlb flush calls with this new hcall if support for the same exists. Changes in v8: ------------- - Used tlb_single_page_flush_ceiling in the process-scoped range flush routine to switch to full PID invalation if the number of pages is above the threshold - Moved iterating over page sizes into the actual routine that handles the eventual flushing thereby limiting the page size iteration only to range based flushing - Converted #if 0 section into a comment section to avoid checkpatch from complaining. - Used a threshold in the partition-scoped range flushing to switch to full LPID invalidation v7: https://lore.kernel.org/linuxppc-dev/20210505154642.178702-1-bharata@linux.ibm.com/ Aneesh Kumar K.V (1): KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments Bharata B Rao (5): powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM Documentation/virt/kvm/api.rst | 18 ++ arch/powerpc/include/asm/book3s/64/mmu.h | 1 + .../include/asm/book3s/64/tlbflush-radix.h | 4 + arch/powerpc/include/asm/hvcall.h | 4 +- arch/powerpc/include/asm/kvm_book3s.h | 3 + arch/powerpc/include/asm/mmu_context.h | 9 + arch/powerpc/kvm/book3s_64_mmu_radix.c | 27 ++- arch/powerpc/kvm/book3s_hv.c | 89 +++++++++ arch/powerpc/kvm/book3s_hv_nested.c | 129 ++++++++++++- arch/powerpc/kvm/powerpc.c | 3 + arch/powerpc/mm/book3s64/radix_pgtable.c | 5 + arch/powerpc/mm/book3s64/radix_tlb.c | 176 +++++++++++++++++- include/uapi/linux/kvm.h | 1 + 13 files changed, 456 insertions(+), 13 deletions(-) -- 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david This patchset adds support for the new hcall H_RPT_INVALIDATE and replaces the nested tlb flush calls with this new hcall if support for the same exists. Changes in v8: ------------- - Used tlb_single_page_flush_ceiling in the process-scoped range flush routine to switch to full PID invalation if the number of pages is above the threshold - Moved iterating over page sizes into the actual routine that handles the eventual flushing thereby limiting the page size iteration only to range based flushing - Converted #if 0 section into a comment section to avoid checkpatch from complaining. - Used a threshold in the partition-scoped range flushing to switch to full LPID invalidation v7: https://lore.kernel.org/linuxppc-dev/20210505154642.178702-1-bharata@linux.ibm.com/ Aneesh Kumar K.V (1): KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments Bharata B Rao (5): powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM Documentation/virt/kvm/api.rst | 18 ++ arch/powerpc/include/asm/book3s/64/mmu.h | 1 + .../include/asm/book3s/64/tlbflush-radix.h | 4 + arch/powerpc/include/asm/hvcall.h | 4 +- arch/powerpc/include/asm/kvm_book3s.h | 3 + arch/powerpc/include/asm/mmu_context.h | 9 + arch/powerpc/kvm/book3s_64_mmu_radix.c | 27 ++- arch/powerpc/kvm/book3s_hv.c | 89 +++++++++ arch/powerpc/kvm/book3s_hv_nested.c | 129 ++++++++++++- arch/powerpc/kvm/powerpc.c | 3 + arch/powerpc/mm/book3s64/radix_pgtable.c | 5 + arch/powerpc/mm/book3s64/radix_tlb.c | 176 +++++++++++++++++- include/uapi/linux/kvm.h | 1 + 13 files changed, 456 insertions(+), 13 deletions(-) -- 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH v8 1/6] KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:49 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> The type values H_RPTI_TYPE_PRT and H_RPTI_TYPE_PAT indicate invalidating the caching of process and partition scoped entries respectively. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/include/asm/hvcall.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index e3b29eda8074..7e4b2cef40c2 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h @@ -413,9 +413,9 @@ #define H_RPTI_TYPE_NESTED 0x0001 /* Invalidate nested guest partition-scope */ #define H_RPTI_TYPE_TLB 0x0002 /* Invalidate TLB */ #define H_RPTI_TYPE_PWC 0x0004 /* Invalidate Page Walk Cache */ -/* Invalidate Process Table Entries if H_RPTI_TYPE_NESTED is clear */ +/* Invalidate caching of Process Table Entries if H_RPTI_TYPE_NESTED is clear */ #define H_RPTI_TYPE_PRT 0x0008 -/* Invalidate Partition Table Entries if H_RPTI_TYPE_NESTED is set */ +/* Invalidate caching of Partition Table Entries if H_RPTI_TYPE_NESTED is set */ #define H_RPTI_TYPE_PAT 0x0008 #define H_RPTI_TYPE_ALL (H_RPTI_TYPE_TLB | H_RPTI_TYPE_PWC | \ H_RPTI_TYPE_PRT) -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 1/6] KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david From: "Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com> The type values H_RPTI_TYPE_PRT and H_RPTI_TYPE_PAT indicate invalidating the caching of process and partition scoped entries respectively. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/include/asm/hvcall.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/include/asm/hvcall.h b/arch/powerpc/include/asm/hvcall.h index e3b29eda8074..7e4b2cef40c2 100644 --- a/arch/powerpc/include/asm/hvcall.h +++ b/arch/powerpc/include/asm/hvcall.h @@ -413,9 +413,9 @@ #define H_RPTI_TYPE_NESTED 0x0001 /* Invalidate nested guest partition-scope */ #define H_RPTI_TYPE_TLB 0x0002 /* Invalidate TLB */ #define H_RPTI_TYPE_PWC 0x0004 /* Invalidate Page Walk Cache */ -/* Invalidate Process Table Entries if H_RPTI_TYPE_NESTED is clear */ +/* Invalidate caching of Process Table Entries if H_RPTI_TYPE_NESTED is clear */ #define H_RPTI_TYPE_PRT 0x0008 -/* Invalidate Partition Table Entries if H_RPTI_TYPE_NESTED is set */ +/* Invalidate caching of Partition Table Entries if H_RPTI_TYPE_NESTED is set */ #define H_RPTI_TYPE_PAT 0x0008 #define H_RPTI_TYPE_ALL (H_RPTI_TYPE_TLB | H_RPTI_TYPE_PWC | \ H_RPTI_TYPE_PRT) -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 2/6] powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:49 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Add a field to mmu_psize_def to store the page size encodings of H_RPT_INVALIDATE hcall. Initialize this while scanning the radix AP encodings. This will be used when invalidating with required page size encoding in the hcall. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/include/asm/book3s/64/mmu.h | 1 + arch/powerpc/mm/book3s64/radix_pgtable.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h index eace8c3f7b0a..c02f42d1031e 100644 --- a/arch/powerpc/include/asm/book3s/64/mmu.h +++ b/arch/powerpc/include/asm/book3s/64/mmu.h @@ -19,6 +19,7 @@ struct mmu_psize_def { int penc[MMU_PAGE_COUNT]; /* HPTE encoding */ unsigned int tlbiel; /* tlbiel supported for that page size */ unsigned long avpnm; /* bits to mask out in AVPN in the HPTE */ + unsigned long h_rpt_pgsize; /* H_RPT_INVALIDATE page size encoding */ union { unsigned long sllp; /* SLB L||LP (exact mask to use in slbmte) */ unsigned long ap; /* Ap encoding used by PowerISA 3.0 */ diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c index 5fef8db3b463..637db10d841e 100644 --- a/arch/powerpc/mm/book3s64/radix_pgtable.c +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -486,6 +486,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node, def = &mmu_psize_defs[idx]; def->shift = shift; def->ap = ap; + def->h_rpt_pgsize = psize_to_rpti_pgsize(idx); } /* needed ? */ @@ -560,9 +561,13 @@ void __init radix__early_init_devtree(void) */ mmu_psize_defs[MMU_PAGE_4K].shift = 12; mmu_psize_defs[MMU_PAGE_4K].ap = 0x0; + mmu_psize_defs[MMU_PAGE_4K].h_rpt_pgsize = + psize_to_rpti_pgsize(MMU_PAGE_4K); mmu_psize_defs[MMU_PAGE_64K].shift = 16; mmu_psize_defs[MMU_PAGE_64K].ap = 0x5; + mmu_psize_defs[MMU_PAGE_64K].h_rpt_pgsize = + psize_to_rpti_pgsize(MMU_PAGE_64K); } /* -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 2/6] powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Add a field to mmu_psize_def to store the page size encodings of H_RPT_INVALIDATE hcall. Initialize this while scanning the radix AP encodings. This will be used when invalidating with required page size encoding in the hcall. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/include/asm/book3s/64/mmu.h | 1 + arch/powerpc/mm/book3s64/radix_pgtable.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/arch/powerpc/include/asm/book3s/64/mmu.h b/arch/powerpc/include/asm/book3s/64/mmu.h index eace8c3f7b0a..c02f42d1031e 100644 --- a/arch/powerpc/include/asm/book3s/64/mmu.h +++ b/arch/powerpc/include/asm/book3s/64/mmu.h @@ -19,6 +19,7 @@ struct mmu_psize_def { int penc[MMU_PAGE_COUNT]; /* HPTE encoding */ unsigned int tlbiel; /* tlbiel supported for that page size */ unsigned long avpnm; /* bits to mask out in AVPN in the HPTE */ + unsigned long h_rpt_pgsize; /* H_RPT_INVALIDATE page size encoding */ union { unsigned long sllp; /* SLB L||LP (exact mask to use in slbmte) */ unsigned long ap; /* Ap encoding used by PowerISA 3.0 */ diff --git a/arch/powerpc/mm/book3s64/radix_pgtable.c b/arch/powerpc/mm/book3s64/radix_pgtable.c index 5fef8db3b463..637db10d841e 100644 --- a/arch/powerpc/mm/book3s64/radix_pgtable.c +++ b/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -486,6 +486,7 @@ static int __init radix_dt_scan_page_sizes(unsigned long node, def = &mmu_psize_defs[idx]; def->shift = shift; def->ap = ap; + def->h_rpt_pgsize = psize_to_rpti_pgsize(idx); } /* needed ? */ @@ -560,9 +561,13 @@ void __init radix__early_init_devtree(void) */ mmu_psize_defs[MMU_PAGE_4K].shift = 12; mmu_psize_defs[MMU_PAGE_4K].ap = 0x0; + mmu_psize_defs[MMU_PAGE_4K].h_rpt_pgsize + psize_to_rpti_pgsize(MMU_PAGE_4K); mmu_psize_defs[MMU_PAGE_64K].shift = 16; mmu_psize_defs[MMU_PAGE_64K].ap = 0x5; + mmu_psize_defs[MMU_PAGE_64K].h_rpt_pgsize + psize_to_rpti_pgsize(MMU_PAGE_64K); } /* -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david H_RPT_INVALIDATE does two types of TLB invalidations: 1. Process-scoped invalidations for guests when LPCR[GTSE]=0. This is currently not used in KVM as GTSE is not usually disabled in KVM. 2. Partition-scoped invalidations that an L1 hypervisor does on behalf of an L2 guest. This is currently handled by H_TLB_INVALIDATE hcall and this new replaces the old that. This commit enables process-scoped invalidations for L1 guests. Support for process-scoped and partition-scoped invalidations from/for nested guests will be added separately. Process scoped tlbie invalidations from L1 and nested guests need RS register for TLBIE instruction to contain both PID and LPID. This patch introduces primitives that execute tlbie instruction with both PID and LPID set in prepartion for H_RPT_INVALIDATE hcall. A description of H_RPT_INVALIDATE follows: int64 /* H_Success: Return code on successful completion */ /* H_Busy - repeat the call with the same */ /* H_Parameter, H_P2, H_P3, H_P4, H_P5 : Invalid parameters */ hcall(const uint64 H_RPT_INVALIDATE, /* Invalidate RPT translation lookaside information */ uint64 id, /* PID/LPID to invalidate */ uint64 target, /* Invalidation target */ uint64 type, /* Type of lookaside information */ uint64 pg_sizes, /* Page sizes */ uint64 start, /* Start of Effective Address (EA) range (inclusive) */ uint64 end) /* End of EA range (exclusive) */ Invalidation targets (target) ----------------------------- Core MMU 0x01 /* All virtual processors in the partition */ Core local MMU 0x02 /* Current virtual processor */ Nest MMU 0x04 /* All nest/accelerator agents in use by the partition */ A combination of the above can be specified, except core and core local. Type of translation to invalidate (type) --------------------------------------- NESTED 0x0001 /* invalidate nested guest partition-scope */ TLB 0x0002 /* Invalidate TLB */ PWC 0x0004 /* Invalidate Page Walk Cache */ PRT 0x0008 /* Invalidate caching of Process Table Entries if NESTED is clear */ PAT 0x0008 /* Invalidate caching of Partition Table Entries if NESTED is set */ A combination of the above can be specified. Page size mask (pages) ---------------------- 4K 0x01 64K 0x02 2M 0x04 1G 0x08 All sizes (-1UL) A combination of the above can be specified. All page sizes can be selected with -1. Semantics: Invalidate radix tree lookaside information matching the parameters given. * Return H_P2, H_P3 or H_P4 if target, type, or pageSizes parameters are different from the defined values. * Return H_PARAMETER if NESTED is set and pid is not a valid nested LPID allocated to this partition * Return H_P5 if (start, end) doesn't form a valid range. Start and end should be a valid Quadrant address and end > start. * Return H_NotSupported if the partition is not in running in radix translation mode. * May invalidate more translation information than requested. * If start = 0 and end = -1, set the range to cover all valid addresses. Else start and end should be aligned to 4kB (lower 11 bits clear). * If NESTED is clear, then invalidate process scoped lookaside information. Else pid specifies a nested LPID, and the invalidation is performed on nested guest partition table and nested guest partition scope real addresses. * If pid = 0 and NESTED is clear, then valid addresses are quadrant 3 and quadrant 0 spaces, Else valid addresses are quadrant 0. * Pages which are fully covered by the range are to be invalidated. Those which are partially covered are considered outside invalidation range, which allows a caller to optimally invalidate ranges that may contain mixed page sizes. * Return H_SUCCESS on success. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> --- arch/powerpc/include/asm/mmu_context.h | 9 ++ arch/powerpc/kvm/book3s_hv.c | 36 ++++++ arch/powerpc/mm/book3s64/radix_tlb.c | 172 +++++++++++++++++++++++++ 3 files changed, 217 insertions(+) diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h index 4bc45d3ed8b0..b44f291fc909 100644 --- a/arch/powerpc/include/asm/mmu_context.h +++ b/arch/powerpc/include/asm/mmu_context.h @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end); #else static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } +static inline void do_h_rpt_invalidate_prt(unsigned long pid, + unsigned long lpid, + unsigned long type, + unsigned long pg_sizes, + unsigned long start, + unsigned long end) { } #endif extern void switch_cop(struct mm_struct *next); diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index bc0813644666..7e6da4687d88 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -76,6 +76,7 @@ #include <asm/kvm_book3s_uvmem.h> #include <asm/ultravisor.h> #include <asm/dtl.h> +#include <asm/plpar_wrappers.h> #include "book3s.h" @@ -924,6 +925,32 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) return yield_count; } +static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, + unsigned long id, unsigned long target, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + if (!kvm_is_radix(vcpu->kvm)) + return H_UNSUPPORTED; + + if (end < start) + return H_P5; + + /* + * Partition-scoped invalidation for nested guests. + * Not yet supported + */ + if (type & H_RPTI_TYPE_NESTED) + return H_P3; + + /* + * Process-scoped invalidation for L1 guests. + */ + do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, + type, pg_sizes, start, end); + return H_SUCCESS; +} + int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) { unsigned long req = kvmppc_get_gpr(vcpu, 3); @@ -1132,6 +1159,14 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) */ ret = kvmppc_h_svm_init_abort(vcpu->kvm); break; + case H_RPT_INVALIDATE: + ret = kvmppc_h_rpt_invalidate(vcpu, kvmppc_get_gpr(vcpu, 4), + kvmppc_get_gpr(vcpu, 5), + kvmppc_get_gpr(vcpu, 6), + kvmppc_get_gpr(vcpu, 7), + kvmppc_get_gpr(vcpu, 8), + kvmppc_get_gpr(vcpu, 9)); + break; default: return RESUME_HOST; @@ -1178,6 +1213,7 @@ static int kvmppc_hcall_impl_hv(unsigned long cmd) case H_XIRR_X: #endif case H_PAGE_INIT: + case H_RPT_INVALIDATE: return 1; } diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c index 409e61210789..cdd98b9e7b15 100644 --- a/arch/powerpc/mm/book3s64/radix_tlb.c +++ b/arch/powerpc/mm/book3s64/radix_tlb.c @@ -130,6 +130,21 @@ static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) trace_tlbie(0, 0, rb, rs, ric, prs, r); } +static __always_inline void __tlbie_pid_lpid(unsigned long pid, + unsigned long lpid, + unsigned long ric) +{ + unsigned long rb, rs, prs, r; + + rb = PPC_BIT(53); /* IS = 1 */ + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); + prs = 1; /* process scoped */ + r = 1; /* radix format */ + + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); + trace_tlbie(0, 0, rb, rs, ric, prs, r); +} static __always_inline void __tlbie_lpid(unsigned long lpid, unsigned long ric) { unsigned long rb,rs,prs,r; @@ -190,6 +205,23 @@ static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, trace_tlbie(0, 0, rb, rs, ric, prs, r); } +static __always_inline void __tlbie_va_lpid(unsigned long va, unsigned long pid, + unsigned long lpid, + unsigned long ap, unsigned long ric) +{ + unsigned long rb, rs, prs, r; + + rb = va & ~(PPC_BITMASK(52, 63)); + rb |= ap << PPC_BITLSHIFT(58); + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); + prs = 1; /* process scoped */ + r = 1; /* radix format */ + + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); + trace_tlbie(0, 0, rb, rs, ric, prs, r); +} + static __always_inline void __tlbie_lpid_va(unsigned long va, unsigned long lpid, unsigned long ap, unsigned long ric) { @@ -235,6 +267,22 @@ static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, } } +static inline void fixup_tlbie_va_range_lpid(unsigned long va, + unsigned long pid, + unsigned long lpid, + unsigned long ap) +{ + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); + } + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_va_lpid(va, pid, lpid, ap, RIC_FLUSH_TLB); + } +} + static inline void fixup_tlbie_pid(unsigned long pid) { /* @@ -254,6 +302,25 @@ static inline void fixup_tlbie_pid(unsigned long pid) } } +static inline void fixup_tlbie_pid_lpid(unsigned long pid, unsigned long lpid) +{ + /* + * We can use any address for the invalidation, pick one which is + * probably unused as an optimisation. + */ + unsigned long va = ((1UL << 52) - 1); + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); + } + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_va_lpid(va, pid, lpid, mmu_get_ap(MMU_PAGE_64K), + RIC_FLUSH_TLB); + } +} static inline void fixup_tlbie_lpid_va(unsigned long va, unsigned long lpid, unsigned long ap) @@ -344,6 +411,31 @@ static inline void _tlbie_pid(unsigned long pid, unsigned long ric) asm volatile("eieio; tlbsync; ptesync": : :"memory"); } +static inline void _tlbie_pid_lpid(unsigned long pid, unsigned long lpid, + unsigned long ric) +{ + asm volatile("ptesync" : : : "memory"); + + /* + * Workaround the fact that the "ric" argument to __tlbie_pid + * must be a compile-time contraint to match the "i" constraint + * in the asm statement. + */ + switch (ric) { + case RIC_FLUSH_TLB: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + fixup_tlbie_pid_lpid(pid, lpid); + break; + case RIC_FLUSH_PWC: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + break; + case RIC_FLUSH_ALL: + default: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); + fixup_tlbie_pid_lpid(pid, lpid); + } + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); +} struct tlbiel_pid { unsigned long pid; unsigned long ric; @@ -469,6 +561,20 @@ static inline void __tlbie_va_range(unsigned long start, unsigned long end, fixup_tlbie_va_range(addr - page_size, pid, ap); } +static inline void __tlbie_va_range_lpid(unsigned long start, unsigned long end, + unsigned long pid, unsigned long lpid, + unsigned long page_size, + unsigned long psize) +{ + unsigned long addr; + unsigned long ap = mmu_get_ap(psize); + + for (addr = start; addr < end; addr += page_size) + __tlbie_va_lpid(addr, pid, lpid, ap, RIC_FLUSH_TLB); + + fixup_tlbie_va_range_lpid(addr - page_size, pid, lpid, ap); +} + static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, unsigned long psize, unsigned long ric) { @@ -549,6 +655,18 @@ static inline void _tlbie_va_range(unsigned long start, unsigned long end, asm volatile("eieio; tlbsync; ptesync": : :"memory"); } +static inline void _tlbie_va_range_lpid(unsigned long start, unsigned long end, + unsigned long pid, unsigned long lpid, + unsigned long page_size, + unsigned long psize, bool also_pwc) +{ + asm volatile("ptesync" : : : "memory"); + if (also_pwc) + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + __tlbie_va_range_lpid(start, end, pid, lpid, page_size, psize); + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); +} + static inline void _tlbiel_va_range_multicast(struct mm_struct *mm, unsigned long start, unsigned long end, unsigned long pid, unsigned long page_size, @@ -1381,4 +1499,58 @@ extern void radix_kvm_prefetch_workaround(struct mm_struct *mm) } } EXPORT_SYMBOL_GPL(radix_kvm_prefetch_workaround); + +/* + * Performs process-scoped invalidations for a given LPID + * as part of H_RPT_INVALIDATE hcall. + */ +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + unsigned long psize, nr_pages; + struct mmu_psize_def *def; + bool flush_pid; + + /* + * A H_RPTI_TYPE_ALL request implies RIC=3, hence + * do a single IS=1 based flush. + */ + if ((type & H_RPTI_TYPE_ALL) == H_RPTI_TYPE_ALL) { + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); + return; + } + + if (type & H_RPTI_TYPE_PWC) + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + + /* Full PID flush */ + if (start == 0 && end == -1) + return _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + + /* Do range invalidation for all the valid page sizes */ + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_pid = nr_pages > tlb_single_page_flush_ceiling; + + /* + * If the number of pages spanning the range is above + * the ceiling, convert the request into a full PID flush. + * And since PID flush takes out all the page sizes, there + * is no need to consider remaining page sizes. + */ + if (flush_pid) { + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + return; + } + _tlbie_va_range_lpid(start, end, pid, lpid, + (1UL << def->shift), psize, false); + } +} +EXPORT_SYMBOL_GPL(do_h_rpt_invalidate_prt); + #endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */ -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david H_RPT_INVALIDATE does two types of TLB invalidations: 1. Process-scoped invalidations for guests when LPCR[GTSE]=0. This is currently not used in KVM as GTSE is not usually disabled in KVM. 2. Partition-scoped invalidations that an L1 hypervisor does on behalf of an L2 guest. This is currently handled by H_TLB_INVALIDATE hcall and this new replaces the old that. This commit enables process-scoped invalidations for L1 guests. Support for process-scoped and partition-scoped invalidations from/for nested guests will be added separately. Process scoped tlbie invalidations from L1 and nested guests need RS register for TLBIE instruction to contain both PID and LPID. This patch introduces primitives that execute tlbie instruction with both PID and LPID set in prepartion for H_RPT_INVALIDATE hcall. A description of H_RPT_INVALIDATE follows: int64 /* H_Success: Return code on successful completion */ /* H_Busy - repeat the call with the same */ /* H_Parameter, H_P2, H_P3, H_P4, H_P5 : Invalid parameters */ hcall(const uint64 H_RPT_INVALIDATE, /* Invalidate RPT translation lookaside information */ uint64 id, /* PID/LPID to invalidate */ uint64 target, /* Invalidation target */ uint64 type, /* Type of lookaside information */ uint64 pg_sizes, /* Page sizes */ uint64 start, /* Start of Effective Address (EA) range (inclusive) */ uint64 end) /* End of EA range (exclusive) */ Invalidation targets (target) ----------------------------- Core MMU 0x01 /* All virtual processors in the partition */ Core local MMU 0x02 /* Current virtual processor */ Nest MMU 0x04 /* All nest/accelerator agents in use by the partition */ A combination of the above can be specified, except core and core local. Type of translation to invalidate (type) --------------------------------------- NESTED 0x0001 /* invalidate nested guest partition-scope */ TLB 0x0002 /* Invalidate TLB */ PWC 0x0004 /* Invalidate Page Walk Cache */ PRT 0x0008 /* Invalidate caching of Process Table Entries if NESTED is clear */ PAT 0x0008 /* Invalidate caching of Partition Table Entries if NESTED is set */ A combination of the above can be specified. Page size mask (pages) ---------------------- 4K 0x01 64K 0x02 2M 0x04 1G 0x08 All sizes (-1UL) A combination of the above can be specified. All page sizes can be selected with -1. Semantics: Invalidate radix tree lookaside information matching the parameters given. * Return H_P2, H_P3 or H_P4 if target, type, or pageSizes parameters are different from the defined values. * Return H_PARAMETER if NESTED is set and pid is not a valid nested LPID allocated to this partition * Return H_P5 if (start, end) doesn't form a valid range. Start and end should be a valid Quadrant address and end > start. * Return H_NotSupported if the partition is not in running in radix translation mode. * May invalidate more translation information than requested. * If start = 0 and end = -1, set the range to cover all valid addresses. Else start and end should be aligned to 4kB (lower 11 bits clear). * If NESTED is clear, then invalidate process scoped lookaside information. Else pid specifies a nested LPID, and the invalidation is performed on nested guest partition table and nested guest partition scope real addresses. * If pid = 0 and NESTED is clear, then valid addresses are quadrant 3 and quadrant 0 spaces, Else valid addresses are quadrant 0. * Pages which are fully covered by the range are to be invalidated. Those which are partially covered are considered outside invalidation range, which allows a caller to optimally invalidate ranges that may contain mixed page sizes. * Return H_SUCCESS on success. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> --- arch/powerpc/include/asm/mmu_context.h | 9 ++ arch/powerpc/kvm/book3s_hv.c | 36 ++++++ arch/powerpc/mm/book3s64/radix_tlb.c | 172 +++++++++++++++++++++++++ 3 files changed, 217 insertions(+) diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h index 4bc45d3ed8b0..b44f291fc909 100644 --- a/arch/powerpc/include/asm/mmu_context.h +++ b/arch/powerpc/include/asm/mmu_context.h @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end); #else static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } +static inline void do_h_rpt_invalidate_prt(unsigned long pid, + unsigned long lpid, + unsigned long type, + unsigned long pg_sizes, + unsigned long start, + unsigned long end) { } #endif extern void switch_cop(struct mm_struct *next); diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index bc0813644666..7e6da4687d88 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -76,6 +76,7 @@ #include <asm/kvm_book3s_uvmem.h> #include <asm/ultravisor.h> #include <asm/dtl.h> +#include <asm/plpar_wrappers.h> #include "book3s.h" @@ -924,6 +925,32 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) return yield_count; } +static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, + unsigned long id, unsigned long target, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + if (!kvm_is_radix(vcpu->kvm)) + return H_UNSUPPORTED; + + if (end < start) + return H_P5; + + /* + * Partition-scoped invalidation for nested guests. + * Not yet supported + */ + if (type & H_RPTI_TYPE_NESTED) + return H_P3; + + /* + * Process-scoped invalidation for L1 guests. + */ + do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, + type, pg_sizes, start, end); + return H_SUCCESS; +} + int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) { unsigned long req = kvmppc_get_gpr(vcpu, 3); @@ -1132,6 +1159,14 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) */ ret = kvmppc_h_svm_init_abort(vcpu->kvm); break; + case H_RPT_INVALIDATE: + ret = kvmppc_h_rpt_invalidate(vcpu, kvmppc_get_gpr(vcpu, 4), + kvmppc_get_gpr(vcpu, 5), + kvmppc_get_gpr(vcpu, 6), + kvmppc_get_gpr(vcpu, 7), + kvmppc_get_gpr(vcpu, 8), + kvmppc_get_gpr(vcpu, 9)); + break; default: return RESUME_HOST; @@ -1178,6 +1213,7 @@ static int kvmppc_hcall_impl_hv(unsigned long cmd) case H_XIRR_X: #endif case H_PAGE_INIT: + case H_RPT_INVALIDATE: return 1; } diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c index 409e61210789..cdd98b9e7b15 100644 --- a/arch/powerpc/mm/book3s64/radix_tlb.c +++ b/arch/powerpc/mm/book3s64/radix_tlb.c @@ -130,6 +130,21 @@ static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) trace_tlbie(0, 0, rb, rs, ric, prs, r); } +static __always_inline void __tlbie_pid_lpid(unsigned long pid, + unsigned long lpid, + unsigned long ric) +{ + unsigned long rb, rs, prs, r; + + rb = PPC_BIT(53); /* IS = 1 */ + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); + prs = 1; /* process scoped */ + r = 1; /* radix format */ + + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); + trace_tlbie(0, 0, rb, rs, ric, prs, r); +} static __always_inline void __tlbie_lpid(unsigned long lpid, unsigned long ric) { unsigned long rb,rs,prs,r; @@ -190,6 +205,23 @@ static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, trace_tlbie(0, 0, rb, rs, ric, prs, r); } +static __always_inline void __tlbie_va_lpid(unsigned long va, unsigned long pid, + unsigned long lpid, + unsigned long ap, unsigned long ric) +{ + unsigned long rb, rs, prs, r; + + rb = va & ~(PPC_BITMASK(52, 63)); + rb |= ap << PPC_BITLSHIFT(58); + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); + prs = 1; /* process scoped */ + r = 1; /* radix format */ + + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); + trace_tlbie(0, 0, rb, rs, ric, prs, r); +} + static __always_inline void __tlbie_lpid_va(unsigned long va, unsigned long lpid, unsigned long ap, unsigned long ric) { @@ -235,6 +267,22 @@ static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, } } +static inline void fixup_tlbie_va_range_lpid(unsigned long va, + unsigned long pid, + unsigned long lpid, + unsigned long ap) +{ + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); + } + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_va_lpid(va, pid, lpid, ap, RIC_FLUSH_TLB); + } +} + static inline void fixup_tlbie_pid(unsigned long pid) { /* @@ -254,6 +302,25 @@ static inline void fixup_tlbie_pid(unsigned long pid) } } +static inline void fixup_tlbie_pid_lpid(unsigned long pid, unsigned long lpid) +{ + /* + * We can use any address for the invalidation, pick one which is + * probably unused as an optimisation. + */ + unsigned long va = ((1UL << 52) - 1); + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); + } + + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { + asm volatile("ptesync" : : : "memory"); + __tlbie_va_lpid(va, pid, lpid, mmu_get_ap(MMU_PAGE_64K), + RIC_FLUSH_TLB); + } +} static inline void fixup_tlbie_lpid_va(unsigned long va, unsigned long lpid, unsigned long ap) @@ -344,6 +411,31 @@ static inline void _tlbie_pid(unsigned long pid, unsigned long ric) asm volatile("eieio; tlbsync; ptesync": : :"memory"); } +static inline void _tlbie_pid_lpid(unsigned long pid, unsigned long lpid, + unsigned long ric) +{ + asm volatile("ptesync" : : : "memory"); + + /* + * Workaround the fact that the "ric" argument to __tlbie_pid + * must be a compile-time contraint to match the "i" constraint + * in the asm statement. + */ + switch (ric) { + case RIC_FLUSH_TLB: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + fixup_tlbie_pid_lpid(pid, lpid); + break; + case RIC_FLUSH_PWC: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + break; + case RIC_FLUSH_ALL: + default: + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); + fixup_tlbie_pid_lpid(pid, lpid); + } + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); +} struct tlbiel_pid { unsigned long pid; unsigned long ric; @@ -469,6 +561,20 @@ static inline void __tlbie_va_range(unsigned long start, unsigned long end, fixup_tlbie_va_range(addr - page_size, pid, ap); } +static inline void __tlbie_va_range_lpid(unsigned long start, unsigned long end, + unsigned long pid, unsigned long lpid, + unsigned long page_size, + unsigned long psize) +{ + unsigned long addr; + unsigned long ap = mmu_get_ap(psize); + + for (addr = start; addr < end; addr += page_size) + __tlbie_va_lpid(addr, pid, lpid, ap, RIC_FLUSH_TLB); + + fixup_tlbie_va_range_lpid(addr - page_size, pid, lpid, ap); +} + static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, unsigned long psize, unsigned long ric) { @@ -549,6 +655,18 @@ static inline void _tlbie_va_range(unsigned long start, unsigned long end, asm volatile("eieio; tlbsync; ptesync": : :"memory"); } +static inline void _tlbie_va_range_lpid(unsigned long start, unsigned long end, + unsigned long pid, unsigned long lpid, + unsigned long page_size, + unsigned long psize, bool also_pwc) +{ + asm volatile("ptesync" : : : "memory"); + if (also_pwc) + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + __tlbie_va_range_lpid(start, end, pid, lpid, page_size, psize); + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); +} + static inline void _tlbiel_va_range_multicast(struct mm_struct *mm, unsigned long start, unsigned long end, unsigned long pid, unsigned long page_size, @@ -1381,4 +1499,58 @@ extern void radix_kvm_prefetch_workaround(struct mm_struct *mm) } } EXPORT_SYMBOL_GPL(radix_kvm_prefetch_workaround); + +/* + * Performs process-scoped invalidations for a given LPID + * as part of H_RPT_INVALIDATE hcall. + */ +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + unsigned long psize, nr_pages; + struct mmu_psize_def *def; + bool flush_pid; + + /* + * A H_RPTI_TYPE_ALL request implies RIC=3, hence + * do a single IS=1 based flush. + */ + if ((type & H_RPTI_TYPE_ALL) = H_RPTI_TYPE_ALL) { + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); + return; + } + + if (type & H_RPTI_TYPE_PWC) + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); + + /* Full PID flush */ + if (start = 0 && end = -1) + return _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + + /* Do range invalidation for all the valid page sizes */ + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_pid = nr_pages > tlb_single_page_flush_ceiling; + + /* + * If the number of pages spanning the range is above + * the ceiling, convert the request into a full PID flush. + * And since PID flush takes out all the page sizes, there + * is no need to consider remaining page sizes. + */ + if (flush_pid) { + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); + return; + } + _tlbie_va_range_lpid(start, end, pid, lpid, + (1UL << def->shift), psize, false); + } +} +EXPORT_SYMBOL_GPL(do_h_rpt_invalidate_prt); + #endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */ -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-06-21 8:50 ` Bharata B Rao @ 2021-07-05 4:42 ` David Gibson -1 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-05 4:42 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 15932 bytes --] On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > H_RPT_INVALIDATE does two types of TLB invalidations: > > 1. Process-scoped invalidations for guests when LPCR[GTSE]=0. > This is currently not used in KVM as GTSE is not usually > disabled in KVM. > 2. Partition-scoped invalidations that an L1 hypervisor does on > behalf of an L2 guest. This is currently handled > by H_TLB_INVALIDATE hcall and this new replaces the old that. > > This commit enables process-scoped invalidations for L1 guests. > Support for process-scoped and partition-scoped invalidations > from/for nested guests will be added separately. > > Process scoped tlbie invalidations from L1 and nested guests > need RS register for TLBIE instruction to contain both PID and > LPID. This patch introduces primitives that execute tlbie > instruction with both PID and LPID set in prepartion for > H_RPT_INVALIDATE hcall. > > A description of H_RPT_INVALIDATE follows: > > int64 /* H_Success: Return code on successful completion */ > /* H_Busy - repeat the call with the same */ > /* H_Parameter, H_P2, H_P3, H_P4, H_P5 : Invalid > parameters */ > hcall(const uint64 H_RPT_INVALIDATE, /* Invalidate RPT > translation > lookaside information */ > uint64 id, /* PID/LPID to invalidate */ > uint64 target, /* Invalidation target */ > uint64 type, /* Type of lookaside information */ > uint64 pg_sizes, /* Page sizes */ > uint64 start, /* Start of Effective Address (EA) > range (inclusive) */ > uint64 end) /* End of EA range (exclusive) */ > > Invalidation targets (target) > ----------------------------- > Core MMU 0x01 /* All virtual processors in the > partition */ > Core local MMU 0x02 /* Current virtual processor */ > Nest MMU 0x04 /* All nest/accelerator agents > in use by the partition */ > > A combination of the above can be specified, > except core and core local. > > Type of translation to invalidate (type) > --------------------------------------- > NESTED 0x0001 /* invalidate nested guest partition-scope */ > TLB 0x0002 /* Invalidate TLB */ > PWC 0x0004 /* Invalidate Page Walk Cache */ > PRT 0x0008 /* Invalidate caching of Process Table > Entries if NESTED is clear */ > PAT 0x0008 /* Invalidate caching of Partition Table > Entries if NESTED is set */ > > A combination of the above can be specified. > > Page size mask (pages) > ---------------------- > 4K 0x01 > 64K 0x02 > 2M 0x04 > 1G 0x08 > All sizes (-1UL) > > A combination of the above can be specified. > All page sizes can be selected with -1. > > Semantics: Invalidate radix tree lookaside information > matching the parameters given. > * Return H_P2, H_P3 or H_P4 if target, type, or pageSizes parameters > are different from the defined values. > * Return H_PARAMETER if NESTED is set and pid is not a valid nested > LPID allocated to this partition > * Return H_P5 if (start, end) doesn't form a valid range. Start and > end should be a valid Quadrant address and end > start. > * Return H_NotSupported if the partition is not in running in radix > translation mode. > * May invalidate more translation information than requested. > * If start = 0 and end = -1, set the range to cover all valid > addresses. Else start and end should be aligned to 4kB (lower 11 > bits clear). > * If NESTED is clear, then invalidate process scoped lookaside > information. Else pid specifies a nested LPID, and the invalidation > is performed on nested guest partition table and nested guest > partition scope real addresses. > * If pid = 0 and NESTED is clear, then valid addresses are quadrant 3 > and quadrant 0 spaces, Else valid addresses are quadrant 0. > * Pages which are fully covered by the range are to be invalidated. > Those which are partially covered are considered outside > invalidation range, which allows a caller to optimally invalidate > ranges that may contain mixed page sizes. > * Return H_SUCCESS on success. > > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > --- > arch/powerpc/include/asm/mmu_context.h | 9 ++ > arch/powerpc/kvm/book3s_hv.c | 36 ++++++ > arch/powerpc/mm/book3s64/radix_tlb.c | 172 +++++++++++++++++++++++++ > 3 files changed, 217 insertions(+) > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > index 4bc45d3ed8b0..b44f291fc909 100644 > --- a/arch/powerpc/include/asm/mmu_context.h > +++ b/arch/powerpc/include/asm/mmu_context.h > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end); > #else > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > + unsigned long lpid, > + unsigned long type, > + unsigned long pg_sizes, > + unsigned long start, > + unsigned long end) { } Since the only plausible caller is in KVM HV code, why do you need the #else clause. > #endif > > extern void switch_cop(struct mm_struct *next); > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index bc0813644666..7e6da4687d88 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -76,6 +76,7 @@ > #include <asm/kvm_book3s_uvmem.h> > #include <asm/ultravisor.h> > #include <asm/dtl.h> > +#include <asm/plpar_wrappers.h> > > #include "book3s.h" > > @@ -924,6 +925,32 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) > return yield_count; > } > > +static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > + unsigned long id, unsigned long target, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + if (!kvm_is_radix(vcpu->kvm)) > + return H_UNSUPPORTED; > + > + if (end < start) > + return H_P5; > + > + /* > + * Partition-scoped invalidation for nested guests. > + * Not yet supported > + */ > + if (type & H_RPTI_TYPE_NESTED) > + return H_P3; > + > + /* > + * Process-scoped invalidation for L1 guests. > + */ > + do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, > + type, pg_sizes, start, end); > + return H_SUCCESS; > +} > + > int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) > { > unsigned long req = kvmppc_get_gpr(vcpu, 3); > @@ -1132,6 +1159,14 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) > */ > ret = kvmppc_h_svm_init_abort(vcpu->kvm); > break; > + case H_RPT_INVALIDATE: > + ret = kvmppc_h_rpt_invalidate(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5), > + kvmppc_get_gpr(vcpu, 6), > + kvmppc_get_gpr(vcpu, 7), > + kvmppc_get_gpr(vcpu, 8), > + kvmppc_get_gpr(vcpu, 9)); > + break; > > default: > return RESUME_HOST; > @@ -1178,6 +1213,7 @@ static int kvmppc_hcall_impl_hv(unsigned long cmd) > case H_XIRR_X: > #endif > case H_PAGE_INIT: > + case H_RPT_INVALIDATE: > return 1; > } > > diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c > index 409e61210789..cdd98b9e7b15 100644 > --- a/arch/powerpc/mm/book3s64/radix_tlb.c > +++ b/arch/powerpc/mm/book3s64/radix_tlb.c > @@ -130,6 +130,21 @@ static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) > trace_tlbie(0, 0, rb, rs, ric, prs, r); > } > > +static __always_inline void __tlbie_pid_lpid(unsigned long pid, > + unsigned long lpid, > + unsigned long ric) > +{ > + unsigned long rb, rs, prs, r; > + > + rb = PPC_BIT(53); /* IS = 1 */ > + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); > + prs = 1; /* process scoped */ > + r = 1; /* radix format */ > + > + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) > + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); > + trace_tlbie(0, 0, rb, rs, ric, prs, r); > +} > static __always_inline void __tlbie_lpid(unsigned long lpid, unsigned long ric) > { > unsigned long rb,rs,prs,r; > @@ -190,6 +205,23 @@ static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, > trace_tlbie(0, 0, rb, rs, ric, prs, r); > } > > +static __always_inline void __tlbie_va_lpid(unsigned long va, unsigned long pid, > + unsigned long lpid, > + unsigned long ap, unsigned long ric) > +{ > + unsigned long rb, rs, prs, r; > + > + rb = va & ~(PPC_BITMASK(52, 63)); > + rb |= ap << PPC_BITLSHIFT(58); > + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); > + prs = 1; /* process scoped */ > + r = 1; /* radix format */ > + > + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) > + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); > + trace_tlbie(0, 0, rb, rs, ric, prs, r); > +} > + > static __always_inline void __tlbie_lpid_va(unsigned long va, unsigned long lpid, > unsigned long ap, unsigned long ric) > { > @@ -235,6 +267,22 @@ static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, > } > } > > +static inline void fixup_tlbie_va_range_lpid(unsigned long va, > + unsigned long pid, > + unsigned long lpid, > + unsigned long ap) > +{ > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); > + } > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_va_lpid(va, pid, lpid, ap, RIC_FLUSH_TLB); > + } > +} > + > static inline void fixup_tlbie_pid(unsigned long pid) > { > /* > @@ -254,6 +302,25 @@ static inline void fixup_tlbie_pid(unsigned long pid) > } > } > > +static inline void fixup_tlbie_pid_lpid(unsigned long pid, unsigned long lpid) > +{ > + /* > + * We can use any address for the invalidation, pick one which is > + * probably unused as an optimisation. > + */ > + unsigned long va = ((1UL << 52) - 1); > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); > + } > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_va_lpid(va, pid, lpid, mmu_get_ap(MMU_PAGE_64K), > + RIC_FLUSH_TLB); > + } > +} > > static inline void fixup_tlbie_lpid_va(unsigned long va, unsigned long lpid, > unsigned long ap) > @@ -344,6 +411,31 @@ static inline void _tlbie_pid(unsigned long pid, unsigned long ric) > asm volatile("eieio; tlbsync; ptesync": : :"memory"); > } > > +static inline void _tlbie_pid_lpid(unsigned long pid, unsigned long lpid, > + unsigned long ric) > +{ > + asm volatile("ptesync" : : : "memory"); > + > + /* > + * Workaround the fact that the "ric" argument to __tlbie_pid > + * must be a compile-time contraint to match the "i" constraint > + * in the asm statement. > + */ > + switch (ric) { > + case RIC_FLUSH_TLB: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + fixup_tlbie_pid_lpid(pid, lpid); > + break; > + case RIC_FLUSH_PWC: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + break; > + case RIC_FLUSH_ALL: > + default: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); > + fixup_tlbie_pid_lpid(pid, lpid); > + } > + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); > +} > struct tlbiel_pid { > unsigned long pid; > unsigned long ric; > @@ -469,6 +561,20 @@ static inline void __tlbie_va_range(unsigned long start, unsigned long end, > fixup_tlbie_va_range(addr - page_size, pid, ap); > } > > +static inline void __tlbie_va_range_lpid(unsigned long start, unsigned long end, > + unsigned long pid, unsigned long lpid, > + unsigned long page_size, > + unsigned long psize) > +{ > + unsigned long addr; > + unsigned long ap = mmu_get_ap(psize); > + > + for (addr = start; addr < end; addr += page_size) > + __tlbie_va_lpid(addr, pid, lpid, ap, RIC_FLUSH_TLB); > + > + fixup_tlbie_va_range_lpid(addr - page_size, pid, lpid, ap); > +} > + > static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, > unsigned long psize, unsigned long ric) > { > @@ -549,6 +655,18 @@ static inline void _tlbie_va_range(unsigned long start, unsigned long end, > asm volatile("eieio; tlbsync; ptesync": : :"memory"); > } > > +static inline void _tlbie_va_range_lpid(unsigned long start, unsigned long end, > + unsigned long pid, unsigned long lpid, > + unsigned long page_size, > + unsigned long psize, bool also_pwc) > +{ > + asm volatile("ptesync" : : : "memory"); > + if (also_pwc) > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + __tlbie_va_range_lpid(start, end, pid, lpid, page_size, psize); > + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); > +} > + > static inline void _tlbiel_va_range_multicast(struct mm_struct *mm, > unsigned long start, unsigned long end, > unsigned long pid, unsigned long page_size, > @@ -1381,4 +1499,58 @@ extern void radix_kvm_prefetch_workaround(struct mm_struct *mm) > } > } > EXPORT_SYMBOL_GPL(radix_kvm_prefetch_workaround); > + > +/* > + * Performs process-scoped invalidations for a given LPID > + * as part of H_RPT_INVALIDATE hcall. > + */ > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + unsigned long psize, nr_pages; > + struct mmu_psize_def *def; > + bool flush_pid; > + > + /* > + * A H_RPTI_TYPE_ALL request implies RIC=3, hence > + * do a single IS=1 based flush. > + */ > + if ((type & H_RPTI_TYPE_ALL) == H_RPTI_TYPE_ALL) { > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); > + return; > + } > + > + if (type & H_RPTI_TYPE_PWC) > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + > + /* Full PID flush */ > + if (start == 0 && end == -1) > + return _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + > + /* Do range invalidation for all the valid page sizes */ > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_pid = nr_pages > tlb_single_page_flush_ceiling; > + > + /* > + * If the number of pages spanning the range is above > + * the ceiling, convert the request into a full PID flush. > + * And since PID flush takes out all the page sizes, there > + * is no need to consider remaining page sizes. > + */ > + if (flush_pid) { > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + return; > + } > + _tlbie_va_range_lpid(start, end, pid, lpid, > + (1UL << def->shift), psize, false); > + } > +} > +EXPORT_SYMBOL_GPL(do_h_rpt_invalidate_prt); > + > #endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */ -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-07-05 4:42 ` David Gibson 0 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-05 4:42 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 15932 bytes --] On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > H_RPT_INVALIDATE does two types of TLB invalidations: > > 1. Process-scoped invalidations for guests when LPCR[GTSE]=0. > This is currently not used in KVM as GTSE is not usually > disabled in KVM. > 2. Partition-scoped invalidations that an L1 hypervisor does on > behalf of an L2 guest. This is currently handled > by H_TLB_INVALIDATE hcall and this new replaces the old that. > > This commit enables process-scoped invalidations for L1 guests. > Support for process-scoped and partition-scoped invalidations > from/for nested guests will be added separately. > > Process scoped tlbie invalidations from L1 and nested guests > need RS register for TLBIE instruction to contain both PID and > LPID. This patch introduces primitives that execute tlbie > instruction with both PID and LPID set in prepartion for > H_RPT_INVALIDATE hcall. > > A description of H_RPT_INVALIDATE follows: > > int64 /* H_Success: Return code on successful completion */ > /* H_Busy - repeat the call with the same */ > /* H_Parameter, H_P2, H_P3, H_P4, H_P5 : Invalid > parameters */ > hcall(const uint64 H_RPT_INVALIDATE, /* Invalidate RPT > translation > lookaside information */ > uint64 id, /* PID/LPID to invalidate */ > uint64 target, /* Invalidation target */ > uint64 type, /* Type of lookaside information */ > uint64 pg_sizes, /* Page sizes */ > uint64 start, /* Start of Effective Address (EA) > range (inclusive) */ > uint64 end) /* End of EA range (exclusive) */ > > Invalidation targets (target) > ----------------------------- > Core MMU 0x01 /* All virtual processors in the > partition */ > Core local MMU 0x02 /* Current virtual processor */ > Nest MMU 0x04 /* All nest/accelerator agents > in use by the partition */ > > A combination of the above can be specified, > except core and core local. > > Type of translation to invalidate (type) > --------------------------------------- > NESTED 0x0001 /* invalidate nested guest partition-scope */ > TLB 0x0002 /* Invalidate TLB */ > PWC 0x0004 /* Invalidate Page Walk Cache */ > PRT 0x0008 /* Invalidate caching of Process Table > Entries if NESTED is clear */ > PAT 0x0008 /* Invalidate caching of Partition Table > Entries if NESTED is set */ > > A combination of the above can be specified. > > Page size mask (pages) > ---------------------- > 4K 0x01 > 64K 0x02 > 2M 0x04 > 1G 0x08 > All sizes (-1UL) > > A combination of the above can be specified. > All page sizes can be selected with -1. > > Semantics: Invalidate radix tree lookaside information > matching the parameters given. > * Return H_P2, H_P3 or H_P4 if target, type, or pageSizes parameters > are different from the defined values. > * Return H_PARAMETER if NESTED is set and pid is not a valid nested > LPID allocated to this partition > * Return H_P5 if (start, end) doesn't form a valid range. Start and > end should be a valid Quadrant address and end > start. > * Return H_NotSupported if the partition is not in running in radix > translation mode. > * May invalidate more translation information than requested. > * If start = 0 and end = -1, set the range to cover all valid > addresses. Else start and end should be aligned to 4kB (lower 11 > bits clear). > * If NESTED is clear, then invalidate process scoped lookaside > information. Else pid specifies a nested LPID, and the invalidation > is performed on nested guest partition table and nested guest > partition scope real addresses. > * If pid = 0 and NESTED is clear, then valid addresses are quadrant 3 > and quadrant 0 spaces, Else valid addresses are quadrant 0. > * Pages which are fully covered by the range are to be invalidated. > Those which are partially covered are considered outside > invalidation range, which allows a caller to optimally invalidate > ranges that may contain mixed page sizes. > * Return H_SUCCESS on success. > > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > --- > arch/powerpc/include/asm/mmu_context.h | 9 ++ > arch/powerpc/kvm/book3s_hv.c | 36 ++++++ > arch/powerpc/mm/book3s64/radix_tlb.c | 172 +++++++++++++++++++++++++ > 3 files changed, 217 insertions(+) > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > index 4bc45d3ed8b0..b44f291fc909 100644 > --- a/arch/powerpc/include/asm/mmu_context.h > +++ b/arch/powerpc/include/asm/mmu_context.h > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end); > #else > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > + unsigned long lpid, > + unsigned long type, > + unsigned long pg_sizes, > + unsigned long start, > + unsigned long end) { } Since the only plausible caller is in KVM HV code, why do you need the #else clause. > #endif > > extern void switch_cop(struct mm_struct *next); > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index bc0813644666..7e6da4687d88 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -76,6 +76,7 @@ > #include <asm/kvm_book3s_uvmem.h> > #include <asm/ultravisor.h> > #include <asm/dtl.h> > +#include <asm/plpar_wrappers.h> > > #include "book3s.h" > > @@ -924,6 +925,32 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) > return yield_count; > } > > +static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > + unsigned long id, unsigned long target, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + if (!kvm_is_radix(vcpu->kvm)) > + return H_UNSUPPORTED; > + > + if (end < start) > + return H_P5; > + > + /* > + * Partition-scoped invalidation for nested guests. > + * Not yet supported > + */ > + if (type & H_RPTI_TYPE_NESTED) > + return H_P3; > + > + /* > + * Process-scoped invalidation for L1 guests. > + */ > + do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, > + type, pg_sizes, start, end); > + return H_SUCCESS; > +} > + > int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) > { > unsigned long req = kvmppc_get_gpr(vcpu, 3); > @@ -1132,6 +1159,14 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) > */ > ret = kvmppc_h_svm_init_abort(vcpu->kvm); > break; > + case H_RPT_INVALIDATE: > + ret = kvmppc_h_rpt_invalidate(vcpu, kvmppc_get_gpr(vcpu, 4), > + kvmppc_get_gpr(vcpu, 5), > + kvmppc_get_gpr(vcpu, 6), > + kvmppc_get_gpr(vcpu, 7), > + kvmppc_get_gpr(vcpu, 8), > + kvmppc_get_gpr(vcpu, 9)); > + break; > > default: > return RESUME_HOST; > @@ -1178,6 +1213,7 @@ static int kvmppc_hcall_impl_hv(unsigned long cmd) > case H_XIRR_X: > #endif > case H_PAGE_INIT: > + case H_RPT_INVALIDATE: > return 1; > } > > diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c > index 409e61210789..cdd98b9e7b15 100644 > --- a/arch/powerpc/mm/book3s64/radix_tlb.c > +++ b/arch/powerpc/mm/book3s64/radix_tlb.c > @@ -130,6 +130,21 @@ static __always_inline void __tlbie_pid(unsigned long pid, unsigned long ric) > trace_tlbie(0, 0, rb, rs, ric, prs, r); > } > > +static __always_inline void __tlbie_pid_lpid(unsigned long pid, > + unsigned long lpid, > + unsigned long ric) > +{ > + unsigned long rb, rs, prs, r; > + > + rb = PPC_BIT(53); /* IS = 1 */ > + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); > + prs = 1; /* process scoped */ > + r = 1; /* radix format */ > + > + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) > + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); > + trace_tlbie(0, 0, rb, rs, ric, prs, r); > +} > static __always_inline void __tlbie_lpid(unsigned long lpid, unsigned long ric) > { > unsigned long rb,rs,prs,r; > @@ -190,6 +205,23 @@ static __always_inline void __tlbie_va(unsigned long va, unsigned long pid, > trace_tlbie(0, 0, rb, rs, ric, prs, r); > } > > +static __always_inline void __tlbie_va_lpid(unsigned long va, unsigned long pid, > + unsigned long lpid, > + unsigned long ap, unsigned long ric) > +{ > + unsigned long rb, rs, prs, r; > + > + rb = va & ~(PPC_BITMASK(52, 63)); > + rb |= ap << PPC_BITLSHIFT(58); > + rs = (pid << PPC_BITLSHIFT(31)) | (lpid & ~(PPC_BITMASK(0, 31))); > + prs = 1; /* process scoped */ > + r = 1; /* radix format */ > + > + asm volatile(PPC_TLBIE_5(%0, %4, %3, %2, %1) > + : : "r"(rb), "i"(r), "i"(prs), "i"(ric), "r"(rs) : "memory"); > + trace_tlbie(0, 0, rb, rs, ric, prs, r); > +} > + > static __always_inline void __tlbie_lpid_va(unsigned long va, unsigned long lpid, > unsigned long ap, unsigned long ric) > { > @@ -235,6 +267,22 @@ static inline void fixup_tlbie_va_range(unsigned long va, unsigned long pid, > } > } > > +static inline void fixup_tlbie_va_range_lpid(unsigned long va, > + unsigned long pid, > + unsigned long lpid, > + unsigned long ap) > +{ > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); > + } > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_va_lpid(va, pid, lpid, ap, RIC_FLUSH_TLB); > + } > +} > + > static inline void fixup_tlbie_pid(unsigned long pid) > { > /* > @@ -254,6 +302,25 @@ static inline void fixup_tlbie_pid(unsigned long pid) > } > } > > +static inline void fixup_tlbie_pid_lpid(unsigned long pid, unsigned long lpid) > +{ > + /* > + * We can use any address for the invalidation, pick one which is > + * probably unused as an optimisation. > + */ > + unsigned long va = ((1UL << 52) - 1); > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_ERAT_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_pid_lpid(0, lpid, RIC_FLUSH_TLB); > + } > + > + if (cpu_has_feature(CPU_FTR_P9_TLBIE_STQ_BUG)) { > + asm volatile("ptesync" : : : "memory"); > + __tlbie_va_lpid(va, pid, lpid, mmu_get_ap(MMU_PAGE_64K), > + RIC_FLUSH_TLB); > + } > +} > > static inline void fixup_tlbie_lpid_va(unsigned long va, unsigned long lpid, > unsigned long ap) > @@ -344,6 +411,31 @@ static inline void _tlbie_pid(unsigned long pid, unsigned long ric) > asm volatile("eieio; tlbsync; ptesync": : :"memory"); > } > > +static inline void _tlbie_pid_lpid(unsigned long pid, unsigned long lpid, > + unsigned long ric) > +{ > + asm volatile("ptesync" : : : "memory"); > + > + /* > + * Workaround the fact that the "ric" argument to __tlbie_pid > + * must be a compile-time contraint to match the "i" constraint > + * in the asm statement. > + */ > + switch (ric) { > + case RIC_FLUSH_TLB: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + fixup_tlbie_pid_lpid(pid, lpid); > + break; > + case RIC_FLUSH_PWC: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + break; > + case RIC_FLUSH_ALL: > + default: > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); > + fixup_tlbie_pid_lpid(pid, lpid); > + } > + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); > +} > struct tlbiel_pid { > unsigned long pid; > unsigned long ric; > @@ -469,6 +561,20 @@ static inline void __tlbie_va_range(unsigned long start, unsigned long end, > fixup_tlbie_va_range(addr - page_size, pid, ap); > } > > +static inline void __tlbie_va_range_lpid(unsigned long start, unsigned long end, > + unsigned long pid, unsigned long lpid, > + unsigned long page_size, > + unsigned long psize) > +{ > + unsigned long addr; > + unsigned long ap = mmu_get_ap(psize); > + > + for (addr = start; addr < end; addr += page_size) > + __tlbie_va_lpid(addr, pid, lpid, ap, RIC_FLUSH_TLB); > + > + fixup_tlbie_va_range_lpid(addr - page_size, pid, lpid, ap); > +} > + > static __always_inline void _tlbie_va(unsigned long va, unsigned long pid, > unsigned long psize, unsigned long ric) > { > @@ -549,6 +655,18 @@ static inline void _tlbie_va_range(unsigned long start, unsigned long end, > asm volatile("eieio; tlbsync; ptesync": : :"memory"); > } > > +static inline void _tlbie_va_range_lpid(unsigned long start, unsigned long end, > + unsigned long pid, unsigned long lpid, > + unsigned long page_size, > + unsigned long psize, bool also_pwc) > +{ > + asm volatile("ptesync" : : : "memory"); > + if (also_pwc) > + __tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + __tlbie_va_range_lpid(start, end, pid, lpid, page_size, psize); > + asm volatile("eieio; tlbsync; ptesync" : : : "memory"); > +} > + > static inline void _tlbiel_va_range_multicast(struct mm_struct *mm, > unsigned long start, unsigned long end, > unsigned long pid, unsigned long page_size, > @@ -1381,4 +1499,58 @@ extern void radix_kvm_prefetch_workaround(struct mm_struct *mm) > } > } > EXPORT_SYMBOL_GPL(radix_kvm_prefetch_workaround); > + > +/* > + * Performs process-scoped invalidations for a given LPID > + * as part of H_RPT_INVALIDATE hcall. > + */ > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + unsigned long psize, nr_pages; > + struct mmu_psize_def *def; > + bool flush_pid; > + > + /* > + * A H_RPTI_TYPE_ALL request implies RIC=3, hence > + * do a single IS=1 based flush. > + */ > + if ((type & H_RPTI_TYPE_ALL) == H_RPTI_TYPE_ALL) { > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_ALL); > + return; > + } > + > + if (type & H_RPTI_TYPE_PWC) > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_PWC); > + > + /* Full PID flush */ > + if (start == 0 && end == -1) > + return _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + > + /* Do range invalidation for all the valid page sizes */ > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_pid = nr_pages > tlb_single_page_flush_ceiling; > + > + /* > + * If the number of pages spanning the range is above > + * the ceiling, convert the request into a full PID flush. > + * And since PID flush takes out all the page sizes, there > + * is no need to consider remaining page sizes. > + */ > + if (flush_pid) { > + _tlbie_pid_lpid(pid, lpid, RIC_FLUSH_TLB); > + return; > + } > + _tlbie_va_range_lpid(start, end, pid, lpid, > + (1UL << def->shift), psize, false); > + } > +} > +EXPORT_SYMBOL_GPL(do_h_rpt_invalidate_prt); > + > #endif /* CONFIG_KVM_BOOK3S_HV_POSSIBLE */ -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-07-05 4:42 ` David Gibson @ 2021-07-06 5:38 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-07-06 5:26 UTC (permalink / raw) To: David Gibson; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > index 4bc45d3ed8b0..b44f291fc909 100644 > > --- a/arch/powerpc/include/asm/mmu_context.h > > +++ b/arch/powerpc/include/asm/mmu_context.h > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > + unsigned long type, unsigned long pg_sizes, > > + unsigned long start, unsigned long end); > > #else > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > + unsigned long lpid, > > + unsigned long type, > > + unsigned long pg_sizes, > > + unsigned long start, > > + unsigned long end) { } > > Since the only plausible caller is in KVM HV code, why do you need the > #else clause. The call to the above routine is prevented for non-radix guests in KVM HV code at runtime using kvm_is_radix() check and not by CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-07-06 5:38 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-07-06 5:38 UTC (permalink / raw) To: David Gibson; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > index 4bc45d3ed8b0..b44f291fc909 100644 > > --- a/arch/powerpc/include/asm/mmu_context.h > > +++ b/arch/powerpc/include/asm/mmu_context.h > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > + unsigned long type, unsigned long pg_sizes, > > + unsigned long start, unsigned long end); > > #else > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > + unsigned long lpid, > > + unsigned long type, > > + unsigned long pg_sizes, > > + unsigned long start, > > + unsigned long end) { } > > Since the only plausible caller is in KVM HV code, why do you need the > #else clause. The call to the above routine is prevented for non-radix guests in KVM HV code at runtime using kvm_is_radix() check and not by CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-07-06 5:38 ` Bharata B Rao @ 2021-07-08 3:58 ` David Gibson -1 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-08 3:58 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 1920 bytes --] On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > + unsigned long type, unsigned long pg_sizes, > > > + unsigned long start, unsigned long end); > > > #else > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > + unsigned long lpid, > > > + unsigned long type, > > > + unsigned long pg_sizes, > > > + unsigned long start, > > > + unsigned long end) { } > > > > Since the only plausible caller is in KVM HV code, why do you need the > > #else clause. > > The call to the above routine is prevented for non-radix guests > in KVM HV code at runtime using kvm_is_radix() check and not by > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. kvm_is_radix() should evaluate to false at compile time if !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need the else version. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-07-08 3:58 ` David Gibson 0 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-08 3:58 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 1920 bytes --] On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > + unsigned long type, unsigned long pg_sizes, > > > + unsigned long start, unsigned long end); > > > #else > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > + unsigned long lpid, > > > + unsigned long type, > > > + unsigned long pg_sizes, > > > + unsigned long start, > > > + unsigned long end) { } > > > > Since the only plausible caller is in KVM HV code, why do you need the > > #else clause. > > The call to the above routine is prevented for non-radix guests > in KVM HV code at runtime using kvm_is_radix() check and not by > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. kvm_is_radix() should evaluate to false at compile time if !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need the else version. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-07-08 3:58 ` David Gibson @ 2021-07-08 4:41 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-07-08 4:29 UTC (permalink / raw) To: David Gibson; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev On Thu, Jul 08, 2021 at 01:58:04PM +1000, David Gibson wrote: > On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > > + unsigned long type, unsigned long pg_sizes, > > > > + unsigned long start, unsigned long end); > > > > #else > > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > > + unsigned long lpid, > > > > + unsigned long type, > > > > + unsigned long pg_sizes, > > > > + unsigned long start, > > > > + unsigned long end) { } > > > > > > Since the only plausible caller is in KVM HV code, why do you need the > > > #else clause. > > > > The call to the above routine is prevented for non-radix guests > > in KVM HV code at runtime using kvm_is_radix() check and not by > > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. > > kvm_is_radix() should evaluate to false at compile time if > !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need > the else version. At least in the latest mainline, I don't see the definition of kvm_is_radix() being conditional to CONFIG_PPC_RADIX_MMU. Anyway this is what I see in practice if the #else version is removed and CONFIG_PPC_RADIX_MMU is turned off: arch/powerpc/kvm/book3s_hv.c: In function ‘kvmppc_h_rpt_invalidate’: arch/powerpc/kvm/book3s_hv.c:983:2: error: implicit declaration of function ‘do_h_rpt_invalidate_prt’; did you mean ‘do_h_rpt_invalidate_pat’? [-Werror=implicit-function-declaration] 983 | do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, | ^~~~~~~~~~~~~~~~~~~~~~~ | do_h_rpt_invalidate_pat Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-07-08 4:41 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-07-08 4:41 UTC (permalink / raw) To: David Gibson; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev On Thu, Jul 08, 2021 at 01:58:04PM +1000, David Gibson wrote: > On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > > + unsigned long type, unsigned long pg_sizes, > > > > + unsigned long start, unsigned long end); > > > > #else > > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > > + unsigned long lpid, > > > > + unsigned long type, > > > > + unsigned long pg_sizes, > > > > + unsigned long start, > > > > + unsigned long end) { } > > > > > > Since the only plausible caller is in KVM HV code, why do you need the > > > #else clause. > > > > The call to the above routine is prevented for non-radix guests > > in KVM HV code at runtime using kvm_is_radix() check and not by > > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. > > kvm_is_radix() should evaluate to false at compile time if > !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need > the else version. At least in the latest mainline, I don't see the definition of kvm_is_radix() being conditional to CONFIG_PPC_RADIX_MMU. Anyway this is what I see in practice if the #else version is removed and CONFIG_PPC_RADIX_MMU is turned off: arch/powerpc/kvm/book3s_hv.c: In function ‘kvmppc_h_rpt_invalidate’: arch/powerpc/kvm/book3s_hv.c:983:2: error: implicit declaration of function ‘do_h_rpt_invalidate_prt’; did you mean ‘do_h_rpt_invalidate_pat’? [-Werror=implicit-function-declaration] 983 | do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, | ^~~~~~~~~~~~~~~~~~~~~~~ | do_h_rpt_invalidate_pat Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE 2021-07-08 4:41 ` Bharata B Rao @ 2021-07-12 2:28 ` David Gibson -1 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-12 2:28 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 3031 bytes --] On Thu, Jul 08, 2021 at 09:59:08AM +0530, Bharata B Rao wrote: > On Thu, Jul 08, 2021 at 01:58:04PM +1000, David Gibson wrote: > > On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > > > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > > > + unsigned long type, unsigned long pg_sizes, > > > > > + unsigned long start, unsigned long end); > > > > > #else > > > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > > > + unsigned long lpid, > > > > > + unsigned long type, > > > > > + unsigned long pg_sizes, > > > > > + unsigned long start, > > > > > + unsigned long end) { } > > > > > > > > Since the only plausible caller is in KVM HV code, why do you need the > > > > #else clause. > > > > > > The call to the above routine is prevented for non-radix guests > > > in KVM HV code at runtime using kvm_is_radix() check and not by > > > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. > > > > kvm_is_radix() should evaluate to false at compile time if > > !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need > > the else version. > > At least in the latest mainline, I don't see the definition of > kvm_is_radix() being conditional to CONFIG_PPC_RADIX_MMU. That's probably worth fixing, then. > Anyway this is what I see in practice if the #else version is > removed and CONFIG_PPC_RADIX_MMU is turned off: > > arch/powerpc/kvm/book3s_hv.c: In function ‘kvmppc_h_rpt_invalidate’: > arch/powerpc/kvm/book3s_hv.c:983:2: error: implicit declaration of function ‘do_h_rpt_invalidate_prt’; did you mean ‘do_h_rpt_invalidate_pat’? [-Werror=implicit-function-declaration] > 983 | do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, > | ^~~~~~~~~~~~~~~~~~~~~~~ > | do_h_rpt_invalidate_pat If you really do need the stub, it should probably be a BUG() rather than a no-op, since this really never should get called if we don't have radix. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE @ 2021-07-12 2:28 ` David Gibson 0 siblings, 0 replies; 36+ messages in thread From: David Gibson @ 2021-07-12 2:28 UTC (permalink / raw) To: Bharata B Rao; +Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev [-- Attachment #1: Type: text/plain, Size: 3031 bytes --] On Thu, Jul 08, 2021 at 09:59:08AM +0530, Bharata B Rao wrote: > On Thu, Jul 08, 2021 at 01:58:04PM +1000, David Gibson wrote: > > On Tue, Jul 06, 2021 at 10:56:32AM +0530, Bharata B Rao wrote: > > > On Mon, Jul 05, 2021 at 02:42:33PM +1000, David Gibson wrote: > > > > On Mon, Jun 21, 2021 at 02:20:00PM +0530, Bharata B Rao wrote: > > > > > diff --git a/arch/powerpc/include/asm/mmu_context.h b/arch/powerpc/include/asm/mmu_context.h > > > > > index 4bc45d3ed8b0..b44f291fc909 100644 > > > > > --- a/arch/powerpc/include/asm/mmu_context.h > > > > > +++ b/arch/powerpc/include/asm/mmu_context.h > > > > > @@ -124,8 +124,17 @@ static inline bool need_extra_context(struct mm_struct *mm, unsigned long ea) > > > > > > > > > > #if defined(CONFIG_KVM_BOOK3S_HV_POSSIBLE) && defined(CONFIG_PPC_RADIX_MMU) > > > > > extern void radix_kvm_prefetch_workaround(struct mm_struct *mm); > > > > > +void do_h_rpt_invalidate_prt(unsigned long pid, unsigned long lpid, > > > > > + unsigned long type, unsigned long pg_sizes, > > > > > + unsigned long start, unsigned long end); > > > > > #else > > > > > static inline void radix_kvm_prefetch_workaround(struct mm_struct *mm) { } > > > > > +static inline void do_h_rpt_invalidate_prt(unsigned long pid, > > > > > + unsigned long lpid, > > > > > + unsigned long type, > > > > > + unsigned long pg_sizes, > > > > > + unsigned long start, > > > > > + unsigned long end) { } > > > > > > > > Since the only plausible caller is in KVM HV code, why do you need the > > > > #else clause. > > > > > > The call to the above routine is prevented for non-radix guests > > > in KVM HV code at runtime using kvm_is_radix() check and not by > > > CONFIG_PPC_RADIX_MMU. Hence the #else version would be needed. > > > > kvm_is_radix() should evaluate to false at compile time if > > !defined(CONFIG_PPC_RADIX_MMU), in which case, no you shouldn't need > > the else version. > > At least in the latest mainline, I don't see the definition of > kvm_is_radix() being conditional to CONFIG_PPC_RADIX_MMU. That's probably worth fixing, then. > Anyway this is what I see in practice if the #else version is > removed and CONFIG_PPC_RADIX_MMU is turned off: > > arch/powerpc/kvm/book3s_hv.c: In function ‘kvmppc_h_rpt_invalidate’: > arch/powerpc/kvm/book3s_hv.c:983:2: error: implicit declaration of function ‘do_h_rpt_invalidate_prt’; did you mean ‘do_h_rpt_invalidate_pat’? [-Werror=implicit-function-declaration] > 983 | do_h_rpt_invalidate_prt(id, vcpu->kvm->arch.lpid, > | ^~~~~~~~~~~~~~~~~~~~~~~ > | do_h_rpt_invalidate_pat If you really do need the stub, it should probably be a BUG() rather than a no-op, since this really never should get called if we don't have radix. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Enable support for process-scoped invalidations from nested guests and partition-scoped invalidations for nested guests. Process-scoped invalidations for any level of nested guests are handled by implementing H_RPT_INVALIDATE handler in the nested guest exit path in L0. Partition-scoped invalidation requests are forwarded to the right nested guest, handled there and passed down to L0 for eventual handling. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> [Nested guest partition-scoped invalidation changes] --- .../include/asm/book3s/64/tlbflush-radix.h | 4 + arch/powerpc/include/asm/kvm_book3s.h | 3 + arch/powerpc/kvm/book3s_hv.c | 59 ++++++++- arch/powerpc/kvm/book3s_hv_nested.c | 117 ++++++++++++++++++ arch/powerpc/mm/book3s64/radix_tlb.c | 4 - 5 files changed, 180 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h index 8b33601cdb9d..a46fd37ad552 100644 --- a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h @@ -4,6 +4,10 @@ #include <asm/hvcall.h> +#define RIC_FLUSH_TLB 0 +#define RIC_FLUSH_PWC 1 +#define RIC_FLUSH_ALL 2 + struct vm_area_struct; struct mm_struct; struct mmu_gather; diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h index e6b53c6e21e3..caaa0f592d8e 100644 --- a/arch/powerpc/include/asm/kvm_book3s.h +++ b/arch/powerpc/include/asm/kvm_book3s.h @@ -307,6 +307,9 @@ void kvmhv_set_ptbl_entry(unsigned int lpid, u64 dw0, u64 dw1); void kvmhv_release_all_nested(struct kvm *kvm); long kvmhv_enter_nested_guest(struct kvm_vcpu *vcpu); long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu); +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end); int kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr); void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr); diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 7e6da4687d88..3d5b8ba3786d 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -925,6 +925,34 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) return yield_count; } +/* + * H_RPT_INVALIDATE hcall handler for nested guests. + * + * Handles only nested process-scoped invalidation requests in L0. + */ +static int kvmppc_nested_h_rpt_invalidate(struct kvm_vcpu *vcpu) +{ + unsigned long type = kvmppc_get_gpr(vcpu, 6); + unsigned long pid, pg_sizes, start, end; + + /* + * The partition-scoped invalidations aren't handled here in L0. + */ + if (type & H_RPTI_TYPE_NESTED) + return RESUME_HOST; + + pid = kvmppc_get_gpr(vcpu, 4); + pg_sizes = kvmppc_get_gpr(vcpu, 7); + start = kvmppc_get_gpr(vcpu, 8); + end = kvmppc_get_gpr(vcpu, 9); + + do_h_rpt_invalidate_prt(pid, vcpu->arch.nested->shadow_lpid, + type, pg_sizes, start, end); + + kvmppc_set_gpr(vcpu, 3, H_SUCCESS); + return RESUME_GUEST; +} + static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, unsigned long id, unsigned long target, unsigned long type, unsigned long pg_sizes, @@ -938,10 +966,18 @@ static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, /* * Partition-scoped invalidation for nested guests. - * Not yet supported */ - if (type & H_RPTI_TYPE_NESTED) - return H_P3; + if (type & H_RPTI_TYPE_NESTED) { + if (!nesting_enabled(vcpu->kvm)) + return H_FUNCTION; + + /* Support only cores as target */ + if (target != H_RPTI_TARGET_CMMU) + return H_P2; + + return do_h_rpt_invalidate_pat(vcpu, id, type, pg_sizes, + start, end); + } /* * Process-scoped invalidation for L1 guests. @@ -1629,6 +1665,23 @@ static int kvmppc_handle_nested_exit(struct kvm_vcpu *vcpu) if (!xics_on_xive()) kvmppc_xics_rm_complete(vcpu, 0); break; + case BOOK3S_INTERRUPT_SYSCALL: + { + unsigned long req = kvmppc_get_gpr(vcpu, 3); + + /* + * The H_RPT_INVALIDATE hcalls issued by nested + * guests for process-scoped invalidations when + * GTSE=0, are handled here in L0. + */ + if (req == H_RPT_INVALIDATE) { + r = kvmppc_nested_h_rpt_invalidate(vcpu); + break; + } + + r = RESUME_HOST; + break; + } default: r = RESUME_HOST; break; diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index 60724f674421..056d3df68de1 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -1214,6 +1214,123 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) return H_SUCCESS; } +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, + unsigned long lpid, + unsigned long page_size, + unsigned long ap, + unsigned long start, + unsigned long end) +{ + unsigned long addr = start; + int ret; + + do { + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, + get_epn(addr)); + if (ret) + return ret; + addr += page_size; + } while (addr < end); + + return ret; +} + +static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, + unsigned long lpid, unsigned long ric) +{ + struct kvm *kvm = vcpu->kvm; + struct kvm_nested_guest *gp; + + gp = kvmhv_get_nested(kvm, lpid, false); + if (gp) { + kvmhv_emulate_tlbie_lpid(vcpu, gp, ric); + kvmhv_put_nested(gp); + } + return H_SUCCESS; +} + +/* + * Number of pages above which we invalidate the entire LPID rather than + * flush individual pages. + */ +static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; + +/* + * Performs partition-scoped invalidations for nested guests + * as part of H_RPT_INVALIDATE hcall. + */ +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + struct kvm_nested_guest *gp; + long ret; + unsigned long psize, ap; + + /* + * If L2 lpid isn't valid, we need to return H_PARAMETER. + * + * However, nested KVM issues a L2 lpid flush call when creating + * partition table entries for L2. This happens even before the + * corresponding shadow lpid is created in HV which happens in + * H_ENTER_NESTED call. Since we can't differentiate this case from + * the invalid case, we ignore such flush requests and return success. + */ + gp = kvmhv_find_nested(vcpu->kvm, lpid); + if (!gp) + return H_SUCCESS; + + /* + * A flush all request can be handled by a full lpid flush only. + */ + if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL) + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); + + /* + * We don't need to handle a PWC flush like process table here, + * because intermediate partition scoped table in nested guest doesn't + * really have PWC. Only level we have PWC is in L0 and for nested + * invalidate at L0 we always do kvm_flush_lpid() which does + * radix__flush_all_lpid(). For range invalidate at any level, we + * are not removing the higher level page tables and hence there is + * no PWC invalidate needed. + * + * if (type & H_RPTI_TYPE_PWC) { + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); + * if (ret) + * return H_P4; + * } + */ + + if (start == 0 && end == -1) + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); + + if (type & H_RPTI_TYPE_TLB) { + struct mmu_psize_def *def; + bool flush_lpid; + unsigned long nr_pages; + + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; + if (flush_lpid) + return do_tlb_invalidate_nested_all(vcpu, lpid, + RIC_FLUSH_TLB); + + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, + (1UL << def->shift), + ap, start, end); + if (ret) + return H_P4; + } + } + return H_SUCCESS; +} + /* Used to convert a nested guest real address to a L1 guest real address */ static int kvmhv_translate_addr_nested(struct kvm_vcpu *vcpu, struct kvm_nested_guest *gp, diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c index cdd98b9e7b15..4f38cf34ea40 100644 --- a/arch/powerpc/mm/book3s64/radix_tlb.c +++ b/arch/powerpc/mm/book3s64/radix_tlb.c @@ -20,10 +20,6 @@ #include "internal.h" -#define RIC_FLUSH_TLB 0 -#define RIC_FLUSH_PWC 1 -#define RIC_FLUSH_ALL 2 - /* * tlbiel instruction for radix, set invalidation * i.e., r=1 and is=01 or is=10 or is=11 -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Enable support for process-scoped invalidations from nested guests and partition-scoped invalidations for nested guests. Process-scoped invalidations for any level of nested guests are handled by implementing H_RPT_INVALIDATE handler in the nested guest exit path in L0. Partition-scoped invalidation requests are forwarded to the right nested guest, handled there and passed down to L0 for eventual handling. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> [Nested guest partition-scoped invalidation changes] --- .../include/asm/book3s/64/tlbflush-radix.h | 4 + arch/powerpc/include/asm/kvm_book3s.h | 3 + arch/powerpc/kvm/book3s_hv.c | 59 ++++++++- arch/powerpc/kvm/book3s_hv_nested.c | 117 ++++++++++++++++++ arch/powerpc/mm/book3s64/radix_tlb.c | 4 - 5 files changed, 180 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h index 8b33601cdb9d..a46fd37ad552 100644 --- a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h @@ -4,6 +4,10 @@ #include <asm/hvcall.h> +#define RIC_FLUSH_TLB 0 +#define RIC_FLUSH_PWC 1 +#define RIC_FLUSH_ALL 2 + struct vm_area_struct; struct mm_struct; struct mmu_gather; diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h index e6b53c6e21e3..caaa0f592d8e 100644 --- a/arch/powerpc/include/asm/kvm_book3s.h +++ b/arch/powerpc/include/asm/kvm_book3s.h @@ -307,6 +307,9 @@ void kvmhv_set_ptbl_entry(unsigned int lpid, u64 dw0, u64 dw1); void kvmhv_release_all_nested(struct kvm *kvm); long kvmhv_enter_nested_guest(struct kvm_vcpu *vcpu); long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu); +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end); int kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, u64 time_limit, unsigned long lpcr); void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr); diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 7e6da4687d88..3d5b8ba3786d 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -925,6 +925,34 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) return yield_count; } +/* + * H_RPT_INVALIDATE hcall handler for nested guests. + * + * Handles only nested process-scoped invalidation requests in L0. + */ +static int kvmppc_nested_h_rpt_invalidate(struct kvm_vcpu *vcpu) +{ + unsigned long type = kvmppc_get_gpr(vcpu, 6); + unsigned long pid, pg_sizes, start, end; + + /* + * The partition-scoped invalidations aren't handled here in L0. + */ + if (type & H_RPTI_TYPE_NESTED) + return RESUME_HOST; + + pid = kvmppc_get_gpr(vcpu, 4); + pg_sizes = kvmppc_get_gpr(vcpu, 7); + start = kvmppc_get_gpr(vcpu, 8); + end = kvmppc_get_gpr(vcpu, 9); + + do_h_rpt_invalidate_prt(pid, vcpu->arch.nested->shadow_lpid, + type, pg_sizes, start, end); + + kvmppc_set_gpr(vcpu, 3, H_SUCCESS); + return RESUME_GUEST; +} + static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, unsigned long id, unsigned long target, unsigned long type, unsigned long pg_sizes, @@ -938,10 +966,18 @@ static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, /* * Partition-scoped invalidation for nested guests. - * Not yet supported */ - if (type & H_RPTI_TYPE_NESTED) - return H_P3; + if (type & H_RPTI_TYPE_NESTED) { + if (!nesting_enabled(vcpu->kvm)) + return H_FUNCTION; + + /* Support only cores as target */ + if (target != H_RPTI_TARGET_CMMU) + return H_P2; + + return do_h_rpt_invalidate_pat(vcpu, id, type, pg_sizes, + start, end); + } /* * Process-scoped invalidation for L1 guests. @@ -1629,6 +1665,23 @@ static int kvmppc_handle_nested_exit(struct kvm_vcpu *vcpu) if (!xics_on_xive()) kvmppc_xics_rm_complete(vcpu, 0); break; + case BOOK3S_INTERRUPT_SYSCALL: + { + unsigned long req = kvmppc_get_gpr(vcpu, 3); + + /* + * The H_RPT_INVALIDATE hcalls issued by nested + * guests for process-scoped invalidations when + * GTSE=0, are handled here in L0. + */ + if (req = H_RPT_INVALIDATE) { + r = kvmppc_nested_h_rpt_invalidate(vcpu); + break; + } + + r = RESUME_HOST; + break; + } default: r = RESUME_HOST; break; diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index 60724f674421..056d3df68de1 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -1214,6 +1214,123 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) return H_SUCCESS; } +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, + unsigned long lpid, + unsigned long page_size, + unsigned long ap, + unsigned long start, + unsigned long end) +{ + unsigned long addr = start; + int ret; + + do { + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, + get_epn(addr)); + if (ret) + return ret; + addr += page_size; + } while (addr < end); + + return ret; +} + +static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, + unsigned long lpid, unsigned long ric) +{ + struct kvm *kvm = vcpu->kvm; + struct kvm_nested_guest *gp; + + gp = kvmhv_get_nested(kvm, lpid, false); + if (gp) { + kvmhv_emulate_tlbie_lpid(vcpu, gp, ric); + kvmhv_put_nested(gp); + } + return H_SUCCESS; +} + +/* + * Number of pages above which we invalidate the entire LPID rather than + * flush individual pages. + */ +static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; + +/* + * Performs partition-scoped invalidations for nested guests + * as part of H_RPT_INVALIDATE hcall. + */ +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, + unsigned long type, unsigned long pg_sizes, + unsigned long start, unsigned long end) +{ + struct kvm_nested_guest *gp; + long ret; + unsigned long psize, ap; + + /* + * If L2 lpid isn't valid, we need to return H_PARAMETER. + * + * However, nested KVM issues a L2 lpid flush call when creating + * partition table entries for L2. This happens even before the + * corresponding shadow lpid is created in HV which happens in + * H_ENTER_NESTED call. Since we can't differentiate this case from + * the invalid case, we ignore such flush requests and return success. + */ + gp = kvmhv_find_nested(vcpu->kvm, lpid); + if (!gp) + return H_SUCCESS; + + /* + * A flush all request can be handled by a full lpid flush only. + */ + if ((type & H_RPTI_TYPE_NESTED_ALL) = H_RPTI_TYPE_NESTED_ALL) + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); + + /* + * We don't need to handle a PWC flush like process table here, + * because intermediate partition scoped table in nested guest doesn't + * really have PWC. Only level we have PWC is in L0 and for nested + * invalidate at L0 we always do kvm_flush_lpid() which does + * radix__flush_all_lpid(). For range invalidate at any level, we + * are not removing the higher level page tables and hence there is + * no PWC invalidate needed. + * + * if (type & H_RPTI_TYPE_PWC) { + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); + * if (ret) + * return H_P4; + * } + */ + + if (start = 0 && end = -1) + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); + + if (type & H_RPTI_TYPE_TLB) { + struct mmu_psize_def *def; + bool flush_lpid; + unsigned long nr_pages; + + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; + if (flush_lpid) + return do_tlb_invalidate_nested_all(vcpu, lpid, + RIC_FLUSH_TLB); + + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, + (1UL << def->shift), + ap, start, end); + if (ret) + return H_P4; + } + } + return H_SUCCESS; +} + /* Used to convert a nested guest real address to a L1 guest real address */ static int kvmhv_translate_addr_nested(struct kvm_vcpu *vcpu, struct kvm_nested_guest *gp, diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c index cdd98b9e7b15..4f38cf34ea40 100644 --- a/arch/powerpc/mm/book3s64/radix_tlb.c +++ b/arch/powerpc/mm/book3s64/radix_tlb.c @@ -20,10 +20,6 @@ #include "internal.h" -#define RIC_FLUSH_TLB 0 -#define RIC_FLUSH_PWC 1 -#define RIC_FLUSH_ALL 2 - /* * tlbiel instruction for radix, set invalidation * i.e., r=1 and is\x01 or is\x10 or is\x11 -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 17:12 ` Nathan Chancellor -1 siblings, 0 replies; 36+ messages in thread From: Nathan Chancellor @ 2021-06-21 17:12 UTC (permalink / raw) To: Bharata B Rao Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev, david On Mon, Jun 21, 2021 at 02:20:01PM +0530, Bharata B Rao wrote: > Enable support for process-scoped invalidations from nested > guests and partition-scoped invalidations for nested guests. > > Process-scoped invalidations for any level of nested guests > are handled by implementing H_RPT_INVALIDATE handler in the > nested guest exit path in L0. > > Partition-scoped invalidation requests are forwarded to the > right nested guest, handled there and passed down to L0 > for eventual handling. > > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > [Nested guest partition-scoped invalidation changes] > --- > .../include/asm/book3s/64/tlbflush-radix.h | 4 + > arch/powerpc/include/asm/kvm_book3s.h | 3 + > arch/powerpc/kvm/book3s_hv.c | 59 ++++++++- > arch/powerpc/kvm/book3s_hv_nested.c | 117 ++++++++++++++++++ > arch/powerpc/mm/book3s64/radix_tlb.c | 4 - > 5 files changed, 180 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > index 8b33601cdb9d..a46fd37ad552 100644 > --- a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > @@ -4,6 +4,10 @@ > > #include <asm/hvcall.h> > > +#define RIC_FLUSH_TLB 0 > +#define RIC_FLUSH_PWC 1 > +#define RIC_FLUSH_ALL 2 > + > struct vm_area_struct; > struct mm_struct; > struct mmu_gather; > diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h > index e6b53c6e21e3..caaa0f592d8e 100644 > --- a/arch/powerpc/include/asm/kvm_book3s.h > +++ b/arch/powerpc/include/asm/kvm_book3s.h > @@ -307,6 +307,9 @@ void kvmhv_set_ptbl_entry(unsigned int lpid, u64 dw0, u64 dw1); > void kvmhv_release_all_nested(struct kvm *kvm); > long kvmhv_enter_nested_guest(struct kvm_vcpu *vcpu); > long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu); > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end); > int kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, > u64 time_limit, unsigned long lpcr); > void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr); > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index 7e6da4687d88..3d5b8ba3786d 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -925,6 +925,34 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) > return yield_count; > } > > +/* > + * H_RPT_INVALIDATE hcall handler for nested guests. > + * > + * Handles only nested process-scoped invalidation requests in L0. > + */ > +static int kvmppc_nested_h_rpt_invalidate(struct kvm_vcpu *vcpu) > +{ > + unsigned long type = kvmppc_get_gpr(vcpu, 6); > + unsigned long pid, pg_sizes, start, end; > + > + /* > + * The partition-scoped invalidations aren't handled here in L0. > + */ > + if (type & H_RPTI_TYPE_NESTED) > + return RESUME_HOST; > + > + pid = kvmppc_get_gpr(vcpu, 4); > + pg_sizes = kvmppc_get_gpr(vcpu, 7); > + start = kvmppc_get_gpr(vcpu, 8); > + end = kvmppc_get_gpr(vcpu, 9); > + > + do_h_rpt_invalidate_prt(pid, vcpu->arch.nested->shadow_lpid, > + type, pg_sizes, start, end); > + > + kvmppc_set_gpr(vcpu, 3, H_SUCCESS); > + return RESUME_GUEST; > +} > + > static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > unsigned long id, unsigned long target, > unsigned long type, unsigned long pg_sizes, > @@ -938,10 +966,18 @@ static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > > /* > * Partition-scoped invalidation for nested guests. > - * Not yet supported > */ > - if (type & H_RPTI_TYPE_NESTED) > - return H_P3; > + if (type & H_RPTI_TYPE_NESTED) { > + if (!nesting_enabled(vcpu->kvm)) > + return H_FUNCTION; > + > + /* Support only cores as target */ > + if (target != H_RPTI_TARGET_CMMU) > + return H_P2; > + > + return do_h_rpt_invalidate_pat(vcpu, id, type, pg_sizes, > + start, end); > + } > > /* > * Process-scoped invalidation for L1 guests. > @@ -1629,6 +1665,23 @@ static int kvmppc_handle_nested_exit(struct kvm_vcpu *vcpu) > if (!xics_on_xive()) > kvmppc_xics_rm_complete(vcpu, 0); > break; > + case BOOK3S_INTERRUPT_SYSCALL: > + { > + unsigned long req = kvmppc_get_gpr(vcpu, 3); > + > + /* > + * The H_RPT_INVALIDATE hcalls issued by nested > + * guests for process-scoped invalidations when > + * GTSE=0, are handled here in L0. > + */ > + if (req == H_RPT_INVALIDATE) { > + r = kvmppc_nested_h_rpt_invalidate(vcpu); > + break; > + } > + > + r = RESUME_HOST; > + break; > + } > default: > r = RESUME_HOST; > break; > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index 60724f674421..056d3df68de1 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -1214,6 +1214,123 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) > return H_SUCCESS; > } > > +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > + unsigned long lpid, > + unsigned long page_size, > + unsigned long ap, > + unsigned long start, > + unsigned long end) > +{ > + unsigned long addr = start; > + int ret; > + > + do { > + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > + get_epn(addr)); > + if (ret) > + return ret; > + addr += page_size; > + } while (addr < end); > + > + return ret; > +} > + > +static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > + unsigned long lpid, unsigned long ric) > +{ > + struct kvm *kvm = vcpu->kvm; > + struct kvm_nested_guest *gp; > + > + gp = kvmhv_get_nested(kvm, lpid, false); > + if (gp) { > + kvmhv_emulate_tlbie_lpid(vcpu, gp, ric); > + kvmhv_put_nested(gp); > + } > + return H_SUCCESS; > +} > + > +/* > + * Number of pages above which we invalidate the entire LPID rather than > + * flush individual pages. > + */ > +static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; > + > +/* > + * Performs partition-scoped invalidations for nested guests > + * as part of H_RPT_INVALIDATE hcall. > + */ > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + struct kvm_nested_guest *gp; > + long ret; > + unsigned long psize, ap; > + > + /* > + * If L2 lpid isn't valid, we need to return H_PARAMETER. > + * > + * However, nested KVM issues a L2 lpid flush call when creating > + * partition table entries for L2. This happens even before the > + * corresponding shadow lpid is created in HV which happens in > + * H_ENTER_NESTED call. Since we can't differentiate this case from > + * the invalid case, we ignore such flush requests and return success. > + */ > + gp = kvmhv_find_nested(vcpu->kvm, lpid); > + if (!gp) > + return H_SUCCESS; > + > + /* > + * A flush all request can be handled by a full lpid flush only. > + */ > + if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL) > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); > + > + /* > + * We don't need to handle a PWC flush like process table here, > + * because intermediate partition scoped table in nested guest doesn't > + * really have PWC. Only level we have PWC is in L0 and for nested > + * invalidate at L0 we always do kvm_flush_lpid() which does > + * radix__flush_all_lpid(). For range invalidate at any level, we > + * are not removing the higher level page tables and hence there is > + * no PWC invalidate needed. > + * > + * if (type & H_RPTI_TYPE_PWC) { > + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); > + * if (ret) > + * return H_P4; > + * } > + */ > + > + if (start == 0 && end == -1) > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > + > + if (type & H_RPTI_TYPE_TLB) { > + struct mmu_psize_def *def; > + bool flush_lpid; > + unsigned long nr_pages; > + > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > + if (flush_lpid) > + return do_tlb_invalidate_nested_all(vcpu, lpid, > + RIC_FLUSH_TLB); > + > + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > + (1UL << def->shift), > + ap, start, end); I have not seen this reported yet so apologies if it has and there is a fix I am missing: arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] ap, start, end); ^~ arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning unsigned long psize, ap; ^ = 0 1 error generated. Cheers, Nathan > + if (ret) > + return H_P4; > + } > + } > + return H_SUCCESS; > +} > + > /* Used to convert a nested guest real address to a L1 guest real address */ > static int kvmhv_translate_addr_nested(struct kvm_vcpu *vcpu, > struct kvm_nested_guest *gp, > diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c > index cdd98b9e7b15..4f38cf34ea40 100644 > --- a/arch/powerpc/mm/book3s64/radix_tlb.c > +++ b/arch/powerpc/mm/book3s64/radix_tlb.c > @@ -20,10 +20,6 @@ > > #include "internal.h" > > -#define RIC_FLUSH_TLB 0 > -#define RIC_FLUSH_PWC 1 > -#define RIC_FLUSH_ALL 2 > - > /* > * tlbiel instruction for radix, set invalidation > * i.e., r=1 and is=01 or is=10 or is=11 > -- > 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE @ 2021-06-21 17:12 ` Nathan Chancellor 0 siblings, 0 replies; 36+ messages in thread From: Nathan Chancellor @ 2021-06-21 17:12 UTC (permalink / raw) To: Bharata B Rao Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev, david On Mon, Jun 21, 2021 at 02:20:01PM +0530, Bharata B Rao wrote: > Enable support for process-scoped invalidations from nested > guests and partition-scoped invalidations for nested guests. > > Process-scoped invalidations for any level of nested guests > are handled by implementing H_RPT_INVALIDATE handler in the > nested guest exit path in L0. > > Partition-scoped invalidation requests are forwarded to the > right nested guest, handled there and passed down to L0 > for eventual handling. > > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> > [Nested guest partition-scoped invalidation changes] > --- > .../include/asm/book3s/64/tlbflush-radix.h | 4 + > arch/powerpc/include/asm/kvm_book3s.h | 3 + > arch/powerpc/kvm/book3s_hv.c | 59 ++++++++- > arch/powerpc/kvm/book3s_hv_nested.c | 117 ++++++++++++++++++ > arch/powerpc/mm/book3s64/radix_tlb.c | 4 - > 5 files changed, 180 insertions(+), 7 deletions(-) > > diff --git a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > index 8b33601cdb9d..a46fd37ad552 100644 > --- a/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > +++ b/arch/powerpc/include/asm/book3s/64/tlbflush-radix.h > @@ -4,6 +4,10 @@ > > #include <asm/hvcall.h> > > +#define RIC_FLUSH_TLB 0 > +#define RIC_FLUSH_PWC 1 > +#define RIC_FLUSH_ALL 2 > + > struct vm_area_struct; > struct mm_struct; > struct mmu_gather; > diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h > index e6b53c6e21e3..caaa0f592d8e 100644 > --- a/arch/powerpc/include/asm/kvm_book3s.h > +++ b/arch/powerpc/include/asm/kvm_book3s.h > @@ -307,6 +307,9 @@ void kvmhv_set_ptbl_entry(unsigned int lpid, u64 dw0, u64 dw1); > void kvmhv_release_all_nested(struct kvm *kvm); > long kvmhv_enter_nested_guest(struct kvm_vcpu *vcpu); > long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu); > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end); > int kvmhv_run_single_vcpu(struct kvm_vcpu *vcpu, > u64 time_limit, unsigned long lpcr); > void kvmhv_save_hv_regs(struct kvm_vcpu *vcpu, struct hv_guest_state *hr); > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index 7e6da4687d88..3d5b8ba3786d 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -925,6 +925,34 @@ static int kvmppc_get_yield_count(struct kvm_vcpu *vcpu) > return yield_count; > } > > +/* > + * H_RPT_INVALIDATE hcall handler for nested guests. > + * > + * Handles only nested process-scoped invalidation requests in L0. > + */ > +static int kvmppc_nested_h_rpt_invalidate(struct kvm_vcpu *vcpu) > +{ > + unsigned long type = kvmppc_get_gpr(vcpu, 6); > + unsigned long pid, pg_sizes, start, end; > + > + /* > + * The partition-scoped invalidations aren't handled here in L0. > + */ > + if (type & H_RPTI_TYPE_NESTED) > + return RESUME_HOST; > + > + pid = kvmppc_get_gpr(vcpu, 4); > + pg_sizes = kvmppc_get_gpr(vcpu, 7); > + start = kvmppc_get_gpr(vcpu, 8); > + end = kvmppc_get_gpr(vcpu, 9); > + > + do_h_rpt_invalidate_prt(pid, vcpu->arch.nested->shadow_lpid, > + type, pg_sizes, start, end); > + > + kvmppc_set_gpr(vcpu, 3, H_SUCCESS); > + return RESUME_GUEST; > +} > + > static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > unsigned long id, unsigned long target, > unsigned long type, unsigned long pg_sizes, > @@ -938,10 +966,18 @@ static long kvmppc_h_rpt_invalidate(struct kvm_vcpu *vcpu, > > /* > * Partition-scoped invalidation for nested guests. > - * Not yet supported > */ > - if (type & H_RPTI_TYPE_NESTED) > - return H_P3; > + if (type & H_RPTI_TYPE_NESTED) { > + if (!nesting_enabled(vcpu->kvm)) > + return H_FUNCTION; > + > + /* Support only cores as target */ > + if (target != H_RPTI_TARGET_CMMU) > + return H_P2; > + > + return do_h_rpt_invalidate_pat(vcpu, id, type, pg_sizes, > + start, end); > + } > > /* > * Process-scoped invalidation for L1 guests. > @@ -1629,6 +1665,23 @@ static int kvmppc_handle_nested_exit(struct kvm_vcpu *vcpu) > if (!xics_on_xive()) > kvmppc_xics_rm_complete(vcpu, 0); > break; > + case BOOK3S_INTERRUPT_SYSCALL: > + { > + unsigned long req = kvmppc_get_gpr(vcpu, 3); > + > + /* > + * The H_RPT_INVALIDATE hcalls issued by nested > + * guests for process-scoped invalidations when > + * GTSE=0, are handled here in L0. > + */ > + if (req = H_RPT_INVALIDATE) { > + r = kvmppc_nested_h_rpt_invalidate(vcpu); > + break; > + } > + > + r = RESUME_HOST; > + break; > + } > default: > r = RESUME_HOST; > break; > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index 60724f674421..056d3df68de1 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -1214,6 +1214,123 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) > return H_SUCCESS; > } > > +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > + unsigned long lpid, > + unsigned long page_size, > + unsigned long ap, > + unsigned long start, > + unsigned long end) > +{ > + unsigned long addr = start; > + int ret; > + > + do { > + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > + get_epn(addr)); > + if (ret) > + return ret; > + addr += page_size; > + } while (addr < end); > + > + return ret; > +} > + > +static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > + unsigned long lpid, unsigned long ric) > +{ > + struct kvm *kvm = vcpu->kvm; > + struct kvm_nested_guest *gp; > + > + gp = kvmhv_get_nested(kvm, lpid, false); > + if (gp) { > + kvmhv_emulate_tlbie_lpid(vcpu, gp, ric); > + kvmhv_put_nested(gp); > + } > + return H_SUCCESS; > +} > + > +/* > + * Number of pages above which we invalidate the entire LPID rather than > + * flush individual pages. > + */ > +static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; > + > +/* > + * Performs partition-scoped invalidations for nested guests > + * as part of H_RPT_INVALIDATE hcall. > + */ > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > + unsigned long type, unsigned long pg_sizes, > + unsigned long start, unsigned long end) > +{ > + struct kvm_nested_guest *gp; > + long ret; > + unsigned long psize, ap; > + > + /* > + * If L2 lpid isn't valid, we need to return H_PARAMETER. > + * > + * However, nested KVM issues a L2 lpid flush call when creating > + * partition table entries for L2. This happens even before the > + * corresponding shadow lpid is created in HV which happens in > + * H_ENTER_NESTED call. Since we can't differentiate this case from > + * the invalid case, we ignore such flush requests and return success. > + */ > + gp = kvmhv_find_nested(vcpu->kvm, lpid); > + if (!gp) > + return H_SUCCESS; > + > + /* > + * A flush all request can be handled by a full lpid flush only. > + */ > + if ((type & H_RPTI_TYPE_NESTED_ALL) = H_RPTI_TYPE_NESTED_ALL) > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); > + > + /* > + * We don't need to handle a PWC flush like process table here, > + * because intermediate partition scoped table in nested guest doesn't > + * really have PWC. Only level we have PWC is in L0 and for nested > + * invalidate at L0 we always do kvm_flush_lpid() which does > + * radix__flush_all_lpid(). For range invalidate at any level, we > + * are not removing the higher level page tables and hence there is > + * no PWC invalidate needed. > + * > + * if (type & H_RPTI_TYPE_PWC) { > + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); > + * if (ret) > + * return H_P4; > + * } > + */ > + > + if (start = 0 && end = -1) > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > + > + if (type & H_RPTI_TYPE_TLB) { > + struct mmu_psize_def *def; > + bool flush_lpid; > + unsigned long nr_pages; > + > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > + if (flush_lpid) > + return do_tlb_invalidate_nested_all(vcpu, lpid, > + RIC_FLUSH_TLB); > + > + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > + (1UL << def->shift), > + ap, start, end); I have not seen this reported yet so apologies if it has and there is a fix I am missing: arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] ap, start, end); ^~ arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning unsigned long psize, ap; ^ = 0 1 error generated. Cheers, Nathan > + if (ret) > + return H_P4; > + } > + } > + return H_SUCCESS; > +} > + > /* Used to convert a nested guest real address to a L1 guest real address */ > static int kvmhv_translate_addr_nested(struct kvm_vcpu *vcpu, > struct kvm_nested_guest *gp, > diff --git a/arch/powerpc/mm/book3s64/radix_tlb.c b/arch/powerpc/mm/book3s64/radix_tlb.c > index cdd98b9e7b15..4f38cf34ea40 100644 > --- a/arch/powerpc/mm/book3s64/radix_tlb.c > +++ b/arch/powerpc/mm/book3s64/radix_tlb.c > @@ -20,10 +20,6 @@ > > #include "internal.h" > > -#define RIC_FLUSH_TLB 0 > -#define RIC_FLUSH_PWC 1 > -#define RIC_FLUSH_ALL 2 > - > /* > * tlbiel instruction for radix, set invalidation > * i.e., r=1 and is\x01 or is\x10 or is\x11 > -- > 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-21 17:12 ` Nathan Chancellor @ 2021-06-22 4:47 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-22 4:35 UTC (permalink / raw) To: Nathan Chancellor Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev, david On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: > > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > > + unsigned long type, unsigned long pg_sizes, > > + unsigned long start, unsigned long end) > > +{ > > + struct kvm_nested_guest *gp; > > + long ret; > > + unsigned long psize, ap; > > + > > + /* > > + * If L2 lpid isn't valid, we need to return H_PARAMETER. > > + * > > + * However, nested KVM issues a L2 lpid flush call when creating > > + * partition table entries for L2. This happens even before the > > + * corresponding shadow lpid is created in HV which happens in > > + * H_ENTER_NESTED call. Since we can't differentiate this case from > > + * the invalid case, we ignore such flush requests and return success. > > + */ > > + gp = kvmhv_find_nested(vcpu->kvm, lpid); > > + if (!gp) > > + return H_SUCCESS; > > + > > + /* > > + * A flush all request can be handled by a full lpid flush only. > > + */ > > + if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); > > + > > + /* > > + * We don't need to handle a PWC flush like process table here, > > + * because intermediate partition scoped table in nested guest doesn't > > + * really have PWC. Only level we have PWC is in L0 and for nested > > + * invalidate at L0 we always do kvm_flush_lpid() which does > > + * radix__flush_all_lpid(). For range invalidate at any level, we > > + * are not removing the higher level page tables and hence there is > > + * no PWC invalidate needed. > > + * > > + * if (type & H_RPTI_TYPE_PWC) { > > + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); > > + * if (ret) > > + * return H_P4; > > + * } > > + */ > > + > > + if (start == 0 && end == -1) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > > + > > + if (type & H_RPTI_TYPE_TLB) { > > + struct mmu_psize_def *def; > > + bool flush_lpid; > > + unsigned long nr_pages; > > + > > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > > + def = &mmu_psize_defs[psize]; > > + if (!(pg_sizes & def->h_rpt_pgsize)) > > + continue; > > + > > + nr_pages = (end - start) >> def->shift; > > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > > + if (flush_lpid) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, > > + RIC_FLUSH_TLB); > > + > > + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > > + (1UL << def->shift), > > + ap, start, end); > > I have not seen this reported yet so apologies if it has and there is a > fix I am missing: > > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] > ap, start, end); > ^~ > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning > unsigned long psize, ap; > ^ > = 0 Thanks for catching this, this wasn't caught in my environment. I will repost the series with proper initialization to ap. Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE @ 2021-06-22 4:47 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-22 4:47 UTC (permalink / raw) To: Nathan Chancellor Cc: farosas, aneesh.kumar, npiggin, kvm-ppc, linuxppc-dev, david On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: > > +long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > > + unsigned long type, unsigned long pg_sizes, > > + unsigned long start, unsigned long end) > > +{ > > + struct kvm_nested_guest *gp; > > + long ret; > > + unsigned long psize, ap; > > + > > + /* > > + * If L2 lpid isn't valid, we need to return H_PARAMETER. > > + * > > + * However, nested KVM issues a L2 lpid flush call when creating > > + * partition table entries for L2. This happens even before the > > + * corresponding shadow lpid is created in HV which happens in > > + * H_ENTER_NESTED call. Since we can't differentiate this case from > > + * the invalid case, we ignore such flush requests and return success. > > + */ > > + gp = kvmhv_find_nested(vcpu->kvm, lpid); > > + if (!gp) > > + return H_SUCCESS; > > + > > + /* > > + * A flush all request can be handled by a full lpid flush only. > > + */ > > + if ((type & H_RPTI_TYPE_NESTED_ALL) = H_RPTI_TYPE_NESTED_ALL) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL); > > + > > + /* > > + * We don't need to handle a PWC flush like process table here, > > + * because intermediate partition scoped table in nested guest doesn't > > + * really have PWC. Only level we have PWC is in L0 and for nested > > + * invalidate at L0 we always do kvm_flush_lpid() which does > > + * radix__flush_all_lpid(). For range invalidate at any level, we > > + * are not removing the higher level page tables and hence there is > > + * no PWC invalidate needed. > > + * > > + * if (type & H_RPTI_TYPE_PWC) { > > + * ret = do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_PWC); > > + * if (ret) > > + * return H_P4; > > + * } > > + */ > > + > > + if (start = 0 && end = -1) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > > + > > + if (type & H_RPTI_TYPE_TLB) { > > + struct mmu_psize_def *def; > > + bool flush_lpid; > > + unsigned long nr_pages; > > + > > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > > + def = &mmu_psize_defs[psize]; > > + if (!(pg_sizes & def->h_rpt_pgsize)) > > + continue; > > + > > + nr_pages = (end - start) >> def->shift; > > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > > + if (flush_lpid) > > + return do_tlb_invalidate_nested_all(vcpu, lpid, > > + RIC_FLUSH_TLB); > > + > > + ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > > + (1UL << def->shift), > > + ap, start, end); > > I have not seen this reported yet so apologies if it has and there is a > fix I am missing: > > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] > ap, start, end); > ^~ > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning > unsigned long psize, ap; > ^ > = 0 Thanks for catching this, this wasn't caught in my environment. I will repost the series with proper initialization to ap. Regards, Bharata. ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-22 4:47 ` Bharata B Rao @ 2021-06-22 7:24 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-22 7:12 UTC (permalink / raw) To: Nathan Chancellor, kvm-ppc, linuxppc-dev, farosas, aneesh.kumar, npiggin, david On Tue, Jun 22, 2021 at 10:05:45AM +0530, Bharata B Rao wrote: > On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: > > I have not seen this reported yet so apologies if it has and there is a > > fix I am missing: > > > > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] > > ap, start, end); > > ^~ > > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning > > unsigned long psize, ap; > > ^ > > = 0 > > Thanks for catching this, this wasn't caught in my environment. > > I will repost the series with proper initialization to ap. Michael, Here is the fix for this on top of powerpc/next. If it is easier and cleaner to fold this into the original series and re-post the whole series against any updated tree, let me know. From 2e7198e28c0d1137f3230d4645e9cfddaccf4987 Mon Sep 17 00:00:00 2001 From: Bharata B Rao <bharata@linux.ibm.com> Date: Tue, 22 Jun 2021 12:07:01 +0530 Subject: [PATCH 1/1] KVM: PPC: Book3S HV: Use proper ap value in H_RPT_INVALIDATE The ap value that is used when performing range based partition scoped invalidations for the nested guests wasn't initialized correctly. Fix this and while we are here, reorganize the routine that does this invalidation for better readability. Fixes: 0e67d866cb32 ("KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE") Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> --- arch/powerpc/kvm/book3s_hv_nested.c | 90 +++++++++++++---------------- 1 file changed, 40 insertions(+), 50 deletions(-) diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index d78efb5f5bb3..3a06ac0b53e2 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -1222,27 +1222,6 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) return H_SUCCESS; } -static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, - unsigned long lpid, - unsigned long page_size, - unsigned long ap, - unsigned long start, - unsigned long end) -{ - unsigned long addr = start; - int ret; - - do { - ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, - get_epn(addr)); - if (ret) - return ret; - addr += page_size; - } while (addr < end); - - return ret; -} - static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, unsigned long lpid, unsigned long ric) { @@ -1263,6 +1242,42 @@ static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, */ static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, + unsigned long lpid, + unsigned long pg_sizes, + unsigned long start, + unsigned long end) +{ + int ret = H_P4; + unsigned long addr, nr_pages; + struct mmu_psize_def *def; + unsigned long psize, ap, page_size; + bool flush_lpid; + + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; + if (flush_lpid) + return do_tlb_invalidate_nested_all(vcpu, lpid, + RIC_FLUSH_TLB); + addr = start; + ap = mmu_get_ap(psize); + page_size = 1UL << def->shift; + do { + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, + get_epn(addr)); + if (ret) + return H_P4; + addr += page_size; + } while (addr < end); + } + return ret; +} + /* * Performs partition-scoped invalidations for nested guests * as part of H_RPT_INVALIDATE hcall. @@ -1271,10 +1286,6 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, unsigned long type, unsigned long pg_sizes, unsigned long start, unsigned long end) { - struct kvm_nested_guest *gp; - long ret; - unsigned long psize, ap; - /* * If L2 lpid isn't valid, we need to return H_PARAMETER. * @@ -1284,8 +1295,7 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, * H_ENTER_NESTED call. Since we can't differentiate this case from * the invalid case, we ignore such flush requests and return success. */ - gp = kvmhv_find_nested(vcpu->kvm, lpid); - if (!gp) + if (!kvmhv_find_nested(vcpu->kvm, lpid)) return H_SUCCESS; /* @@ -1313,29 +1323,9 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, if (start == 0 && end == -1) return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); - if (type & H_RPTI_TYPE_TLB) { - struct mmu_psize_def *def; - bool flush_lpid; - unsigned long nr_pages; - - for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { - def = &mmu_psize_defs[psize]; - if (!(pg_sizes & def->h_rpt_pgsize)) - continue; - - nr_pages = (end - start) >> def->shift; - flush_lpid = nr_pages > tlb_range_flush_page_ceiling; - if (flush_lpid) - return do_tlb_invalidate_nested_all(vcpu, lpid, - RIC_FLUSH_TLB); - - ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, - (1UL << def->shift), - ap, start, end); - if (ret) - return H_P4; - } - } + if (type & H_RPTI_TYPE_TLB) + return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes, + start, end); return H_SUCCESS; } -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE @ 2021-06-22 7:24 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-22 7:24 UTC (permalink / raw) To: Nathan Chancellor, kvm-ppc, linuxppc-dev, farosas, aneesh.kumar, npiggin, david On Tue, Jun 22, 2021 at 10:05:45AM +0530, Bharata B Rao wrote: > On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: > > I have not seen this reported yet so apologies if it has and there is a > > fix I am missing: > > > > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] > > ap, start, end); > > ^~ > > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning > > unsigned long psize, ap; > > ^ > > = 0 > > Thanks for catching this, this wasn't caught in my environment. > > I will repost the series with proper initialization to ap. Michael, Here is the fix for this on top of powerpc/next. If it is easier and cleaner to fold this into the original series and re-post the whole series against any updated tree, let me know. From 2e7198e28c0d1137f3230d4645e9cfddaccf4987 Mon Sep 17 00:00:00 2001 From: Bharata B Rao <bharata@linux.ibm.com> Date: Tue, 22 Jun 2021 12:07:01 +0530 Subject: [PATCH 1/1] KVM: PPC: Book3S HV: Use proper ap value in H_RPT_INVALIDATE The ap value that is used when performing range based partition scoped invalidations for the nested guests wasn't initialized correctly. Fix this and while we are here, reorganize the routine that does this invalidation for better readability. Fixes: 0e67d866cb32 ("KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE") Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> --- arch/powerpc/kvm/book3s_hv_nested.c | 90 +++++++++++++---------------- 1 file changed, 40 insertions(+), 50 deletions(-) diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index d78efb5f5bb3..3a06ac0b53e2 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -1222,27 +1222,6 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) return H_SUCCESS; } -static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, - unsigned long lpid, - unsigned long page_size, - unsigned long ap, - unsigned long start, - unsigned long end) -{ - unsigned long addr = start; - int ret; - - do { - ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, - get_epn(addr)); - if (ret) - return ret; - addr += page_size; - } while (addr < end); - - return ret; -} - static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, unsigned long lpid, unsigned long ric) { @@ -1263,6 +1242,42 @@ static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, */ static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, + unsigned long lpid, + unsigned long pg_sizes, + unsigned long start, + unsigned long end) +{ + int ret = H_P4; + unsigned long addr, nr_pages; + struct mmu_psize_def *def; + unsigned long psize, ap, page_size; + bool flush_lpid; + + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { + def = &mmu_psize_defs[psize]; + if (!(pg_sizes & def->h_rpt_pgsize)) + continue; + + nr_pages = (end - start) >> def->shift; + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; + if (flush_lpid) + return do_tlb_invalidate_nested_all(vcpu, lpid, + RIC_FLUSH_TLB); + addr = start; + ap = mmu_get_ap(psize); + page_size = 1UL << def->shift; + do { + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, + get_epn(addr)); + if (ret) + return H_P4; + addr += page_size; + } while (addr < end); + } + return ret; +} + /* * Performs partition-scoped invalidations for nested guests * as part of H_RPT_INVALIDATE hcall. @@ -1271,10 +1286,6 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, unsigned long type, unsigned long pg_sizes, unsigned long start, unsigned long end) { - struct kvm_nested_guest *gp; - long ret; - unsigned long psize, ap; - /* * If L2 lpid isn't valid, we need to return H_PARAMETER. * @@ -1284,8 +1295,7 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, * H_ENTER_NESTED call. Since we can't differentiate this case from * the invalid case, we ignore such flush requests and return success. */ - gp = kvmhv_find_nested(vcpu->kvm, lpid); - if (!gp) + if (!kvmhv_find_nested(vcpu->kvm, lpid)) return H_SUCCESS; /* @@ -1313,29 +1323,9 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, if (start = 0 && end = -1) return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); - if (type & H_RPTI_TYPE_TLB) { - struct mmu_psize_def *def; - bool flush_lpid; - unsigned long nr_pages; - - for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { - def = &mmu_psize_defs[psize]; - if (!(pg_sizes & def->h_rpt_pgsize)) - continue; - - nr_pages = (end - start) >> def->shift; - flush_lpid = nr_pages > tlb_range_flush_page_ceiling; - if (flush_lpid) - return do_tlb_invalidate_nested_all(vcpu, lpid, - RIC_FLUSH_TLB); - - ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, - (1UL << def->shift), - ap, start, end); - if (ret) - return H_P4; - } - } + if (type & H_RPTI_TYPE_TLB) + return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes, + start, end); return H_SUCCESS; } -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE 2021-06-22 7:24 ` Bharata B Rao @ 2021-06-23 6:47 ` Michael Ellerman -1 siblings, 0 replies; 36+ messages in thread From: Michael Ellerman @ 2021-06-23 6:47 UTC (permalink / raw) To: bharata, Nathan Chancellor, kvm-ppc, linuxppc-dev, farosas, aneesh.kumar, npiggin, david Bharata B Rao <bharata@linux.ibm.com> writes: > On Tue, Jun 22, 2021 at 10:05:45AM +0530, Bharata B Rao wrote: >> On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: >> > I have not seen this reported yet so apologies if it has and there is a >> > fix I am missing: >> > >> > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] >> > ap, start, end); >> > ^~ >> > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning >> > unsigned long psize, ap; >> > ^ >> > = 0 >> >> Thanks for catching this, this wasn't caught in my environment. >> >> I will repost the series with proper initialization to ap. > > Michael, > > Here is the fix for this on top of powerpc/next. If it is easier > and cleaner to fold this into the original series and re-post > the whole series against any updated tree, let me know. Thanks. I squashed this in. cheers > From 2e7198e28c0d1137f3230d4645e9cfddaccf4987 Mon Sep 17 00:00:00 2001 > From: Bharata B Rao <bharata@linux.ibm.com> > Date: Tue, 22 Jun 2021 12:07:01 +0530 > Subject: [PATCH 1/1] KVM: PPC: Book3S HV: Use proper ap value in > H_RPT_INVALIDATE > > The ap value that is used when performing range based partition > scoped invalidations for the nested guests wasn't initialized > correctly. > > Fix this and while we are here, reorganize the routine that does > this invalidation for better readability. > > Fixes: 0e67d866cb32 ("KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE") > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > --- > arch/powerpc/kvm/book3s_hv_nested.c | 90 +++++++++++++---------------- > 1 file changed, 40 insertions(+), 50 deletions(-) > > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index d78efb5f5bb3..3a06ac0b53e2 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -1222,27 +1222,6 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) > return H_SUCCESS; > } > > -static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > - unsigned long lpid, > - unsigned long page_size, > - unsigned long ap, > - unsigned long start, > - unsigned long end) > -{ > - unsigned long addr = start; > - int ret; > - > - do { > - ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > - get_epn(addr)); > - if (ret) > - return ret; > - addr += page_size; > - } while (addr < end); > - > - return ret; > -} > - > static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > unsigned long lpid, unsigned long ric) > { > @@ -1263,6 +1242,42 @@ static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > */ > static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; > > +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > + unsigned long lpid, > + unsigned long pg_sizes, > + unsigned long start, > + unsigned long end) > +{ > + int ret = H_P4; > + unsigned long addr, nr_pages; > + struct mmu_psize_def *def; > + unsigned long psize, ap, page_size; > + bool flush_lpid; > + > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > + if (flush_lpid) > + return do_tlb_invalidate_nested_all(vcpu, lpid, > + RIC_FLUSH_TLB); > + addr = start; > + ap = mmu_get_ap(psize); > + page_size = 1UL << def->shift; > + do { > + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > + get_epn(addr)); > + if (ret) > + return H_P4; > + addr += page_size; > + } while (addr < end); > + } > + return ret; > +} > + > /* > * Performs partition-scoped invalidations for nested guests > * as part of H_RPT_INVALIDATE hcall. > @@ -1271,10 +1286,6 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > unsigned long type, unsigned long pg_sizes, > unsigned long start, unsigned long end) > { > - struct kvm_nested_guest *gp; > - long ret; > - unsigned long psize, ap; > - > /* > * If L2 lpid isn't valid, we need to return H_PARAMETER. > * > @@ -1284,8 +1295,7 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > * H_ENTER_NESTED call. Since we can't differentiate this case from > * the invalid case, we ignore such flush requests and return success. > */ > - gp = kvmhv_find_nested(vcpu->kvm, lpid); > - if (!gp) > + if (!kvmhv_find_nested(vcpu->kvm, lpid)) > return H_SUCCESS; > > /* > @@ -1313,29 +1323,9 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > if (start == 0 && end == -1) > return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > > - if (type & H_RPTI_TYPE_TLB) { > - struct mmu_psize_def *def; > - bool flush_lpid; > - unsigned long nr_pages; > - > - for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > - def = &mmu_psize_defs[psize]; > - if (!(pg_sizes & def->h_rpt_pgsize)) > - continue; > - > - nr_pages = (end - start) >> def->shift; > - flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > - if (flush_lpid) > - return do_tlb_invalidate_nested_all(vcpu, lpid, > - RIC_FLUSH_TLB); > - > - ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > - (1UL << def->shift), > - ap, start, end); > - if (ret) > - return H_P4; > - } > - } > + if (type & H_RPTI_TYPE_TLB) > + return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes, > + start, end); > return H_SUCCESS; > } > > -- > 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE @ 2021-06-23 6:47 ` Michael Ellerman 0 siblings, 0 replies; 36+ messages in thread From: Michael Ellerman @ 2021-06-23 6:47 UTC (permalink / raw) To: bharata, Nathan Chancellor, kvm-ppc, linuxppc-dev, farosas, aneesh.kumar, npiggin, david Bharata B Rao <bharata@linux.ibm.com> writes: > On Tue, Jun 22, 2021 at 10:05:45AM +0530, Bharata B Rao wrote: >> On Mon, Jun 21, 2021 at 10:12:42AM -0700, Nathan Chancellor wrote: >> > I have not seen this reported yet so apologies if it has and there is a >> > fix I am missing: >> > >> > arch/powerpc/kvm/book3s_hv_nested.c:1334:11: error: variable 'ap' is uninitialized when used here [-Werror,-Wuninitialized] >> > ap, start, end); >> > ^~ >> > arch/powerpc/kvm/book3s_hv_nested.c:1276:25: note: initialize the variable 'ap' to silence this warning >> > unsigned long psize, ap; >> > ^ >> > = 0 >> >> Thanks for catching this, this wasn't caught in my environment. >> >> I will repost the series with proper initialization to ap. > > Michael, > > Here is the fix for this on top of powerpc/next. If it is easier > and cleaner to fold this into the original series and re-post > the whole series against any updated tree, let me know. Thanks. I squashed this in. cheers > From 2e7198e28c0d1137f3230d4645e9cfddaccf4987 Mon Sep 17 00:00:00 2001 > From: Bharata B Rao <bharata@linux.ibm.com> > Date: Tue, 22 Jun 2021 12:07:01 +0530 > Subject: [PATCH 1/1] KVM: PPC: Book3S HV: Use proper ap value in > H_RPT_INVALIDATE > > The ap value that is used when performing range based partition > scoped invalidations for the nested guests wasn't initialized > correctly. > > Fix this and while we are here, reorganize the routine that does > this invalidation for better readability. > > Fixes: 0e67d866cb32 ("KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE") > Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> > --- > arch/powerpc/kvm/book3s_hv_nested.c | 90 +++++++++++++---------------- > 1 file changed, 40 insertions(+), 50 deletions(-) > > diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c > index d78efb5f5bb3..3a06ac0b53e2 100644 > --- a/arch/powerpc/kvm/book3s_hv_nested.c > +++ b/arch/powerpc/kvm/book3s_hv_nested.c > @@ -1222,27 +1222,6 @@ long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu) > return H_SUCCESS; > } > > -static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > - unsigned long lpid, > - unsigned long page_size, > - unsigned long ap, > - unsigned long start, > - unsigned long end) > -{ > - unsigned long addr = start; > - int ret; > - > - do { > - ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > - get_epn(addr)); > - if (ret) > - return ret; > - addr += page_size; > - } while (addr < end); > - > - return ret; > -} > - > static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > unsigned long lpid, unsigned long ric) > { > @@ -1263,6 +1242,42 @@ static long do_tlb_invalidate_nested_all(struct kvm_vcpu *vcpu, > */ > static unsigned long tlb_range_flush_page_ceiling __read_mostly = 33; > > +static long do_tlb_invalidate_nested_tlb(struct kvm_vcpu *vcpu, > + unsigned long lpid, > + unsigned long pg_sizes, > + unsigned long start, > + unsigned long end) > +{ > + int ret = H_P4; > + unsigned long addr, nr_pages; > + struct mmu_psize_def *def; > + unsigned long psize, ap, page_size; > + bool flush_lpid; > + > + for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > + def = &mmu_psize_defs[psize]; > + if (!(pg_sizes & def->h_rpt_pgsize)) > + continue; > + > + nr_pages = (end - start) >> def->shift; > + flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > + if (flush_lpid) > + return do_tlb_invalidate_nested_all(vcpu, lpid, > + RIC_FLUSH_TLB); > + addr = start; > + ap = mmu_get_ap(psize); > + page_size = 1UL << def->shift; > + do { > + ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, > + get_epn(addr)); > + if (ret) > + return H_P4; > + addr += page_size; > + } while (addr < end); > + } > + return ret; > +} > + > /* > * Performs partition-scoped invalidations for nested guests > * as part of H_RPT_INVALIDATE hcall. > @@ -1271,10 +1286,6 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > unsigned long type, unsigned long pg_sizes, > unsigned long start, unsigned long end) > { > - struct kvm_nested_guest *gp; > - long ret; > - unsigned long psize, ap; > - > /* > * If L2 lpid isn't valid, we need to return H_PARAMETER. > * > @@ -1284,8 +1295,7 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > * H_ENTER_NESTED call. Since we can't differentiate this case from > * the invalid case, we ignore such flush requests and return success. > */ > - gp = kvmhv_find_nested(vcpu->kvm, lpid); > - if (!gp) > + if (!kvmhv_find_nested(vcpu->kvm, lpid)) > return H_SUCCESS; > > /* > @@ -1313,29 +1323,9 @@ long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid, > if (start = 0 && end = -1) > return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB); > > - if (type & H_RPTI_TYPE_TLB) { > - struct mmu_psize_def *def; > - bool flush_lpid; > - unsigned long nr_pages; > - > - for (psize = 0; psize < MMU_PAGE_COUNT; psize++) { > - def = &mmu_psize_defs[psize]; > - if (!(pg_sizes & def->h_rpt_pgsize)) > - continue; > - > - nr_pages = (end - start) >> def->shift; > - flush_lpid = nr_pages > tlb_range_flush_page_ceiling; > - if (flush_lpid) > - return do_tlb_invalidate_nested_all(vcpu, lpid, > - RIC_FLUSH_TLB); > - > - ret = do_tlb_invalidate_nested_tlb(vcpu, lpid, > - (1UL << def->shift), > - ap, start, end); > - if (ret) > - return H_P4; > - } > - } > + if (type & H_RPTI_TYPE_TLB) > + return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes, > + start, end); > return H_SUCCESS; > } > > -- > 2.31.1 ^ permalink raw reply [flat|nested] 36+ messages in thread
* [PATCH v8 5/6] KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Now that we have H_RPT_INVALIDATE fully implemented, enable support for the same via KVM_CAP_PPC_RPT_INVALIDATE KVM capability Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- Documentation/virt/kvm/api.rst | 18 ++++++++++++++++++ arch/powerpc/kvm/powerpc.c | 3 +++ include/uapi/linux/kvm.h | 1 + 3 files changed, 22 insertions(+) diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst index 7fcb2fd38f42..9977e845633f 100644 --- a/Documentation/virt/kvm/api.rst +++ b/Documentation/virt/kvm/api.rst @@ -6362,6 +6362,24 @@ default. See Documentation/x86/sgx/2.Kernel-internals.rst for more details. +7.26 KVM_CAP_PPC_RPT_INVALIDATE +------------------------------- + +:Capability: KVM_CAP_PPC_RPT_INVALIDATE +:Architectures: ppc +:Type: vm + +This capability indicates that the kernel is capable of handling +H_RPT_INVALIDATE hcall. + +In order to enable the use of H_RPT_INVALIDATE in the guest, +user space might have to advertise it for the guest. For example, +IBM pSeries (sPAPR) guest starts using it if "hcall-rpt-invalidate" is +present in the "ibm,hypertas-functions" device-tree property. + +This capability is enabled for hypervisors on platforms like POWER9 +that support radix MMU. + 8. Other capabilities. ====================== diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index a2a68a958fa0..be33b5321a76 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -682,6 +682,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) r = !!(hv_enabled && kvmppc_hv_ops->enable_dawr1 && !kvmppc_hv_ops->enable_dawr1(NULL)); break; + case KVM_CAP_PPC_RPT_INVALIDATE: + r = 1; + break; #endif default: r = 0; diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 79d9c44d1ad7..9016e96de971 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -1083,6 +1083,7 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_SGX_ATTRIBUTE 196 #define KVM_CAP_VM_COPY_ENC_CONTEXT_FROM 197 #define KVM_CAP_PTP_KVM 198 +#define KVM_CAP_PPC_RPT_INVALIDATE 199 #ifdef KVM_CAP_IRQ_ROUTING -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 5/6] KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david Now that we have H_RPT_INVALIDATE fully implemented, enable support for the same via KVM_CAP_PPC_RPT_INVALIDATE KVM capability Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- Documentation/virt/kvm/api.rst | 18 ++++++++++++++++++ arch/powerpc/kvm/powerpc.c | 3 +++ include/uapi/linux/kvm.h | 1 + 3 files changed, 22 insertions(+) diff --git a/Documentation/virt/kvm/api.rst b/Documentation/virt/kvm/api.rst index 7fcb2fd38f42..9977e845633f 100644 --- a/Documentation/virt/kvm/api.rst +++ b/Documentation/virt/kvm/api.rst @@ -6362,6 +6362,24 @@ default. See Documentation/x86/sgx/2.Kernel-internals.rst for more details. +7.26 KVM_CAP_PPC_RPT_INVALIDATE +------------------------------- + +:Capability: KVM_CAP_PPC_RPT_INVALIDATE +:Architectures: ppc +:Type: vm + +This capability indicates that the kernel is capable of handling +H_RPT_INVALIDATE hcall. + +In order to enable the use of H_RPT_INVALIDATE in the guest, +user space might have to advertise it for the guest. For example, +IBM pSeries (sPAPR) guest starts using it if "hcall-rpt-invalidate" is +present in the "ibm,hypertas-functions" device-tree property. + +This capability is enabled for hypervisors on platforms like POWER9 +that support radix MMU. + 8. Other capabilities. =========== diff --git a/arch/powerpc/kvm/powerpc.c b/arch/powerpc/kvm/powerpc.c index a2a68a958fa0..be33b5321a76 100644 --- a/arch/powerpc/kvm/powerpc.c +++ b/arch/powerpc/kvm/powerpc.c @@ -682,6 +682,9 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext) r = !!(hv_enabled && kvmppc_hv_ops->enable_dawr1 && !kvmppc_hv_ops->enable_dawr1(NULL)); break; + case KVM_CAP_PPC_RPT_INVALIDATE: + r = 1; + break; #endif default: r = 0; diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index 79d9c44d1ad7..9016e96de971 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h @@ -1083,6 +1083,7 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_SGX_ATTRIBUTE 196 #define KVM_CAP_VM_COPY_ENC_CONTEXT_FROM 197 #define KVM_CAP_PTP_KVM 198 +#define KVM_CAP_PPC_RPT_INVALIDATE 199 #ifdef KVM_CAP_IRQ_ROUTING -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-21 8:50 ` Bharata B Rao -1 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david In the nested KVM case, replace H_TLB_INVALIDATE by the new hcall H_RPT_INVALIDATE if available. The availability of this hcall is determined from "hcall-rpt-invalidate" string in ibm,hypertas-functions DT property. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/kvm/book3s_64_mmu_radix.c | 27 +++++++++++++++++++++----- arch/powerpc/kvm/book3s_hv_nested.c | 12 ++++++++++-- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c index d909c069363e..b5905ae4377c 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c @@ -21,6 +21,7 @@ #include <asm/pte-walk.h> #include <asm/ultravisor.h> #include <asm/kvm_book3s_uvmem.h> +#include <asm/plpar_wrappers.h> /* * Supported radix tree geometry. @@ -318,9 +319,19 @@ void kvmppc_radix_tlbie_page(struct kvm *kvm, unsigned long addr, } psi = shift_to_mmu_psize(pshift); - rb = addr | (mmu_get_ap(psi) << PPC_BITLSHIFT(58)); - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(0, 0, 1), - lpid, rb); + + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) { + rb = addr | (mmu_get_ap(psi) << PPC_BITLSHIFT(58)); + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(0, 0, 1), + lpid, rb); + } else { + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_TLB, + psize_to_rpti_pgsize(psi), + addr, addr + psize); + } + if (rc) pr_err("KVM: TLB page invalidation hcall failed, rc=%ld\n", rc); } @@ -334,8 +345,14 @@ static void kvmppc_radix_flush_pwc(struct kvm *kvm, unsigned int lpid) return; } - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(1, 0, 1), - lpid, TLBIEL_INVAL_SET_LPID); + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(1, 0, 1), + lpid, TLBIEL_INVAL_SET_LPID); + else + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_PWC, H_RPTI_PAGE_ALL, + 0, -1UL); if (rc) pr_err("KVM: TLB PWC invalidation hcall failed, rc=%ld\n", rc); } diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index 056d3df68de1..d78efb5f5bb3 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -19,6 +19,7 @@ #include <asm/pgalloc.h> #include <asm/pte-walk.h> #include <asm/reg.h> +#include <asm/plpar_wrappers.h> static struct patb_entry *pseries_partition_tb; @@ -467,8 +468,15 @@ static void kvmhv_flush_lpid(unsigned int lpid) return; } - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1), - lpid, TLBIEL_INVAL_SET_LPID); + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1), + lpid, TLBIEL_INVAL_SET_LPID); + else + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_TLB | H_RPTI_TYPE_PWC | + H_RPTI_TYPE_PAT, + H_RPTI_PAGE_ALL, 0, -1UL); if (rc) pr_err("KVM: TLB LPID invalidation hcall failed, rc=%ld\n", rc); } -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* [PATCH v8 6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM @ 2021-06-21 8:50 ` Bharata B Rao 0 siblings, 0 replies; 36+ messages in thread From: Bharata B Rao @ 2021-06-21 8:50 UTC (permalink / raw) To: kvm-ppc, linuxppc-dev Cc: farosas, aneesh.kumar, npiggin, Bharata B Rao, david In the nested KVM case, replace H_TLB_INVALIDATE by the new hcall H_RPT_INVALIDATE if available. The availability of this hcall is determined from "hcall-rpt-invalidate" string in ibm,hypertas-functions DT property. Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> --- arch/powerpc/kvm/book3s_64_mmu_radix.c | 27 +++++++++++++++++++++----- arch/powerpc/kvm/book3s_hv_nested.c | 12 ++++++++++-- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c index d909c069363e..b5905ae4377c 100644 --- a/arch/powerpc/kvm/book3s_64_mmu_radix.c +++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c @@ -21,6 +21,7 @@ #include <asm/pte-walk.h> #include <asm/ultravisor.h> #include <asm/kvm_book3s_uvmem.h> +#include <asm/plpar_wrappers.h> /* * Supported radix tree geometry. @@ -318,9 +319,19 @@ void kvmppc_radix_tlbie_page(struct kvm *kvm, unsigned long addr, } psi = shift_to_mmu_psize(pshift); - rb = addr | (mmu_get_ap(psi) << PPC_BITLSHIFT(58)); - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(0, 0, 1), - lpid, rb); + + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) { + rb = addr | (mmu_get_ap(psi) << PPC_BITLSHIFT(58)); + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(0, 0, 1), + lpid, rb); + } else { + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_TLB, + psize_to_rpti_pgsize(psi), + addr, addr + psize); + } + if (rc) pr_err("KVM: TLB page invalidation hcall failed, rc=%ld\n", rc); } @@ -334,8 +345,14 @@ static void kvmppc_radix_flush_pwc(struct kvm *kvm, unsigned int lpid) return; } - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(1, 0, 1), - lpid, TLBIEL_INVAL_SET_LPID); + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(1, 0, 1), + lpid, TLBIEL_INVAL_SET_LPID); + else + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_PWC, H_RPTI_PAGE_ALL, + 0, -1UL); if (rc) pr_err("KVM: TLB PWC invalidation hcall failed, rc=%ld\n", rc); } diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c index 056d3df68de1..d78efb5f5bb3 100644 --- a/arch/powerpc/kvm/book3s_hv_nested.c +++ b/arch/powerpc/kvm/book3s_hv_nested.c @@ -19,6 +19,7 @@ #include <asm/pgalloc.h> #include <asm/pte-walk.h> #include <asm/reg.h> +#include <asm/plpar_wrappers.h> static struct patb_entry *pseries_partition_tb; @@ -467,8 +468,15 @@ static void kvmhv_flush_lpid(unsigned int lpid) return; } - rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1), - lpid, TLBIEL_INVAL_SET_LPID); + if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE)) + rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1), + lpid, TLBIEL_INVAL_SET_LPID); + else + rc = pseries_rpt_invalidate(lpid, H_RPTI_TARGET_CMMU, + H_RPTI_TYPE_NESTED | + H_RPTI_TYPE_TLB | H_RPTI_TYPE_PWC | + H_RPTI_TYPE_PAT, + H_RPTI_PAGE_ALL, 0, -1UL); if (rc) pr_err("KVM: TLB LPID invalidation hcall failed, rc=%ld\n", rc); } -- 2.31.1 ^ permalink raw reply related [flat|nested] 36+ messages in thread
* Re: [PATCH v8 6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM 2021-06-21 8:50 ` Bharata B Rao (?) @ 2021-06-21 15:07 ` kernel test robot 2021-06-21 15:21 ` Philip Li -1 siblings, 1 reply; 36+ messages in thread From: kernel test robot @ 2021-06-21 15:07 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 94162 bytes --] Hi Bharata, Thank you for the patch! Yet something to improve: [auto build test ERROR on v5.13-rc7] [cannot apply to powerpc/next kvm/queue kvm-ppc/kvm-ppc-next next-20210621] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Bharata-B-Rao/Support-for-H_RPT_INVALIDATE-in-PowerPC-KVM/20210621-165150 base: 13311e74253fe64329390df80bed3f07314ddd61 config: h8300-randconfig-r013-20210621 (attached as .config) compiler: h8300-linux-gcc (GCC) 9.3.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/3fc7aa5c69047aed96691cc5144ef6282124a62e git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Bharata-B-Rao/Support-for-H_RPT_INVALIDATE-in-PowerPC-KVM/20210621-165150 git checkout 3fc7aa5c69047aed96691cc5144ef6282124a62e # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dac/vf610_dac.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dummy/iio_dummy.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dummy/iio_dummy_evgen.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/frequency/adf4350.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/adis16136.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/itg3200.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/health/max30102.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/dht11.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/hdc100x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/si7005.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/adis16460.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/bmi160/bmi160_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/bmi160/bmi160_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/fxos8700_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/inv_icm42600/inv-icm42600-spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/inv_icm42600/inv-icm42600.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/kmx61.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/adux1020.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/cm32181.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/cm36651.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/gp2ap020a00f.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/jsa1212.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/lv0104cs.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/noa1305.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/pa12203001.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/vcnl4000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/vl6180.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/zopt2201.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/ak8974.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/hmc5843_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/hmc5843_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/mag3110.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/mmc35240.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/rm3100-core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/rm3100-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn_i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/ad5272.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/max5432.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/max5487.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/mcp41010.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiostat/lmp91000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/abp060mg.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280-spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/hp206c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/icp10100.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/mpl3115.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/ms5611_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/t5403.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/isl29501.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/ping.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/sx9310.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/vl53l0x-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/max31856.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tmp006.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tsys01.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tsys02d.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/flash/leds-rt4505.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-as3645a.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-bd2802.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-el15203000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-is31fl319x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-ktd2692.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3530.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3532.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3533.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm355x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm36274.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3642.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3692x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3697.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lp5562.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lt3593.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-max8997.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-sgm3140.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-spi-byte.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-ti-lmu-common.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-tps6105x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-wm831x-status.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/uleds.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mailbox/mailbox-altera.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mcb/mcb-lpc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mcb/mcb.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/cec/core/cec.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/siano/smsdvb.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/siano/smsmdtv.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/v4l2-tpg/v4l2-tpg.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-common.ko.gz', needed by '__modinst'. >> make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-dma-contig.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-memops.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-v4l2.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-vmalloc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-core/dvb-core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/a8293.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/af9013.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/af9033.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ascot2e.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx22700.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24110.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24113.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24116.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24117.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24123.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2099.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2820r.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2841er.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2880/cxd2880.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib3000mc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib7000p.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib8000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib9000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dibx000_common.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drx39xyj/drx39xyj.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drxd.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drxk.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ds3000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dvb_dummy_fe.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ec100.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/helene.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/horus3a.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6405.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6421.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6423.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/itd1000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ix2505v.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lg2160.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgdt3306a.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgdt330x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgs8gxx.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbh25.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbh29.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbp22.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/m88ds3103.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/m88rs2000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mb86a16.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mb86a20s.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mn88443x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mt312.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mt352.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/nxt200x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/or51132.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/or51211.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/rtl2832.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1409.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1411.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1432.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s921.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/si2165.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/si2168.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/sp8870.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/sp887x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stb6000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stb6100.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0288.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0299.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv090x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0910.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv6110x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10021.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10048.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda1004x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10071.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda18271c2dd.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda8083.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda826x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tua6100.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ves1820.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ves1x93.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zd1301_demod.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10036.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10039.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10353.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ad5820.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ad9389b.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adp1653.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7170.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7175.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7180.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7183.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv748x/adv748x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7511-v4l2.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ak7375.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ak881x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/aptina-pll.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/bt819.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/cx25840/cx25840.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/dw9714.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/dw9807-vcm.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/hi556.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx219.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx258.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx274.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx290.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx319.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx334.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx355.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/lm3560.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/lm3646.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/m5mols/m5mols.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/max2175.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/max9286.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ml86v7667.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/msp3400.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9m032.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9t112.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9v011.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9v111.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/noon010pc30.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov02a10.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov13858.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2640.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2659.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2680.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2685.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5645.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5647.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5670.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5675.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5695.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7251.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7640.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7670.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov772x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7740.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov8856.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov9650.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/rj54n1cb0c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/s5c73m3/s5c73m3.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/s5k6aa.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa6588.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7110.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7115.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7127.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa717x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7185.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/sony-btf-mpx.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/sr030pc30.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tea6415c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tea6420.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ths8200.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tlv320aic23b.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tvaudio.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tvp514x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw2804.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9903.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9906.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9910.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/upd64031a.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/upd64083.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/vp27smpx.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/vpx3220.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/mc/mc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/mmc/siano/smssdio.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/platform/aspeed-video.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/platform/m2m-deinterlace.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/radio-tea5764.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/radio-wl1273.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/si470x/radio-si470x-common.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/si470x/radio-si470x-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/tef6862.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/spi/cxd2880-spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/spi/gs1662.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vicodec/vicodec.ko.gz', needed by '__modinst'. >> make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-bridge.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-demod.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-tuner.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vimc/vimc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vivid/vivid.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/e4000.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/fc0013.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/fc2580.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/it913x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mc44s803.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/msi001.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2060.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2063.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt20xx.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2131.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2266.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mxl301rf.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mxl5005s.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/qm1d1c0042.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/qt1010.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18218.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18250.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18271.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda827x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda9887.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tea5761.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tuner-xc2028.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-dv-timings.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-flash-led-class.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-fwnode.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-mem2mem.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/videodev.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/memory/dfl-emif.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm800.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm805.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm80x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/act8945a.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/as3722.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/axp20x-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/axp20x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/da9063.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/da9150-core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/gateworks-gsc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/intel-m10-bmc.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/lm3533-core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/lm3533-ctrlbank.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77650.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77686.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77693.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/mp2629.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/retu-mfd.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/rohm-bd718x7.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/rt5033.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/sky81452.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/ti-lmu.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps6105x.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps65010.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps65086.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/wl1273-core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/wm8994.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot-i2c.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot-spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/c2port/core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/dummy-irq.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/echo/echo.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/eeprom/at25.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/hmc6352.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/xilinx_sdfec.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_block.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_core.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_test.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/pwrseq_simple.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/cqhci.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/mmc_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/mtk-sd.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/of_mmc_spi.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/sdhci.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/usdhi6rol0.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/cfi_cmdset_0001.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/jedec_probe.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/map_absent.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/map_ram.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/devices/mchp23k256.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/devices/sst25l.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/mtdoops.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/mtdpstore.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/denali.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/denali_dt.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/diskonchip.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/gpio.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/mxic_nand.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/nand.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/cmdlinepart.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/ofpart.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/redboot.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/rfd_ftl.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_nandbiterrs.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_nandecctest.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_oobtest.ko.gz', needed by '__modinst'. make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_pagetest.ko.gz', needed by '__modinst'. --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 19975 bytes --] ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM 2021-06-21 15:07 ` kernel test robot @ 2021-06-21 15:21 ` Philip Li 0 siblings, 0 replies; 36+ messages in thread From: Philip Li @ 2021-06-21 15:21 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 95302 bytes --] On Mon, Jun 21, 2021 at 11:07:04PM +0800, kernel test robot wrote: > Hi Bharata, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on v5.13-rc7] > [cannot apply to powerpc/next kvm/queue kvm-ppc/kvm-ppc-next next-20210621] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: https://github.com/0day-ci/linux/commits/Bharata-B-Rao/Support-for-H_RPT_INVALIDATE-in-PowerPC-KVM/20210621-165150 > base: 13311e74253fe64329390df80bed3f07314ddd61 > config: h8300-randconfig-r013-20210621 (attached as .config) > compiler: h8300-linux-gcc (GCC) 9.3.0 > reproduce (this is a W=1 build): > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross > chmod +x ~/bin/make.cross > # https://github.com/0day-ci/linux/commit/3fc7aa5c69047aed96691cc5144ef6282124a62e > git remote add linux-review https://github.com/0day-ci/linux > git fetch --no-tags linux-review Bharata-B-Rao/Support-for-H_RPT_INVALIDATE-in-PowerPC-KVM/20210621-165150 > git checkout 3fc7aa5c69047aed96691cc5144ef6282124a62e > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=h8300 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <lkp@intel.com> > > All errors (new ones prefixed by >>): Sorry for the broken report, kindly ignore this, we will fix this asap. > > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dac/vf610_dac.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dummy/iio_dummy.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/dummy/iio_dummy_evgen.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/frequency/adf4350.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/adis16136.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/fxas21002c_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/itg3200.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/gyro/st_gyro_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/health/max30102.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/dht11.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/hdc100x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/humidity/si7005.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/adis16460.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/bmi160/bmi160_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/bmi160/bmi160_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/fxos8700_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/inv_icm42600/inv-icm42600-spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/inv_icm42600/inv-icm42600.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/imu/kmx61.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/adux1020.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/cm32181.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/cm36651.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/gp2ap020a00f.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/jsa1212.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/lv0104cs.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/noa1305.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/pa12203001.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/st_uvis25_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/vcnl4000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/vl6180.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/light/zopt2201.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/ak8974.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/hmc5843_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/hmc5843_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/mag3110.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/mmc35240.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/rm3100-core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/rm3100-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn_i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/magnetometer/st_magn_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/ad5272.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/max5432.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/max5487.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiometer/mcp41010.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/potentiostat/lmp91000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/abp060mg.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280-spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/bmp280.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/hp206c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/icp10100.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/mpl3115.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/ms5611_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/pressure/t5403.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/isl29501.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/ping.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/sx9310.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/proximity/vl53l0x-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/max31856.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tmp006.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tsys01.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/iio/temperature/tsys02d.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/flash/leds-rt4505.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-as3645a.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-bd2802.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-el15203000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-is31fl319x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-ktd2692.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3530.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3532.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3533.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm355x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm36274.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3642.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3692x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lm3697.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lp5562.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-lt3593.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-max8997.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-sgm3140.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-spi-byte.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-ti-lmu-common.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-tps6105x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/leds-wm831x-status.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/leds/uleds.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mailbox/mailbox-altera.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mcb/mcb-lpc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mcb/mcb.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/cec/core/cec.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/siano/smsdvb.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/siano/smsmdtv.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/v4l2-tpg/v4l2-tpg.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-common.ko.gz', needed by '__modinst'. > >> make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-dma-contig.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-memops.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-v4l2.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/common/videobuf2/videobuf2-vmalloc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-core/dvb-core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/a8293.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/af9013.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/af9033.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ascot2e.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx22700.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24110.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24113.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24116.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24117.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cx24123.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2099.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2820r.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2841er.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/cxd2880/cxd2880.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib3000mc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib7000p.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib8000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dib9000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dibx000_common.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drx39xyj/drx39xyj.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drxd.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/drxk.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ds3000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/dvb_dummy_fe.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ec100.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/helene.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/horus3a.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6405.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6421.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/isl6423.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/itd1000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ix2505v.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lg2160.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgdt3306a.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgdt330x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lgs8gxx.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbh25.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbh29.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/lnbp22.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/m88ds3103.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/m88rs2000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mb86a16.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mb86a20s.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mn88443x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mt312.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/mt352.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/nxt200x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/or51132.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/or51211.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/rtl2832.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1409.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1411.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s5h1432.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/s921.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/si2165.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/si2168.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/sp8870.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/sp887x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stb6000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stb6100.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0288.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0299.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv090x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv0910.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/stv6110x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10021.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10048.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda1004x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda10071.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda18271c2dd.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda8083.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tda826x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/tua6100.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ves1820.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/ves1x93.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zd1301_demod.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10036.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10039.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/dvb-frontends/zl10353.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ad5820.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ad9389b.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adp1653.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7170.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7175.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7180.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7183.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv748x/adv748x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/adv7511-v4l2.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ak7375.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ak881x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/aptina-pll.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/bt819.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/cx25840/cx25840.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/dw9714.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/dw9807-vcm.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/hi556.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx219.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx258.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx274.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx290.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx319.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx334.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/imx355.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/lm3560.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/lm3646.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/m5mols/m5mols.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/max2175.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/max9286.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ml86v7667.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/msp3400.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9m032.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9t112.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9v011.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/mt9v111.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/noon010pc30.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov02a10.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov13858.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2640.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2659.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2680.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov2685.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5645.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5647.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5670.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5675.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov5695.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7251.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7640.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7670.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov772x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov7740.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov8856.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ov9650.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/rj54n1cb0c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/s5c73m3/s5c73m3.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/s5k6aa.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa6588.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7110.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7115.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7127.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa717x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/saa7185.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/sony-btf-mpx.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/sr030pc30.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tea6415c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tea6420.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/ths8200.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tlv320aic23b.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tvaudio.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tvp514x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw2804.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9903.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9906.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/tw9910.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/upd64031a.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/upd64083.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/vp27smpx.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/i2c/vpx3220.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/mc/mc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/mmc/siano/smssdio.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/platform/aspeed-video.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/platform/m2m-deinterlace.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/radio-tea5764.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/radio-wl1273.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/si470x/radio-si470x-common.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/si470x/radio-si470x-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/radio/tef6862.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/spi/cxd2880-spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/spi/gs1662.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vicodec/vicodec.ko.gz', needed by '__modinst'. > >> make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-bridge.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-demod.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vidtv/dvb-vidtv-tuner.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vimc/vimc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/test-drivers/vivid/vivid.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/e4000.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/fc0013.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/fc2580.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/it913x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mc44s803.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/msi001.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2060.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2063.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt20xx.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2131.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mt2266.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mxl301rf.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/mxl5005s.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/qm1d1c0042.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/qt1010.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18218.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18250.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda18271.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda827x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tda9887.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tea5761.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/tuners/tuner-xc2028.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-dv-timings.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-flash-led-class.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-fwnode.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/v4l2-mem2mem.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/media/v4l2-core/videodev.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/memory/dfl-emif.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm800.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm805.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/88pm80x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/act8945a.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/as3722.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/axp20x-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/axp20x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/da9063.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/da9150-core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/gateworks-gsc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/intel-m10-bmc.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/lm3533-core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/lm3533-ctrlbank.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77650.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77686.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/max77693.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/mp2629.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/retu-mfd.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/rohm-bd718x7.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/rt5033.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/sky81452.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/ti-lmu.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps6105x.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps65010.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/tps65086.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/wl1273-core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mfd/wm8994.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot-i2c.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot-spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/ad525x_dpot.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/c2port/core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/dummy-irq.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/echo/echo.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/eeprom/at25.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/hmc6352.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/misc/xilinx_sdfec.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_block.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_core.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/mmc_test.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/core/pwrseq_simple.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/cqhci.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/mmc_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/mtk-sd.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/of_mmc_spi.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/sdhci.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mmc/host/usdhi6rol0.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/cfi_cmdset_0001.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/jedec_probe.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/map_absent.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/chips/map_ram.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/devices/mchp23k256.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/devices/sst25l.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/mtdoops.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/mtdpstore.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/denali.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/denali_dt.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/diskonchip.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/gpio.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/mxic_nand.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/nand/raw/nand.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/cmdlinepart.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/ofpart.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/parsers/redboot.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/rfd_ftl.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_nandbiterrs.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_nandecctest.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_oobtest.ko.gz', needed by '__modinst'. > make[2]: *** No rule to make target '/tmp/kernel/h8300-randconfig-r013-20210621/gcc-9.3.0/3fc7aa5c69047aed96691cc5144ef6282124a62e/lib/modules/5.13.0-rc7-00006-g3fc7aa5c6904/kernel/drivers/mtd/tests/mtd_pagetest.ko.gz', needed by '__modinst'. > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org > _______________________________________________ > kbuild-all mailing list -- kbuild-all(a)lists.01.org > To unsubscribe send an email to kbuild-all-leave(a)lists.01.org ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM 2021-06-21 8:50 ` Bharata B Rao @ 2021-06-24 13:59 ` Michael Ellerman -1 siblings, 0 replies; 36+ messages in thread From: Michael Ellerman @ 2021-06-24 13:59 UTC (permalink / raw) To: Bharata B Rao, linuxppc-dev, kvm-ppc Cc: aneesh.kumar, farosas, npiggin, david On Mon, 21 Jun 2021 14:19:57 +0530, Bharata B Rao wrote: > This patchset adds support for the new hcall H_RPT_INVALIDATE > and replaces the nested tlb flush calls with this new hcall > if support for the same exists. > > Changes in v8: > ------------- > - Used tlb_single_page_flush_ceiling in the process-scoped range > flush routine to switch to full PID invalation if > the number of pages is above the threshold > - Moved iterating over page sizes into the actual routine that > handles the eventual flushing thereby limiting the page size > iteration only to range based flushing > - Converted #if 0 section into a comment section to avoid > checkpatch from complaining. > - Used a threshold in the partition-scoped range flushing > to switch to full LPID invalidation > > [...] Applied to powerpc/topic/ppc-kvm. [1/6] KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments https://git.kernel.org/powerpc/c/f09216a190a4c2f62e1725f9d92e7c122b4ee423 [2/6] powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def https://git.kernel.org/powerpc/c/d6265cb33b710789cbc390316eba50a883d6dcc8 [3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE https://git.kernel.org/powerpc/c/f0c6fbbb90504fb7e9dbf0865463d3c2b4de49e5 [4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE https://git.kernel.org/powerpc/c/53324b51c5eee22d420a2df68b1820d929fa90f3 [5/6] KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability https://git.kernel.org/powerpc/c/b87cc116c7e1bc62a84d8c46acd401db179edb11 [6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM https://git.kernel.org/powerpc/c/81468083f3c76a08183813e3af63a7c3cea3f537 cheers ^ permalink raw reply [flat|nested] 36+ messages in thread
* Re: [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM @ 2021-06-24 13:59 ` Michael Ellerman 0 siblings, 0 replies; 36+ messages in thread From: Michael Ellerman @ 2021-06-24 13:59 UTC (permalink / raw) To: Bharata B Rao, linuxppc-dev, kvm-ppc Cc: aneesh.kumar, farosas, npiggin, david On Mon, 21 Jun 2021 14:19:57 +0530, Bharata B Rao wrote: > This patchset adds support for the new hcall H_RPT_INVALIDATE > and replaces the nested tlb flush calls with this new hcall > if support for the same exists. > > Changes in v8: > ------------- > - Used tlb_single_page_flush_ceiling in the process-scoped range > flush routine to switch to full PID invalation if > the number of pages is above the threshold > - Moved iterating over page sizes into the actual routine that > handles the eventual flushing thereby limiting the page size > iteration only to range based flushing > - Converted #if 0 section into a comment section to avoid > checkpatch from complaining. > - Used a threshold in the partition-scoped range flushing > to switch to full LPID invalidation > > [...] Applied to powerpc/topic/ppc-kvm. [1/6] KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments https://git.kernel.org/powerpc/c/f09216a190a4c2f62e1725f9d92e7c122b4ee423 [2/6] powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def https://git.kernel.org/powerpc/c/d6265cb33b710789cbc390316eba50a883d6dcc8 [3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE https://git.kernel.org/powerpc/c/f0c6fbbb90504fb7e9dbf0865463d3c2b4de49e5 [4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE https://git.kernel.org/powerpc/c/53324b51c5eee22d420a2df68b1820d929fa90f3 [5/6] KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability https://git.kernel.org/powerpc/c/b87cc116c7e1bc62a84d8c46acd401db179edb11 [6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM https://git.kernel.org/powerpc/c/81468083f3c76a08183813e3af63a7c3cea3f537 cheers ^ permalink raw reply [flat|nested] 36+ messages in thread
end of thread, other threads:[~2021-07-12 2:29 UTC | newest] Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-06-21 8:49 [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 8:49 ` [PATCH v8 1/6] KVM: PPC: Book3S HV: Fix comments of H_RPT_INVALIDATE arguments Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 8:49 ` [PATCH v8 2/6] powerpc/book3s64/radix: Add H_RPT_INVALIDATE pgsize encodings to mmu_psize_def Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 8:50 ` [PATCH v8 3/6] KVM: PPC: Book3S HV: Add support for H_RPT_INVALIDATE Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-07-05 4:42 ` David Gibson 2021-07-05 4:42 ` David Gibson 2021-07-06 5:26 ` Bharata B Rao 2021-07-06 5:38 ` Bharata B Rao 2021-07-08 3:58 ` David Gibson 2021-07-08 3:58 ` David Gibson 2021-07-08 4:29 ` Bharata B Rao 2021-07-08 4:41 ` Bharata B Rao 2021-07-12 2:28 ` David Gibson 2021-07-12 2:28 ` David Gibson 2021-06-21 8:50 ` [PATCH v8 4/6] KVM: PPC: Book3S HV: Nested support in H_RPT_INVALIDATE Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 17:12 ` Nathan Chancellor 2021-06-21 17:12 ` Nathan Chancellor 2021-06-22 4:35 ` Bharata B Rao 2021-06-22 4:47 ` Bharata B Rao 2021-06-22 7:12 ` Bharata B Rao 2021-06-22 7:24 ` Bharata B Rao 2021-06-23 6:47 ` Michael Ellerman 2021-06-23 6:47 ` Michael Ellerman 2021-06-21 8:50 ` [PATCH v8 5/6] KVM: PPC: Book3S HV: Add KVM_CAP_PPC_RPT_INVALIDATE capability Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 8:50 ` [PATCH v8 6/6] KVM: PPC: Book3S HV: Use H_RPT_INVALIDATE in nested KVM Bharata B Rao 2021-06-21 8:50 ` Bharata B Rao 2021-06-21 15:07 ` kernel test robot 2021-06-21 15:21 ` Philip Li 2021-06-24 13:59 ` [PATCH v8 0/6] Support for H_RPT_INVALIDATE in PowerPC KVM Michael Ellerman 2021-06-24 13:59 ` Michael Ellerman
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.