linux/drivers
Linus Torvalds a023748d53 Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 mm tree changes from Ingo Molnar:
 "The biggest change is full PAT support from Jürgen Gross:

     The x86 architecture offers via the PAT (Page Attribute Table) a
     way to specify different caching modes in page table entries.  The
     PAT MSR contains 8 entries each specifying one of 6 possible cache
     modes.  A pte references one of those entries via 3 bits:
     _PAGE_PAT, _PAGE_PWT and _PAGE_PCD.

     The Linux kernel currently supports only 4 different cache modes.
     The PAT MSR is set up in a way that the setting of _PAGE_PAT in a
     pte doesn't matter: the top 4 entries in the PAT MSR are the same
     as the 4 lower entries.

     This results in the kernel not supporting e.g. write-through mode.
     Especially this cache mode would speed up drivers of video cards
     which now have to use uncached accesses.

     OTOH some old processors (Pentium) don't support PAT correctly and
     the Xen hypervisor has been using a different PAT MSR configuration
     for some time now and can't change that as this setting is part of
     the ABI.

     This patch set abstracts the cache mode from the pte and introduces
     tables to translate between cache mode and pte bits (the default
     cache mode "write back" is hard-wired to PAT entry 0).  The tables
     are statically initialized with values being compatible to old
     processors and current usage.  As soon as the PAT MSR is changed
     (or - in case of Xen - is read at boot time) the tables are changed
     accordingly.  Requests of mappings with special cache modes are
     always possible now, in case they are not supported there will be a
     fallback to a compatible but slower mode.

     Summing it up, this patch set adds the following features:

      - capability to support WT and WP cache modes on processors with
        full PAT support

      - processors with no or uncorrect PAT support are still working as
        today, even if WT or WP cache mode are selected by drivers for
        some pages

      - reduction of Xen special handling regarding cache mode

  Another change is a boot speedup on ridiculously large RAM systems,
  plus other smaller fixes"

* 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
  x86: mm: Move PAT only functions to mm/pat.c
  xen: Support Xen pv-domains using PAT
  x86: Enable PAT to use cache mode translation tables
  x86: Respect PAT bit when copying pte values between large and normal pages
  x86: Support PAT bit in pagetable dump for lower levels
  x86: Clean up pgtable_types.h
  x86: Use new cache mode type in memtype related functions
  x86: Use new cache mode type in mm/ioremap.c
  x86: Use new cache mode type in setting page attributes
  x86: Remove looking for setting of _PAGE_PAT_LARGE in pageattr.c
  x86: Use new cache mode type in track_pfn_remap() and track_pfn_insert()
  x86: Use new cache mode type in mm/iomap_32.c
  x86: Use new cache mode type in asm/pgtable.h
  x86: Use new cache mode type in arch/x86/mm/init_64.c
  x86: Use new cache mode type in arch/x86/pci
  x86: Use new cache mode type in drivers/video/fbdev/vermilion
  x86: Use new cache mode type in drivers/video/fbdev/gbefb.c
  x86: Use new cache mode type in include/asm/fb.h
  x86: Make page cache mode a real type
  x86: mm: Use 2GB memory block size on large-memory x86-64 systems
  ...
2014-12-10 13:59:34 -08:00
..
accessibility
acpi ACPI / video: update condition to check if device is in _DOD list 2014-12-01 02:09:18 +01:00
amba ARM: tegra: Move AHB Kconfig to drivers/amba 2014-11-26 09:43:25 +01:00
ata SCSI for-linus on 20141208 2014-12-08 21:19:19 -08:00
atm solos-pci: fix error return code 2014-11-23 14:29:44 -05:00
auxdisplay
base Merge remote-tracking branches 'regmap/topic/ac97' and 'regmap/topic/headers' into regmap-next 2014-11-21 11:32:36 +00:00
bcma bcma: add another PCI ID of device with BCM43228 2014-10-23 14:02:06 -04:00
block Merge remote-tracking branch 'scsi-queue/core-for-3.19' into for-linus 2014-12-08 07:40:20 -08:00
bluetooth Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2014-10-13 11:28:42 +02:00
bus ARM: SoC driver updates for 3.19 2014-12-09 14:48:22 -08:00
cdrom
char asm-generic: asm/io.h rewrite 2014-12-09 17:25:00 -08:00
clk ARM: SoC driver updates for 3.19 2014-12-09 14:48:22 -08:00
clocksource Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:18:32 -08:00
connector
cpufreq cpufreq: Avoid crash in resume on SMP without OPP 2014-11-08 02:10:04 +01:00
cpuidle Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus 2014-10-24 12:48:47 -07:00
crypto crypto: caam - fix missing dma unmap on error path 2014-11-06 23:10:20 +08:00
dca
devfreq
dio
dma Merge branch 'fixes' of git://git.infradead.org/users/vkoul/slave-dma 2014-11-21 16:24:27 -08:00
dma-buf dma-buf: don't open-code atomic_long_read() 2014-10-09 02:39:07 -04:00
edac EDAC updates all over the place: 2014-12-08 20:17:49 -08:00
eisa
extcon
firewire firewire: cdev: prevent kernel stack leaking into ioctl arguments 2014-11-14 12:10:13 +01:00
firmware Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 12:42:16 -08:00
fmc
gpio mfd: tc3589x: get rid of static base 2014-11-25 16:18:56 +00:00
gpu Merge tag 'drm-intel-fixes-2014-12-04' of git://anongit.freedesktop.org/drm-intel into drm-fixes 2014-12-05 11:12:29 +10:00
hid Hi Linus, 2014-12-08 20:02:54 -08:00
hsi
hv
hwmon hwmon: (tmp401) Detect TMP435 on all addresses it supports 2014-12-08 06:48:37 -08:00
hwspinlock
i2c Hi Linus, 2014-12-08 20:02:54 -08:00
ide Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block 2014-10-18 12:12:45 -07:00
idle
iio Hi Linus, 2014-12-08 20:02:54 -08:00
infiniband Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus 2014-12-08 07:42:25 -08:00
input drivers/input/evdev.c: don't kfree() a vmalloc address 2014-12-03 09:35:38 -08:00
iommu Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
ipack
irqchip Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
isdn isdn/gigaset: fix usb_gigaset write_cmd result race 2014-10-14 15:05:35 -04:00
leds Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds 2014-10-21 08:18:38 -07:00
lguest
macintosh
mailbox Merge branch 'mailbox-for-linus' of git://git.linaro.org/landing-teams/working/fujitsu/integration 2014-10-21 11:21:19 -07:00
mcb
md - Significant DM thin-provisioning performance improvements to meet 2014-12-08 21:10:03 -08:00
media [media] rc-core: fix toggle handling in the rc6 decoder 2014-11-21 15:57:47 -02:00
memory ARM: SoC/OMAP GPMC driver cleanup and move for 3.19 2014-12-09 16:57:56 -08:00
memstick memstick: r592: fix build warnings for !PM_SLEEP 2014-10-14 02:18:22 +02:00
message scsi: drop reason argument from ->change_queue_depth 2014-11-24 14:45:27 +01:00
mfd Hi Linus, 2014-12-08 20:02:54 -08:00
misc ARM: SoC cleanups for 3.19 2014-12-09 14:18:35 -08:00
mmc mmc: sdhci-msm: Convert to mmc_send_tuning() 2014-12-08 09:21:06 +01:00
mtd Three main MTD fixes for 3.18: 2014-11-02 14:45:52 -08:00
net ARM: SoC cleanup on mach-at91 for 3.19 2014-12-09 14:17:12 -08:00
nfc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2014-10-07 14:48:29 -04:00
ntb ntb: Adding split BAR support for Haswell platforms 2014-10-17 07:08:51 -04:00
nubus nubus: Remove superfluous interrupt disable/restore 2014-10-27 11:03:19 +01:00
of Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
oprofile
parisc Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-13 16:23:15 +02:00
parport
pci Merge branch 'irq-irqdomain-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 09:01:01 -08:00
pcmcia
phy phy: omap-usb2: Enable runtime PM of omap-usb2 phy properly 2014-11-05 14:34:06 -08:00
pinctrl pinctrl: baytrail: show output gpio state correctly on Intel Baytrail 2014-10-28 11:16:26 +01:00
platform platform: hp_accel: Add SERIO_I8042 as a dependency since it now includes i8042.h/serio.h 2014-11-10 21:16:15 -08:00
pnp PNP: replace strnicmp with strncasecmp 2014-10-14 02:18:25 +02:00
power ARM: SoC platform changes for 3.19 2014-12-09 14:38:28 -08:00
powercap
pps
ps3
ptp
pwm pwm: Changes for v3.18-rc1 2014-10-21 08:17:43 -07:00
rapidio
ras
regulator regulator: Updates for v3.19 2014-12-08 20:42:41 -08:00
remoteproc
reset Reset controller changes for v3.19 2014-12-04 16:57:36 +01:00
rpmsg
rtc Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:18:32 -08:00
s390 Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus 2014-12-08 07:42:25 -08:00
sbus
scsi Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus 2014-12-08 07:42:25 -08:00
sfi
sh
sn
soc ARM: SoC driver updates for 3.19 2014-12-09 14:48:22 -08:00
spi Merge remote-tracking branches 'spi/fix/dw' and 'spi/fix/sirf' into spi-linus 2014-11-26 19:05:25 +00:00
spmi
ssb This is the bulk of GPIO changes for the v3.18 development 2014-10-09 14:58:15 -04:00
staging ARM: SoC DT updates for 3.19 2014-12-09 14:57:37 -08:00
target Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus 2014-12-08 07:42:25 -08:00
tc
thermal thermal: Exynos: Deletion of unnecessary checks before two function calls 2014-11-21 15:20:17 -04:00
thunderbolt
tty Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-09 21:21:34 -08:00
uio uio: Export definition of struct uio_device 2014-10-02 21:35:54 -07:00
usb Merge remote-tracking branch 'scsi-queue/drivers-for-3.19' into for-linus 2014-12-08 07:42:25 -08:00
uwb
vfio PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg() 2014-11-23 13:01:45 +01:00
vhost vhost-scsi: Take configfs group dependency during VHOST_SCSI_SET_ENDPOINT 2014-10-28 13:54:16 -07:00
video Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 13:59:34 -08:00
virt
virtio One cc: stable commit, the rest are a series of minor cleanups which have 2014-10-18 10:25:09 -07:00
vlynq
vme
w1 w1: omap-hdq: support device probing with device-tree 2014-11-10 15:58:47 -08:00
watchdog Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-10 08:18:32 -08:00
xen arm64 updates for 3.19 2014-12-09 13:12:47 -08:00
zorro
Kconfig ARM: tegra: Move AHB Kconfig to drivers/amba 2014-11-26 09:43:25 +01:00
Makefile