From: Jan Beulich Date: Fri, 18 Feb 2022 13:45:14 +0000 (+0100) Subject: video/vesa: drop "vesa-mtrr" command line option X-Git-Tag: archive/raspbian/4.17.0-1+rpi1^2~33^2~1010 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6ba701064227c6a4baa64d377e1ad869452f7fb6;p=xen.git video/vesa: drop "vesa-mtrr" command line option Now that we use ioremap_wc() for mapping the frame buffer, there's no need for this option anymore. As noted in the change introducing the use of ioremap_wc(), mtrr_add() didn't work in certain cases anyway. Signed-off-by: Jan Beulich Acked-by: Andrew Cooper --- diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c0cd88cdf..9f596eac3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD +### Removed / support downgraded + - dropped support for the (x86-only) "vesa-mtrr" command line option + ## [4.16.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - 2021-12-02 ### Removed diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc index 1ca817f5e1..a64aa5e841 100644 --- a/docs/misc/xen-command-line.pandoc +++ b/docs/misc/xen-command-line.pandoc @@ -2492,9 +2492,6 @@ cache-warming. 1ms (1000) has been measured as a good value. ### vesa-map > `= ` -### vesa-mtrr -> `= ` - ### vesa-ram > `= ` diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h index 7dc03b6b8d..21037b7f31 100644 --- a/xen/arch/x86/include/asm/setup.h +++ b/xen/arch/x86/include/asm/setup.h @@ -28,10 +28,8 @@ void init_IRQ(void); #ifdef CONFIG_VIDEO void vesa_init(void); -void vesa_mtrr_init(void); #else static inline void vesa_init(void) {}; -static inline void vesa_mtrr_init(void) {}; #endif int construct_dom0( diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c index 624b53ded4..2f6e10d0cf 100644 --- a/xen/arch/x86/setup.c +++ b/xen/arch/x86/setup.c @@ -1808,8 +1808,6 @@ void __init noreturn __start_xen(unsigned long mbi_p) local_irq_enable(); - vesa_mtrr_init(); - early_msi_init(); iommu_setup(); /* setup iommu if available */ diff --git a/xen/drivers/video/vesa.c b/xen/drivers/video/vesa.c index b9bdfc1670..5cc37f0171 100644 --- a/xen/drivers/video/vesa.c +++ b/xen/drivers/video/vesa.c @@ -145,38 +145,6 @@ void __init vesa_init(void) video_puts = lfb_redraw_puts; } -#include - -static unsigned int vesa_mtrr; -integer_param("vesa-mtrr", vesa_mtrr); - -void __init vesa_mtrr_init(void) -{ - static const int mtrr_types[] = { - 0, MTRR_TYPE_UNCACHABLE, MTRR_TYPE_WRBACK, - MTRR_TYPE_WRCOMB, MTRR_TYPE_WRTHROUGH }; - unsigned int size_total; - int rc, type; - - if ( !lfb || (vesa_mtrr == 0) || (vesa_mtrr >= ARRAY_SIZE(mtrr_types)) ) - return; - - type = mtrr_types[vesa_mtrr]; - if ( !type ) - return; - - /* Find the largest power-of-two */ - size_total = vram_total; - while ( size_total & (size_total - 1) ) - size_total &= size_total - 1; - - /* Try and find a power of two to add */ - do { - rc = mtrr_add(lfb_base(), size_total, type, 1); - size_total >>= 1; - } while ( (size_total >= PAGE_SIZE) && (rc == -EINVAL) ); -} - static void lfb_flush(void) { __asm__ __volatile__ ("sfence" : : : "memory");