mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
iommu_pt: add kunit config for 32-bit VA (amdv1_cfg_1)
Add test coverage for small VAs (32‑bit) starting at level 2 by enabling the AMDv1 KUnit configuration. This limits level expansion because the starting level can accommodate only the maximum virtual address requested. Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Ankit Soni <Ankit.Soni@amd.com> Reviewed-by: Vasant Hegde <vasant.hegde@amd.com> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
This commit is contained in:
parent
5240dab55b
commit
d9f759704b
|
|
@ -404,6 +404,7 @@ amdv1pt_iommu_fmt_hw_info(struct pt_iommu_amdv1 *table,
|
|||
static const struct pt_iommu_amdv1_cfg amdv1_kunit_fmt_cfgs[] = {
|
||||
/* Matches what io_pgtable does */
|
||||
[0] = { .starting_level = 2 },
|
||||
[1] = { .starting_level = 2, .common.hw_max_vasz_lg2 = 32 },
|
||||
};
|
||||
#define kunit_fmt_cfgs amdv1_kunit_fmt_cfgs
|
||||
enum { KUNIT_FMT_FEATURES = 0 };
|
||||
|
|
|
|||
|
|
@ -112,8 +112,9 @@ static void test_increase_level(struct kunit *test)
|
|||
if (IS_32BIT)
|
||||
kunit_skip(test, "Unable to test on 32bit");
|
||||
|
||||
KUNIT_ASSERT_GT(test, common->max_vasz_lg2,
|
||||
pt_top_range(common).max_vasz_lg2);
|
||||
if (common->max_vasz_lg2 <= pt_top_range(common).max_vasz_lg2)
|
||||
kunit_skip(test,
|
||||
"max_vasz_lg2 fits in starting level, no growth possible");
|
||||
|
||||
/* Add every possible level to the max */
|
||||
while (common->max_vasz_lg2 != pt_top_range(common).max_vasz_lg2) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user