From: Borislav Petkov <bp@alien8.de> To: Ingo Molnar <mingo@kernel.org> Cc: X86-ML <x86@kernel.org>, LKML <linux-kernel@vger.kernel.org> Subject: [PATCH 11/18] x86/mtrr: Generalize runtime disabling of MTRRs Date: Tue, 26 May 2015 10:28:14 +0200 Message-ID: <1432628901-18044-12-git-send-email-bp@alien8.de> (raw) In-Reply-To: <1432628901-18044-1-git-send-email-bp@alien8.de> From: "Luis R. Rodriguez" <mcgrof@suse.com> It is possible to enable CONFIG_MTRR and CONFIG_X86_PAT and end up with a system with MTRR functionality disabled but PAT functionality enabled. This can happen, for instance, when the Xen hypervisor is used where MTRRs are not supported but PAT is. This can happen on Linux as of commit 47591df50512 ("xen: Support Xen pv-domains using PAT") by Juergen, introduced in v3.19. Technically, we should assume the proper CPU bits would be set to disable MTRRs but we can't always rely on this. At least on the Xen Hypervisor, for instance, only X86_FEATURE_MTRR was disabled as of Xen 4.4 through Xen commit 586ab6a [0], but not X86_FEATURE_K6_MTRR, X86_FEATURE_CENTAUR_MCR, or X86_FEATURE_CYRIX_ARR for instance. Roger Pau Monné has clarified though that although this is technically true we will never support PVH on these CPU types so Xen has no need to disable these bits on those systems. As per Roger, AMD K6, Centaur and VIA chips don't have the necessary hardware extensions to allow running PVH guests [1]. As per Toshi it is also possible for the BIOS to disable MTRR support, in such cases get_mtrr_state() would update the MTRR state as per the BIOS, we need to propagate this information as well. x86 MTRR code relies on quite a bit of checks for mtrr_if being set to check to see if MTRRs did get set up. Instead, lets provide a generic getter for that. This also adds a few checks where they were not before which could potentially safeguard ourselves against incorrect usage of MTRR where this was not desirable. Where possible match error codes as if MTRRs were disabled on arch/x86/include/asm/mtrr.h. Lastly, since disabling MTRRs can happen at run time and we could end up with PAT enabled, best record now in our logs when MTRRs are disabled. [0] ~/devel/xen (git::stable-4.5)$ git describe --contains 586ab6a 4.4.0-rc1~18 [1] http://lists.xenproject.org/archives/html/xen-devel/2015-03/msg03460.html Signed-off-by: Luis R. Rodriguez <mcgrof@suse.com> Cc: Roger Pau Monné <roger.pau@citrix.com> Cc: Toshi Kani <toshi.kani@hp.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Suresh Siddha <sbsiddha@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Juergen Gross <jgross@suse.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: Dave Airlie <airlied@redhat.com> Cc: Antonino Daplas <adaplas@gmail.com> Cc: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com> Cc: Tomi Valkeinen <tomi.valkeinen@ti.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: venkatesh.pallipadi@intel.com Cc: Stefan Bader <stefan.bader@canonical.com> Cc: Ville Syrjälä <syrjala@sci.fi> Cc: Mel Gorman <mgorman@suse.de> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Davidlohr Bueso <dbueso@suse.de> Cc: konrad.wilk@oracle.com Cc: ville.syrjala@linux.intel.com Cc: david.vrabel@citrix.com Cc: jbeulich@suse.com Cc: toshi.kani@hp.com Cc: bhelgaas@google.com Cc: xen-devel@lists.xensource.com Link: http://lkml.kernel.org/r/1426893517-2511-3-git-send-email-mcgrof@do-not-panic.com Signed-off-by: Borislav Petkov <bp@suse.de> --- arch/x86/kernel/cpu/mtrr/generic.c | 4 +++- arch/x86/kernel/cpu/mtrr/main.c | 39 ++++++++++++++++++++++++++++++-------- arch/x86/kernel/cpu/mtrr/mtrr.h | 2 +- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c index f782d9b62cb3..3b533cf37c74 100644 --- a/arch/x86/kernel/cpu/mtrr/generic.c +++ b/arch/x86/kernel/cpu/mtrr/generic.c @@ -445,7 +445,7 @@ static void __init print_mtrr_state(void) } /* Grab all of the MTRR state for this CPU into *state */ -void __init get_mtrr_state(void) +bool __init get_mtrr_state(void) { struct mtrr_var_range *vrs; unsigned long flags; @@ -489,6 +489,8 @@ void __init get_mtrr_state(void) post_set(); local_irq_restore(flags); + + return !!(mtrr_state.enabled & MTRR_STATE_MTRR_ENABLED); } /* Some BIOS's are messed up and don't set all MTRRs the same! */ diff --git a/arch/x86/kernel/cpu/mtrr/main.c b/arch/x86/kernel/cpu/mtrr/main.c index 81baf5fee0e1..383efb26e516 100644 --- a/arch/x86/kernel/cpu/mtrr/main.c +++ b/arch/x86/kernel/cpu/mtrr/main.c @@ -59,6 +59,12 @@ #define MTRR_TO_PHYS_WC_OFFSET 1000 u32 num_var_ranges; +static bool __mtrr_enabled; + +static bool mtrr_enabled(void) +{ + return __mtrr_enabled; +} unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES]; static DEFINE_MUTEX(mtrr_mutex); @@ -286,7 +292,7 @@ int mtrr_add_page(unsigned long base, unsigned long size, int i, replace, error; mtrr_type ltype; - if (!mtrr_if) + if (!mtrr_enabled()) return -ENXIO; error = mtrr_if->validate_add_page(base, size, type); @@ -435,6 +441,8 @@ static int mtrr_check(unsigned long base, unsigned long size) int mtrr_add(unsigned long base, unsigned long size, unsigned int type, bool increment) { + if (!mtrr_enabled()) + return -ENODEV; if (mtrr_check(base, size)) return -EINVAL; return mtrr_add_page(base >> PAGE_SHIFT, size >> PAGE_SHIFT, type, @@ -463,8 +471,8 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size) unsigned long lbase, lsize; int error = -EINVAL; - if (!mtrr_if) - return -ENXIO; + if (!mtrr_enabled()) + return -ENODEV; max = num_var_ranges; /* No CPU hotplug when we change MTRR entries */ @@ -523,6 +531,8 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size) */ int mtrr_del(int reg, unsigned long base, unsigned long size) { + if (!mtrr_enabled()) + return -ENODEV; if (mtrr_check(base, size)) return -EINVAL; return mtrr_del_page(reg, base >> PAGE_SHIFT, size >> PAGE_SHIFT); @@ -548,7 +558,7 @@ int arch_phys_wc_add(unsigned long base, unsigned long size) { int ret; - if (pat_enabled) + if (pat_enabled || !mtrr_enabled()) return 0; /* Success! (We don't need to do anything.) */ ret = mtrr_add(base, size, MTRR_TYPE_WRCOMB, true); @@ -737,10 +747,12 @@ void __init mtrr_bp_init(void) } if (mtrr_if) { + __mtrr_enabled = true; set_num_var_ranges(); init_table(); if (use_intel()) { - get_mtrr_state(); + /* BIOS may override */ + __mtrr_enabled = get_mtrr_state(); if (mtrr_cleanup(phys_addr)) { changed_by_mtrr_cleanup = 1; @@ -748,10 +760,16 @@ void __init mtrr_bp_init(void) } } } + + if (!mtrr_enabled()) + pr_info("MTRR: Disabled\n"); } void mtrr_ap_init(void) { + if (!mtrr_enabled()) + return; + if (!use_intel() || mtrr_aps_delayed_init) return; /* @@ -777,6 +795,9 @@ void mtrr_save_state(void) { int first_cpu; + if (!mtrr_enabled()) + return; + get_online_cpus(); first_cpu = cpumask_first(cpu_online_mask); smp_call_function_single(first_cpu, mtrr_save_fixed_ranges, NULL, 1); @@ -785,6 +806,8 @@ void mtrr_save_state(void) void set_mtrr_aps_delayed_init(void) { + if (!mtrr_enabled()) + return; if (!use_intel()) return; @@ -796,7 +819,7 @@ void set_mtrr_aps_delayed_init(void) */ void mtrr_aps_init(void) { - if (!use_intel()) + if (!use_intel() || !mtrr_enabled()) return; /* @@ -813,7 +836,7 @@ void mtrr_aps_init(void) void mtrr_bp_restore(void) { - if (!use_intel()) + if (!use_intel() || !mtrr_enabled()) return; mtrr_if->set_all(); @@ -821,7 +844,7 @@ void mtrr_bp_restore(void) static int __init mtrr_init_finialize(void) { - if (!mtrr_if) + if (!mtrr_enabled()) return 0; if (use_intel()) { diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.h b/arch/x86/kernel/cpu/mtrr/mtrr.h index df5e41f31a27..951884dcc433 100644 --- a/arch/x86/kernel/cpu/mtrr/mtrr.h +++ b/arch/x86/kernel/cpu/mtrr/mtrr.h @@ -51,7 +51,7 @@ void set_mtrr_prepare_save(struct set_mtrr_context *ctxt); void fill_mtrr_var_range(unsigned int index, u32 base_lo, u32 base_hi, u32 mask_lo, u32 mask_hi); -void get_mtrr_state(void); +bool get_mtrr_state(void); extern void set_mtrr_ops(const struct mtrr_ops *ops); -- 1.9.0.258.g00eda23
next prev parent reply index Thread overview: 400+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-05-26 8:28 [PATCH 00/18] tip queue 2015-05-26 Borislav Petkov 2015-05-26 8:28 ` [PATCH 01/18] x86/kconfig: Simplify conditions for HAVE_ARCH_HUGE_VMAP Borislav Petkov 2015-05-27 14:17 ` [tip:x86/mm] x86/mm/kconfig: " tip-bot for Toshi Kani 2015-05-26 8:28 ` [PATCH 02/18] x86/mtrr: Fix MTRR lookup to handle an inclusive entry Borislav Petkov 2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani 2015-05-26 8:28 ` [PATCH 03/18] x86/mtrr: Fix MTRR state checks in mtrr_type_lookup() Borislav Petkov 2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani 2015-05-26 8:28 ` [PATCH 04/18] x86/mtrr: Use symbolic define as a retval for disabled MTRRs Borislav Petkov 2015-05-27 14:18 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani 2015-05-26 8:28 ` [PATCH 05/18] x86/mtrr: Clean up mtrr_type_lookup() Borislav Petkov 2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani 2015-07-31 13:18 ` Peter Zijlstra 2015-07-31 14:44 ` Borislav Petkov 2015-07-31 15:08 ` Peter Zijlstra 2015-07-31 15:27 ` Borislav Petkov 2015-08-01 14:28 ` Luis R. Rodriguez 2015-08-01 16:33 ` Borislav Petkov 2015-08-01 16:39 ` Linus Torvalds 2015-08-01 16:49 ` Borislav Petkov 2015-08-01 17:03 ` Linus Torvalds 2015-05-26 8:28 ` [PATCH 06/18] x86/process: Drop repeated word from comment Borislav Petkov 2015-05-27 14:16 ` [tip:sched/core] sched/x86: Drop repeated word from mwait_idle() comment tip-bot for Huang Rui 2015-05-26 8:28 ` [PATCH 07/18] x86/mm: Enhance MTRR checks in kernel mapping helpers Borislav Petkov 2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr: " tip-bot for Toshi Kani 2015-05-26 8:28 ` [PATCH 08/18] x86/mm/pat: Convert to pr_* usage Borislav Petkov 2015-05-27 14:19 ` [tip:x86/mm] x86/mm/pat: Convert to pr_*() usage tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` [PATCH 09/18] x86: Document Write Combining MTRR type effects on PAT / non-PAT pages Borislav Petkov 2015-05-27 14:19 ` [tip:x86/mm] x86/mm/mtrr, pat: " tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` [PATCH 10/18] x86/mtrr: Avoid ifdeffery with phys_wc_to_mtrr_index() Borislav Petkov 2015-05-27 14:20 ` [tip:x86/mm] x86/mm/mtrr: Avoid #ifdeffery " tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` Borislav Petkov [this message] 2015-05-27 14:20 ` [tip:x86/mm] x86/mm/mtrr: Generalize runtime disabling of MTRRs tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` [PATCH 12/18] x86/mm/pat: Wrap pat_enabled Borislav Petkov 2015-05-27 14:20 ` [tip:x86/mm] x86/mm/pat: Wrap pat_enabled into a function API tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` [PATCH 13/18] x86/mm/pat: Export pat_enabled() Borislav Petkov 2015-05-27 14:21 ` [tip:x86/mm] " tip-bot for Luis R. Rodriguez 2015-05-26 8:28 ` [PATCH 14/18] x86/cpu: Strip any /proc/cpuinfo model name field whitespace Borislav Petkov 2015-05-27 14:16 ` [tip:x86/cpu] x86/cpu: Strip any /proc/ cpuinfo " tip-bot for Prarit Bhargava 2015-05-27 17:07 ` Joe Perches 2015-05-27 19:06 ` Borislav Petkov 2015-05-27 19:16 ` Joe Perches 2015-05-28 11:27 ` Prarit Bhargava 2015-05-28 11:32 ` Borislav Petkov 2015-05-28 12:58 ` Borislav Petkov 2015-05-28 16:57 ` H. Peter Anvin 2015-05-28 18:33 ` Borislav Petkov 2015-05-28 20:39 ` H. Peter Anvin 2015-05-26 8:28 ` [PATCH 15/18] x86/documentation: Move kernel-stacks doc one level up Borislav Petkov 2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: " tip-bot for Borislav Petkov 2015-05-26 8:28 ` [PATCH 16/18] x86/documentation: Remove STACKFAULT_STACK bulletpoint Borislav Petkov 2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: " tip-bot for Borislav Petkov 2015-05-26 8:28 ` [PATCH 17/18] x86/documentation: Adapt Ingo's explanation on printing backtraces Borislav Petkov 2015-05-26 8:28 ` [PATCH 18/18] x86/mce: Fix monarch timeout setting through the mce= cmdline option Borislav Petkov 2015-06-07 17:39 ` [tip:x86/core] " tip-bot for Xie XiuQi -- strict thread matches above, loose matches on Subject: below -- 2015-05-20 11:22 [PATCH] mce: fix fail to set 'monarchtimeout' via boot option Xie XiuQi 2015-05-20 17:43 ` Borislav Petkov 2015-05-21 1:00 ` Xie XiuQi 2015-05-19 15:43 [PATCH] x86, cpuinfo x86_model_id whitespace cleanup Prarit Bhargava 2015-05-19 16:56 ` Borislav Petkov 2015-05-19 17:25 ` Brian Gerst 2015-05-19 18:13 ` Borislav Petkov 2015-05-19 18:44 ` Andy Lutomirski 2015-05-19 19:22 ` Borislav Petkov 2015-05-19 20:16 ` Andy Lutomirski 2015-05-19 20:26 ` Joe Perches 2015-05-19 20:28 ` Joe Perches 2015-05-19 20:31 ` Borislav Petkov 2015-05-19 22:17 ` Prarit Bhargava 2015-05-27 17:18 ` H. Peter Anvin 2015-05-20 6:34 ` Ingo Molnar 2015-05-20 10:15 ` Prarit Bhargava 2015-06-02 8:42 ` [tip:x86/cpu] x86/cpu: Trim model ID whitespace tip-bot for Borislav Petkov 2015-05-19 8:01 [RFC PATCH 0/4] x86, mwaitt: introduce AMD mwaitt support Huang Rui 2015-05-19 8:01 ` [RFC PATCH 1/4] x86, mwaitt: add monitorx and mwaitx instruction Huang Rui 2015-05-19 11:29 ` Borislav Petkov 2015-05-21 8:54 ` Huang Rui 2015-05-21 9:35 ` Borislav Petkov 2015-05-19 8:01 ` [RFC PATCH 2/4] x86, mwaitt: introduce mwaitx idle with a configurable timer Huang Rui 2015-05-19 11:31 ` Borislav Petkov 2015-05-20 8:55 ` Ingo Molnar 2015-05-20 9:12 ` Borislav Petkov 2015-05-20 10:22 ` Ingo Molnar 2015-05-20 10:50 ` Borislav Petkov 2015-05-20 11:11 ` Ingo Molnar 2015-05-20 11:21 ` Borislav Petkov 2015-05-20 11:41 ` Ingo Molnar 2015-05-20 13:20 ` Thomas Gleixner 2015-05-20 14:51 ` Ingo Molnar 2015-05-20 15:55 ` One Thousand Gnomes 2015-05-20 16:07 ` Borislav Petkov 2015-05-20 19:12 ` Thomas Gleixner 2015-05-20 20:15 ` Borislav Petkov 2015-05-21 14:56 ` Huang Rui 2015-05-21 16:02 ` Borislav Petkov 2015-05-21 16:45 ` Andy Lutomirski 2015-05-21 17:08 ` Borislav Petkov 2015-05-21 17:12 ` Andy Lutomirski 2015-05-21 19:30 ` Thomas Gleixner 2015-05-21 14:32 ` Huang Rui 2015-05-25 2:42 ` Huang Rui 2015-05-25 10:43 ` Ingo Molnar 2015-05-21 14:15 ` Huang Rui 2015-05-21 13:26 ` Huang Rui 2015-05-21 1:34 ` Andy Lutomirski 2015-05-21 5:48 ` Andy Lutomirski 2015-05-27 1:01 ` Andy Lutomirski 2015-05-27 11:30 ` Borislav Petkov 2015-05-21 9:41 ` Thomas Gleixner 2015-05-19 8:01 ` [RFC PATCH 3/4] x86, mwaitt: add document to describe mwaitx Huang Rui 2015-05-19 8:01 ` [RFC PATCH 4/4] x86, mwait: fix redundant comment Huang Rui 2015-05-19 9:40 ` Borislav Petkov 2015-05-19 8:57 ` [RFC PATCH 0/4] x86, mwaitt: introduce AMD mwaitt support Borislav Petkov 2015-05-19 9:44 ` Huang Rui 2015-05-18 16:34 [PATCH v4 0/3] Compile-time stack frame pointer validation Josh Poimboeuf 2015-05-18 16:34 ` [PATCH v4 1/3] x86, stackvalidate: " Josh Poimboeuf 2015-05-18 16:34 ` [PATCH v4 2/3] x86: Make push/pop CFI macros arch-independent Josh Poimboeuf 2015-05-18 16:34 ` [PATCH v4 3/3] x86, stackvalidate: Add asm frame pointer setup macros Josh Poimboeuf 2015-05-20 10:33 ` [PATCH v4 0/3] Compile-time stack frame pointer validation Ingo Molnar 2015-05-20 14:13 ` Josh Poimboeuf 2015-05-20 14:48 ` Ingo Molnar 2015-05-20 15:51 ` Josh Poimboeuf 2015-05-20 16:09 ` Josh Poimboeuf 2015-05-20 16:03 ` Andy Lutomirski 2015-05-20 16:25 ` Josh Poimboeuf 2015-05-20 16:39 ` Andy Lutomirski 2015-05-20 16:52 ` Borislav Petkov 2015-05-21 10:16 ` Ingo Molnar 2015-05-21 10:47 ` Borislav Petkov 2015-05-21 11:11 ` Ingo Molnar 2015-05-21 15:49 ` [PATCH 1/3] x86/documentation: Move kernel-stacks doc one level up Borislav Petkov 2015-05-21 15:49 ` [PATCH 2/3] x86/documentation: Remove STACKFAULT_STACK bulletpoint Borislav Petkov 2015-05-21 15:49 ` [PATCH 3/3] x86/documentation: Adapt Ingo's explanation on printing backtraces Borislav Petkov 2015-05-27 14:17 ` [tip:x86/debug] x86/Documentation: Adapt Ingo' s " tip-bot for Borislav Petkov 2015-05-20 16:59 ` [PATCH v4 0/3] Compile-time stack frame pointer validation Linus Torvalds 2015-05-20 17:20 ` Josh Poimboeuf 2015-05-21 10:27 ` Ingo Molnar 2015-05-21 7:52 ` Ingo Molnar 2015-05-21 12:12 ` Ingo Molnar 2015-05-26 23:06 ` Andi Kleen 2015-05-20 17:27 ` Peter Zijlstra 2015-05-20 19:10 ` Jiri Kosina 2015-05-21 20:54 ` Josh Poimboeuf 2015-05-21 21:53 ` Andy Lutomirski 2015-05-22 14:53 ` Josh Poimboeuf 2015-05-21 22:01 ` Borislav Petkov 2015-05-22 14:32 ` Josh Poimboeuf 2015-05-22 21:18 ` Jiri Kosina 2015-05-22 22:22 ` Josh Poimboeuf 2015-05-23 8:37 ` Borislav Petkov 2015-05-15 18:23 [PATCH v5 0/6] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Toshi Kani 2015-05-15 18:23 ` [PATCH v5 1/6] mm, x86: Simplify conditions of HAVE_ARCH_HUGE_VMAP Toshi Kani 2015-05-17 8:30 ` Borislav Petkov 2015-05-15 18:23 ` [PATCH v5 2/6] mtrr, x86: Fix MTRR lookup to handle inclusive entry Toshi Kani 2015-05-15 18:23 ` [PATCH v5 3/6] mtrr, x86: Fix MTRR state checks in mtrr_type_lookup() Toshi Kani 2015-05-15 18:23 ` [PATCH v5 4/6] mtrr, x86: Define MTRR_TYPE_INVALID for mtrr_type_lookup() Toshi Kani 2015-05-15 18:23 ` [PATCH v5 5/6] mtrr, x86: Clean up mtrr_type_lookup() Toshi Kani 2015-05-15 18:23 ` [PATCH v5 6/6] mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping Toshi Kani 2015-05-18 13:33 ` Borislav Petkov 2015-05-18 17:22 ` Toshi Kani 2015-05-18 19:01 ` Borislav Petkov 2015-05-18 19:31 ` Toshi Kani 2015-05-18 20:01 ` Borislav Petkov 2015-05-18 20:21 ` Toshi Kani 2015-05-18 20:51 ` Borislav Petkov 2015-05-18 21:53 ` Toshi Kani 2015-05-19 11:44 ` Borislav Petkov 2015-05-19 13:23 ` Borislav Petkov 2015-05-19 13:47 ` Toshi Kani 2015-05-20 11:55 ` Ingo Molnar 2015-05-20 14:34 ` Toshi Kani 2015-05-20 15:01 ` Ingo Molnar 2015-05-20 15:02 ` Toshi Kani 2015-05-20 16:04 ` Borislav Petkov 2015-05-20 15:46 ` Toshi Kani 2015-05-11 8:15 [0/8] tip queue 2015-05-11 Borislav Petkov 2015-05-11 8:15 ` [PATCH] x86/alternatives: Switch AMD F15h and later to the P6 NOPs Borislav Petkov 2015-05-11 12:44 ` [tip:x86/asm] " tip-bot for Borislav Petkov 2015-05-11 8:15 ` [PATCH] x86/cpu/microcode: Zap changelog Borislav Petkov 2015-05-11 12:45 ` [tip:x86/microcode] " tip-bot for Borislav Petkov 2015-05-11 8:15 ` [PATCH] x86/kaslr: Fix typo in KASLR_FLAG documentation Borislav Petkov 2015-05-11 12:45 ` [tip:x86/boot] x86/kaslr: Fix typo in the " tip-bot for Miroslav Benes 2015-05-11 8:15 ` [PATCH 1/5] x86/mm: Do not flush last cacheline twice in clflush_cache_range() Borislav Petkov 2015-05-11 12:45 ` [tip:x86/mm] " tip-bot for Ross Zwisler 2015-05-11 8:15 ` [PATCH] x86/vdso: Add arch/x86/include/uapi include path to HOST_EXTRACFLAGS Borislav Petkov 2015-05-11 8:15 ` [PATCH 2/5] x86/mm: Add kerneldoc comments for pcommit_sfence() Borislav Petkov 2015-05-11 12:45 ` [tip:x86/mm] " tip-bot for Ross Zwisler 2015-05-11 8:15 ` [PATCH 3/5] x86/MTRR: Remove wrong address check in __mtrr_type_lookup() Borislav Petkov 2015-05-11 12:46 ` [tip:x86/mm] x86/mm/mtrr: Remove incorrect " tip-bot for Toshi Kani 2015-05-11 8:15 ` [PATCH 4/5] x86/mm: Add ioremap_uc() helper to map memory uncacheable (not UC-) Borislav Petkov 2015-05-11 12:46 ` [tip:x86/mm] " tip-bot for Luis R. Rodriguez 2015-05-06 16:54 tools: Consolidate types.h Oleg Nesterov 2015-05-06 17:17 ` Borislav Petkov 2015-05-06 17:30 ` Oleg Nesterov 2015-05-06 17:37 ` Borislav Petkov 2015-05-07 2:53 ` Andy Lutomirski 2015-05-07 16:58 ` [PATCH 0/1] x86/vdso: add -Iarch/x86/include/uapi into HOST_EXTRACFLAGS Oleg Nesterov 2015-05-07 16:58 ` [PATCH 1/1] " Oleg Nesterov 2015-05-07 19:46 ` Andy Lutomirski 2015-05-07 21:55 ` Borislav Petkov 2015-05-11 12:44 ` [tip:x86/urgent] x86/vdso: Fix 'make bzImage' on older distros tip-bot for Oleg Nesterov 2015-04-30 20:25 [PATCH v5 0/6] x86: address drivers that do not work with PAT Luis R. Rodriguez 2015-04-30 20:25 ` [PATCH v5 1/6] x86/mm/pat: use pr_info() and friends Luis R. Rodriguez 2015-05-04 14:58 ` Borislav Petkov 2015-05-07 3:36 ` Elliott, Robert (Server Storage) 2015-05-14 15:55 ` Luis R. Rodriguez 2015-04-30 20:25 ` [PATCH v5 2/6] x86/mm/pat: redefine pat_enabled Luis R. Rodriguez 2015-05-04 15:22 ` Borislav Petkov 2015-05-05 0:42 ` Luis R. Rodriguez 2015-04-30 20:25 ` [PATCH v5 3/6] arch/x86/mm/pat: export pat_enabled() Luis R. Rodriguez 2015-05-04 15:29 ` Borislav Petkov 2015-04-30 20:25 ` [PATCH v5 4/6] ivtv: use arch_phys_wc_add() and require PAT disabled Luis R. Rodriguez 2015-04-30 20:25 ` [PATCH v5 5/6] IB/ipath: add counting for MTRR Luis R. Rodriguez 2015-04-30 20:25 ` [PATCH v5 6/6] IB/ipath: use arch_phys_wc_add() and require PAT disabled Luis R. Rodriguez 2015-04-29 21:44 [PATCH v4 0/6] x86: document and address MTRR corner cases Luis R. Rodriguez 2015-04-29 21:44 ` [PATCH v4 1/6] x86: add ioremap_uc() - force strong UC, PCD=1, PWT=1 Luis R. Rodriguez 2015-04-30 10:18 ` Borislav Petkov 2015-04-29 21:44 ` [PATCH v4 2/6] x86: document WC MTRR effects on PAT / non-PAT pages Luis R. Rodriguez 2015-04-30 22:01 ` Randy Dunlap 2015-05-05 0:45 ` Luis R. Rodriguez 2015-05-05 7:22 ` Borislav Petkov 2015-05-05 7:46 ` Luis R. Rodriguez 2015-05-05 7:53 ` Borislav Petkov 2015-05-05 7:31 ` Luis R. Rodriguez 2015-05-04 12:23 ` Borislav Petkov 2015-05-05 7:35 ` Luis R. Rodriguez 2015-04-29 21:44 ` [PATCH v4 3/6] video: fbdev: atyfb: move framebuffer length fudging to helper Luis R. Rodriguez 2015-04-29 21:44 ` [PATCH v4 4/6] video: fbdev: atyfb: clarify ioremap() base and length used Luis R. Rodriguez 2015-04-29 21:44 ` [PATCH v4 5/6] video: fbdev: atyfb: replace MTRR UC hole with strong UC Luis R. Rodriguez 2015-04-29 21:44 ` [PATCH v4 6/6] video: fbdev: atyfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-05-20 19:53 ` Luis R. Rodriguez 2015-05-20 20:57 ` Luis R. Rodriguez 2015-06-03 23:50 ` [PATCH v4 0/6] x86: document and address MTRR corner cases Luis R. Rodriguez 2015-06-08 23:43 ` Luis R. Rodriguez 2015-06-16 19:31 ` Luis R. Rodriguez 2015-06-19 22:22 ` Luis R. Rodriguez 2015-06-25 1:24 ` Luis R. Rodriguez 2015-06-25 6:59 ` Ingo Molnar 2015-06-25 16:41 ` Luis R. Rodriguez 2015-04-28 22:46 [PATCH v2] x86: Add kerneldoc for pcommit_sfence() Ross Zwisler 2015-04-29 14:23 ` Borislav Petkov 2015-04-28 22:13 [PATCH] x86: improve algorithm in clflush_cache_range Ross Zwisler 2015-04-29 10:28 ` Borislav Petkov 2015-04-22 17:12 [PATCH v4] mtrr: avoid ifdef'ery with phys_wc_to_mtrr_index() Luis R. Rodriguez 2015-04-14 11:35 [PATCH] x86/kaslr: Fix typo in documentation Miroslav Benes 2015-04-14 11:37 ` Borislav Petkov 2015-03-24 22:08 [PATCH v4 0/7] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Toshi Kani 2015-03-24 22:08 ` [PATCH v4 1/7] mm, x86: Document return values of mapping funcs Toshi Kani 2015-05-05 11:19 ` Borislav Petkov 2015-05-05 13:46 ` Toshi Kani 2015-05-05 14:19 ` Borislav Petkov 2015-05-05 14:14 ` Toshi Kani 2015-03-24 22:08 ` [PATCH v4 2/7] mtrr, x86: Fix MTRR lookup to handle inclusive entry Toshi Kani 2015-05-05 17:11 ` Borislav Petkov 2015-05-05 17:32 ` Toshi Kani 2015-05-05 18:39 ` Borislav Petkov 2015-05-05 19:31 ` Toshi Kani 2015-05-05 20:09 ` Borislav Petkov 2015-05-05 20:06 ` Toshi Kani 2015-03-24 22:08 ` [PATCH v4 3/7] mtrr, x86: Remove a wrong address check in __mtrr_type_lookup() Toshi Kani 2015-05-06 10:46 ` Borislav Petkov 2015-03-24 22:08 ` [PATCH v4 4/7] mtrr, x86: Fix MTRR state checks in mtrr_type_lookup() Toshi Kani 2015-05-06 11:47 ` Borislav Petkov 2015-05-06 15:23 ` Toshi Kani 2015-05-06 22:39 ` Borislav Petkov 2015-05-06 23:08 ` Toshi Kani 2015-03-24 22:08 ` [PATCH v4 5/7] mtrr, x86: Define MTRR_TYPE_INVALID for mtrr_type_lookup() Toshi Kani 2015-03-24 22:08 ` [PATCH v4 6/7] mtrr, x86: Clean up mtrr_type_lookup() Toshi Kani 2015-05-06 13:41 ` Borislav Petkov 2015-05-06 16:00 ` Toshi Kani 2015-05-06 22:49 ` Borislav Petkov 2015-05-06 23:42 ` Toshi Kani 2015-05-07 7:52 ` Borislav Petkov 2015-05-07 13:45 ` Toshi Kani 2015-03-24 22:08 ` [PATCH v4 7/7] mtrr, mm, x86: Enhance MTRR checks for KVA huge page mapping Toshi Kani 2015-05-09 9:08 ` Borislav Petkov 2015-05-11 19:25 ` Toshi Kani 2015-05-11 20:18 ` Borislav Petkov 2015-05-11 20:38 ` Toshi Kani 2015-05-11 21:42 ` Borislav Petkov 2015-05-11 22:09 ` Toshi Kani 2015-05-12 7:28 ` Borislav Petkov 2015-05-12 14:30 ` Toshi Kani 2015-05-12 16:31 ` Borislav Petkov 2015-05-12 16:57 ` Toshi Kani 2015-03-24 22:43 ` [PATCH v4 0/7] mtrr, mm, x86: Enhance MTRR checks for huge I/O mapping Andrew Morton 2015-04-03 6:33 ` Ingo Molnar 2015-04-03 15:22 ` Toshi Kani 2015-04-27 14:31 ` Toshi Kani 2015-03-20 23:17 [PATCH v1 00/47] mtrr/x86/drivers: bury MTRR Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 01/47] x86: mtrr: annotate mtrr_type_lookup() is only implemented on generic_mtrr_ops Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 02/47] x86: mtrr: generalize run time disabling of MTRR Luis R. Rodriguez 2015-03-25 19:59 ` Konrad Rzeszutek Wilk 2015-03-26 4:38 ` Juergen Gross 2015-03-26 23:35 ` Luis R. Rodriguez 2015-04-02 20:13 ` Bjorn Helgaas 2015-04-02 20:20 ` Luis R. Rodriguez 2015-04-02 20:28 ` Bjorn Helgaas 2015-04-02 21:02 ` Luis R. Rodriguez 2015-04-02 22:09 ` Bjorn Helgaas 2015-04-02 22:12 ` [Xen-devel] " Luis R. Rodriguez 2015-03-27 20:40 ` Toshi Kani 2015-03-27 23:56 ` Luis R. Rodriguez 2015-04-02 21:49 ` Luis R. Rodriguez 2015-04-02 23:52 ` Toshi Kani 2015-04-03 1:08 ` Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 03/47] devres: add devm_ioremap_wc() Luis R. Rodriguez 2015-03-20 23:49 ` Andy Lutomirski 2015-03-25 19:50 ` Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 04/47] pci: add pci_ioremap_wc_bar() Luis R. Rodriguez 2015-03-20 23:50 ` Andy Lutomirski 2015-03-25 20:06 ` Luis R. Rodriguez 2015-03-25 20:03 ` [Xen-devel] " Konrad Rzeszutek Wilk 2015-03-25 20:39 ` Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 05/47] pci: add pci_iomap_wc() variants Luis R. Rodriguez 2015-03-23 17:20 ` Bjorn Helgaas 2015-03-26 3:00 ` Luis R. Rodriguez 2015-04-21 17:52 ` Luis R. Rodriguez 2015-04-21 18:46 ` Michael S. Tsirkin 2015-03-27 19:18 ` Toshi Kani 2015-04-21 19:25 ` Michael S. Tsirkin 2015-04-21 19:27 ` Luis R. Rodriguez 2015-03-25 20:07 ` Konrad Rzeszutek Wilk 2015-03-27 18:40 ` Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 06/47] mtrr: add __arch_phys_wc_add() Luis R. Rodriguez 2015-03-20 23:48 ` Andy Lutomirski 2015-03-27 19:53 ` Luis R. Rodriguez 2015-03-27 19:58 ` Andy Lutomirski 2015-03-27 20:30 ` Luis R. Rodriguez 2015-03-27 21:23 ` Andy Lutomirski 2015-03-27 23:04 ` Luis R. Rodriguez 2015-03-27 23:10 ` Andy Lutomirski 2015-03-27 23:33 ` Luis R. Rodriguez 2015-04-02 20:21 ` Bjorn Helgaas 2015-04-02 20:55 ` Luis R. Rodriguez 2015-04-02 22:35 ` Bjorn Helgaas 2015-04-02 22:54 ` Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 07/47] video: fbdev: atyfb: move framebuffer length fudging to helper Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 08/47] video: fbdev: atyfb: clarify ioremap() base and length used Luis R. Rodriguez 2015-03-20 23:17 ` [PATCH v1 09/47] vidoe: fbdev: atyfb: remove and fix MTRR MMIO "hole" work around Luis R. Rodriguez 2015-03-20 23:52 ` Andy Lutomirski 2015-03-27 20:12 ` Luis R. Rodriguez 2015-03-27 21:21 ` Andy Lutomirski 2015-03-27 23:31 ` Luis R. Rodriguez 2015-03-21 9:15 ` Ville Syrjälä 2015-03-27 8:37 ` Ville Syrjälä 2015-03-27 19:38 ` Luis R. Rodriguez 2015-03-27 19:38 ` Luis R. Rodriguez 2015-03-27 19:43 ` Andy Lutomirski 2015-03-27 19:57 ` Luis R. Rodriguez 2015-03-27 21:56 ` Ville Syrjälä 2015-03-27 22:02 ` Andy Lutomirski 2015-03-28 0:28 ` Luis R. Rodriguez 2015-03-28 12:23 ` Ville Syrjälä 2015-04-01 23:52 ` Luis R. Rodriguez 2015-04-02 0:04 ` Andy Lutomirski 2015-04-02 19:45 ` Luis R. Rodriguez 2015-04-02 19:50 ` Andy Lutomirski 2015-03-28 0:21 ` Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 10/47] video: fbdev: atyfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 11/47] IB/qib: add acounting for MTRR Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 12/47] IB/qib: use arch_phys_wc_add() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 13/47] IB/ipath: add counting for MTRR Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 14/47] IB/ipath: use __arch_phys_wc_add() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 15/47] [media] media: ivtv: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 16/47] fusion: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 17/47] video: fbdev: vesafb: only support MTRR_TYPE_WRCOMB Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 18/47] vidoe: fbdev: vesafb: add missing mtrr_del() for added MTRR Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 19/47] video: fbdev: vesafb: use arch_phys_wc_add() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 20/47] mtrr: avoid ifdef'ery with phys_wc_to_mtrr_index() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 21/47] ethernet: myri10ge: use arch_phys_wc_add() Luis R. Rodriguez 2015-03-21 7:08 ` Hyong-Youb Kim 2015-03-27 20:36 ` Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 22/47] staging: sm750fb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 23/47] staging: xgifb: " Luis R. Rodriguez 2015-04-30 17:40 ` Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 24/47] video: fbdev: arkfb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 25/47] video: fbdev: radeonfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 26/47] video: fbdev: gbefb: add missing mtrr_del() calls Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 27/47] video: fbdev: gbefb: use arch_phys_wc_add() and devm_ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 28/47] video: fbdev: intelfb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 29/47] video: fbdev: matrox: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 30/47] video: fbdev: neofb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 31/47] video: fbdev: s3fb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 32/47] video: fbdev: nvidia: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 33/47] video: fbdev: savagefb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 34/47] video: fbdev: sisfb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 35/47] video: fbdev: aty: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 36/47] video: fbdev: i810: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 37/47] video: fbdev: i740fb: use arch_phys_wc_add() and pci_ioremap_wc_bar() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 38/47] video: fbdev: kyrofb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 39/47] video: fbdev: pm2fb: use arch_phys_wc_add() and ioremap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 40/47] video: fbdev: pm3fb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 41/47] video: fbdev: rivafb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 42/47] video: fbdev: tdfxfb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 43/47] video: fbdev: vt8623fb: use arch_phys_wc_add() and pci_iomap_wc() Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 44/47] video: fbdev: atmel_lcdfb: use ioremap_wc() for framebuffer Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 45/47] video: fbdev: geode gxfb: " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 46/47] video: fbdev: gxt4500: use pci_ioremap_wc_bar() " Luis R. Rodriguez 2015-03-20 23:18 ` [PATCH v1 47/47] mtrr: bury MTRR - unexport mtrr_add() and mtrr_del() Luis R. Rodriguez 2015-03-21 1:08 ` [PATCH v1 00/47] mtrr/x86/drivers: bury MTRR Andy Lutomirski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1432628901-18044-12-git-send-email-bp@alien8.de \ --to=bp@alien8.de \ --cc=linux-kernel@vger.kernel.org \ --cc=mingo@kernel.org \ --cc=x86@kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
LKML Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git git clone --mirror https://lore.kernel.org/lkml/8 lkml/git/8.git git clone --mirror https://lore.kernel.org/lkml/9 lkml/git/9.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \ linux-kernel@vger.kernel.org public-inbox-index lkml Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git