All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/10] arm: more kconfig configurability and small default configs
@ 2018-05-31 21:48 Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 01/10] arm: remove the ARM HDLCD driver Stefano Stabellini
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel

Hi all,

This patch series is the first step toward building a small certifiable
Xen hypervisor for ARM boards.

First, the series makes a few changes to allow disabling more kconfig
options: most of them already exist but cannot be disabled.

Then, it introduces a reference kconfig for Renesas RCar (due to popular
demand, candidate for certifications) and for QEMU aarch64 (not for
certifications, but useful for debugging).

The last patch in the series adds a convenient cloc target to count the
total lines of code of the source files built.

As a consequence of these changes, some options will become user-visible
and not dependent on CONFIG_EXPERT. It does not mean that Xen Project
will security support all possible combinations of kconfig options.
Instead, there will be a small set of pre-canned configurations that
will be supported.  See: https://marc.info/?l=xen-devel&m=152424389512432

One note about Kconfig renaming: I can see the benefit of being
consistent with the naming and using HAS_ only for options that are
always enabled, but I really don't have a strong opinion on this topic.

Cheers,

Stefano


Stefano Stabellini (10):
      arm: remove the ARM HDLCD driver
      arm: make it possible to disable HAS_GICV3
      arm: rename HAS_GICV3 to GICV3
      Make MEM_ACCESS configurable
      make it possible to enable/disable UART drivers
      arm: make it possible to disable the SMMU driver
      arm: add a tiny kconfig configuration
      arm: add QEMU, Rcar3 and MPSoC configs
      xen: add cloc target
      xen: add per-platform defaults for NR_CPUS

 tools/firmware/xen-dir/shim.config       |   2 +-
 xen/Makefile                             |  12 ++
 xen/arch/Kconfig                         |   3 +
 xen/arch/arm/Kconfig                     |  17 +-
 xen/arch/arm/Makefile                    |   4 +-
 xen/arch/arm/configs/tiny.conf           |  43 +++++
 xen/arch/arm/platforms/Kconfig           |  30 ++++
 xen/arch/arm/platforms/Makefile          |   2 +-
 xen/arch/arm/platforms/vexpress.c        |  35 ----
 xen/arch/arm/vgic.c                      |   2 +-
 xen/arch/arm/vgic/vgic.c                 |   2 +-
 xen/arch/x86/Kconfig                     |   2 +-
 xen/common/Kconfig                       |  12 +-
 xen/common/Makefile                      |   2 +-
 xen/common/domctl.c                      |   2 +-
 xen/drivers/char/Kconfig                 |  15 +-
 xen/drivers/passthrough/Kconfig          |  12 ++
 xen/drivers/passthrough/arm/Makefile     |   2 +-
 xen/drivers/video/Kconfig                |   3 -
 xen/drivers/video/Makefile               |   1 -
 xen/drivers/video/arm_hdlcd.c            | 281 -------------------------------
 xen/include/asm-arm/gic.h                |   4 +-
 xen/include/asm-arm/platforms/vexpress.h |   6 -
 xen/include/asm-arm/vgic.h               |   4 +-
 xen/include/xen/mem_access.h             |   4 +-
 xen/include/xsm/dummy.h                  |   2 +-
 xen/include/xsm/xsm.h                    |   4 +-
 xen/xsm/dummy.c                          |   2 +-
 xen/xsm/flask/hooks.c                    |   4 +-
 29 files changed, 151 insertions(+), 363 deletions(-)
 create mode 100644 xen/arch/arm/configs/tiny.conf
 create mode 100644 xen/arch/arm/platforms/Kconfig
 delete mode 100644 xen/drivers/video/arm_hdlcd.c

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* [PATCH v4 01/10] arm: remove the ARM HDLCD driver
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 02/10] arm: make it possible to disable HAS_GICV3 Stefano Stabellini
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel

The ARM HDLCD driver is unused. The device itself can only be found on
Virtual Express boards that are for early development only. Remove the
driver.

Also remove vexpress_syscfg, now unused, and "select VIDEO" that is not
useful anymore.

Suggested-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Reviewed-by: Julien Grall <julien.grall@arm.com>
---
Changes in v3:
- remove "select VIDEO"
- remove vexpress_syscfg
Changes in v2:
- patch added
---
 xen/arch/arm/Kconfig                     |   2 -
 xen/arch/arm/platforms/vexpress.c        |  35 ----
 xen/drivers/video/Kconfig                |   3 -
 xen/drivers/video/Makefile               |   1 -
 xen/drivers/video/arm_hdlcd.c            | 281 -------------------------------
 xen/include/asm-arm/platforms/vexpress.h |   6 -
 6 files changed, 328 deletions(-)
 delete mode 100644 xen/drivers/video/arm_hdlcd.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 8174c0c..4dc7ef5 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -17,12 +17,10 @@ config ARM_64
 config ARM
 	def_bool y
 	select HAS_ALTERNATIVE
-	select HAS_ARM_HDLCD
 	select HAS_DEVICE_TREE
 	select HAS_MEM_ACCESS
 	select HAS_PASSTHROUGH
 	select HAS_PDX
-	select VIDEO
 
 config ARCH_DEFCONFIG
 	string
diff --git a/xen/arch/arm/platforms/vexpress.c b/xen/arch/arm/platforms/vexpress.c
index 70839d6..b6193f7 100644
--- a/xen/arch/arm/platforms/vexpress.c
+++ b/xen/arch/arm/platforms/vexpress.c
@@ -59,41 +59,6 @@ static inline int vexpress_ctrl_start(uint32_t *syscfg, int write,
     return 0;
 }
 
-int vexpress_syscfg(int write, int function, int device, uint32_t *data)
-{
-    uint32_t *syscfg = (uint32_t *) FIXMAP_ADDR(FIXMAP_MISC);
-    int ret = -1;
-
-    set_fixmap(FIXMAP_MISC, maddr_to_mfn(V2M_SYS_MMIO_BASE),
-               PAGE_HYPERVISOR_NOCACHE);
-
-    if ( syscfg[V2M_SYS_CFGCTRL/4] & V2M_SYS_CFG_START )
-        goto out;
-
-    /* clear the complete bit in the V2M_SYS_CFGSTAT status register */
-    syscfg[V2M_SYS_CFGSTAT/4] = 0;
-
-    if ( write )
-    {
-        /* write data */
-        syscfg[V2M_SYS_CFGDATA/4] = *data;
-
-        if ( vexpress_ctrl_start(syscfg, write, function, device) < 0 )
-            goto out;
-    } else {
-        if ( vexpress_ctrl_start(syscfg, write, function, device) < 0 )
-            goto out;
-        else
-            /* read data */
-            *data = syscfg[V2M_SYS_CFGDATA/4];
-    }
-
-    ret = 0;
-out:
-    clear_fixmap(FIXMAP_MISC);
-    return ret;
-}
-
 /*
  * TODO: Get base address from the device tree
  * See arm,vexpress-reset node
diff --git a/xen/drivers/video/Kconfig b/xen/drivers/video/Kconfig
index 52e8ce6..41ca503 100644
--- a/xen/drivers/video/Kconfig
+++ b/xen/drivers/video/Kconfig
@@ -11,6 +11,3 @@ config VGA
 	  Enable VGA output for the Xen hypervisor.
 
 	  If unsure, say Y.
-
-config HAS_ARM_HDLCD
-	bool
diff --git a/xen/drivers/video/Makefile b/xen/drivers/video/Makefile
index 2bb91d6..2b3fc76 100644
--- a/xen/drivers/video/Makefile
+++ b/xen/drivers/video/Makefile
@@ -4,4 +4,3 @@ obj-$(CONFIG_VIDEO) += font_8x16.o
 obj-$(CONFIG_VIDEO) += font_8x8.o
 obj-$(CONFIG_VIDEO) += lfb.o
 obj-$(CONFIG_VGA) += vesa.o
-obj-$(CONFIG_HAS_ARM_HDLCD) += arm_hdlcd.o
diff --git a/xen/drivers/video/arm_hdlcd.c b/xen/drivers/video/arm_hdlcd.c
deleted file mode 100644
index e1174b2..0000000
--- a/xen/drivers/video/arm_hdlcd.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * xen/drivers/video/arm_hdlcd.c
- *
- * Driver for ARM HDLCD Controller
- *
- * Stefano Stabellini <stefano.stabellini@eu.citrix.com>
- * Copyright (c) 2013 Citrix Systems.
- *
- * 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; either version 2 of the License, or
- * (at your option) any later version.
- *
- * 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.
- */
-
-#include <asm/delay.h>
-#include <asm/types.h>
-#include <asm/platforms/vexpress.h>
-#include <xen/device_tree.h>
-#include <xen/libfdt/libfdt.h>
-#include <xen/init.h>
-#include <xen/mm.h>
-#include "font.h"
-#include "lfb.h"
-#include "modelines.h"
-
-#define HDLCD ((volatile uint32_t *) FIXMAP_ADDR(FIXMAP_MISC))
-
-#define HDLCD_INTMASK       (0x18/4)
-#define HDLCD_FBBASE        (0x100/4)
-#define HDLCD_LINELENGTH    (0x104/4)
-#define HDLCD_LINECOUNT     (0x108/4)
-#define HDLCD_LINEPITCH     (0x10C/4)
-#define HDLCD_BUS           (0x110/4)
-#define HDLCD_VSYNC         (0x200/4)
-#define HDLCD_VBACK         (0x204/4)
-#define HDLCD_VDATA         (0x208/4)
-#define HDLCD_VFRONT        (0x20C/4)
-#define HDLCD_HSYNC         (0x210/4)
-#define HDLCD_HBACK         (0x214/4)
-#define HDLCD_HDATA         (0x218/4)
-#define HDLCD_HFRONT        (0x21C/4)
-#define HDLCD_POLARITIES    (0x220/4)
-#define HDLCD_COMMAND       (0x230/4)
-#define HDLCD_PF            (0x240/4)
-#define HDLCD_RED           (0x244/4)
-#define HDLCD_GREEN         (0x248/4)
-#define HDLCD_BLUE          (0x24C/4)
-
-struct color_masks {
-    int red_shift;
-    int red_size;
-    int green_shift;
-    int green_size;
-    int blue_shift;
-    int blue_size;
-};
-
-struct pixel_colors {
-    const char* bpp;
-    struct color_masks colors;
-};
-
-struct pixel_colors __initdata colors[] = {
-    { "16", { 0, 5, 11, 5, 6, 5 } },
-    { "24", { 0, 8, 16, 8, 8, 8 } },
-    { "32", { 0, 8, 16, 8, 8, 8 } },
-};
-
-static void vga_noop_puts(const char *s) {}
-void (*video_puts)(const char *) = vga_noop_puts;
-
-static void hdlcd_flush(void)
-{
-    dsb(sy);
-}
-
-static int __init get_color_masks(const char* bpp, struct color_masks **masks)
-{
-    int i;
-    for ( i = 0; i < ARRAY_SIZE(colors); i++ )
-    {
-        if ( !strncmp(colors[i].bpp, bpp, 2) )
-        {
-            *masks = &colors[i].colors;
-            return 0;
-        }
-    }
-    return -1;
-}
-
-static void __init set_pixclock(uint32_t pixclock)
-{
-    if ( dt_find_compatible_node(NULL, NULL, "arm,vexpress") )
-            vexpress_syscfg(1, V2M_SYS_CFG_OSC_FUNC,
-                            V2M_SYS_CFG_OSC5, &pixclock);
-}
-
-void __init video_init(void)
-{
-    struct lfb_prop lfbp;
-    unsigned char *lfb;
-    paddr_t hdlcd_start, hdlcd_size;
-    paddr_t framebuffer_start, framebuffer_size;
-    const char *mode_string;
-    char _mode_string[16];
-    int bytes_per_pixel = 4;
-    struct color_masks *c = NULL;
-    struct modeline *videomode = NULL;
-    int i;
-    const struct dt_device_node *dev;
-    const __be32 *cells;
-    u32 lenp;
-    int res;
-
-    dev = dt_find_compatible_node(NULL, NULL, "arm,hdlcd");
-
-    if ( !dev )
-    {
-        printk("HDLCD: Cannot find node compatible with \"arm,hdcld\"\n");
-        return;
-    }
-
-    res = dt_device_get_address(dev, 0, &hdlcd_start, &hdlcd_size);
-    if ( !res )
-    {
-        printk("HDLCD: Unable to retrieve MMIO base address\n");
-        return;
-    }
-
-    cells = dt_get_property(dev, "framebuffer", &lenp);
-    if ( !cells )
-    {
-        printk("HDLCD: Unable to retrieve framebuffer property\n");
-        return;
-    }
-
-    framebuffer_start = dt_next_cell(dt_n_addr_cells(dev), &cells);
-    framebuffer_size = dt_next_cell(dt_n_size_cells(dev), &cells);
-
-    if ( !hdlcd_start )
-    {
-        printk(KERN_ERR "HDLCD: address missing from device tree, disabling driver\n");
-        return;
-    }
-
-    if ( !framebuffer_start )
-    {
-        printk(KERN_ERR "HDLCD: framebuffer address missing from device tree, disabling driver\n");
-        return;
-    }
-
-    res = dt_property_read_string(dev, "mode", &mode_string);
-    if ( res )
-    {
-        get_color_masks("32", &c);
-        memcpy(_mode_string, "1280x1024@60", strlen("1280x1024@60") + 1);
-        bytes_per_pixel = 4;
-    }
-    else if ( strlen(mode_string) < strlen("800x600@60") ||
-            strlen(mode_string) > sizeof(_mode_string) - 1 )
-    {
-        printk(KERN_ERR "HDLCD: invalid modeline=%s\n", mode_string);
-        return;
-    } else {
-        char *s = strchr(mode_string, '-');
-        if ( !s )
-        {
-            printk(KERN_INFO "HDLCD: bpp not found in modeline %s, assume 32 bpp\n",
-                         mode_string);
-            get_color_masks("32", &c);
-            memcpy(_mode_string, mode_string, strlen(mode_string) + 1);
-            bytes_per_pixel = 4;
-        } else {
-            if ( strlen(s) < 6 )
-            {
-                printk(KERN_ERR "HDLCD: invalid mode %s\n", mode_string);
-                return;
-            }
-            s++;
-            if ( get_color_masks(s, &c) < 0 )
-            {
-                printk(KERN_WARNING "HDLCD: unsupported bpp %s\n", s);
-                return;
-            }
-            bytes_per_pixel = simple_strtoll(s, NULL, 10) / 8;
-        }
-        i = s - mode_string - 1;
-        memcpy(_mode_string, mode_string, i);
-        memcpy(_mode_string + i, mode_string + i + 3, 4);
-    }
-
-    for ( i = 0; i < ARRAY_SIZE(videomodes); i++ ) {
-        if ( !strcmp(_mode_string, videomodes[i].mode) )
-        {
-            videomode = &videomodes[i];
-            break;
-        }
-    }
-    if ( !videomode )
-    {
-        printk(KERN_WARNING "HDLCD: unsupported videomode %s\n",
-               _mode_string);
-        return;
-    }
-
-    if ( framebuffer_size < bytes_per_pixel * videomode->xres * videomode->yres )
-    {
-        printk(KERN_ERR "HDLCD: the framebuffer is too small, disabling the HDLCD driver\n");
-        return;
-    }
-
-    printk(KERN_INFO "Initializing HDLCD driver\n");
-
-    lfb = ioremap_wc(framebuffer_start, framebuffer_size);
-    if ( !lfb )
-    {
-        printk(KERN_ERR "Couldn't map the framebuffer\n");
-        return;
-    }
-    memset(lfb, 0x00, bytes_per_pixel * videomode->xres * videomode->yres);
-
-    /* uses FIXMAP_MISC */
-    set_pixclock(videomode->pixclock);
-
-    set_fixmap(FIXMAP_MISC, maddr_to_mfn(hdlcd_start), PAGE_HYPERVISOR_NOCACHE);
-    HDLCD[HDLCD_COMMAND] = 0;
-
-    HDLCD[HDLCD_LINELENGTH] = videomode->xres * bytes_per_pixel;
-    HDLCD[HDLCD_LINECOUNT] = videomode->yres - 1;
-    HDLCD[HDLCD_LINEPITCH] = videomode->xres * bytes_per_pixel;
-    HDLCD[HDLCD_PF] = ((bytes_per_pixel - 1) << 3);
-    HDLCD[HDLCD_INTMASK] = 0;
-    HDLCD[HDLCD_FBBASE] = framebuffer_start;
-    HDLCD[HDLCD_BUS] = 0xf00 | (1 << 4);
-    HDLCD[HDLCD_VBACK] = videomode->vback - 1;
-    HDLCD[HDLCD_VSYNC] = videomode->vsync - 1;
-    HDLCD[HDLCD_VDATA] = videomode->yres - 1;
-    HDLCD[HDLCD_VFRONT] = videomode->vfront - 1;
-    HDLCD[HDLCD_HBACK] = videomode->hback - 1;
-    HDLCD[HDLCD_HSYNC] = videomode->hsync - 1;
-    HDLCD[HDLCD_HDATA] = videomode->xres - 1;
-    HDLCD[HDLCD_HFRONT] = videomode->hfront - 1;
-    HDLCD[HDLCD_POLARITIES] = (1 << 2) | (1 << 3);
-    HDLCD[HDLCD_RED] = (c->red_size << 8) | c->red_shift;
-    HDLCD[HDLCD_GREEN] = (c->green_size << 8) | c->green_shift;
-    HDLCD[HDLCD_BLUE] = (c->blue_size << 8) | c->blue_shift;
-    HDLCD[HDLCD_COMMAND] = 1;
-    clear_fixmap(FIXMAP_MISC);
-
-    lfbp.pixel_on = (((1 << c->red_size) - 1) << c->red_shift) |
-        (((1 << c->green_size) - 1) << c->green_shift) |
-        (((1 << c->blue_size) - 1) << c->blue_shift);
-    lfbp.lfb = lfb;
-    lfbp.font = &font_vga_8x16;
-    lfbp.bits_per_pixel = bytes_per_pixel*8;
-    lfbp.bytes_per_line = bytes_per_pixel*videomode->xres;
-    lfbp.width = videomode->xres;
-    lfbp.height = videomode->yres;
-    lfbp.flush = hdlcd_flush;
-    lfbp.text_columns = videomode->xres / 8;
-    lfbp.text_rows = videomode->yres / 16;
-    if ( lfb_init(&lfbp) < 0 )
-            return;
-    video_puts = lfb_scroll_puts;
-}
-
-void __init video_endboot(void) { }
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/include/asm-arm/platforms/vexpress.h b/xen/include/asm-arm/platforms/vexpress.h
index 5cf3aba..8b45d3a 100644
--- a/xen/include/asm-arm/platforms/vexpress.h
+++ b/xen/include/asm-arm/platforms/vexpress.h
@@ -26,12 +26,6 @@
 /* Board-specific: base address of system controller */
 #define SP810_ADDRESS 0x1C020000
 
-#ifndef __ASSEMBLY__
-#include <xen/inttypes.h>
-
-int vexpress_syscfg(int write, int function, int device, uint32_t *data);
-#endif
-
 #endif /* __ASM_ARM_PLATFORMS_VEXPRESS_H */
 /*
  * Local variables:
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 02/10] arm: make it possible to disable HAS_GICV3
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 01/10] arm: remove the ARM HDLCD driver Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 03/10] arm: rename HAS_GICV3 to GICV3 Stefano Stabellini
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel

Today it is a silent option. This patch adds a one line description and
makes it optional.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@arm.com>

---
Changes in v3:
- remove any changes to MEM_ACCESS
- update commit message

Changes in v2:
- make HAS_GICv3 depend on ARM_64
- remove modifications to ARM_HDLCD kconfig, it has been removed
---
 xen/arch/arm/Kconfig | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 4dc7ef5..fb69a66 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,7 +12,6 @@ config ARM_32
 config ARM_64
 	def_bool y
 	depends on 64BIT
-	select HAS_GICV3
 
 config ARM
 	def_bool y
@@ -42,6 +41,13 @@ config ACPI
 
 config HAS_GICV3
 	bool
+	prompt "GICv3 driver"
+	depends on ARM_64
+	default y
+	---help---
+
+	  Driver for the ARM Generic Interrupt Controller v3.
+	  If unsure, say Y
 
 config HAS_ITS
         bool
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 03/10] arm: rename HAS_GICV3 to GICV3
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 01/10] arm: remove the ARM HDLCD driver Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 02/10] arm: make it possible to disable HAS_GICV3 Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 04/10] Make MEM_ACCESS configurable Stefano Stabellini
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel

HAS_GICV3 has become selectable by the user. To mark the change, rename
the option from HAS_GICV3 to GICV3.

Suggested-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@arm.com>

---
Changes in v3:
- no changes

Changes in v2:
- patch added
---
 xen/arch/arm/Kconfig       | 4 ++--
 xen/arch/arm/Makefile      | 4 ++--
 xen/arch/arm/vgic.c        | 2 +-
 xen/arch/arm/vgic/vgic.c   | 2 +-
 xen/include/asm-arm/gic.h  | 4 ++--
 xen/include/asm-arm/vgic.h | 4 ++--
 6 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index fb69a66..66adce4 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -39,7 +39,7 @@ config ACPI
 	  Advanced Configuration and Power Interface (ACPI) support for Xen is
 	  an alternative to device tree on ARM64.
 
-config HAS_GICV3
+config GICV3
 	bool
 	prompt "GICv3 driver"
 	depends on ARM_64
@@ -52,7 +52,7 @@ config HAS_GICV3
 config HAS_ITS
         bool
         prompt "GICv3 ITS MSI controller support" if EXPERT = "y"
-        depends on HAS_GICV3 && !NEW_VGIC
+        depends on GICV3 && !NEW_VGIC
 
 config NEW_VGIC
 	bool
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index a9533b1..b9c2fb7 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -17,7 +17,7 @@ obj-y += domctl.o
 obj-$(EARLY_PRINTK) += early_printk.o
 obj-y += gic.o
 obj-y += gic-v2.o
-obj-$(CONFIG_HAS_GICV3) += gic-v3.o
+obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
 obj-y += guestcopy.o
@@ -51,7 +51,7 @@ ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
 obj-y += vgic-v2.o
-obj-$(CONFIG_HAS_GICV3) += vgic-v3.o
+obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
 obj-y += vm_event.o
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index 3fafdd0..7a2c455 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -98,7 +98,7 @@ int domain_vgic_register(struct domain *d, int *mmio_count)
 {
     switch ( d->arch.vgic.version )
     {
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
     case GIC_V3:
         if ( vgic_v3_init(d, mmio_count) )
            return -ENODEV;
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index a35449b..832632a 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -974,7 +974,7 @@ unsigned int vgic_max_vcpus(const struct domain *d)
     return min_t(unsigned int, MAX_VIRT_CPUS, vgic_vcpu_limit);
 }
 
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
 /* Dummy implementation to allow building without actual vGICv3 support. */
 void vgic_v3_setup_hw(paddr_t dbase,
                       unsigned int nr_rdist_regions,
diff --git a/xen/include/asm-arm/gic.h b/xen/include/asm-arm/gic.h
index 58b910f..22fa122 100644
--- a/xen/include/asm-arm/gic.h
+++ b/xen/include/asm-arm/gic.h
@@ -166,7 +166,7 @@
 
 #define DT_MATCH_GIC_V3 DT_MATCH_COMPATIBLE("arm,gic-v3")
 
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
 /*
  * GICv3 registers that needs to be saved/restored
  */
@@ -194,7 +194,7 @@ struct gic_v2 {
  */
 union gic_state_data {
     struct gic_v2 v2;
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
     struct gic_v3 v3;
 #endif
 };
diff --git a/xen/include/asm-arm/vgic.h b/xen/include/asm-arm/vgic.h
index 2a58ea3..374fdaa 100644
--- a/xen/include/asm-arm/vgic.h
+++ b/xen/include/asm-arm/vgic.h
@@ -156,7 +156,7 @@ struct vgic_dist {
     struct pending_irq *pending_irqs;
     /* Base address for guest GIC */
     paddr_t dbase; /* Distributor base address */
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
     /* GIC V3 addressing */
     /* List of contiguous occupied by the redistributors */
     struct vgic_rdist_region {
@@ -359,7 +359,7 @@ unsigned int vgic_max_vcpus(const struct domain *d);
 void vgic_v2_setup_hw(paddr_t dbase, paddr_t cbase, paddr_t csize,
                       paddr_t vbase, uint32_t aliased_offset);
 
-#ifdef CONFIG_HAS_GICV3
+#ifdef CONFIG_GICV3
 struct rdist_region;
 void vgic_v3_setup_hw(paddr_t dbase,
                       unsigned int nr_rdist_regions,
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 04/10] Make MEM_ACCESS configurable
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (2 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 03/10] arm: rename HAS_GICV3 to GICV3 Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01 10:52   ` Jan Beulich
  2018-05-31 21:48 ` [PATCH v4 05/10] make it possible to enable/disable UART drivers Stefano Stabellini
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov,
	George.Dunlap, andrew.cooper3, ian.jackson, dfaggioli, tim,
	jbeulich, wei.liu2, xen-devel

Select MEM_ACCESS_ALWAYS_ON on x86 to mark that MEM_ACCESS is not
configurable on x86. Avoid selecting it on ARM.
Rename HAS_MEM_ACCESS to MEM_ACCESS everywhere. Add a prompt and a
description to MEM_ACCESS in xen/common/Kconfig.

The result is that the user-visible option is MEM_ACCESS, and it is
configurable only on ARM (enabled by default).

Suggested-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: andrew.cooper3@citrix.com
CC: George.Dunlap@eu.citrix.com
CC: ian.jackson@eu.citrix.com
CC: jbeulich@suse.com
CC: julien.grall@arm.com
CC: konrad.wilk@oracle.com
CC: sstabellini@kernel.org
CC: tim@xen.org
CC: wei.liu2@citrix.com

---
Changes in v4:
- remove HAS_MEM_ACCESS
- move MEM_ACCESS_ALWAYS_ON to common
- combile default and bool to def_bool

Changes in v3:
- keep HAS_MEM_ACCESS to mark that an arch can do MEM_ACCESS
- introduce MEM_ACCESS_ALWAYS_ON
- the main MEM_ACCESS option is in xen/common/Kconfig

Changes in v2:
- patch added
---
 tools/firmware/xen-dir/shim.config |  2 +-
 xen/arch/arm/Kconfig               |  1 -
 xen/arch/x86/Kconfig               |  2 +-
 xen/common/Kconfig                 | 12 ++++++++++--
 xen/common/Makefile                |  2 +-
 xen/common/domctl.c                |  2 +-
 xen/include/xen/mem_access.h       |  4 ++--
 xen/include/xsm/dummy.h            |  2 +-
 xen/include/xsm/xsm.h              |  4 ++--
 xen/xsm/dummy.c                    |  2 +-
 xen/xsm/flask/hooks.c              |  4 ++--
 11 files changed, 22 insertions(+), 15 deletions(-)

diff --git a/tools/firmware/xen-dir/shim.config b/tools/firmware/xen-dir/shim.config
index 4d5630f..21d7075 100644
--- a/tools/firmware/xen-dir/shim.config
+++ b/tools/firmware/xen-dir/shim.config
@@ -29,7 +29,7 @@ CONFIG_COMPAT=y
 CONFIG_CORE_PARKING=y
 CONFIG_HAS_ALTERNATIVE=y
 CONFIG_HAS_EX_TABLE=y
-CONFIG_HAS_MEM_ACCESS=y
+CONFIG_MEM_ACCESS=y
 CONFIG_HAS_MEM_PAGING=y
 CONFIG_HAS_MEM_SHARING=y
 CONFIG_HAS_PDX=y
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 66adce4..2b87111 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -17,7 +17,6 @@ config ARM
 	def_bool y
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
-	select HAS_MEM_ACCESS
 	select HAS_PASSTHROUGH
 	select HAS_PDX
 
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index f64fc56..9a85fe9 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -15,7 +15,7 @@ config X86
 	select HAS_GDBSX
 	select HAS_IOPORTS
 	select HAS_KEXEC
-	select HAS_MEM_ACCESS
+	select MEM_ACCESS_ALWAYS_ON
 	select HAS_MEM_PAGING
 	select HAS_MEM_SHARING
 	select HAS_NS16550
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 9043dce..c7a00f1 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -20,8 +20,16 @@ config HAS_DEVICE_TREE
 config HAS_EX_TABLE
 	bool
 
-config HAS_MEM_ACCESS
-	bool
+config MEM_ACCESS_ALWAYS_ON
+	def_bool n
+
+config MEM_ACCESS
+	def_bool y
+	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
+	---help---
+
+	  Framework to configure memory access types for guests and receive
+	  related events in userspace.
 
 config HAS_MEM_PAGING
 	bool
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 24d4752..6f2b3fc 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -22,7 +22,7 @@ obj-y += lib.o
 obj-$(CONFIG_NEEDS_LIST_SORT) += list_sort.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o
 obj-y += lzo.o
-obj-$(CONFIG_HAS_MEM_ACCESS) += mem_access.o
+obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
 obj-y += monitor.o
 obj-y += multicall.o
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 9b7bc08..891ad58 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -1085,7 +1085,7 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
         copyback = 1;
         break;
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
     case XEN_DOMCTL_set_access_required:
         if ( unlikely(current->domain == d) ) /* no domain_pause() */
             ret = -EPERM;
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 5ab34c1..7e95eab 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -78,7 +78,7 @@ long p2m_set_mem_access_multi(struct domain *d,
  */
 int p2m_get_mem_access(struct domain *d, gfn_t gfn, xenmem_access_t *access);
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
 int mem_access_memop(unsigned long cmd,
                      XEN_GUEST_HANDLE_PARAM(xen_mem_access_op_t) arg);
 #else
@@ -88,7 +88,7 @@ int mem_access_memop(unsigned long cmd,
 {
     return -ENOSYS;
 }
-#endif /* CONFIG_HAS_MEM_ACCESS */
+#endif /* CONFIG_MEM_ACCESS */
 
 #endif /* _XEN_MEM_ACCESS_H */
 
diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
index ff6b2db..b0ac1f6 100644
--- a/xen/include/xsm/dummy.h
+++ b/xen/include/xsm/dummy.h
@@ -584,7 +584,7 @@ static XSM_INLINE int xsm_vm_event_control(XSM_DEFAULT_ARG struct domain *d, int
     return xsm_default_action(action, current->domain, d);
 }
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
 static XSM_INLINE int xsm_mem_access(XSM_DEFAULT_ARG struct domain *d)
 {
     XSM_ASSERT_ACTION(XSM_DM_PRIV);
diff --git a/xen/include/xsm/xsm.h b/xen/include/xsm/xsm.h
index f0c6fc7..7636bcb 100644
--- a/xen/include/xsm/xsm.h
+++ b/xen/include/xsm/xsm.h
@@ -143,7 +143,7 @@ struct xsm_operations {
 
     int (*vm_event_control) (struct domain *d, int mode, int op);
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
     int (*mem_access) (struct domain *d);
 #endif
 
@@ -582,7 +582,7 @@ static inline int xsm_vm_event_control (xsm_default_t def, struct domain *d, int
     return xsm_ops->vm_event_control(d, mode, op);
 }
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
 static inline int xsm_mem_access (xsm_default_t def, struct domain *d)
 {
     return xsm_ops->mem_access(d);
diff --git a/xen/xsm/dummy.c b/xen/xsm/dummy.c
index 6e75119..3290d04 100644
--- a/xen/xsm/dummy.c
+++ b/xen/xsm/dummy.c
@@ -127,7 +127,7 @@ void __init xsm_fixup_ops (struct xsm_operations *ops)
 
     set_to_dummy_if_null(ops, vm_event_control);
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
     set_to_dummy_if_null(ops, mem_access);
 #endif
 
diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
index 78bc326..7a3ccfa 100644
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -1256,7 +1256,7 @@ static int flask_vm_event_control(struct domain *d, int mode, int op)
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__VM_EVENT);
 }
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
 static int flask_mem_access(struct domain *d)
 {
     return current_has_perm(d, SECCLASS_DOMAIN2, DOMAIN2__MEM_ACCESS);
@@ -1803,7 +1803,7 @@ static struct xsm_operations flask_ops = {
 
     .vm_event_control = flask_vm_event_control,
 
-#ifdef CONFIG_HAS_MEM_ACCESS
+#ifdef CONFIG_MEM_ACCESS
     .mem_access = flask_mem_access,
 #endif
 
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 05/10] make it possible to enable/disable UART drivers
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (3 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 04/10] Make MEM_ACCESS configurable Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01 10:54   ` Jan Beulich
  2018-05-31 21:48 ` [PATCH v4 06/10] arm: make it possible to disable the SMMU driver Stefano Stabellini
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov,
	andrew.cooper3, dfaggioli, jbeulich, xen-devel

All the UART drivers are silent options. Add one line descriptions so
that can be de/selected via menuconfig.

Add an x86 dependency to HAS_EHCI: EHCI PCI has not been used on ARM. In
fact, it depends on PCI, and moreover we have drivers for several
embedded UARTs for various ARM boards.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: jbeulich@suse.com
CC: andrew.cooper3@citrix.com
---
The next patch will take care of fixing arch dependencies.

Changes in v4:
- improve commit message
- remove prompt for HAS_EHCI

Changes in v3:
- NS16550 prompt if ARM

Changes in v2:
- make HAS_EHCI depend on x86
---
 xen/drivers/char/Kconfig | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/char/Kconfig b/xen/drivers/char/Kconfig
index cc78ec3..b1f07f8 100644
--- a/xen/drivers/char/Kconfig
+++ b/xen/drivers/char/Kconfig
@@ -1,11 +1,11 @@
 config HAS_NS16550
-	bool
+	bool "NS16550 UART driver" if ARM
 	default y
 	help
 	  This selects the 16550-series UART support. For most systems, say Y.
 
 config HAS_CADENCE_UART
-	bool
+	bool "Xilinx Cadence UART driver"
 	default y
 	depends on ARM_64
 	help
@@ -13,7 +13,7 @@ config HAS_CADENCE_UART
 	  based board, say Y.
 
 config HAS_MVEBU
-	bool
+	bool "Marvell MVEBU UART driver"
 	default y
 	depends on ARM_64
 	help
@@ -21,7 +21,7 @@ config HAS_MVEBU
 	  based board, say Y.
 
 config HAS_PL011
-	bool
+	bool "ARM PL011 UART driver"
 	default y
 	depends on ARM
 	help
@@ -29,7 +29,7 @@ config HAS_PL011
 	  an Integrator/PP2, Integrator/CP or Versatile platform, say Y.
 
 config HAS_EXYNOS4210
-	bool
+	bool "Samsung Exynos 4210 UART driver"
 	default y
 	depends on ARM_32
 	help
@@ -37,7 +37,7 @@ config HAS_EXYNOS4210
 	  Exynos based board, say Y.
 
 config HAS_OMAP
-	bool
+	bool "Texas Instruments OMAP UART driver"
 	default y
 	depends on ARM_32
 	help
@@ -45,7 +45,7 @@ config HAS_OMAP
 	  Instruments based CPU, say Y.
 
 config HAS_SCIF
-	bool
+	bool "SuperH SCI(F) UART driver"
 	default y
 	depends on ARM
 	help
@@ -54,6 +54,7 @@ config HAS_SCIF
 
 config HAS_EHCI
 	bool
+	depends on X86
 	help
 	  This selects the USB based EHCI debug port to be used as a UART. If
 	  you have an x86 based system with USB, say Y.
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 06/10] arm: make it possible to disable the SMMU driver
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (4 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 05/10] make it possible to enable/disable UART drivers Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-05-31 21:48 ` [PATCH v4 07/10] arm: add a tiny kconfig configuration Stefano Stabellini
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	jbeulich, xen-devel

Introduce a Kconfig option for the ARM SMMUv1 and SMMUv2 driver.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <julien.grall@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
CC: jbeulich@suse.com

---
Changes in v3:
- rename SMMUv2 to ARM_SMMU
- improve help message
- use if ARM

Changes in v2:
- rename HAS_SMMUv2 to SMMUv2
- move SMMUv2 to xen/drivers/passthrough/Kconfig
---
 xen/drivers/passthrough/Kconfig      | 12 ++++++++++++
 xen/drivers/passthrough/arm/Makefile |  2 +-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 8d90b67..a3c0649 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -1,3 +1,15 @@
 
 config HAS_PASSTHROUGH
 	bool
+
+if ARM
+config ARM_SMMU
+	bool "ARM SMMUv1 and v2 driver"
+	default y
+	---help---
+	  Support for implementations of the ARM System MMU architecture
+	  versions 1 and 2.
+
+	  Say Y here if your SoC includes an IOMMU device implementing the
+	  ARM SMMU architecture.
+endif
diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
index f4cd26e..0156431 100644
--- a/xen/drivers/passthrough/arm/Makefile
+++ b/xen/drivers/passthrough/arm/Makefile
@@ -1,2 +1,2 @@
 obj-y += iommu.o
-obj-y += smmu.o
+obj-$(ARM_SMMU) += smmu.o
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 07/10] arm: add a tiny kconfig configuration
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (5 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 06/10] arm: make it possible to disable the SMMU driver Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01  2:39   ` Julien Grall
  2018-05-31 21:48 ` [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs Stefano Stabellini
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel

Add a tiny kconfig configuration. Enabled NULL and Credit schedulers.
Support only 8 cpus. It only carries non-default options (use make
olddefconfig to produce a complete .config file).

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>

---
Note that this approach has a limitation: it is not possible to "select
a range". In other words, using tiny.config NR_CPUS is set to 4. It is
not possible to increase it to 8 from config RCAR3.
---
 xen/arch/arm/configs/tiny.conf | 43 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 xen/arch/arm/configs/tiny.conf

diff --git a/xen/arch/arm/configs/tiny.conf b/xen/arch/arm/configs/tiny.conf
new file mode 100644
index 0000000..e9a5e65
--- /dev/null
+++ b/xen/arch/arm/configs/tiny.conf
@@ -0,0 +1,43 @@
+CONFIG_ARM_64=y
+CONFIG_ARM=y
+
+#
+# Architecture Features
+#
+# CONFIG_GICV3 is not set
+# CONFIG_MEM_ACCESS is not set
+# CONFIG_SBSA_VUART_CONSOLE is not set
+
+#
+# Common Features
+#
+# CONFIG_TMEM is not set
+
+#
+# Schedulers
+#
+# CONFIG_SCHED_CREDIT2 is not set
+# CONFIG_SCHED_RTDS is not set
+# CONFIG_SCHED_ARINC653 is not set
+CONFIG_SCHED_NULL=y
+CONFIG_SCHED_NULL_DEFAULT=y
+CONFIG_SCHED_DEFAULT="null"
+# CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS is not set
+
+#
+# Device Drivers
+#
+# CONFIG_HAS_NS16550 is not set
+# CONFIG_HAS_CADENCE_UART is not set
+# CONFIG_HAS_MVEBU is not set
+# CONFIG_HAS_PL011 is not set
+# CONFIG_HAS_SCIF is not set
+# CONFIG_ARM_SMMU is not set
+
+#
+# Debugging Options
+#
+# CONFIG_DEBUG is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_VERBOSE_DEBUG is not set
+# CONFIG_SCRUB_DEBUG is not set
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (6 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 07/10] arm: add a tiny kconfig configuration Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01  2:45   ` Julien Grall
  2018-06-01 11:38   ` Volodymyr Babchuk
  2018-05-31 21:48 ` [PATCH v4 09/10] xen: add cloc target Stefano Stabellini
                   ` (2 subsequent siblings)
  10 siblings, 2 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov, dfaggioli,
	xen-devel, volodymyr_babchuk

Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
RCAR3 and MPSOC. They enable the required options for their hardware
platform.

In the case of the MPSOC that has a platform file under
arch/arm/platforms/, build the file if MPSOC.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: artem_mygaiev@epam.com
CC: volodymyr_babchuk@epam.com

---
Changes in v4:
- fix GICv3/GICV3
- default y to all options
- build xilinx-zynqmp if MPSOC
---
 xen/arch/arm/Kconfig            |  2 ++
 xen/arch/arm/platforms/Kconfig  | 30 ++++++++++++++++++++++++++++++
 xen/arch/arm/platforms/Makefile |  2 +-
 3 files changed, 33 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/platforms/Kconfig

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2b87111..75cacfb 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
 config ARM32_HARDEN_BRANCH_PREDICTOR
     def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
 
+source "arch/arm/platforms/Kconfig"
+
 source "common/Kconfig"
 
 source "drivers/Kconfig"
diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
new file mode 100644
index 0000000..fea8f9a
--- /dev/null
+++ b/xen/arch/arm/platforms/Kconfig
@@ -0,0 +1,30 @@
+menu "Platform Support"
+
+config QEMU
+	bool "QEMU aarch virt machine support"
+	default y
+	depends on ARM_64
+	select GICV3
+	select HAS_PL011
+	---help---
+	Enable all the required drivers for QEMU aarch64 virt emulated
+	machine.
+
+config RCAR3
+	bool "Renesas RCar3 support"
+	default y
+	depends on ARM_64
+	select HAS_SCIF
+	---help---
+	Enable all the required drivers for Renesas RCar3
+
+config MPSOC
+	bool "Xilinx Ultrascale+ MPSoC support"
+	default y
+	depends on ARM_64
+	select HAS_CADENCE_UART
+	select ARM_SMMU
+	---help---
+	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
+
+endmenu
diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
index 80e555c..f4ff411 100644
--- a/xen/arch/arm/platforms/Makefile
+++ b/xen/arch/arm/platforms/Makefile
@@ -8,4 +8,4 @@ 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
+obj-$(CONFIG_MPSOC)  += xilinx-zynqmp.o
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 09/10] xen: add cloc target
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (7 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01 10:57   ` Jan Beulich
  2018-05-31 21:48 ` [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
  2018-06-01 19:17 ` [PATCH v4 0/10] arm: more kconfig configurability and small default configs Doug Goldstein
  10 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov,
	andrew.cooper3, dfaggioli, jbeulich, xen-devel

Add a Xen build target to count the lines of code of the source files
built. Uses `cloc' to do the job.

With Xen on ARM taking off in embedded, IoT, and automotive, we are
seeing more and more uses of Xen in constrained environments. Users and
system integrators want the smallest Xen and Dom0 configurations. Some
of these deployments require certifications, where you definitely want
the smallest lines of code count. I provided this patch to give us the
lines of code count for that purpose.

Use the .o.d files to account for all the built source files. Generate a
list for the `cloc' utility and invoke `cloc'.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: jbeulich@suse.com
CC: andrew.cooper3@citrix.com
---
Changes in v4:
- use grep regex to get multiple source files from .d files

Changes in v3:
- remove build as dependecy for the cloc target

Changes in v2:
- change implementation to use .o.d to find built source files
---
 xen/Makefile | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/Makefile b/xen/Makefile
index 62d479c..338d5a3 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -267,3 +267,15 @@ $(KCONFIG_CONFIG):
 include/config/auto.conf.cmd: ;
 
 -include $(BASEDIR)/include/config/auto.conf.cmd
+
+.PHONY: cloc
+cloc:
+	$(eval tmpfile := $(shell mktemp))
+	$(foreach f, $(shell find $(BASEDIR) -name *.o.d), \
+		$(eval path := $(dir $(f))) \
+		$(eval names := $(shell grep -o "[a-zA-Z0-9_/-]*\.[cS]" $(f))) \
+		$(foreach sf, $(names), \
+			$(shell if test -f $(path)/$(sf) ; then echo $(path)/$(sf) >> $(tmpfile); fi;)))
+	cloc --list-file=$(tmpfile)
+	rm $(tmpfile)
+
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (8 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 09/10] xen: add cloc target Stefano Stabellini
@ 2018-05-31 21:48 ` Stefano Stabellini
  2018-06-01  2:49   ` Julien Grall
  2018-06-01 10:59   ` Jan Beulich
  2018-06-01 19:17 ` [PATCH v4 0/10] arm: more kconfig configurability and small default configs Doug Goldstein
  10 siblings, 2 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-05-31 21:48 UTC (permalink / raw)
  To: julien.grall
  Cc: artem_mygaiev, lars.kurth, sstabellini, andrii_anisov,
	andrew.cooper3, dfaggioli, JBeulich, xen-devel

Add specific per-platform defaults for NR_CPUS. Note that the order of
the defaults matter: they need to go first, otherwise the generic
defaults will be applied.

This is done so that Xen builds customized for a specific hardware
platform can have the right NR_CPUS number.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: JBeulich@suse.com
CC: andrew.cooper3@citrix.com
---
 xen/arch/Kconfig | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
index cf0acb7..d451eb8 100644
--- a/xen/arch/Kconfig
+++ b/xen/arch/Kconfig
@@ -2,6 +2,9 @@
 config NR_CPUS
 	int "Maximum number of physical CPUs"
 	range 1 4095
+	default "8" if ARM && RCAR3
+	default "4" if ARM && QEMU
+	default "4" if ARM && MPSOC
 	default "256" if X86
 	default "128" if ARM
 	---help---
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply related	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 07/10] arm: add a tiny kconfig configuration
  2018-05-31 21:48 ` [PATCH v4 07/10] arm: add a tiny kconfig configuration Stefano Stabellini
@ 2018-06-01  2:39   ` Julien Grall
  2018-06-01 20:51     ` Stefano Stabellini
  0 siblings, 1 reply; 30+ messages in thread
From: Julien Grall @ 2018-06-01  2:39 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: artem_mygaiev, lars.kurth, andrii_anisov, xen-devel,
	julien.grall, dfaggioli


[-- Attachment #1.1: Type: text/plain, Size: 2234 bytes --]

Hi,

Sorry for the formatting.

On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org>
wrote:

> Add a tiny kconfig configuration. Enabled NULL and Credit schedulers.
> Support only 8 cpus. It only carries non-default options (use make
> olddefconfig to produce a complete .config file).
>
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
>
> ---
> Note that this approach has a limitation: it is not possible to "select
> a range". In other words, using tiny.config NR_CPUS is set to 4. It is
> not possible to increase it to 8 from config RCAR3.
>

Is that still true? I thought we discussed a solution to do it yesterday.

By that, I mean the platform would be selected at olddefconfig.

Cheers,

---
>  xen/arch/arm/configs/tiny.conf | 43
> ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 43 insertions(+)
>  create mode 100644 xen/arch/arm/configs/tiny.conf
>
> diff --git a/xen/arch/arm/configs/tiny.conf
> b/xen/arch/arm/configs/tiny.conf
> new file mode 100644
> index 0000000..e9a5e65
> --- /dev/null
> +++ b/xen/arch/arm/configs/tiny.conf
> @@ -0,0 +1,43 @@
> +CONFIG_ARM_64=y
> +CONFIG_ARM=y
> +
> +#
> +# Architecture Features
> +#
> +# CONFIG_GICV3 is not set
> +# CONFIG_MEM_ACCESS is not set
> +# CONFIG_SBSA_VUART_CONSOLE is not set
> +
> +#
> +# Common Features
> +#
> +# CONFIG_TMEM is not set
> +
> +#
> +# Schedulers
> +#
> +# CONFIG_SCHED_CREDIT2 is not set
> +# CONFIG_SCHED_RTDS is not set
> +# CONFIG_SCHED_ARINC653 is not set
> +CONFIG_SCHED_NULL=y
> +CONFIG_SCHED_NULL_DEFAULT=y
> +CONFIG_SCHED_DEFAULT="null"
> +# CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS is not set
> +
> +#
> +# Device Drivers
> +#
> +# CONFIG_HAS_NS16550 is not set
> +# CONFIG_HAS_CADENCE_UART is not set
> +# CONFIG_HAS_MVEBU is not set
> +# CONFIG_HAS_PL011 is not set
> +# CONFIG_HAS_SCIF is not set
> +# CONFIG_ARM_SMMU is not set
> +
> +#
> +# Debugging Options
> +#
> +# CONFIG_DEBUG is not set
> +# CONFIG_FRAME_POINTER is not set
> +# CONFIG_VERBOSE_DEBUG is not set
> +# CONFIG_SCRUB_DEBUG is not set
> --
> 1.9.1
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 3200 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs
  2018-05-31 21:48 ` [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs Stefano Stabellini
@ 2018-06-01  2:45   ` Julien Grall
  2018-06-01 20:51     ` Stefano Stabellini
  2018-06-01 11:38   ` Volodymyr Babchuk
  1 sibling, 1 reply; 30+ messages in thread
From: Julien Grall @ 2018-06-01  2:45 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: artem_mygaiev, lars.kurth, andrii_anisov, dfaggioli,
	julien.grall, xen-devel, volodymyr_babchuk


[-- Attachment #1.1: Type: text/plain, Size: 3300 bytes --]

Hi Stefano,

Sorry for formatting.

On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org>
wrote:

> Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
> RCAR3 and MPSOC. They enable the required options for their hardware
> platform.
>

This patch is nothing close to what we discussed. As far as I can tell, the
tiny.config will end up to select all the platforms with their driver. It
will not be possible to deselect the driver selected for a platform
afterwards.

I still think the best if providing a choice list where only one option can
be selected. I would like to understand why you didn't go this path.

Cheers,


> In the case of the MPSOC that has a platform file under
> arch/arm/platforms/, build the file if MPSOC.
>
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> CC: artem_mygaiev@epam.com
> CC: volodymyr_babchuk@epam.com
>
> ---
> Changes in v4:
> - fix GICv3/GICV3
> - default y to all options
> - build xilinx-zynqmp if MPSOC
> ---
>  xen/arch/arm/Kconfig            |  2 ++
>  xen/arch/arm/platforms/Kconfig  | 30 ++++++++++++++++++++++++++++++
>  xen/arch/arm/platforms/Makefile |  2 +-
>  3 files changed, 33 insertions(+), 1 deletion(-)
>  create mode 100644 xen/arch/arm/platforms/Kconfig
>
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 2b87111..75cacfb 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>  config ARM32_HARDEN_BRANCH_PREDICTOR
>      def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>
> +source "arch/arm/platforms/Kconfig"
> +
>  source "common/Kconfig"
>
>  source "drivers/Kconfig"
> diff --git a/xen/arch/arm/platforms/Kconfig
> b/xen/arch/arm/platforms/Kconfig
> new file mode 100644
> index 0000000..fea8f9a
> --- /dev/null
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -0,0 +1,30 @@
> +menu "Platform Support"
> +
> +config QEMU
> +       bool "QEMU aarch virt machine support"
> +       default y
> +       depends on ARM_64
> +       select GICV3
> +       select HAS_PL011
> +       ---help---
> +       Enable all the required drivers for QEMU aarch64 virt emulated
> +       machine.
> +
> +config RCAR3
> +       bool "Renesas RCar3 support"
> +       default y
> +       depends on ARM_64
> +       select HAS_SCIF
> +       ---help---
> +       Enable all the required drivers for Renesas RCar3
> +
> +config MPSOC
> +       bool "Xilinx Ultrascale+ MPSoC support"
> +       default y
> +       depends on ARM_64
> +       select HAS_CADENCE_UART
> +       select ARM_SMMU
> +       ---help---
> +       Enable all the required drivers for Xilinx Ultrascale+ MPSoC
> +
> +endmenu
> diff --git a/xen/arch/arm/platforms/Makefile
> b/xen/arch/arm/platforms/Makefile
> index 80e555c..f4ff411 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -8,4 +8,4 @@ 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
> +obj-$(CONFIG_MPSOC)  += xilinx-zynqmp.o
> --
> 1.9.1
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 4636 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-05-31 21:48 ` [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
@ 2018-06-01  2:49   ` Julien Grall
  2018-06-01 20:53     ` Stefano Stabellini
  2018-06-01 10:59   ` Jan Beulich
  1 sibling, 1 reply; 30+ messages in thread
From: Julien Grall @ 2018-06-01  2:49 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: artem_mygaiev, lars.kurth, andrii_anisov, andrew.cooper3,
	dfaggioli, julien.grall, JBeulich, xen-devel


[-- Attachment #1.1: Type: text/plain, Size: 1566 bytes --]

Hi,

Sorry for the formatting. I am pretty sure you need to CC "THE REST" here.

On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org>
wrote:

> Add specific per-platform defaults for NR_CPUS. Note that the order of
> the defaults matter: they need to go first, otherwise the generic
> defaults will be applied.
>
> This is done so that Xen builds customized for a specific hardware
> platform can have the right NR_CPUS number.
>
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> CC: JBeulich@suse.com
> CC: andrew.cooper3@citrix.com
> ---
>  xen/arch/Kconfig | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
> index cf0acb7..d451eb8 100644
> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -2,6 +2,9 @@
>  config NR_CPUS
>         int "Maximum number of physical CPUs"
>         range 1 4095
> +       default "8" if ARM && RCAR3
> +       default "4" if ARM && QEMU
> +       default "4" if ARM && MPSOC
>         default "256" if X86
>         default "128" if ARM
>         ---help---
>

IMHO, it would make sense to move this option in the arch/{arm,x86)/Kconfig.

But I am not sure how this will work as with this series you can select
multiple platforms in on Kconfig. What will be the end result?

Anyway, as I mention the way to go is a option list with only one possible
choice.

Cheers,


-- 
> 1.9.1
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xenproject.org
> https://lists.xenproject.org/mailman/listinfo/xen-devel

[-- Attachment #1.2: Type: text/html, Size: 2696 bytes --]

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 04/10] Make MEM_ACCESS configurable
  2018-05-31 21:48 ` [PATCH v4 04/10] Make MEM_ACCESS configurable Stefano Stabellini
@ 2018-06-01 10:52   ` Jan Beulich
  2018-06-01 15:24     ` Stefano Stabellini
  0 siblings, 1 reply; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 10:52 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, Wei Liu, George Dunlap, Andrew Cooper,
	Ian Jackson, xen-devel, Julien Grall, Tim Deegan, andrii_anisov,
	Dario Faggioli

>>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -20,8 +20,16 @@ config HAS_DEVICE_TREE
>  config HAS_EX_TABLE
>  	bool
>  
> -config HAS_MEM_ACCESS
> -	bool
> +config MEM_ACCESS_ALWAYS_ON
> +	def_bool n

Only "bool" please - there should be no defaults other than y for options without
prompts. Otherwise, if later an option gains a prompt, the user won't be
presented with the option to enable it when using one of the *oldconfig targets
(due to the previously recorded setting).

With that replaced
Acked-by: Jan Beulich <jbeulich@suse.com>
also in case you follow Tamas'es suggestion and switch ...

> +config MEM_ACCESS
> +	def_bool y
> +	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON

... the default here to MEM_ACCESS_ALWAYS_ON (or !ARM or X86).

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 05/10] make it possible to enable/disable UART drivers
  2018-05-31 21:48 ` [PATCH v4 05/10] make it possible to enable/disable UART drivers Stefano Stabellini
@ 2018-06-01 10:54   ` Jan Beulich
  2018-06-01 15:28     ` Stefano Stabellini
  0 siblings, 1 reply; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 10:54 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, andrii_anisov, Andrew Cooper,
	xen-devel, Julien Grall, Dario Faggioli

>>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> @@ -54,6 +54,7 @@ config HAS_SCIF
>  
>  config HAS_EHCI
>  	bool
> +	depends on X86

Just FTR: I won't NAK this, but I also won't ACK it.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 09/10] xen: add cloc target
  2018-05-31 21:48 ` [PATCH v4 09/10] xen: add cloc target Stefano Stabellini
@ 2018-06-01 10:57   ` Jan Beulich
  0 siblings, 0 replies; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 10:57 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, andrii_anisov, Andrew Cooper,
	xen-devel, Julien Grall, Dario Faggioli

>>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> Add a Xen build target to count the lines of code of the source files
> built. Uses `cloc' to do the job.
> 
> With Xen on ARM taking off in embedded, IoT, and automotive, we are
> seeing more and more uses of Xen in constrained environments. Users and
> system integrators want the smallest Xen and Dom0 configurations. Some
> of these deployments require certifications, where you definitely want
> the smallest lines of code count. I provided this patch to give us the
> lines of code count for that purpose.
> 
> Use the .o.d files to account for all the built source files. Generate a
> list for the `cloc' utility and invoke `cloc'.
> 
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>

Acked-by: Jan Beulich <jbeulich@suse.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-05-31 21:48 ` [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
  2018-06-01  2:49   ` Julien Grall
@ 2018-06-01 10:59   ` Jan Beulich
  2018-06-01 20:52     ` Stefano Stabellini
  1 sibling, 1 reply; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 10:59 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, andrii_anisov, Andrew Cooper,
	xen-devel, Julien Grall, Dario Faggioli

>>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> Add specific per-platform defaults for NR_CPUS. Note that the order of
> the defaults matter: they need to go first, otherwise the generic
> defaults will be applied.

Still I'd prefer the ARM ones to follow the X86 one (keeping the ARM ones
together), unless you follow Julien's advice anyway and move the setting
into arch/<arch>/Kconfig.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs
  2018-05-31 21:48 ` [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs Stefano Stabellini
  2018-06-01  2:45   ` Julien Grall
@ 2018-06-01 11:38   ` Volodymyr Babchuk
  1 sibling, 0 replies; 30+ messages in thread
From: Volodymyr Babchuk @ 2018-06-01 11:38 UTC (permalink / raw)
  To: Stefano Stabellini, julien.grall
  Cc: artem_mygaiev, lars.kurth, Andrii Anisov, dfaggioli,
	Oleksandr Tyshchenko, xen-devel

Hi Stefano,

On 01.06.18 00:48, Stefano Stabellini wrote:
> Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
> RCAR3 and MPSOC. They enable the required options for their hardware
> platform.
> 
> In the case of the MPSOC that has a platform file under
> arch/arm/platforms/, build the file if MPSOC.
> 
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> CC: artem_mygaiev@epam.com
> CC: volodymyr_babchuk@epam.com

Added Andrii Anisov and Oleksandr Tyshchenko.

> 
> ---
> Changes in v4:
> - fix GICv3/GICV3
> - default y to all options
> - build xilinx-zynqmp if MPSOC
> ---
>   xen/arch/arm/Kconfig            |  2 ++
>   xen/arch/arm/platforms/Kconfig  | 30 ++++++++++++++++++++++++++++++
>   xen/arch/arm/platforms/Makefile |  2 +-
>   3 files changed, 33 insertions(+), 1 deletion(-)
>   create mode 100644 xen/arch/arm/platforms/Kconfig
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 2b87111..75cacfb 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>   config ARM32_HARDEN_BRANCH_PREDICTOR
>       def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
>   
> +source "arch/arm/platforms/Kconfig"
> +
>   source "common/Kconfig"
>   
>   source "drivers/Kconfig"
> diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
> new file mode 100644
> index 0000000..fea8f9a
> --- /dev/null
> +++ b/xen/arch/arm/platforms/Kconfig
> @@ -0,0 +1,30 @@
> +menu "Platform Support"
> +
> +config QEMU
> +	bool "QEMU aarch virt machine support"
> +	default y
> +	depends on ARM_64
> +	select GICV3
> +	select HAS_PL011
> +	---help---
> +	Enable all the required drivers for QEMU aarch64 virt emulated
> +	machine.
> +
> +config RCAR3
> +	bool "Renesas RCar3 support"
> +	default y
> +	depends on ARM_64
> +	select HAS_SCIF
> +	---help---
> +	Enable all the required drivers for Renesas RCar3
> +
> +config MPSOC
> +	bool "Xilinx Ultrascale+ MPSoC support"
> +	default y
> +	depends on ARM_64
> +	select HAS_CADENCE_UART
> +	select ARM_SMMU
> +	---help---
> +	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
> +
> +endmenu
> diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
> index 80e555c..f4ff411 100644
> --- a/xen/arch/arm/platforms/Makefile
> +++ b/xen/arch/arm/platforms/Makefile
> @@ -8,4 +8,4 @@ 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
> +obj-$(CONFIG_MPSOC)  += xilinx-zynqmp.o
> 

-- 
Volodymyr Babchuk

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 04/10] Make MEM_ACCESS configurable
  2018-06-01 10:52   ` Jan Beulich
@ 2018-06-01 15:24     ` Stefano Stabellini
  2018-06-01 15:42       ` Jan Beulich
  0 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 15:24 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Artem Mygaiev, Lars Kurth, Stefano Stabellini, Wei Liu,
	George Dunlap, Andrew Cooper, Ian Jackson, xen-devel,
	Julien Grall, Tim Deegan, andrii_anisov, Dario Faggioli

On Fri, 1 Jun 2018, Jan Beulich wrote:
> >>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> > --- a/xen/common/Kconfig
> > +++ b/xen/common/Kconfig
> > @@ -20,8 +20,16 @@ config HAS_DEVICE_TREE
> >  config HAS_EX_TABLE
> >  	bool
> >  
> > -config HAS_MEM_ACCESS
> > -	bool
> > +config MEM_ACCESS_ALWAYS_ON
> > +	def_bool n
> 
> Only "bool" please - there should be no defaults other than y for options without
> prompts. Otherwise, if later an option gains a prompt, the user won't be
> presented with the option to enable it when using one of the *oldconfig targets
> (due to the previously recorded setting).

done


> With that replaced
> Acked-by: Jan Beulich <jbeulich@suse.com>
> also in case you follow Tamas'es suggestion and switch ...
> 
> > +config MEM_ACCESS
> > +	def_bool y
> > +	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
> 
> ... the default here to MEM_ACCESS_ALWAYS_ON (or !ARM or X86).

I changed it to:

  config MEM_ACCESS
    def_bool y if MEM_ACCESS_ALWAYS_ON
    prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON


Thank you, I'll add your acked.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 05/10] make it possible to enable/disable UART drivers
  2018-06-01 10:54   ` Jan Beulich
@ 2018-06-01 15:28     ` Stefano Stabellini
  2018-06-01 15:44       ` Jan Beulich
  0 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 15:28 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Artem Mygaiev, Lars Kurth, Stefano Stabellini, andrii_anisov,
	Andrew Cooper, xen-devel, Julien Grall, Dario Faggioli

On Fri, 1 Jun 2018, Jan Beulich wrote:
> >>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> > @@ -54,6 +54,7 @@ config HAS_SCIF
> >  
> >  config HAS_EHCI
> >  	bool
> > +	depends on X86
> 
> Just FTR: I won't NAK this, but I also won't ACK it.

Just this one line change, right? You would be fine with acking the rest
of the patch? If so, then I only need Julien's ack?

FYI I am happy with anything regarding HAS_EHCI: I don't particularly
care whether we make it available on ARM or not. As long as both Julien
and you agree, I am fine with it.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 04/10] Make MEM_ACCESS configurable
  2018-06-01 15:24     ` Stefano Stabellini
@ 2018-06-01 15:42       ` Jan Beulich
  0 siblings, 0 replies; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 15:42 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, Wei Liu, George Dunlap, Andrew Cooper,
	Ian Jackson, xen-devel, Julien Grall, Tim Deegan, andrii_anisov,
	Dario Faggioli

>>> On 01.06.18 at 17:24, <sstabellini@kernel.org> wrote:
> On Fri, 1 Jun 2018, Jan Beulich wrote:
>> >>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
>> > +config MEM_ACCESS
>> > +	def_bool y
>> > +	prompt "Memory Access and VM events" if !MEM_ACCESS_ALWAYS_ON
>> 
>> ... the default here to MEM_ACCESS_ALWAYS_ON (or !ARM or X86).
> 
> I changed it to:
> 
>   config MEM_ACCESS
>     def_bool y if MEM_ACCESS_ALWAYS_ON

Which I think could be further shortened to

   config MEM_ACCESS
     def_bool MEM_ACCESS_ALWAYS_ON


Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 05/10] make it possible to enable/disable UART drivers
  2018-06-01 15:28     ` Stefano Stabellini
@ 2018-06-01 15:44       ` Jan Beulich
  0 siblings, 0 replies; 30+ messages in thread
From: Jan Beulich @ 2018-06-01 15:44 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Artem Mygaiev, Lars Kurth, andrii_anisov, Andrew Cooper,
	xen-devel, Julien Grall, Dario Faggioli

>>> On 01.06.18 at 17:28, <sstabellini@kernel.org> wrote:
> On Fri, 1 Jun 2018, Jan Beulich wrote:
>> >>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
>> > @@ -54,6 +54,7 @@ config HAS_SCIF
>> >  
>> >  config HAS_EHCI
>> >  	bool
>> > +	depends on X86
>> 
>> Just FTR: I won't NAK this, but I also won't ACK it.
> 
> Just this one line change, right? You would be fine with acking the rest
> of the patch? If so, then I only need Julien's ack?

Yes.

> FYI I am happy with anything regarding HAS_EHCI: I don't particularly
> care whether we make it available on ARM or not. As long as both Julien
> and you agree, I am fine with it.

Well, Julien and I don't agree, that's the whole point. But the disagreement
isn't bad enough to block this change, so I'm not against it going in with
someone else's ack.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 0/10] arm: more kconfig configurability and small default configs
  2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
                   ` (9 preceding siblings ...)
  2018-05-31 21:48 ` [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
@ 2018-06-01 19:17 ` Doug Goldstein
  10 siblings, 0 replies; 30+ messages in thread
From: Doug Goldstein @ 2018-06-01 19:17 UTC (permalink / raw)
  To: Stefano Stabellini, julien.grall
  Cc: artem_mygaiev, lars.kurth, xen-devel, andrii_anisov, dfaggioli

On 5/31/18 4:48 PM, Stefano Stabellini wrote:

> One note about Kconfig renaming: I can see the benefit of being
> consistent with the naming and using HAS_ only for options that are
> always enabled, but I really don't have a strong opinion on this topic.

So fwiw, the HAS_ fields come from the Linux kernel. Its mostly used to
let the build system know that this hardware HAS this ability and then
later there is an option to allow it to be configured on and off. Our
use of Kconfig didn't actually introduce these. The Xen build system
relied on them before I added Kconfig since we sync a number of drivers
over from the Linux kernel tree. It just felt natural to move them out
of being hard coded values in the Makefiles and into Kconfig proper so
they could be used as Linux uses them.

-- 
Doug Goldstein

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 07/10] arm: add a tiny kconfig configuration
  2018-06-01  2:39   ` Julien Grall
@ 2018-06-01 20:51     ` Stefano Stabellini
  0 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 20:51 UTC (permalink / raw)
  To: Julien Grall
  Cc: artem_mygaiev, lars.kurth, Stefano Stabellini, andrii_anisov,
	dfaggioli, julien.grall, xen-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2828 bytes --]

On Fri, 1 Jun 2018, Julien Grall wrote:
> Hi,
> Sorry for the formatting.
> 
> On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org> wrote:
>       Add a tiny kconfig configuration. Enabled NULL and Credit schedulers.
>       Support only 8 cpus. It only carries non-default options (use make
>       olddefconfig to produce a complete .config file).
> 
>       Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> 
>       ---
>       Note that this approach has a limitation: it is not possible to "select
>       a range". In other words, using tiny.config NR_CPUS is set to 4. It is
>       not possible to increase it to 8 from config RCAR3.
> 
> 
> Is that still true? I thought we discussed a solution to do it yesterday.

No, it is not true anymore. See the longer explanation I sent in reply
to the other emails. I'll remove this paragraph next time.


> By that, I mean the platform would be selected at olddefconfig.
> 
>       ---
>        xen/arch/arm/configs/tiny.conf | 43 ++++++++++++++++++++++++++++++++++++++++++
>        1 file changed, 43 insertions(+)
>        create mode 100644 xen/arch/arm/configs/tiny.conf
> 
>       diff --git a/xen/arch/arm/configs/tiny.conf b/xen/arch/arm/configs/tiny.conf
>       new file mode 100644
>       index 0000000..e9a5e65
>       --- /dev/null
>       +++ b/xen/arch/arm/configs/tiny.conf
>       @@ -0,0 +1,43 @@
>       +CONFIG_ARM_64=y
>       +CONFIG_ARM=y
>       +
>       +#
>       +# Architecture Features
>       +#
>       +# CONFIG_GICV3 is not set
>       +# CONFIG_MEM_ACCESS is not set
>       +# CONFIG_SBSA_VUART_CONSOLE is not set
>       +
>       +#
>       +# Common Features
>       +#
>       +# CONFIG_TMEM is not set
>       +
>       +#
>       +# Schedulers
>       +#
>       +# CONFIG_SCHED_CREDIT2 is not set
>       +# CONFIG_SCHED_RTDS is not set
>       +# CONFIG_SCHED_ARINC653 is not set
>       +CONFIG_SCHED_NULL=y
>       +CONFIG_SCHED_NULL_DEFAULT=y
>       +CONFIG_SCHED_DEFAULT="null"
>       +# CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS is not set
>       +
>       +#
>       +# Device Drivers
>       +#
>       +# CONFIG_HAS_NS16550 is not set
>       +# CONFIG_HAS_CADENCE_UART is not set
>       +# CONFIG_HAS_MVEBU is not set
>       +# CONFIG_HAS_PL011 is not set
>       +# CONFIG_HAS_SCIF is not set
>       +# CONFIG_ARM_SMMU is not set
>       +
>       +#
>       +# Debugging Options
>       +#
>       +# CONFIG_DEBUG is not set
>       +# CONFIG_FRAME_POINTER is not set
>       +# CONFIG_VERBOSE_DEBUG is not set
>       +# CONFIG_SCRUB_DEBUG is not set
>       --
>       1.9.1
> 
> 
>       _______________________________________________
>       Xen-devel mailing list
>       Xen-devel@lists.xenproject.org
>       https://lists.xenproject.org/mailman/listinfo/xen-devel
> 
> 
> 

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs
  2018-06-01  2:45   ` Julien Grall
@ 2018-06-01 20:51     ` Stefano Stabellini
  2018-06-04 15:58       ` Julien Grall
  0 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 20:51 UTC (permalink / raw)
  To: Julien Grall
  Cc: artem_mygaiev, lars.kurth, Stefano Stabellini, andrii_anisov,
	dfaggioli, julien.grall, xen-devel, volodymyr_babchuk

[-- Attachment #1: Type: TEXT/PLAIN, Size: 5293 bytes --]

On Fri, 1 Jun 2018, Julien Grall wrote:
> Hi Stefano,
> Sorry for formatting.
> 
> On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org> wrote:
>       Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
>       RCAR3 and MPSOC. They enable the required options for their hardware
>       platform.
> 
> 
> This patch is nothing close to what we discussed. As far as I can tell, the tiny.config will end up to select all the platforms
> with their driver. It will not be possible to deselect the driver selected for a platform afterwards.
> 
> I still think the best if providing a choice list where only one option can be selected. I would like to understand why you
> didn't go this path.

Yes, sorry, I didn't explain why I did this and what I told you on the
call was wrong, adding to the confusion.

First, it is true that `make olddefconfig' is run automatically on any
make target.

Except for `make menuconfig', that's special. If you copy a partial
config (like tiny.config) to .config, then execute `make menuconfig',
the menu gets automatically populated with the missing values using
defaults (as if olddefconfig was run), but it won't automatically save
them to file (fortunately!!).  That means that all the platform options
below (QEMU, RCAR3, MPSOC) will show as selected in the menu, but if the
user deselects two of them, for instance QEMU and RCAR3, the result is
that *only* MPSOC and related options will be written down to the
.config.

The kconfig infrastructure is not as bad as I initially thought :-)
In short, the following steps work:

- copy tiny.config to .config
- make menuconfig -> deselect QEMU and RCAR3, save .config
- as a results the final .config will have:

  CONFIG_MPSOC=y
  CONFIG_HAS_CADENCE_UART=y

but it won't have GICV3, any other platform options, or any other uart
drivers. Moreover, even NR_CPUS will be set correctly:
  
  CONFIG_NR_CPUS=4

I am attaching the .config for MPSOC produced using these steps as a
reference. More on the NR_CPUS topic in my next email reply.


>       In the case of the MPSOC that has a platform file under
>       arch/arm/platforms/, build the file if MPSOC.
> 
>       Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
>       CC: artem_mygaiev@epam.com
>       CC: volodymyr_babchuk@epam.com
> 
>       ---
>       Changes in v4:
>       - fix GICv3/GICV3
>       - default y to all options
>       - build xilinx-zynqmp if MPSOC
>       ---
>        xen/arch/arm/Kconfig            |  2 ++
>        xen/arch/arm/platforms/Kconfig  | 30 ++++++++++++++++++++++++++++++
>        xen/arch/arm/platforms/Makefile |  2 +-
>        3 files changed, 33 insertions(+), 1 deletion(-)
>        create mode 100644 xen/arch/arm/platforms/Kconfig
> 
>       diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
>       index 2b87111..75cacfb 100644
>       --- a/xen/arch/arm/Kconfig
>       +++ b/xen/arch/arm/Kconfig
>       @@ -213,6 +213,8 @@ config ARM64_HARDEN_BRANCH_PREDICTOR
>        config ARM32_HARDEN_BRANCH_PREDICTOR
>            def_bool y if ARM_32 && HARDEN_BRANCH_PREDICTOR
> 
>       +source "arch/arm/platforms/Kconfig"
>       +
>        source "common/Kconfig"
> 
>        source "drivers/Kconfig"
>       diff --git a/xen/arch/arm/platforms/Kconfig b/xen/arch/arm/platforms/Kconfig
>       new file mode 100644
>       index 0000000..fea8f9a
>       --- /dev/null
>       +++ b/xen/arch/arm/platforms/Kconfig
>       @@ -0,0 +1,30 @@
>       +menu "Platform Support"
>       +
>       +config QEMU
>       +       bool "QEMU aarch virt machine support"
>       +       default y
>       +       depends on ARM_64
>       +       select GICV3
>       +       select HAS_PL011
>       +       ---help---
>       +       Enable all the required drivers for QEMU aarch64 virt emulated
>       +       machine.
>       +
>       +config RCAR3
>       +       bool "Renesas RCar3 support"
>       +       default y
>       +       depends on ARM_64
>       +       select HAS_SCIF
>       +       ---help---
>       +       Enable all the required drivers for Renesas RCar3
>       +
>       +config MPSOC
>       +       bool "Xilinx Ultrascale+ MPSoC support"
>       +       default y
>       +       depends on ARM_64
>       +       select HAS_CADENCE_UART
>       +       select ARM_SMMU
>       +       ---help---
>       +       Enable all the required drivers for Xilinx Ultrascale+ MPSoC
>       +
>       +endmenu
>       diff --git a/xen/arch/arm/platforms/Makefile b/xen/arch/arm/platforms/Makefile
>       index 80e555c..f4ff411 100644
>       --- a/xen/arch/arm/platforms/Makefile
>       +++ b/xen/arch/arm/platforms/Makefile
>       @@ -8,4 +8,4 @@ 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
>       +obj-$(CONFIG_MPSOC)  += xilinx-zynqmp.o
>       --
>       1.9.1
> 
> 
>       _______________________________________________
>       Xen-devel mailing list
>       Xen-devel@lists.xenproject.org
>       https://lists.xenproject.org/mailman/listinfo/xen-devel
> 
> 
> 

[-- Attachment #2: Type: TEXT/PLAIN, Size: 1875 bytes --]

#
# Automatically generated file; DO NOT EDIT.
# Xen/arm 4.11-unstable Configuration
#
CONFIG_64BIT=y
CONFIG_ARM_64=y
CONFIG_ARM=y
CONFIG_ARCH_DEFCONFIG="arch/arm/configs/arm64_defconfig"

#
# Architecture Features
#
CONFIG_NR_CPUS=4
# CONFIG_ACPI is not set
# CONFIG_GICV3 is not set
# CONFIG_NEW_VGIC is not set
# CONFIG_SBSA_VUART_CONSOLE is not set

#
# ARM errata workaround via the alternative framework
#
CONFIG_ARM64_ERRATUM_827319=y
CONFIG_ARM64_ERRATUM_824069=y
CONFIG_ARM64_ERRATUM_819472=y
CONFIG_ARM64_ERRATUM_832075=y
CONFIG_ARM64_ERRATUM_834220=y
CONFIG_HARDEN_BRANCH_PREDICTOR=y
CONFIG_ARM64_HARDEN_BRANCH_PREDICTOR=y

#
# Platform Support
#
# CONFIG_QEMU is not set
# CONFIG_RCAR3 is not set
CONFIG_MPSOC=y

#
# Common Features
#
CONFIG_HAS_ALTERNATIVE=y
CONFIG_HAS_DEVICE_TREE=y
# CONFIG_MEM_ACCESS is not set
CONFIG_HAS_PDX=y
# CONFIG_TMEM is not set
# CONFIG_XSM is not set

#
# Schedulers
#
CONFIG_SCHED_CREDIT=y
# CONFIG_SCHED_CREDIT2 is not set
# CONFIG_SCHED_RTDS is not set
# CONFIG_SCHED_ARINC653 is not set
CONFIG_SCHED_NULL=y
# CONFIG_SCHED_CREDIT_DEFAULT is not set
CONFIG_SCHED_NULL_DEFAULT=y
CONFIG_SCHED_DEFAULT="null"
# CONFIG_LIVEPATCH is not set
# CONFIG_SUPPRESS_DUPLICATE_SYMBOL_WARNINGS is not set
CONFIG_CMDLINE=""

#
# Device Drivers
#
# CONFIG_HAS_NS16550 is not set
CONFIG_HAS_CADENCE_UART=y
# CONFIG_HAS_MVEBU is not set
# CONFIG_HAS_PL011 is not set
# CONFIG_HAS_SCIF is not set
CONFIG_HAS_PASSTHROUGH=y
CONFIG_ARM_SMMU=y
CONFIG_DEFCONFIG_LIST="$ARCH_DEFCONFIG"

#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_FRAME_POINTER is not set
# CONFIG_COVERAGE is not set
# CONFIG_LOCK_PROFILE is not set
# CONFIG_PERF_COUNTERS is not set
# CONFIG_VERBOSE_DEBUG is not set
# CONFIG_DEVICE_TREE_DEBUG is not set
# CONFIG_SCRUB_DEBUG is not set

[-- Attachment #3: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-06-01 10:59   ` Jan Beulich
@ 2018-06-01 20:52     ` Stefano Stabellini
  0 siblings, 0 replies; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 20:52 UTC (permalink / raw)
  To: Jan Beulich
  Cc: Artem Mygaiev, Lars Kurth, Stefano Stabellini, andrii_anisov,
	Andrew Cooper, xen-devel, Julien Grall, Dario Faggioli

On Fri, 1 Jun 2018, Jan Beulich wrote:
> >>> On 31.05.18 at 23:48, <sstabellini@kernel.org> wrote:
> > Add specific per-platform defaults for NR_CPUS. Note that the order of
> > the defaults matter: they need to go first, otherwise the generic
> > defaults will be applied.
> 
> Still I'd prefer the ARM ones to follow the X86 one (keeping the ARM ones
> together), unless you follow Julien's advice anyway and move the setting
> into arch/<arch>/Kconfig.

I'll move the x86 default first. I would prefer to keep the NR_CPUS
option shared in xen/arch/Kconfig.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-06-01  2:49   ` Julien Grall
@ 2018-06-01 20:53     ` Stefano Stabellini
  2018-06-04 16:07       ` Julien Grall
  0 siblings, 1 reply; 30+ messages in thread
From: Stefano Stabellini @ 2018-06-01 20:53 UTC (permalink / raw)
  To: Julien Grall
  Cc: artem_mygaiev, lars.kurth, Stefano Stabellini, andrii_anisov,
	andrew.cooper3, dfaggioli, julien.grall, JBeulich, xen-devel

[-- Attachment #1: Type: TEXT/PLAIN, Size: 3920 bytes --]

On Fri, 1 Jun 2018, Julien Grall wrote:
> Hi,
> Sorry for the formatting. I am pretty sure you need to CC "THE REST" here.
> 
> On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org> wrote:
>       Add specific per-platform defaults for NR_CPUS. Note that the order of
>       the defaults matter: they need to go first, otherwise the generic
>       defaults will be applied.
> 
>       This is done so that Xen builds customized for a specific hardware
>       platform can have the right NR_CPUS number.
> 
>       Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
>       CC: JBeulich@suse.com
>       CC: andrew.cooper3@citrix.com
>       ---
>        xen/arch/Kconfig | 3 +++
>        1 file changed, 3 insertions(+)
> 
>       diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
>       index cf0acb7..d451eb8 100644
>       --- a/xen/arch/Kconfig
>       +++ b/xen/arch/Kconfig
>       @@ -2,6 +2,9 @@
>        config NR_CPUS
>               int "Maximum number of physical CPUs"
>               range 1 4095
>       +       default "8" if ARM && RCAR3
>       +       default "4" if ARM && QEMU
>       +       default "4" if ARM && MPSOC
>               default "256" if X86
>               default "128" if ARM
>               ---help---
> 
> 
> But I am not sure how this will work as with this series you can select multiple platforms in on Kconfig. What will be the end
> result?

The end result is the first default that applies. In this case, if
RCAR3, QEMU and MPSOC are all selected, then NR_CPUS would be set to
8, which is actually what one would want if she is trying to build Xen
for these three platforms, but it is not what one would want if she was
trying to build a generic Xen config for distros.

This is not great.

The option list you suggested could help solve the NR_CPUS issue, see
below.


> Anyway, as I mention the way to go is a option list with only one possible choice.

I am OK with an option list, the issue that we cannot have an ALL option
in the list that selects the other options as I wrote previously. For
instance, the following is NOT allowed:

config ALL
	bool "All Platforms"
	select MPSOC

However, having CONFIG_ALL would solve the NR_CPUS problem because we
could do:

config NR_CPUS
    default "128" if ARM && ALL
	default "8" if ARM && RCAR3
	default "4" if ARM && QEMU
	default "4" if ARM && MPSOC
	default "128" if ARM

Which would give us exactly the default we want for NR_CPUS.

So I agree that we should turn platform support into an option list and
we should also add an ALL option to solve the NR_CPUS problem.

If we do that, the remaining problem is how to implement ALL. I found a
workaround for the kconfig issue described above. The following works
correctly:

choice
	prompt "Platform Support"
	default ALL
	---help---
	Choose Xen support for different hardware platforms.

    config ALL
    	bool "All Platforms"
    	select MPSOC_PLATFORM
    	select QEMU_PLATFORM
    	select RCAR3_PLATFORM
    	---help---
    	Enable support for all platforms.
    
    config QEMU
    	bool "QEMU aarch virt machine support"
    	depends on ARM_64
    	select QEMU_PLATFORM
    	---help---
    	Enable all the required drivers for QEMU aarch64 virt emulated
    	machine.
    
    config RCAR3
    	bool "Renesas RCar3 support"
    	depends on ARM_64
    	select RCAR3_PLATFORM
    	---help---
    	Enable all the required drivers for Renesas RCar3
    
    config MPSOC
    	bool "Xilinx Ultrascale+ MPSoC support"
    	depends on ARM_64
    	select MPSOC_PLATFORM
    	---help---
    	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
endchoice

config QEMU_PLATFORM
	bool
	select GICV3
	select HAS_PL011

config RCAR3_PLATFORM
	bool
	select HAS_SCIF

config MPSOC_PLATFORM
	bool
	select HAS_CADENCE_UART
	select ARM_SMMU


This looks like the best way forward and would solve all issues.

[-- Attachment #2: Type: text/plain, Size: 157 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs
  2018-06-01 20:51     ` Stefano Stabellini
@ 2018-06-04 15:58       ` Julien Grall
  0 siblings, 0 replies; 30+ messages in thread
From: Julien Grall @ 2018-06-04 15:58 UTC (permalink / raw)
  To: Stefano Stabellini, Julien Grall
  Cc: artem_mygaiev, lars.kurth, andrii_anisov, xen-devel, dfaggioli,
	volodymyr_babchuk



On 06/01/2018 09:51 PM, Stefano Stabellini wrote:
> On Fri, 1 Jun 2018, Julien Grall wrote:
>> Hi Stefano,
>> Sorry for formatting.
>>
>> On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org> wrote:
>>        Add a "Platform Support" menu with three umbrella kconfig options: QEMU,
>>        RCAR3 and MPSOC. They enable the required options for their hardware
>>        platform.
>>
>>
>> This patch is nothing close to what we discussed. As far as I can tell, the tiny.config will end up to select all the platforms
>> with their driver. It will not be possible to deselect the driver selected for a platform afterwards.
>>
>> I still think the best if providing a choice list where only one option can be selected. I would like to understand why you
>> didn't go this path.
> 
> Yes, sorry, I didn't explain why I did this and what I told you on the
> call was wrong, adding to the confusion.
> 
> First, it is true that `make olddefconfig' is run automatically on any
> make target.
> 
> Except for `make menuconfig', that's special. If you copy a partial
> config (like tiny.config) to .config, then execute `make menuconfig',
> the menu gets automatically populated with the missing values using
> defaults (as if olddefconfig was run), but it won't automatically save
> them to file (fortunately!!).  That means that all the platform options
> below (QEMU, RCAR3, MPSOC) will show as selected in the menu, but if the
> user deselects two of them, for instance QEMU and RCAR3, the result is
> that *only* MPSOC and related options will be written down to the
> .config.
> 
> The kconfig infrastructure is not as bad as I initially thought :-)
> In short, the following steps work:
> 
> - copy tiny.config to .config
> - make menuconfig -> deselect QEMU and RCAR3, save .config

IHMO, this is really fragile. As you said most of the command will run 
"make oldconfig" automatically. This is also quite natural for a Linux 
user to do a "make oldconfig" after copying the .config.

So I think we should be able to cater everyone here rather than one 
"odd" solution. You seem to have misunderstood my suggestion on previous 
version. I answered there and would appreciate if you have another look.

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

* Re: [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS
  2018-06-01 20:53     ` Stefano Stabellini
@ 2018-06-04 16:07       ` Julien Grall
  0 siblings, 0 replies; 30+ messages in thread
From: Julien Grall @ 2018-06-04 16:07 UTC (permalink / raw)
  To: Stefano Stabellini, Julien Grall
  Cc: artem_mygaiev, lars.kurth, andrii_anisov, andrew.cooper3,
	dfaggioli, JBeulich, xen-devel

Hi Stefano,

On 06/01/2018 09:53 PM, Stefano Stabellini wrote:
> On Fri, 1 Jun 2018, Julien Grall wrote:
>> Hi,
>> Sorry for the formatting. I am pretty sure you need to CC "THE REST" here.
>>
>> On Thu, 31 May 2018, 22:50 Stefano Stabellini, <sstabellini@kernel.org> wrote:
>>        Add specific per-platform defaults for NR_CPUS. Note that the order of
>>        the defaults matter: they need to go first, otherwise the generic
>>        defaults will be applied.
>>
>>        This is done so that Xen builds customized for a specific hardware
>>        platform can have the right NR_CPUS number.
>>
>>        Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
>>        CC: JBeulich@suse.com
>>        CC: andrew.cooper3@citrix.com
>>        ---
>>         xen/arch/Kconfig | 3 +++
>>         1 file changed, 3 insertions(+)
>>
>>        diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
>>        index cf0acb7..d451eb8 100644
>>        --- a/xen/arch/Kconfig
>>        +++ b/xen/arch/Kconfig
>>        @@ -2,6 +2,9 @@
>>         config NR_CPUS
>>                int "Maximum number of physical CPUs"
>>                range 1 4095
>>        +       default "8" if ARM && RCAR3
>>        +       default "4" if ARM && QEMU
>>        +       default "4" if ARM && MPSOC
>>                default "256" if X86
>>                default "128" if ARM
>>                ---help---
>>
>>
>> But I am not sure how this will work as with this series you can select multiple platforms in on Kconfig. What will be the end
>> result?
> 
> The end result is the first default that applies. In this case, if
> RCAR3, QEMU and MPSOC are all selected, then NR_CPUS would be set to
> 8, which is actually what one would want if she is trying to build Xen
> for these three platforms, but it is not what one would want if she was
> trying to build a generic Xen config for distros.
> 
> This is not great.
> 
> The option list you suggested could help solve the NR_CPUS issue, see
> below.
> 
> 
>> Anyway, as I mention the way to go is a option list with only one possible choice.
> 
> I am OK with an option list, the issue that we cannot have an ALL option
> in the list that selects the other options as I wrote previously. For
> instance, the following is NOT allowed:
> 
> config ALL
> 	bool "All Platforms"
> 	select MPSOC

Well, what you describe is not my suggestion. I specifically mention two 
config per board (PLATFORM_FOO and FOO) to handle the recursive problem.

Also, as I said previously the purpose of ALL is not to select all the 
required drivers. But let the user select the drivers while still 
include all source in platforms/*.c.

The reason for that is if you impose to select all the board with the 
driver, there will be no way to disable them.

> 
> However, having CONFIG_ALL would solve the NR_CPUS problem because we
> could do:
> 
> config NR_CPUS
>      default "128" if ARM && ALL
> 	default "8" if ARM && RCAR3
> 	default "4" if ARM && QEMU
> 	default "4" if ARM && MPSOC
> 	default "128" if ARM
> 
> Which would give us exactly the default we want for NR_CPUS.
> 
> So I agree that we should turn platform support into an option list and
> we should also add an ALL option to solve the NR_CPUS problem.
> 
> If we do that, the remaining problem is how to implement ALL. I found a
> workaround for the kconfig issue described above. The following works
> correctly:
> 
> choice
> 	prompt "Platform Support"
> 	default ALL
> 	---help---
> 	Choose Xen support for different hardware platforms.
> 
>      config ALL
>      	bool "All Platforms"
>      	select MPSOC_PLATFORM
>      	select QEMU_PLATFORM
>      	select RCAR3_PLATFORM
>      	---help---
>      	Enable support for all platforms.
>      
>      config QEMU
>      	bool "QEMU aarch virt machine support"
>      	depends on ARM_64
>      	select QEMU_PLATFORM
>      	---help---
>      	Enable all the required drivers for QEMU aarch64 virt emulated
>      	machine.
>      
>      config RCAR3
>      	bool "Renesas RCar3 support"
>      	depends on ARM_64
>      	select RCAR3_PLATFORM
>      	---help---
>      	Enable all the required drivers for Renesas RCar3
>      
>      config MPSOC
>      	bool "Xilinx Ultrascale+ MPSoC support"
>      	depends on ARM_64
>      	select MPSOC_PLATFORM
>      	---help---
>      	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
> endchoice
> 
> config QEMU_PLATFORM
> 	bool
> 	select GICV3
> 	select HAS_PL011
> 
> config RCAR3_PLATFORM
> 	bool
> 	select HAS_SCIF
> 
> config MPSOC_PLATFORM
> 	bool
> 	select HAS_CADENCE_UART
> 	select ARM_SMMU
> 
> 
> This looks like the best way forward and would solve all issues.

This is similar to what I suggested with a twist. With your solution it 
is not possible for a config selecting ALL to disable the unwanted 
drivers. Imagine someone that wants GICV2 but not GICV3.

What you want to do is:

choice
	prompt "Platform Support"
  	default ALL
  	---help---
  	Choose Xen support for different hardware platforms.

       config ALL
       bool "Custom"
       	select MPSOC_PLATFORM
       	select QEMU_PLATFORM
       	select RCAR3_PLATFORM
       	---help---
       	Support for any platform. The user can unselect/unselect drivers

      config QEMU
      	bool "QEMU aarch virt machine support"
       	depends on ARM_64
       	select QEMU_PLATFORM
	select GICV3
	select HAS_PL011
       	---help---
       	Enable all the required drivers for QEMU aarch64 virt emulated
       	machine.

       config RCAR3
      	bool "Renesas RCar3 support"
       	depends on ARM_64
       	select RCAR3_PLATFORM
	select HAS_SCIF
       	---help---
       	Enable all the required drivers for Renesas RCar3

      config MPSOC
       	bool "Xilinx Ultrascale+ MPSoC support"
       	depends on ARM_64
      	select MPSOC_PLATFORM
	select HAS_CADENCE_UART
	select ARM_SMMU
      	---help---
      	Enable all the required drivers for Xilinx Ultrascale+ MPSoC
endchoice

config QEMU_PLATFORM
  	bool

config RCAR3_PLATFORM
	bool
	select HAS_SCIF

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-06-04 16:07 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-31 21:48 [PATCH v4 0/10] arm: more kconfig configurability and small default configs Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 01/10] arm: remove the ARM HDLCD driver Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 02/10] arm: make it possible to disable HAS_GICV3 Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 03/10] arm: rename HAS_GICV3 to GICV3 Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 04/10] Make MEM_ACCESS configurable Stefano Stabellini
2018-06-01 10:52   ` Jan Beulich
2018-06-01 15:24     ` Stefano Stabellini
2018-06-01 15:42       ` Jan Beulich
2018-05-31 21:48 ` [PATCH v4 05/10] make it possible to enable/disable UART drivers Stefano Stabellini
2018-06-01 10:54   ` Jan Beulich
2018-06-01 15:28     ` Stefano Stabellini
2018-06-01 15:44       ` Jan Beulich
2018-05-31 21:48 ` [PATCH v4 06/10] arm: make it possible to disable the SMMU driver Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 07/10] arm: add a tiny kconfig configuration Stefano Stabellini
2018-06-01  2:39   ` Julien Grall
2018-06-01 20:51     ` Stefano Stabellini
2018-05-31 21:48 ` [PATCH v4 08/10] arm: add QEMU, Rcar3 and MPSoC configs Stefano Stabellini
2018-06-01  2:45   ` Julien Grall
2018-06-01 20:51     ` Stefano Stabellini
2018-06-04 15:58       ` Julien Grall
2018-06-01 11:38   ` Volodymyr Babchuk
2018-05-31 21:48 ` [PATCH v4 09/10] xen: add cloc target Stefano Stabellini
2018-06-01 10:57   ` Jan Beulich
2018-05-31 21:48 ` [PATCH v4 10/10] xen: add per-platform defaults for NR_CPUS Stefano Stabellini
2018-06-01  2:49   ` Julien Grall
2018-06-01 20:53     ` Stefano Stabellini
2018-06-04 16:07       ` Julien Grall
2018-06-01 10:59   ` Jan Beulich
2018-06-01 20:52     ` Stefano Stabellini
2018-06-01 19:17 ` [PATCH v4 0/10] arm: more kconfig configurability and small default configs Doug Goldstein

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.