07 Aug, 2010

1 commit

  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (30 commits)
    PCI: update for owner removal from struct device_attribute
    PCI: Fix warnings when CONFIG_DMI unset
    PCI: Do not run NVidia quirks related to MSI with MSI disabled
    x86/PCI: use for_each_pci_dev()
    PCI: use for_each_pci_dev()
    PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()
    PCI: export SMBIOS provided firmware instance and label to sysfs
    PCI: Allow read/write access to sysfs I/O port resources
    x86/PCI: use host bridge _CRS info on ASRock ALiveSATA2-GLAN
    PCI: remove unused HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_{SIZE|BOUNDARY}
    PCI: disable mmio during bar sizing
    PCI: MSI: Remove unsafe and unnecessary hardware access
    PCI: Default PCIe ASPM control to on and require !EMBEDDED to disable
    PCI: kernel oops on access to pci proc file while hot-removal
    PCI: pci-sysfs: remove casts from void*
    ACPI: Disable ASPM if the platform won't provide _OSC control for PCIe
    PCI hotplug: make sure child bridges are enabled at hotplug time
    PCI hotplug: shpchp: Removed check for hotplug of display devices
    PCI hotplug: pciehp: Fixed return value sign for pciehp_unconfigure_device
    PCI: Don't enable aspm before drivers have had a chance to veto it
    ...

    Linus Torvalds
     

06 Aug, 2010

2 commits


05 Aug, 2010

1 commit


31 Jul, 2010

1 commit

  • This patch exports SMBIOS provided firmware instance and label of
    onboard PCI devices to sysfs. New files are:
    /sys/bus/pci/devices/.../label which contains the firmware name for
    the device in question, and
    /sys/bus/pci/devices/.../index which contains the firmware device type
    instance for the given device.

    Signed-off-by: Jordan Hargrave
    Signed-off-by: Narendra K
    Signed-off-by: Jesse Barnes

    Narendra K
     

22 May, 2010

1 commit


12 May, 2010

5 commits

  • We define IBFT_SIGN to "iBFT"; may as well use it.

    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Peter Jones

    Peter Jones
     
  • This patch just converts the iscsi_ibft module to the
    iscsi boot sysfs lib module.

    Signed-off-by: Mike Christie
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Peter Jones

    Mike Christie
     
  • Not all iscsi drivers support ibft. For drivers like be2iscsi
    that do not but are bootable through a vendor firmware specific
    format/process this patch moves the sysfs interface from the ibft code
    to a lib module. This then allows userspace tools to search for iscsi boot
    info in a common place and in a common format.

    ibft iscsi boot info is exported in the same place as it was
    before: /sys/firmware/ibft.

    vendor/fw boot info gets export in /sys/firmware/iscsi_bootX, where X is the
    scsi host number of the HBA. Underneath these parent dirs, the
    target, ethernet, and initiator dirs are the same as they were before.

    Signed-off-by: Mike Christie
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Peter Jones

    Mike Christie
     
  • For machines with IBFT 1.03 do scan the ACPI table for 'iBFT'
    or for 'IBFT'. If the machine is in UEFI mode, only do the ACPI
    table scan. For all other machines (pre IBFT 1.03) do
    a memory scan if not found in the ACPI tables.

    Signed-off-by: Peter Jones
    Signed-off-by: Konrad Rzeszutek Wilk
    Tested-by: Mike Christie

    Konrad Rzeszutek Wilk
     
  • - Use struct acpi_table_ibft instead of struct ibft_table_header
    - Don't do reserve_ibft_region() on UEFI machines (section 1.4.3.1)
    - If ibft_addr isn't initialized when ibft_init() is called, check for
    ACPI-based tables.
    - Fix compiler error when CONFIG_ACPI is not defined.

    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Peter Jones
    Signed-off-by: Mike Christie

    Peter Jones
     

08 Apr, 2010

1 commit

  • …git/x86/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip:
    x86: Fix double enable_IR_x2apic() call on SMP kernel on !SMP boards
    x86: Increase CONFIG_NODES_SHIFT max to 10
    ibft, x86: Change reserve_ibft_region() to find_ibft_region()
    x86, hpet: Fix bug in RTC emulation
    x86, hpet: Erratum workaround for read after write of HPET comparator
    bootmem, x86: Fix 32bit numa system without RAM on node 0
    nobootmem, x86: Fix 32bit numa system without RAM on node 0
    x86: Handle overlapping mptables
    x86: Make e820_remove_range to handle all covered case
    x86-32, resume: do a global tlb flush in S4 resume

    Linus Torvalds
     

02 Apr, 2010

1 commit

  • This allows arch code could decide the way to reserve the ibft.

    And we should reserve ibft as early as possible, instead of BOOTMEM
    stage, in case the table is in RAM range and is not reserved by BIOS
    (this will often be the case.)

    Move to just after find_smp_config().

    Also when CONFIG_NO_BOOTMEM=y, We will not have reserve_bootmem() anymore.

    -v2: fix typo about ibft pointed by Konrad Rzeszutek Wilk

    Signed-off-by: Yinghai Lu
    LKML-Reference:
    Cc: Pekka Enberg
    Cc: Peter Jones
    Cc: Konrad Rzeszutek Wilk
    CC: Jan Beulich
    Signed-off-by: H. Peter Anvin

    Yinghai Lu
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

08 Mar, 2010

1 commit

  • Constify struct sysfs_ops.

    This is part of the ops structure constification
    effort started by Arjan van de Ven et al.

    Benefits of this constification:

    * prevents modification of data that is shared
    (referenced) by many other structure instances
    at runtime

    * detects/prevents accidental (but not intentional)
    modification attempts on archs that enforce
    read-only kernel data at runtime

    * potentially better optimized code as the compiler
    can assume that the const data cannot be changed

    * the compiler/linker move const data into .rodata
    and therefore exclude them from false sharing

    Signed-off-by: Emese Revfy
    Acked-by: David Teigland
    Acked-by: Matt Domsch
    Acked-by: Maciej Sosnowski
    Acked-by: Hans J. Koch
    Acked-by: Pekka Enberg
    Acked-by: Jens Axboe
    Acked-by: Stephen Hemminger
    Signed-off-by: Greg Kroah-Hartman

    Emese Revfy
     

07 Mar, 2010

1 commit

  • A memmap is a directory in sysfs which includes 3 text files: start, end
    and type. For example:

    start: 0x100000
    end: 0x7e7b1cff
    type: System RAM

    Interface firmware_map_add was not called explicitly. Remove it and add
    function firmware_map_add_hotplug as hotplug interface of memmap.

    Each memory entry has a memmap in sysfs, When we hot-add new memory, sysfs
    does not export memmap entry for it. We add a call in function add_memory
    to function firmware_map_add_hotplug.

    Add a new function add_sysfs_fw_map_entry() to create memmap entry, it
    will be called when initialize memmap and hot-add memory.

    [akpm@linux-foundation.org: un-kernedoc a no longer kerneldoc comment]
    Signed-off-by: Shaohui Zheng
    Acked-by: Andi Kleen
    Acked-by: Yasunori Goto
    Reviewed-by: Wu Fengguang
    Cc: Dave Hansen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    akpm@linux-foundation.org
     

01 Mar, 2010

1 commit


27 Feb, 2010

1 commit


07 Jan, 2010

1 commit


16 Dec, 2009

2 commits

  • Rather than have the EDD depend on !ia64 (and assuming that only ia64,
    x86, x86_64 will be including this Kconfig), have EDD depend on the only
    arches which can support this code. This should allow all other arches to
    cleanly include the firmware Kconfig.

    Also simplify the x86 string used by FIRMWARE_MEMMAP to match EDD.

    Signed-off-by: Mike Frysinger
    Acked-by: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • Signed-off-by: Joe Perches
    Cc: Jeff Garzik
    Cc: Tejun Heo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

12 Dec, 2009

1 commit

  • Unfortunately, one cannot hold on to the struct firmware
    that request_firmware_nowait() hands off, which is needed
    in some cases. Allow this by requiring the callback to
    free it (via release_firmware).

    Additionally, give it a gfp_t parameter -- all the current
    users call it from a GFP_KERNEL context so the GFP_ATOMIC
    isn't necessary. This also marks an API break which is
    useful in a sense, although that is obviously not the
    primary purpose of this change.

    Signed-off-by: Johannes Berg
    Acked-by: Marcel Holtmann
    Cc: Ming Lei
    Cc: Catalin Marinas
    Cc: David Woodhouse
    Cc: Pavel Roskin
    Cc: Abhay Salunke
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg
     

05 Dec, 2009

1 commit

  • The purpose of dmi->ident is twofold - it may be used by DMI callback
    functions when composing log messages; it is also used to determine
    end of DMI table in dmi_check_system() and dmi_first_match(). However,
    in case when callbacks are not interested in using ident at all it just
    wastes memory. Let's make entries with empty first match slot serve as
    end-of-table markers instead.

    Acked-by: Jean Delvare
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

06 Oct, 2009

1 commit

  • In virtual environments (namely, Xen Dom0) virt phys and
    virt isa-bus translations cannot be freely interchanged (and
    even outside such environments it is not really correct to do so).
    When looking at memory below 1M, the latter translations should
    always be used.

    iscsi_ibft_find.c part from: Martin Wilck .

    Signed-off-by: Jan Beulich
    Signed-off-by: Peter Jones
    Signed-off-by: Konrad Rzeszutek Wilk
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

22 Sep, 2009

1 commit

  • Since alloc_bootmem() will never return inaccessible (via virtual
    addressing) memory anyway, using the ..._low() variant only makes sense
    when the physical address range of the allocated memory must fulfill
    further constraints, espacially since on 64-bits (or more generally in all
    cases where the pools the two variants allocate from are than the full
    available range.

    Probably the use in alloc_tce_table() could also be eliminated (based on
    code inspection of pci-calgary_64.c), but that seems too risky given I
    know nothing about that hardware and have no way to test it.

    Signed-off-by: Jan Beulich
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     

16 Sep, 2009

1 commit


09 Sep, 2009

2 commits

  • There are cases where full date information is required instead of
    just the year. Add month and day parsing to dmi_get_year() and rename
    it to dmi_get_date().

    As the original function only required '/' followed by any number of
    parseable characters at the end of the string, keep that behavior to
    avoid upsetting existing users.

    The new function takes dates of format [mm[/dd]]/yy[yy]. Year, month
    and date are checked to be in the ranges of [1-9999], [1-12] and
    [1-31] respectively and any invalid or out-of-range component is
    returned as zero.

    The dummy implementation is updated accordingly but the return value
    is updated to indicate field not found which is consistent with how
    other dummy functions behave.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     
  • Year parsing in dmi_get_year() had the following two bugs.

    * "00" is treated as invalid instead of 2000 because zero return from
    simple_strtoul() is treated as error.

    * "0N" where N >= 8 is treated as invalid of 200N because the leading
    0 is considered to specify octal.

    Fix the above two bugs by using endptr to detect invalid number and
    forcing decimal.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jeff Garzik

    Tejun Heo
     

18 Jun, 2009

2 commits

  • Tony Luck
     
  • It is generally agreed that it would be beneficial for u64 to be an
    unsigned long long on all architectures. ia64 (in common with several
    other 64-bit architectures) currently uses unsigned long. Migrating
    piecemeal is too painful; this giant patch fixes all compilation warnings
    and errors that come as a result of switching to use int-ll64.h.

    Note that userspace will still see __u64 defined as unsigned long. This
    is important as it affects C++ name mangling.

    [Updated by Tony Luck to change efi.h:efi_freemem_callback_t to use
    u64 for start/end rather than unsigned long]

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Tony Luck

    Matthew Wilcox
     

17 Jun, 2009

1 commit

  • Addresses http://bugzilla.kernel.org/show_bug.cgi?id=13484

    Peer reported:
    | The bug is introduced from kernel 2.6.27, if E820 table reserve the memory
    | above 4G in 32bit OS(BIOS-e820: 00000000fff80000 - 0000000120000000
    | (reserved)), system will report Int 6 error and hang up. The bug is caused by
    | the following code in drivers/firmware/memmap.c, the resource_size_t is 32bit
    | variable in 32bit OS, the BUG_ON() will be invoked to result in the Int 6
    | error. I try the latest 32bit Ubuntu and Fedora distributions, all hit this
    | bug.
    |======
    |static int firmware_map_add_entry(resource_size_t start, resource_size_t end,
    | const char *type,
    | struct firmware_map_entry *entry)

    and it only happen with CONFIG_PHYS_ADDR_T_64BIT is not set.

    it turns out we need to pass u64 instead of resource_size_t for that.

    [akpm@linux-foundation.org: add comment]
    Reported-and-tested-by: Peer Chen
    Signed-off-by: Yinghai Lu
    Cc: Ingo Molnar
    Acked-by: H. Peter Anvin
    Cc: Thomas Gleixner
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     

10 Jun, 2009

1 commit

  • Community reported one SB600 SATA issue(BZ #9412), which led to 64 bit
    DMA disablement for all SB600 revisions by driver maintainers with
    commits c7a42156d99bcea7f8173ba7a6034bbaa2ecb77c and
    4cde32fc4b32e96a99063af3183acdfd54c563f0.

    But the root cause is ASUS M2A-VM system BIOS bug in old revisions
    like 0901, while forcing into 32bit DMA happens to work as workaround.
    Now it's time to withdraw 4cde32fc4b32e96a99063af3183acdfd54c563f0
    so as to restore the SB600 SATA 64bit DMA capability.
    This patch is also adding the workaround for M2A-VM old BIOS revisions,
    but users are suggested to upgrade their system BIOS to the latest one
    if they meet this issue.

    Signed-off-by: Shane Huang
    Cc: Tejun Heo
    Signed-off-by: Jeff Garzik

    Shane Huang
     

03 May, 2009

1 commit

  • Fix the display of a few fields in the iBFT NIC attribute structure in
    sysfs.

    Ensure that, if the DHCP IP address and the subnet mask for the interface
    is present in the iBFT NIC structure, the corresponding entries are
    created in sysfs tree for the device. This would hence create the
    additional entries in the tree based on the iBFT table and would not
    delete any existing entries.

    Signed-off-by: Ashutosh Naik
    Cc: Vishnu V
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ashutosh Naik
     

07 Apr, 2009

1 commit


31 Mar, 2009

1 commit


23 Feb, 2009

1 commit


19 Feb, 2009

1 commit

  • Since I don't work for SUSE any more and the bwalle@suse.de address is
    invalid, correct it in the copyright headers and documentation.

    Signed-off-by: Bernhard Walle
    Cc: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

13 Feb, 2009

1 commit


12 Feb, 2009

1 commit


29 Jan, 2009

1 commit