02 May, 2013

2 commits

  • Pull VFS updates from Al Viro,

    Misc cleanups all over the place, mainly wrt /proc interfaces (switch
    create_proc_entry to proc_create(), get rid of the deprecated
    create_proc_read_entry() in favor of using proc_create_data() and
    seq_file etc).

    7kloc removed.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (204 commits)
    don't bother with deferred freeing of fdtables
    proc: Move non-public stuff from linux/proc_fs.h to fs/proc/internal.h
    proc: Make the PROC_I() and PDE() macros internal to procfs
    proc: Supply a function to remove a proc entry by PDE
    take cgroup_open() and cpuset_open() to fs/proc/base.c
    ppc: Clean up scanlog
    ppc: Clean up rtas_flash driver somewhat
    hostap: proc: Use remove_proc_subtree()
    drm: proc: Use remove_proc_subtree()
    drm: proc: Use minor->index to label things, not PDE->name
    drm: Constify drm_proc_list[]
    zoran: Don't print proc_dir_entry data in debug
    reiserfs: Don't access the proc_dir_entry in r_open(), r_start() r_show()
    proc: Supply an accessor for getting the data from a PDE's parent
    airo: Use remove_proc_subtree()
    rtl8192u: Don't need to save device proc dir PDE
    rtl8187se: Use a dir under /proc/net/r8180/
    proc: Add proc_mkdir_data()
    proc: Move some bits from linux/proc_fs.h to linux/{of.h,signal.h,tty.h}
    proc: Move PDE_NET() to fs/proc/proc_net.c
    ...

    Linus Torvalds
     
  • Pull x86/efi changes from Peter Anvin:
    "The bulk of these changes are cleaning up the efivars handling and
    breaking it up into a tree of files. There are a number of fixes as
    well.

    The entire changeset is pretty big, but most of it is code movement.

    Several of these commits are quite new; the history got very messed up
    due to a mismerge with the urgent changes for rc8 which completely
    broke IA64, and so Ingo requested that we rebase it to straighten it
    out."

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi: remove "kfree(NULL)"
    efi: locking fix in efivar_entry_set_safe()
    efi, pstore: Read data from variable store before memcpy()
    efi, pstore: Remove entry from list when erasing
    efi, pstore: Initialise 'entry' before iterating
    efi: split efisubsystem from efivars
    efivarfs: Move to fs/efivarfs
    efivars: Move pstore code into the new EFI directory
    efivars: efivar_entry API
    efivars: Keep a private global pointer to efivars
    efi: move utf16 string functions to efi.h
    x86, efi: Make efi_memblock_x86_reserve_range more readable
    efivarfs: convert to use simple_open()

    Linus Torvalds
     

30 Apr, 2013

3 commits


25 Apr, 2013

1 commit


24 Apr, 2013

1 commit

  • input_free_device() should only be used if
    input_register_device() was not called yet or if it failed. Once
    device was unregistered use input_unregister_device() and memory
    will be freed once last reference to the device is dropped.

    Signed-off-by: Wei Yongjun
    Cc: dsd@laptop.org
    Cc: pgf@laptop.org
    Cc: gregkh@linuxfoundation.org
    Link: http://lkml.kernel.org/r/CAPgLHd84cboeucog%2BYNdHvGqTfTROujDKZgSkh3o0B-Q93ee2A@mail.gmail.com
    Signed-off-by: Ingo Molnar

    Wei Yongjun
     

21 Apr, 2013

1 commit


17 Apr, 2013

2 commits


16 Apr, 2013

2 commits

  • EFI implementations distinguish between space that is actively used by a
    variable and space that merely hasn't been garbage collected yet. Space
    that hasn't yet been garbage collected isn't available for use and so isn't
    counted in the remaining_space field returned by QueryVariableInfo().

    Combined with commit 68d9298 this can cause problems. Some implementations
    don't garbage collect until the remaining space is smaller than the maximum
    variable size, and as a result check_var_size() will always fail once more
    than 50% of the variable store has been used even if most of that space is
    marked as available for garbage collection. The user is unable to create
    new variables, and deleting variables doesn't increase the remaining space.

    The problem that 68d9298 was attempting to avoid was one where certain
    platforms fail if the actively used space is greater than 50% of the
    available storage space. We should be able to calculate that by simply
    summing the size of each available variable and subtracting that from
    the total storage space. With luck this will fix the problem described in
    https://bugzilla.kernel.org/show_bug.cgi?id=55471 without permitting
    damage to occur to the machines 68d9298 was attempting to fix.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Matt Fleming

    Matthew Garrett
     
  • EFI variables can be flagged as being accessible only within boot services.
    This makes it awkward for us to figure out how much space they use at
    runtime. In theory we could figure this out by simply comparing the results
    from QueryVariableInfo() to the space used by all of our variables, but
    that fails if the platform doesn't garbage collect on every boot. Thankfully,
    calling QueryVariableInfo() while still inside boot services gives a more
    reliable answer. This patch passes that information from the EFI boot stub
    up to the efi platform code.

    Signed-off-by: Matthew Garrett
    Signed-off-by: Matt Fleming

    Matthew Garrett
     

11 Apr, 2013

1 commit


09 Apr, 2013

1 commit

  • Let's not burden ia64 with checks in the common efivars code that we're not
    writing too much data to the variable store. That kind of thing is an x86
    firmware bug, plain and simple.

    efi_query_variable_store() provides platforms with a wrapper in which they can
    perform checks and workarounds for EFI variable storage bugs.

    Cc: H. Peter Anvin
    Cc: Matthew Garrett
    Signed-off-by: Matt Fleming

    Matt Fleming
     

16 Mar, 2013

1 commit

  • Every 11 minutes ntp attempts to update the x86 rtc with the current
    system time. Currently, the x86 code only updates the rtc if the system
    time is within +/-15 minutes of the current value of the rtc. This
    was done originally to avoid setting the RTC if the RTC was in localtime
    mode (common with Windows dualbooting). Other architectures do a full
    synchronization and now that we have better infrastructure to detect
    when the RTC is in localtime, there is no reason that x86 should be
    software limited to a 30 minute window.

    This patch changes the behavior of the kernel to do a full synchronization
    (year, month, day, hour, minute, and second) of the rtc when ntp requests
    a synchronization between the system time and the rtc.

    I've used the RTC library functions in this patchset as they do all the
    required bounds checking.

    Cc: Thomas Gleixner
    Cc: John Stultz
    Cc: x86@kernel.org
    Cc: Matt Fleming
    Cc: David Vrabel
    Cc: Andrew Morton
    Cc: Andi Kleen
    Cc: linux-efi@vger.kernel.org
    Signed-off-by: Prarit Bhargava
    [jstultz: Tweak commit message, fold in build fix found by fengguang
    Also add select RTC_LIB to X86, per new dependency, as found by prarit]
    Signed-off-by: John Stultz

    Prarit Bhargava
     

12 Mar, 2013

1 commit


11 Mar, 2013

1 commit


04 Mar, 2013

1 commit


28 Feb, 2013

2 commits

  • Pull x86/EFI changes from Peter Anvin:

    - Improve the initrd handling in the EFI boot stub by allowing forward
    slashes in the pathname - from Chun-Yi Lee.

    - Cleanup code duplication in the EFI mixed kernel/firmware code - from
    Satoru Takeuchi.

    - efivarfs bug fixes for more strict filename validation, with lots of
    input from Al Viro.

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, efi: remove duplicate code in setup_arch() by using, efi_is_native()
    efivarfs: guid part of filenames are case-insensitive
    efivarfs: Validate filenames much more aggressively
    efivarfs: Use sizeof() instead of magic number
    x86, efi: Allow slash in file path of initrd

    Linus Torvalds
     
  • Pull more x86 fixes from Peter Anvin:
    "Additional x86 fixes. Three of these patches are pure documentation,
    two are pretty trivial; the remaining one fixes boot problems on some
    non-BIOS machines."

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Make sure we can boot in the case the BDA contains pure garbage
    x86, efi: Mark disable_runtime as __initdata
    x86, doc: Fix incorrect comment about 64-bit code segment descriptors
    doc, kernel-parameters: Document 'console=hvc'
    doc, xen: Mention 'earlyprintk=xen' in the documentation.
    ACPI: Overriding ACPI tables via initrd only works with an initrd and on X86

    Linus Torvalds
     

27 Feb, 2013

1 commit

  • Pull x86 fixes from Ingo Molnar.

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mm/pageattr: Prevent PSE and GLOABL leftovers to confuse pmd/pte_present and pmd_huge
    Revert "x86, mm: Make spurious_fault check explicitly check explicitly check the PRESENT bit"
    x86/mm/numa: Don't check if node is NUMA_NO_NODE
    x86, efi: Make "noefi" really disable EFI runtime serivces
    x86/apic: Fix parsing of the 'lapic' cmdline option

    Linus Torvalds
     

26 Feb, 2013

1 commit

  • disable_runtime is only referenced from __init functions, so mark it
    as __initdata.

    Reported-by: Yinghai Lu
    Reviewed-by: Satoru Takeuchi
    Signed-off-by: Matt Fleming
    Link: http://lkml.kernel.org/r/1361545427-26393-1-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

22 Feb, 2013

1 commit

  • Pull x86 mm changes from Peter Anvin:
    "This is a huge set of several partly interrelated (and concurrently
    developed) changes, which is why the branch history is messier than
    one would like.

    The *really* big items are two humonguous patchsets mostly developed
    by Yinghai Lu at my request, which completely revamps the way we
    create initial page tables. In particular, rather than estimating how
    much memory we will need for page tables and then build them into that
    memory -- a calculation that has shown to be incredibly fragile -- we
    now build them (on 64 bits) with the aid of a "pseudo-linear mode" --
    a #PF handler which creates temporary page tables on demand.

    This has several advantages:

    1. It makes it much easier to support things that need access to data
    very early (a followon patchset uses this to load microcode way
    early in the kernel startup).

    2. It allows the kernel and all the kernel data objects to be invoked
    from above the 4 GB limit. This allows kdump to work on very large
    systems.

    3. It greatly reduces the difference between Xen and native (Xen's
    equivalent of the #PF handler are the temporary page tables created
    by the domain builder), eliminating a bunch of fragile hooks.

    The patch series also gets us a bit closer to W^X.

    Additional work in this pull is the 64-bit get_user() work which you
    were also involved with, and a bunch of cleanups/speedups to
    __phys_addr()/__pa()."

    * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (105 commits)
    x86, mm: Move reserving low memory later in initialization
    x86, doc: Clarify the use of asm("%edx") in uaccess.h
    x86, mm: Redesign get_user with a __builtin_choose_expr hack
    x86: Be consistent with data size in getuser.S
    x86, mm: Use a bitfield to mask nuisance get_user() warnings
    x86/kvm: Fix compile warning in kvm_register_steal_time()
    x86-32: Add support for 64bit get_user()
    x86-32, mm: Remove reference to alloc_remap()
    x86-32, mm: Remove reference to resume_map_numa_kva()
    x86-32, mm: Rip out x86_32 NUMA remapping code
    x86/numa: Use __pa_nodebug() instead
    x86: Don't panic if can not alloc buffer for swiotlb
    mm: Add alloc_bootmem_low_pages_nopanic()
    x86, 64bit, mm: hibernate use generic mapping_init
    x86, 64bit, mm: Mark data/bss/brk to nx
    x86: Merge early kernel reserve for 32bit and 64bit
    x86: Add Crash kernel low reservation
    x86, kdump: Remove crashkernel range find limit for 64bit
    memblock: Add memblock_mem_size()
    x86, boot: Not need to check setup_header version for setup_data
    ...

    Linus Torvalds
     

21 Feb, 2013

2 commits

  • commit 1de63d60cd5b ("efi: Clear EFI_RUNTIME_SERVICES rather than
    EFI_BOOT by "noefi" boot parameter") attempted to make "noefi" true to
    its documentation and disable EFI runtime services to prevent the
    bricking bug described in commit e0094244e41c ("samsung-laptop:
    Disable on EFI hardware"). However, it's not possible to clear
    EFI_RUNTIME_SERVICES from an early param function because
    EFI_RUNTIME_SERVICES is set in efi_init() *after* parse_early_param().

    This resulted in "noefi" effectively becoming a no-op and no longer
    providing users with a way to disable EFI, which is bad for those
    users that have buggy machines.

    Reported-by: Walt Nelson Jr
    Cc: Satoru Takeuchi
    Cc:
    Signed-off-by: Matt Fleming
    Link: http://lkml.kernel.org/r/1361392572-25657-1-git-send-email-matt@console-pimps.org
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     
  • Pull ACPI and power management updates from Rafael Wysocki:

    - Rework of the ACPI namespace scanning code from Rafael J. Wysocki
    with contributions from Bjorn Helgaas, Jiang Liu, Mika Westerberg,
    Toshi Kani, and Yinghai Lu.

    - ACPI power resources handling and ACPI device PM update from Rafael
    J Wysocki.

    - ACPICA update to version 20130117 from Bob Moore and Lv Zheng with
    contributions from Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.

    - Support for Intel Lynxpoint LPSS from Mika Westerberg.

    - cpuidle update from Len Brown including Intel Haswell support, C1
    state for intel_idle, removal of global pm_idle.

    - cpuidle fixes and cleanups from Daniel Lezcano.

    - cpufreq fixes and cleanups from Viresh Kumar and Fabio Baltieri with
    contributions from Stratos Karafotis and Rickard Andersson.

    - Intel P-states driver for Sandy Bridge processors from Dirk
    Brandewie.

    - cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.

    - cpufreq fixes related to ordering issues between acpi-cpufreq and
    powernow-k8 from Borislav Petkov and Matthew Garrett.

    - cpufreq support for Calxeda Highbank processors from Mark Langsdorf
    and Rob Herring.

    - cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update
    from Shawn Guo.

    - cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,
    and Inderpal Singh.

    - Support for "lightweight suspend" from Zhang Rui.

    - Removal of the deprecated power trace API from Paul Gortmaker.

    - Assorted updates from Andreas Fleig, Colin Ian King, Davidlohr Bueso,
    Joseph Salisbury, Kees Cook, Li Fei, Nishanth Menon, ShuoX Liu,
    Srinivas Pandruvada, Tejun Heo, Thomas Renninger, and Yasuaki
    Ishimatsu.

    * tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (267 commits)
    PM idle: remove global declaration of pm_idle
    unicore32 idle: delete stray pm_idle comment
    openrisc idle: delete pm_idle
    mn10300 idle: delete pm_idle
    microblaze idle: delete pm_idle
    m32r idle: delete pm_idle, and other dead idle code
    ia64 idle: delete pm_idle
    cris idle: delete idle and pm_idle
    ARM64 idle: delete pm_idle
    ARM idle: delete pm_idle
    blackfin idle: delete pm_idle
    sparc idle: rename pm_idle to sparc_idle
    sh idle: rename global pm_idle to static sh_idle
    x86 idle: rename global pm_idle to static x86_idle
    APM idle: register apm_cpu_idle via cpuidle
    cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.
    cpufreq / intel_pstate: Change to disallow module build
    tools/power turbostat: display SMI count by default
    intel_idle: export both C1 and C1E
    ACPI / hotplug: Fix concurrency issues and memory leaks
    ...

    Linus Torvalds
     

20 Feb, 2013

4 commits

  • Pull x86 UV3 support update from Ingo Molnar:
    "Support for the SGI Ultraviolet System 3 (UV3) platform - the upcoming
    third major iteration and upscaling of the SGI UV supercomputing
    platform."

    * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, uv, uv3: Trim MMR register definitions after code changes for SGI UV3
    x86, uv, uv3: Check current gru hub support for SGI UV3
    x86, uv, uv3: Update Time Support for SGI UV3
    x86, uv, uv3: Update x2apic Support for SGI UV3
    x86, uv, uv3: Update Hub Info for SGI UV3
    x86, uv, uv3: Update ACPI Check to include SGI UV3
    x86, uv, uv3: Update MMR register definitions for SGI Ultraviolet System 3 (UV3)

    Linus Torvalds
     
  • Pull x86 platform changes from Ingo Molnar:

    - Support for the Technologic Systems TS-5500 platform, by Vivien
    Didelot

    - Improved NUMA support on AMD systems:

    Add support for federated systems where multiple memory controllers
    can exist and see each other over multiple PCI domains. This
    basically means that AMD node ids can be more than 8 now and the code
    handling this is taught to incorporate PCI domain into those IDs.

    - Support for the Goldfish virtual Android emulator, by Jun Nakajima,
    Intel, Google, et al.

    - Misc fixlets.

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: Add TS-5500 platform support
    x86/srat: Simplify memory affinity init error handling
    x86/apb/timer: Remove unnecessary "if"
    goldfish: platform device for x86
    amd64_edac: Fix type usage in NB IDs and memory ranges
    amd64_edac: Fix PCI function lookup
    x86, AMD, NB: Use u16 for northbridge IDs in amd_get_nb_id
    x86, AMD, NB: Add multi-domain support

    Linus Torvalds
     
  • Pull x86/debug changes from Ingo Molnar:
    "Two init annotations and a built-in memtest speedup"

    * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/memtest: Shorten time for tests
    x86: Convert a few mistaken __cpuinit annotations to __init
    x86/EFI: Properly init-annotate BGRT code

    Linus Torvalds
     
  • Pull x86 cleanup patches from Ingo Molnar:
    "Misc smaller cleanups"

    * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86: ptrace.c only needs export.h and not the full module.h
    x86, apb_timer: remove unused variable percpu_timer
    um: don't compare a pointer to 0
    arch/x86/platform/uv: use ARRAY_SIZE where possible

    Linus Torvalds
     

15 Feb, 2013

1 commit

  • * acpi-cleanup: (21 commits)
    ACPI / hotplug: Fix concurrency issues and memory leaks
    ACPI: Remove the use of CONFIG_ACPI_CONTAINER_MODULE
    ACPI / scan: Full transition to D3cold in acpi_device_unregister()
    ACPI / scan: Make acpi_bus_hot_remove_device() acquire the scan lock
    ACPI: Drop the container.h header file
    ACPI / Documentation: refer to correct file for acpi_platform_device_ids[] table
    ACPI / scan: Make container driver use struct acpi_scan_handler
    ACPI / scan: Remove useless #ifndef from acpi_eject_store()
    ACPI: Unbind ACPI drv when probe failed
    ACPI: sysfs eject support for ACPI scan handlers
    ACPI / scan: Follow priorities of IDs when matching scan handlers
    ACPI / PCI: pci_slot: replace printk(KERN_xxx) with pr_xxx()
    ACPI / dock: Fix acpi_bus_get_device() check in drivers/acpi/dock.c
    ACPI / scan: Clean up acpi_bus_get_parent()
    ACPI / platform: Use struct acpi_scan_handler for creating devices
    ACPI / PCI: Make PCI IRQ link driver use struct acpi_scan_handler
    ACPI / PCI: Make PCI root driver use struct acpi_scan_handler
    ACPI / scan: Introduce struct acpi_scan_handler
    ACPI / scan: Make scanning of fixed devices follow the general scheme
    ACPI: Drop device start operation that is not used
    ...

    Rafael J. Wysocki
     

14 Feb, 2013

2 commits

  • The check, "IS_ENABLED(CONFIG_X86_64) != efi_enabled(EFI_64BIT)",
    in setup_arch() can be replaced by efi_is_enabled(). This change
    remove duplicate code and improve readability.

    Signed-off-by: Satoru Takeuchi
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Olof Johansson
    Signed-off-by: Matt Fleming

    Satoru Takeuchi
     
  • There was a serious problem in samsung-laptop that its platform driver is
    designed to run under BIOS and running under EFI can cause the machine to
    become bricked or can cause Machine Check Exceptions.

    Discussion about this problem:
    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557
    https://bugzilla.kernel.org/show_bug.cgi?id=47121

    The patches to fix this problem:
    efi: Make 'efi_enabled' a function to query EFI facilities
    83e68189745ad931c2afd45d8ee3303929233e7f

    samsung-laptop: Disable on EFI hardware
    e0094244e41c4d0c7ad69920681972fc45d8ce34

    Unfortunately this problem comes back again if users specify "noefi" option.
    This parameter clears EFI_BOOT and that driver continues to run even if running
    under EFI. Refer to the document, this parameter should clear
    EFI_RUNTIME_SERVICES instead.

    Documentation/kernel-parameters.txt:
    ===============================================================================
    ...
    noefi [X86] Disable EFI runtime services support.
    ...
    ===============================================================================

    Documentation/x86/x86_64/uefi.txt:
    ===============================================================================
    ...
    - If some or all EFI runtime services don't work, you can try following
    kernel command line parameters to turn off some or all EFI runtime
    services.
    noefi turn off all EFI runtime services
    ...
    ===============================================================================

    Signed-off-by: Satoru Takeuchi
    Link: http://lkml.kernel.org/r/511C2C04.2070108@jp.fujitsu.com
    Cc: Matt Fleming
    Cc:
    Signed-off-by: H. Peter Anvin

    Satoru Takeuchi
     

12 Feb, 2013

1 commit

  • This patch updates time support for the SGI UV3 hub. Since the UV2
    and UV3 time support is identical, "is_uvx_hub" is used instead of
    having both "is_uv2_hub" and "is_uv3_hub".

    Signed-off-by: Mike Travis
    Link: http://lkml.kernel.org/r/20130211194508.893907185@gulag1.americas.sgi.com
    Acked-by: Russ Anderson
    Reviewed-by: Dimitri Sivanich
    Signed-off-by: H. Peter Anvin

    Mike Travis
     

01 Feb, 2013

1 commit


31 Jan, 2013

2 commits

  • Pull x86 EFI fixes from Peter Anvin:
    "This is a collection of fixes for the EFI support. The controversial
    bit here is a set of patches which bumps the boot protocol version as
    part of fixing some serious problems with the EFI handover protocol,
    used when booting under EFI using a bootloader as opposed to directly
    from EFI. These changes should also make it a lot saner to support
    cross-mode 32/64-bit EFI booting in the future. Getting these changes
    into 3.8 means we avoid presenting an inconsistent ABI to bootloaders.

    Other changes are display detection and fixing efivarfs."

    * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, efi: remove attribute check from setup_efi_pci
    x86, build: Dynamically find entry points in compressed startup code
    x86, efi: Fix PCI ROM handing in EFI boot stub, in 32-bit mode
    x86, efi: Fix 32-bit EFI handover protocol entry point
    x86, efi: Fix display detection in EFI boot stub
    x86, boot: Define the 2.12 bzImage boot protocol
    x86/boot: Fix minor fd leakage in tools/relocs.c
    x86, efi: Set runtime_version to the EFI spec revision
    x86, efi: fix 32-bit warnings in setup_efi_pci()
    efivarfs: Delete dentry from dcache in efivarfs_file_write()
    efivarfs: Never return ENOENT from firmware
    efi, x86: Pass a proper identity mapping in efi_call_phys_prelog
    efivarfs: Drop link count of the right inode

    Linus Torvalds
     
  • Originally 'efi_enabled' indicated whether a kernel was booted from
    EFI firmware. Over time its semantics have changed, and it now
    indicates whether or not we are booted on an EFI machine with
    bit-native firmware, e.g. 64-bit kernel with 64-bit firmware.

    The immediate motivation for this patch is the bug report at,

    https://bugs.launchpad.net/ubuntu-cdimage/+bug/1040557

    which details how running a platform driver on an EFI machine that is
    designed to run under BIOS can cause the machine to become
    bricked. Also, the following report,

    https://bugzilla.kernel.org/show_bug.cgi?id=47121

    details how running said driver can also cause Machine Check
    Exceptions. Drivers need a new means of detecting whether they're
    running on an EFI machine, as sadly the expression,

    if (!efi_enabled)

    hasn't been a sufficient condition for quite some time.

    Users actually want to query 'efi_enabled' for different reasons -
    what they really want access to is the list of available EFI
    facilities.

    For instance, the x86 reboot code needs to know whether it can invoke
    the ResetSystem() function provided by the EFI runtime services, while
    the ACPI OSL code wants to know whether the EFI config tables were
    mapped successfully. There are also checks in some of the platform
    driver code to simply see if they're running on an EFI machine (which
    would make it a bad idea to do BIOS-y things).

    This patch is a prereq for the samsung-laptop fix patch.

    Cc: David Airlie
    Cc: Corentin Chary
    Cc: Matthew Garrett
    Cc: Dave Jiang
    Cc: Olof Johansson
    Cc: Peter Jones
    Cc: Colin Ian King
    Cc: Steve Langasek
    Cc: Tony Luck
    Cc: Konrad Rzeszutek Wilk
    Cc: Rafael J. Wysocki
    Cc:
    Signed-off-by: Matt Fleming
    Signed-off-by: H. Peter Anvin

    Matt Fleming
     

30 Jan, 2013

1 commit


26 Jan, 2013

3 commits

  • The __pa() fixup series that follows touches KVM code that is not
    present in the existing branch based on v3.7-rc5, so merge in the
    current upstream from Linus.

    Signed-off-by: H. Peter Anvin

    H. Peter Anvin
     
  • The second argument of ACPI driver .remove() operation is only used
    by the ACPI processor driver and the value passed to that driver
    through it is always available from the given struct acpi_device
    object's removal_type field. For this reason, the second ACPI driver
    .remove() argument is in fact useless, so drop it.

    Signed-off-by: Rafael J. Wysocki
    Reviewed-by: Jiang Liu
    Acked-by: Toshi Kani
    Acked-by: Yinghai Lu

    Rafael J. Wysocki
     
  • The Technologic Systems TS-5500 is an x86-based (AMD Elan SC520)
    single board computer. This driver registers most of its devices
    and exposes sysfs attributes for information such as jumpers'
    state or presence of some of its options.

    This driver currently registers the TS-5500 platform, its
    on-board LED, 2 pin blocks (GPIO) and its analog/digital
    converter. It can be extended to support other Technologic
    Systems products, such as the TS-5600.

    Signed-off-by: Vivien Didelot
    Acked-by: Thomas Gleixner
    Cc: Savoir-faire Linux Inc.
    Link: http://lkml.kernel.org/r/1357334294-12760-1-git-send-email-vivien.didelot@savoirfairelinux.com
    Signed-off-by: Ingo Molnar

    Vivien Didelot