Message ID | 20180214153045.10558-3-julien.grall@arm.com |
---|---|
State | Accepted |
Commit | bfee2c04f55fd75467f1ac48315a4ce72c8fdc1d |
Headers | show |
Series | Fixup for booting Xen on Thunder-X using Grub | expand |
On Wed, 14 Feb 2018, Julien Grall wrote: > Xen does not yet support Cavium SMMU because it requires some > workaround. For the time being, blacklist them. > > Signed-off-by: Julien Grall <julien.grall@arm.com> Acked-by: Stefano Stabellini <sstabellini@kernel.org> > --- > Changes in v2: > - Fix compatible string > --- > xen/arch/arm/platforms/Makefile | 1 + > xen/arch/arm/platforms/thunderx.c | 39 +++++++++++++++++++++++++++++++++++++++ > 2 files changed, 40 insertions(+) > create mode 100644 xen/arch/arm/platforms/thunderx.c > > diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile > index 53a47e48d2..80e555cc14 100644 > --- a/xen/arch/arm/platforms/Makefile > +++ b/xen/arch/arm/platforms/Makefile > @@ -6,5 +6,6 @@ obj-$(CONFIG_ARM_32) += omap5.o > obj-$(CONFIG_ARM_32) += rcar2.o > obj-$(CONFIG_ARM_64) += seattle.o > obj-y += sunxi.o > +obj-$(CONFIG_ARM_64) += thunderx.o > obj-$(CONFIG_ARM_64) += xgene-storm.o > obj-$(CONFIG_ARM_64) += xilinx-zynqmp.o > diff --git a/xen/arch/arm/platforms/thunderx.c b/xen/arch/arm/platforms/thunderx.c > new file mode 100644 > index 0000000000..9b32a29c6b > --- /dev/null > +++ b/xen/arch/arm/platforms/thunderx.c > @@ -0,0 +1,39 @@ > +/* > + * xen/arch/arm/platforms/thunderx.c > + * > + * Cavium Thunder-X specific settings > + * > + * Copyright (c) 2018 ARM Ltd. > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License as published by > + * the Free Software Foundation; under version 2 of the License. > + * > + * This program is distributed in the hope that it will be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; If not, see <http://www.gnu.org/licenses/>. > + */ > + > +#include <asm/platform.h> > + > +static const char * const thunderx_dt_compat[] __initconst = > +{ > + "cavium,thunder-88xx", > + NULL > +}; > + > +static const struct dt_device_match thunderx_blacklist_dev[] __initconst = > +{ > + /* Cavium has its own SMMU which is not yet supported. */ > + DT_MATCH_COMPATIBLE("cavium,smmu-v2"), > + { /* sentinel */ }, > +}; > + > +PLATFORM_START(thunderx, "THUNDERX") > + .compatible = thunderx_dt_compat, > + .blacklist_dev = thunderx_blacklist_dev, > +PLATFORM_END > -- > 2.11.0 >
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile index 53a47e48d2..80e555cc14 100644 --- a/xen/arch/arm/platforms/Makefile +++ b/xen/arch/arm/platforms/Makefile @@ -6,5 +6,6 @@ obj-$(CONFIG_ARM_32) += omap5.o obj-$(CONFIG_ARM_32) += rcar2.o obj-$(CONFIG_ARM_64) += seattle.o obj-y += sunxi.o +obj-$(CONFIG_ARM_64) += thunderx.o obj-$(CONFIG_ARM_64) += xgene-storm.o obj-$(CONFIG_ARM_64) += xilinx-zynqmp.o diff --git a/xen/arch/arm/platforms/thunderx.c b/xen/arch/arm/platforms/thunderx.c new file mode 100644 index 0000000000..9b32a29c6b --- /dev/null +++ b/xen/arch/arm/platforms/thunderx.c @@ -0,0 +1,39 @@ +/* + * xen/arch/arm/platforms/thunderx.c + * + * Cavium Thunder-X specific settings + * + * Copyright (c) 2018 ARM Ltd. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; under version 2 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; If not, see <http://www.gnu.org/licenses/>. + */ + +#include <asm/platform.h> + +static const char * const thunderx_dt_compat[] __initconst = +{ + "cavium,thunder-88xx", + NULL +}; + +static const struct dt_device_match thunderx_blacklist_dev[] __initconst = +{ + /* Cavium has its own SMMU which is not yet supported. */ + DT_MATCH_COMPATIBLE("cavium,smmu-v2"), + { /* sentinel */ }, +}; + +PLATFORM_START(thunderx, "THUNDERX") + .compatible = thunderx_dt_compat, + .blacklist_dev = thunderx_blacklist_dev, +PLATFORM_END
Xen does not yet support Cavium SMMU because it requires some workaround. For the time being, blacklist them. Signed-off-by: Julien Grall <julien.grall@arm.com> --- Changes in v2: - Fix compatible string --- xen/arch/arm/platforms/Makefile | 1 + xen/arch/arm/platforms/thunderx.c | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 xen/arch/arm/platforms/thunderx.c