Skip to content
  1. May 03, 2013
    • H. Peter Anvin's avatar
      x86-64, init: Do not set NX bits on non-NX capable hardware · 78d77df7
      H. Peter Anvin authored
      
      
      During early init, we would incorrectly set the NX bit even if the NX
      feature was not supported.  Instead, only set this bit if NX is
      actually available and enabled.  We already do very early detection of
      the NX bit to enable it in EFER, this simply extends this detection to
      the early page table mask.
      
      Reported-by: default avatarFernando Luis Vázquez Cao <fernando@oss.ntt.co.jp>
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      Link: http://lkml.kernel.org/r/1367476850.5660.2.camel@nexus
      Cc: <stable@vger.kernel.org> v3.9
      78d77df7
    • Konrad Rzeszutek Wilk's avatar
      x86, gdt, hibernate: Store/load GDT for hibernate path. · cc456c4e
      Konrad Rzeszutek Wilk authored
      
      
      The git commite7a5cd063c7b4c58417f674821d63f5eb6747e37
      ("x86-64, gdt: Store/load GDT for ACPI S3 or hibernate/resume path
      is not needed.") assumes that for the hibernate path the booting
      kernel and the resuming kernel MUST be the same. That is certainly
      the case for a 32-bit kernel (see check_image_kernel and
      CONFIG_ARCH_HIBERNATION_HEADER config option).
      
      However for 64-bit kernels it is OK to have a different kernel
      version (and size of the image) of the booting and resuming kernels.
      Hence the above mentioned git commit introduces an regression.
      
      This patch fixes it by introducing a 'struct desc_ptr gdt_desc'
      back in the 'struct saved_context'. However instead of having in the
      'save_processor_state' and 'restore_processor_state' the
      store/load_gdt calls, we are only saving the GDT in the
      save_processor_state.
      
      For the restore path the lgdt operation is done in
      hibernate_asm_[32|64].S in the 'restore_registers' path.
      
      The apt reader of this description will recognize that only 64-bit
      kernels need this treatment, not 32-bit. This patch adds the logic
      in the 32-bit path to be more similar to 64-bit so that in the future
      the unification process can take advantage of this.
      
      [ hpa: this also reverts an inadvertent on-disk format change ]
      
      Suggested-by: default avatar"H. Peter Anvin" <hpa@zytor.com>
      Acked-by: default avatar"Rafael J. Wysocki" <rjw@sisk.pl>
      Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Link: http://lkml.kernel.org/r/1367459610-9656-2-git-send-email-konrad.wilk@oracle.com
      
      
      Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
      cc456c4e
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc · 5a148af6
      Linus Torvalds authored
      Pull powerpc update from Benjamin Herrenschmidt:
       "The main highlights this time around are:
      
         - A pile of addition POWER8 bits and nits, such as updated
           performance counter support (Michael Ellerman), new branch history
           buffer support (Anshuman Khandual), base support for the new PCI
           host bridge when not using the hypervisor (Gavin Shan) and other
           random related bits and fixes from various contributors.
      
         - Some rework of our page table format by Aneesh Kumar which fixes a
           thing or two and paves the way for THP support.  THP itself will
           not make it this time around however.
      
         - More Freescale updates, including Altivec support on the new e6500
           cores, new PCI controller support, and a pile of new boards support
           and updates.
      
         - The usual batch of trivial cleanups & fixes"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (156 commits)
        powerpc: Fix build error for book3e
        powerpc: Context switch the new EBB SPRs
        powerpc: Turn on the EBB H/FSCR bits
        powerpc: Replace CPU_FTR_BCTAR with CPU_FTR_ARCH_207S
        powerpc: Setup BHRB instructions facility in HFSCR for POWER8
        powerpc: Fix interrupt range check on debug exception
        powerpc: Update tlbie/tlbiel as per ISA doc
        powerpc: Print page size info during boot
        powerpc: print both base and actual page size on hash failure
        powerpc: Fix hpte_decode to use the correct decoding for page sizes
        powerpc: Decode the pte-lp-encoding bits correctly.
        powerpc: Use encode avpn where we need only avpn values
        powerpc: Reduce PTE table memory wastage
        powerpc: Move the pte free routines from common header
        powerpc: Reduce the PTE_INDEX_SIZE
        powerpc: Switch 16GB and 16MB explicit hugepages to a different page table format
        powerpc: New hugepage directory format
        powerpc: Don't truncate pgd_index wrongly
        powerpc: Don't hard code the size of pte page
        powerpc: Save DAR and DSISR in pt_regs on MCE
        ...
      5a148af6
    • Linus Torvalds's avatar
      Merge tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 99c6bcf4
      Linus Torvalds authored
      Pull ARM SoC multiplatform updates from Olof Johansson:
       "More multiplatform enablement for ARM platforms.  The ones converted
        in this branch are:
      
         - bcm2835
         - cns3xxx
         - sirf
         - nomadik
         - msx
         - spear
         - tegra
         - ux500
      
        We're getting close to having most of them converted!
      
        One of the larger platforms remaining is Samsung Exynos, and there are
        a bunch of supporting patches in this merge window for it.  There was
        a patch in this branch to a early version of multiplatform conversion,
        but it ended up being reverted due to need of more bake time.  The
        revert commit is part of the branch since it would have required
        rebasing multiple dependent branches and they were stable by then"
      
      * tag 'multiplatform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (70 commits)
        mmc: sdhci-s3c: Fix operation on non-single image Samsung platforms
        clocksource: nomadik-mtu: fix up clocksource/timer
        Revert "ARM: exynos: enable multiplatform support"
        ARM: SPEAr13xx: Fix typo "ARCH_HAVE_CPUFREQ"
        ARM: exynos: enable multiplatform support
        rtc: s3c: make header file local
        mtd: onenand/samsung: make regs-onenand.h file local
        thermal/exynos: remove unnecessary header inclusions
        mmc: sdhci-s3c: remove platform dependencies
        ARM: samsung: move mfc device definition to s5p-dev-mfc.c
        ARM: exynos: move debug-macro.S to include/debug/
        ARM: exynos: prepare for sparse IRQ
        ARM: exynos: introduce EXYNOS_ATAGS symbol
        ARM: tegra: build assembly files with -march=armv7-a
        ARM: Push selects for TWD/SCU into machine entries
        ARM: ux500: build hotplug.o for ARMv7-a
        ARM: ux500: move to multiplatform
        ARM: ux500: make remaining headers local
        ARM: ux500: make irqs.h local to platform
        ARM: ux500: get rid of <mach/[hardware|db8500-regs].h>
        ...
      99c6bcf4
    • Linus Torvalds's avatar
      Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 97b1007a
      Linus Torvalds authored
      Pull ARM SoC platform updates from Olof Johansson:
       "This branch contains part 1 of the platform updates for 3.10.  Among
        the highlights:
      
         - Support for the new Atmel Cortex-A5 based platforms (SAMA5D3)
         - New support for CSR SiRFatlas6 SoCs
         - A handful of updates for NVidia T114 (a.k.a. Tegra 4)
         - A bunch of updates for the shmobile platforms
         - A handful of updates for davinci
         - A few updates for Qualcomm MSM
         - Plus a handful of other patches, defconfig updates, etc."
      
      * tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (135 commits)
        ARM: tegra: pm: fix build error w/o PM_SLEEP
        ARM: davinci: ensure global variables are declared
        ARM: davinci: sram.c: fix incorrect type in assignment
        ARM: davinci: da8xx dt: make file local symbols static
        ARM: davinci: da8xx: add remoteproc support
        ARM: socfpga: Upgrade clk driver for socfpga to make use of dts clock entries
        ARM: socfpga: Add clock entries into device tree
        ARM: socfpga: Enable soft reset
        ARM: EXYNOS: replace cpumask by the corresponding macro
        ARM: EXYNOS: handle properly the return values
        ARM: EXYNOS: factor out the idle states
        ARM: OMAP4: Enable fix for Cortex-A9 erratas
        ARM: OMAP2+: Export SoC information to userspace
        ARM: OMAP2+: SoC name and revision unification
        ARM: OMAP2+: Move common part of late init into common function
        ARM: tegra: pm: remove duplicated include from pm.c
        ARM: davinci: da850: override mmc DT node device name
        ARM: davinci: da850: add mmc DT entries
        mmc: davinci_mmc: add DT support
        ARM: SAMSUNG: check processor type before cache restoration in resume
        ...
      97b1007a
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · dfab34aa
      Linus Torvalds authored
      Pull ARM SoC device-tree updates from Olof Johansson:
       "Part 1 of device-tree updates for 3.10.  The bulk of the churn in this
        branch is due to i.MX moving from C-defined pin control over to device
        tree, which is a one-time conversion that will allow greater
        flexibility down the road.
      
        Besides that, there's PCI-e bindings for Marvell mvebu platforms and a
        handful of cleanups to tegra due to the new include file functionality
        of the device tree compiler"
      
      * tag 'dt-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (113 commits)
        arm: mvebu: PCIe Device Tree informations for Armada XP GP
        arm: mvebu: PCIe Device Tree informations for Armada 370 DB
        arm: mvebu: PCIe Device Tree informations for Armada 370 Mirabox
        arm: mvebu: PCIe Device Tree informations for Armada XP DB
        arm: mvebu: PCIe Device Tree informations for OpenBlocks AX3-4
        arm: mvebu: add PCIe Device Tree informations for Armada XP
        arm: mvebu: add PCIe Device Tree informations for Armada 370
        ARM: sunxi: unify osc24M_fixed and osc24M
        arm: vt8500: Add SDHC support to WM8505 DT
        ARM: dts: Add a 64 bits version of the skeleton device tree
        ARM: mvebu: Add Device Bus and CFI flash memory support to defconfig
        ARM: mvebu: Add support for NOR flash device on Openblocks AX3 board
        ARM: mvebu: Add support for NOR flash device on Armada XP-GP board
        ARM: mvebu: Add Device Bus support for Armada 370/XP SoC
        ARM: dts: imx6dl-wandboard: Add USB Host support
        ARM: dts: imx51 cpu node
        ARM: dts: Add missing imx27-phytec-phycore dtb target
        ARM: dts: Add NFC support for i.MX27 Phytec PCM038 module
        ARM: i.MX51: Add PATA support
        ARM: dts: Add initial support for Wandboard Dual-Lite
        ...
      dfab34aa
    • Linus Torvalds's avatar
      Merge tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · a7726350
      Linus Torvalds authored
      Pull ARM SoC cleanup from Olof Johansson:
       "Here is a collection of cleanup patches.  Among the pieces that stand
        out are:
      
         - The deletion of h720x platforms
         - Split of at91 non-dt platforms to their own Kconfig file to keep
           them separate
         - General cleanups and refactoring of i.MX and MXS platforms
         - Some restructuring of clock tables for OMAP
         - Convertion of PMC driver for Tegra to dt-only
         - Some renames of sunxi -> sun4i (Allwinner A10)
         - ... plus a bunch of other stuff that I haven't mentioned"
      
      * tag 'cleanup-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (119 commits)
        ARM: i.MX: remove unused ARCH_* configs
        ARM i.MX53: remove platform ahci support
        ARM: sunxi: Rework the restart code
        irqchip: sunxi: Rename sunxi to sun4i
        irqchip: sunxi: Make use of the IRQCHIP_DECLARE macro
        clocksource: sunxi: Rename sunxi to sun4i
        clocksource: sunxi: make use of CLKSRC_OF
        clocksource: sunxi: Cleanup the timer code
        ARM: at91: remove trailing semicolon from macros
        ARM: at91/setup: fix trivial typos
        ARM: EXYNOS: remove "config EXYNOS_DEV_DRM"
        ARM: EXYNOS: change the name of USB ohci header
        ARM: SAMSUNG: Remove unnecessary code for dma
        ARM: S3C24XX: Remove unused GPIO drive strength register definitions
        ARM: OMAP4+: PM: Restore CPU power state to ON with clockdomain force wakeup method
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2412
        ARM: S3C24XX: Removed unneeded dependency on CPU_S3C2410
        ARM: S3C24XX: Removed unneeded dependency on ARCH_S3C24XX for boards
        ARM: SAMSUNG: Fix typo "CONFIG_SAMSUNG_DEV_RTC"
        ARM: S5P64X0: Fix typo "CONFIG_S5P64X0_SETUP_SDHCI"
        ...
      a7726350
  2. May 02, 2013