* [jgunthorpe:smmuv3_nesting 8/13] drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:37:9: error: implicit declaration of function 'arm_smmu_make_s2_domain_ste'
@ 2024-10-07 6:48 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-10-07 6:48 UTC (permalink / raw)
To: Jason Gunthorpe; +Cc: oe-kbuild-all
tree: https://github.com/jgunthorpe/linux smmuv3_nesting
head: 001e0c0e12b947eb9f8c10a4a9af17d3e553778d
commit: 78386173763b7040e4a9309bc06818b1b915b9d9 [8/13] iommu/arm-smmu-v3: Support IOMMU_DOMAIN_NESTED
config: arm64-randconfig-r051-20241007 (https://download.01.org/0day-ci/archive/20241007/202410071420.v34rXHLS-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241007/202410071420.v34rXHLS-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202410071420.v34rXHLS-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c: In function 'arm_smmu_make_nested_cd_table_ste':
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:37:9: error: implicit declaration of function 'arm_smmu_make_s2_domain_ste' [-Wimplicit-function-declaration]
37 | arm_smmu_make_s2_domain_ste(target, master, nested_domain->s2_parent,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c: In function 'arm_smmu_make_nested_domain_ste':
>> drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:82:17: error: implicit declaration of function 'arm_smmu_make_abort_ste'; did you mean 'arm_smmu_make_s1_cd'? [-Wimplicit-function-declaration]
82 | arm_smmu_make_abort_ste(target);
| ^~~~~~~~~~~~~~~~~~~~~~~
| arm_smmu_make_s1_cd
vim +/arm_smmu_make_s2_domain_ste +37 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c
32
33 static void arm_smmu_make_nested_cd_table_ste(
34 struct arm_smmu_ste *target, struct arm_smmu_master *master,
35 struct arm_smmu_nested_domain *nested_domain, bool ats_enabled)
36 {
> 37 arm_smmu_make_s2_domain_ste(target, master, nested_domain->s2_parent,
38 ats_enabled);
39
40 target->data[0] = cpu_to_le64(STRTAB_STE_0_V |
41 FIELD_PREP(STRTAB_STE_0_CFG,
42 STRTAB_STE_0_CFG_NESTED));
43 target->data[0] |= nested_domain->ste[0] &
44 ~cpu_to_le64(STRTAB_STE_0_CFG);
45 target->data[1] |= nested_domain->ste[1];
46 }
47
48 /*
49 * Create a physical STE from the virtual STE that userspace provided when it
50 * created the nested domain. Using the vSTE userspace can request:
51 * - Non-valid STE
52 * - Abort STE
53 * - Bypass STE (install the S2, no CD table)
54 * - CD table STE (install the S2 and the userspace CD table)
55 */
56 static void arm_smmu_make_nested_domain_ste(
57 struct arm_smmu_ste *target, struct arm_smmu_master *master,
58 struct arm_smmu_nested_domain *nested_domain, bool ats_enabled)
59 {
60 unsigned int cfg =
61 FIELD_GET(STRTAB_STE_0_CFG, le64_to_cpu(nested_domain->ste[0]));
62
63 /*
64 * Userspace can request a non-valid STE through the nesting interface.
65 * We relay that into an abort physical STE with the intention that
66 * C_BAD_STE for this SID can be generated to userspace.
67 */
68 if (!(nested_domain->ste[0] & cpu_to_le64(STRTAB_STE_0_V)))
69 cfg = STRTAB_STE_0_CFG_ABORT;
70
71 switch (cfg) {
72 case STRTAB_STE_0_CFG_S1_TRANS:
73 arm_smmu_make_nested_cd_table_ste(target, master, nested_domain,
74 ats_enabled);
75 break;
76 case STRTAB_STE_0_CFG_BYPASS:
77 arm_smmu_make_s2_domain_ste(
78 target, master, nested_domain->s2_parent, ats_enabled);
79 break;
80 case STRTAB_STE_0_CFG_ABORT:
81 default:
> 82 arm_smmu_make_abort_ste(target);
83 break;
84 }
85 }
86
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-10-07 6:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-07 6:48 [jgunthorpe:smmuv3_nesting 8/13] drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3-iommufd.c:37:9: error: implicit declaration of function 'arm_smmu_make_s2_domain_ste' kernel test robot
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.