From: Stefano Stabellini Date: Tue, 8 Nov 2016 19:42:42 +0000 (-0800) Subject: Revert "xen/arm: platform: Drop the quirks callback" X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~108 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=79c9f5ef82b6964f03fa0171c23a73d00bc971c5;p=xen.git Revert "xen/arm: platform: Drop the quirks callback" This reverts commit 14fa16961b03a23e9b883e5f0ed06b6837a489d8. Do not reintroduce platform_dom0_evtchn_ppi. Signed-off-by: Stefano Stabellini Acked-by: Julien Grall Release-acked-by: Wei Liu --- diff --git a/xen/arch/arm/platform.c b/xen/arch/arm/platform.c index b0bfaa9ea0..0af6d57bfe 100644 --- a/xen/arch/arm/platform.c +++ b/xen/arch/arm/platform.c @@ -127,6 +127,16 @@ void platform_poweroff(void) platform->poweroff(); } +bool_t platform_has_quirk(uint32_t quirk) +{ + uint32_t quirks = 0; + + if ( platform && platform->quirks ) + quirks = platform->quirks(); + + return !!(quirks & quirk); +} + bool_t platform_device_is_blacklisted(const struct dt_device_node *node) { const struct dt_device_match *blacklist = NULL; diff --git a/xen/include/asm-arm/platform.h b/xen/include/asm-arm/platform.h index f97315db84..c6e5010bc9 100644 --- a/xen/include/asm-arm/platform.h +++ b/xen/include/asm-arm/platform.h @@ -26,6 +26,12 @@ struct platform_desc { void (*reset)(void); /* Platform power-off */ void (*poweroff)(void); + /* + * Platform quirks + * Defined has a function because a platform can support multiple + * board with different quirk on each + */ + uint32_t (*quirks)(void); /* * Platform blacklist devices * List of devices which must not pass-through to a guest @@ -42,6 +48,7 @@ int platform_cpu_up(int cpu); #endif void platform_reset(void); void platform_poweroff(void); +bool_t platform_has_quirk(uint32_t quirk); bool_t platform_device_is_blacklisted(const struct dt_device_node *node); #define PLATFORM_START(_name, _namestr) \