lkml.org 
[lkml]   [2021]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 1/3] xen: check required Xen features
    Date
    Linux kernel is not supported to run on Xen versions older than 4.0.

    Add tests for required Xen features always being present in Xen 4.0
    and newer.

    Signed-off-by: Juergen Gross <jgross@suse.com>
    ---
    drivers/xen/features.c | 18 ++++++++++++++++++
    1 file changed, 18 insertions(+)

    diff --git a/drivers/xen/features.c b/drivers/xen/features.c
    index 25c053b09605..60503299c9bc 100644
    --- a/drivers/xen/features.c
    +++ b/drivers/xen/features.c
    @@ -9,13 +9,26 @@
    #include <linux/types.h>
    #include <linux/cache.h>
    #include <linux/export.h>
    +#include <linux/printk.h>

    #include <asm/xen/hypercall.h>

    +#include <xen/xen.h>
    #include <xen/interface/xen.h>
    #include <xen/interface/version.h>
    #include <xen/features.h>

    +/*
    + * Linux kernel expects at least Xen 4.0.
    + *
    + * Assume some features to be available for that reason (depending on guest
    + * mode, of course).
    + */
    +#define chk_feature(f) { \
    + if (!xen_feature(f)) \
    + pr_err("Xen: feature %s not available!\n", #f); \
    + }
    +
    u8 xen_features[XENFEAT_NR_SUBMAPS * 32] __read_mostly;
    EXPORT_SYMBOL_GPL(xen_features);

    @@ -31,4 +44,9 @@ void xen_setup_features(void)
    for (j = 0; j < 32; j++)
    xen_features[i * 32 + j] = !!(fi.submap & 1<<j);
    }
    +
    + if (xen_pv_domain()) {
    + chk_feature(XENFEAT_mmu_pt_update_preserve_ad);
    + chk_feature(XENFEAT_gnttab_map_avail_bits);
    + }
    }
    --
    2.26.2
    \
     
     \ /
      Last update: 2021-04-22 17:11    [W:2.994 / U:0.336 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site