Re: [PATCH/RFC V2] iommu/ipmmu-vmsa: Disable IPMMU when address expansion is not needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Magnus,

On Tue, Mar 19, 2019 at 2:24 PM Magnus Damm <magnus.damm@xxxxxxxxx> wrote:
> From: Magnus Damm <damm+renesas@xxxxxxxxxxxxx>
>
> Add a memory bank location check to the whitelist handling.
>
> Signed-off-by: Magnus Damm <damm+renesas@xxxxxxxxxxxxx>

Thanks for your patch!

> --- 0001/drivers/iommu/ipmmu-vmsa.c
> +++ work/drivers/iommu/ipmmu-vmsa.c     2019-03-19 21:04:43.000000000 +0900
> @@ -17,6 +17,7 @@
>  #include <linux/io.h>
>  #include <linux/io-pgtable.h>
>  #include <linux/iommu.h>
> +#include <linux/memblock.h>
>  #include <linux/of.h>
>  #include <linux/of_device.h>
>  #include <linux/of_iommu.h>
> @@ -797,6 +798,12 @@ static bool ipmmu_slave_whitelist(struct
>         if (!soc_device_match(soc_rcar_gen3_whitelist))
>                 return false;
>
> +       /* In case all system memory fits within 32 bits of physical space
> +        * then assume the IPMMU will not be needed for address expansion.
> +        */
> +       if (memblock_end_of_DRAM() <= SZ_4G)
> +               return false;

The IPMMU may still be useful for IO virtualization, with KVM+VFIO.

Perhaps the check can be enhanced to keep it enabled when the CPU cores
are running in HYP mode?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux