video/vesa: drop "vesa-mtrr" command line option
authorJan Beulich <jbeulich@suse.com>
Fri, 18 Feb 2022 13:45:14 +0000 (14:45 +0100)
committerJan Beulich <jbeulich@suse.com>
Fri, 18 Feb 2022 13:45:14 +0000 (14:45 +0100)
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 <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
CHANGELOG.md
docs/misc/xen-command-line.pandoc
xen/arch/x86/include/asm/setup.h
xen/arch/x86/setup.c
xen/drivers/video/vesa.c

index 6c0cd88cdf441c4248301158b5605ba6b16ce258..9f596eac3eaee09b473667f823376e7fa5178b0b 100644 (file)
@@ -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
index 1ca817f5e1b97653db19d9d24c86d7981a71f1e3..a64aa5e841640a8a7cc5654d4fd3b9945892bbdc 100644 (file)
@@ -2492,9 +2492,6 @@ cache-warming. 1ms (1000) has been measured as a good value.
 ### vesa-map
 > `= <integer>`
 
-### vesa-mtrr
-> `= <integer>`
-
 ### vesa-ram
 > `= <integer>`
 
index 7dc03b6b8d022c53c35e6918b3256f36b1cf6d30..21037b7f3139f5c75c27d6b3c58a695d033abde9 100644 (file)
@@ -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(
index 624b53ded4f65d2564e3dd6fd1324297b62daa4a..2f6e10d0cf77adb53cc3c54068f21309d55a3696 100644 (file)
@@ -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 */
index b9bdfc167017fe0290587d073b99f0deb81ef276..5cc37f0171e3b0eaba38c534cff67250bcc9cb00 100644 (file)
@@ -145,38 +145,6 @@ void __init vesa_init(void)
     video_puts = lfb_redraw_puts;
 }
 
-#include <asm/mtrr.h>
-
-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");