iommu: Remember when default domain type was set on kernel command line
Introduce an extensible concept to remember when certain configuration settings for the IOMMU code have been set on the kernel command line. This will be used later to prevent overwriting these settings with other defaults. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
fe427e373d
commit
faf1498993
|
@ -32,6 +32,7 @@ static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_IDENTITY;
|
||||||
static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA;
|
static unsigned int iommu_def_domain_type = IOMMU_DOMAIN_DMA;
|
||||||
#endif
|
#endif
|
||||||
static bool iommu_dma_strict __read_mostly = true;
|
static bool iommu_dma_strict __read_mostly = true;
|
||||||
|
static u32 iommu_cmd_line __read_mostly;
|
||||||
|
|
||||||
struct iommu_group {
|
struct iommu_group {
|
||||||
struct kobject kobj;
|
struct kobject kobj;
|
||||||
|
@ -68,6 +69,18 @@ static const char * const iommu_group_resv_type_string[] = {
|
||||||
[IOMMU_RESV_SW_MSI] = "msi",
|
[IOMMU_RESV_SW_MSI] = "msi",
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define IOMMU_CMD_LINE_DMA_API BIT(0)
|
||||||
|
|
||||||
|
static void iommu_set_cmd_line_dma_api(void)
|
||||||
|
{
|
||||||
|
iommu_cmd_line |= IOMMU_CMD_LINE_DMA_API;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool __maybe_unused iommu_cmd_line_dma_api(void)
|
||||||
|
{
|
||||||
|
return !!(iommu_cmd_line & IOMMU_CMD_LINE_DMA_API);
|
||||||
|
}
|
||||||
|
|
||||||
#define IOMMU_GROUP_ATTR(_name, _mode, _show, _store) \
|
#define IOMMU_GROUP_ATTR(_name, _mode, _show, _store) \
|
||||||
struct iommu_group_attribute iommu_group_attr_##_name = \
|
struct iommu_group_attribute iommu_group_attr_##_name = \
|
||||||
__ATTR(_name, _mode, _show, _store)
|
__ATTR(_name, _mode, _show, _store)
|
||||||
|
@ -165,6 +178,8 @@ static int __init iommu_set_def_domain_type(char *str)
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
iommu_set_cmd_line_dma_api();
|
||||||
|
|
||||||
iommu_def_domain_type = pt ? IOMMU_DOMAIN_IDENTITY : IOMMU_DOMAIN_DMA;
|
iommu_def_domain_type = pt ? IOMMU_DOMAIN_IDENTITY : IOMMU_DOMAIN_DMA;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue