10 May, 2007

22 commits

  • Commit 2f4dfe206a2fc07099dfad77a8ea2f4b4ae2140f moved the definition
    of hard_smp_processor_id() for the UP case from include/linux/smp.h
    to include/asm/smp.h. However, include/linux/smp.h only includes
    include/asm/smp.h in the SMP case, so code that wants to use
    hard_smp_processor_id() has to include explicitly to
    be sure of getting the definition.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • If CONFIG_BLK_DEV_INITRD is not defined the prop variable in
    early_init_dt_scan_chosen() is unused, causing a compiler warning.

    So split the initrd logic into a separate function, allowing us to
    declare prop only when we need it.

    Built for both cases and booted with an initrd.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Paul Mackerras

    Michael Ellerman
     
  • This adds the necessary support to hpte_decode() to handle 1TB
    segments and 16GB pages, and removes an uninitialized value
    warning on avpn.

    We don't have any code to generate HPTEs for 1TB segments or 16GB
    pages yet, so this is mostly for completeness, and to fix the
    warning.

    Signed-off-by: Paul Mackerras
    Acked-by: Benjamin Herrenschmidt

    Paul Mackerras
     
  • pci is not initialized before being used here, so this debug print is
    bogus at the current location. Move it to where it makes sense.

    Signed-off-by: Michael Neuling
    Signed-off-by: Paul Mackerras

    Michael Neuling
     
  • Assorted minor cleanups to EEH code; -- use literals, use
    kerneldoc format.

    Signed-off-by: Linas Vepstas

    ----
    arch/powerpc/platforms/pseries/eeh.c | 13 ++++++++++---
    arch/powerpc/platforms/pseries/eeh_driver.c | 7 ++++---
    include/asm-powerpc/ppc-pci.h | 18 +++++++++++++++---
    3 files changed, 29 insertions(+), 9 deletions(-)
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • My patch "Cope with PCI host bridge I/O window not starting at 0"
    introduced a bug in the calculation of the virtual addresses for the
    I/O windows of PCI host bridges other than the first, because it
    didn't account for the fact that hose->io_resource gets offset so that
    it reflects the range of global I/O port numbers assigned to the
    bridge. This fixes it and simplifies get_bus_io_range() in the
    process.

    Signed-off-by: Paul Mackerras

    Paul Mackerras
     
  • Updates for celleb_defconfig.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Paul Mackerras

    Ishizaki Kou
     
  • This is a bugfix to install Fedora Core 6 by using kernel
    command line 'celleb_machine_type_hack=CHRP'.

    Yes, this is a one-character fix to add forgotten '='.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Paul Mackerras

    Ishizaki Kou
     
  • Checking whether bus->self is NULL is not enough to know "bus" is the
    primary bus.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Paul Mackerras

    Ishizaki Kou
     
  • Celleb has multiple PCI host bridges (phbs). Previous boot logic gives
    non-overlapped bus IDs between PCI host bridges so you can identify
    PHB by bus ID. But newer boot logic gives same bus ID between PHBs (it
    gives bus ID 0 as root bus.) So we have to set 'phb->buid' as
    non-zero.

    Signed-off-by: Kou Ishizaki
    Signed-off-by: Paul Mackerras

    Ishizaki Kou
     
  • Paul Mackerras
     
  • Removed rheap in arch/ppc/lib and changed build system to use the
    one in arch/powerpc/lib.

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • The MPC834x_MDS device tree's PCI non-prefetchable MMIO range was
    specified incorrectly. Both the local and bus addresses start at
    0x90000000.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • The MPC832x_MDS device tree's PCI non-prefetchable MMIO range was
    specified incorrectly. Both the local and bus addresses start at
    0x90000000.

    Signed-off-by: Scott Wood
    Signed-off-by: Kumar Gala

    Scott Wood
     
  • The rheap allocation functions return a pointer, but the actual value is based
    on how the heap was initialized, and so it can be anything, e.g. an offset
    into a buffer. A ulong is a better representation of the value returned by
    the allocation functions.

    This patch changes all of the relevant rheap functions to use a unsigned long
    integers instead of a pointer. In case of an error, the value returned is
    a negative error code that has been cast to an unsigned long. The caller can
    use the IS_ERR_VALUE() macro to check for this.

    All code which calls the rheap functions is updated accordingly. Macros
    IS_MURAM_ERR() and IS_DPERR(), have been deleted in favor of IS_ERR_VALUE().

    Also added error checking to rh_attach_region().

    Signed-off-by: Timur Tabi
    Signed-off-by: Kumar Gala

    Timur Tabi
     
  • HD interface and AC97 interface share some pins and they are enabled at
    the same time, In order to use AC97 interface, we need to disable the HD
    interface first.

    Signed-off-by:Jason Jin
    Acked-by: Jon Loeliger
    Signed-off-by: Kumar Gala

    Jason Jin
     
  • Suppress warning when CONFIG_PCI & CONFIG_QUICC_ENGINE is not defined

    Signed-off-by: Kumar Gala

    Kumar Gala
     
  • Suppress warning when CONFIG_PCI is not defined.

    Signed-off-by: Li Yang
    Signed-off-by: Kumar Gala

    Li Yang
     
  • * 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Further fixes for the removal of 4level-fixup hack from ppc32
    [POWERPC] EEH: log all PCI-X and PCI-E AER registers
    [POWERPC] EEH: capture and log pci state on error
    [POWERPC] EEH: Split up long error msg
    [POWERPC] EEH: log error only after driver notification.
    [POWERPC] fsl_soc: Make mac_addr const in fs_enet_of_init().
    [POWERPC] Don't use SLAB/SLUB for PTE pages
    [POWERPC] Spufs support for 64K LS mappings on 4K kernels
    [POWERPC] Add ability to 4K kernel to hash in 64K pages
    [POWERPC] Introduce address space "slices"
    [POWERPC] Small fixes & cleanups in segment page size demotion
    [POWERPC] iSeries: Make HVC_ISERIES the default
    [POWERPC] iSeries: suppress build warning in lparmap.c
    [POWERPC] Mark pages that don't exist as nosave
    [POWERPC] swsusp: Introduce register_nosave_region_late

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (25 commits)
    sound: convert "sound" subdirectory to UTF-8
    MAINTAINERS: Add cxacru website/mailing list
    include files: convert "include" subdirectory to UTF-8
    general: convert "kernel" subdirectory to UTF-8
    documentation: convert the Documentation directory to UTF-8
    Convert the toplevel files CREDITS and MAINTAINERS to UTF-8.
    remove broken URLs from net drivers' output
    Magic number prefix consistency change to Documentation/magic-number.txt
    trivial: s/i_sem /i_mutex/
    fix file specification in comments
    drivers/base/platform.c: fix small typo in doc
    misc doc and kconfig typos
    Remove obsolete fat_cvf help text
    Fix occurrences of "the the "
    Fix minor typoes in kernel/module.c
    Kconfig: Remove reference to external mqueue library
    Kconfig: A couple of grammatical fixes in arch/i386/Kconfig
    Correct comments in genrtc.c to refer to correct /proc file.
    Fix more "deprecated" spellos.
    Fix "deprecated" typoes.
    ...

    Fix trivial comment conflict in kernel/relay.c.

    Linus Torvalds
     
  • This finally renames the thread_info field in task structure to stack, so that
    the assumptions about this field are gone and archs have more freedom about
    placing the thread_info structure.

    Nonbroken archs which have a proper thread pointer can do the access to both
    current thread and task structure via a single pointer.

    It'll allow for a few more cleanups of the fork code, from which e.g. ia64
    could benefit.

    Signed-off-by: Roman Zippel
    [akpm@linux-foundation.org: build fix]
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Russell King
    Cc: Ian Molton
    Cc: Haavard Skinnemoen
    Cc: Mikael Starvik
    Cc: David Howells
    Cc: Yoshinori Sato
    Cc: "Luck, Tony"
    Cc: Hirokazu Takata
    Cc: Geert Uytterhoeven
    Cc: Roman Zippel
    Cc: Greg Ungerer
    Cc: Ralf Baechle
    Cc: Ralf Baechle
    Cc: Paul Mackerras
    Cc: Benjamin Herrenschmidt
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Paul Mundt
    Cc: Kazumoto Kojima
    Cc: Richard Curnow
    Cc: William Lee Irwin III
    Cc: "David S. Miller"
    Cc: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Cc: Miles Bader
    Cc: Andi Kleen
    Cc: Chris Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roman Zippel
     
  • Since nonboot CPUs are now disabled after tasks and devices have been
    frozen and the CPU hotplug infrastructure is used for this purpose, we need
    special CPU hotplug notifications that will help the CPU-hotplug-aware
    subsystems distinguish normal CPU hotplug events from CPU hotplug events
    related to a system-wide suspend or resume operation in progress. This
    patch introduces such notifications and causes them to be used during
    suspend and resume transitions. It also changes all of the
    CPU-hotplug-aware subsystems to take these notifications into consideration
    (for now they are handled in the same way as the corresponding "normal"
    ones).

    [oleg@tv-sign.ru: cleanups]
    Signed-off-by: Rafael J. Wysocki
    Cc: Gautham R Shenoy
    Cc: Pavel Machek
    Signed-off-by: Oleg Nesterov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rafael J. Wysocki
     

09 May, 2007

18 commits

  • Many files include the filename at the beginning, serveral used a wrong one.

    Signed-off-by: Uwe Kleine-König
    Signed-off-by: Adrian Bunk

    Uwe Kleine-König
     
  • Signed-off-by: Michael Opdenacker
    Signed-off-by: Adrian Bunk

    Michael Opdenacker
     
  • Commit d1953c8888ef034b912ee33bc2ea2cce6a414402 removed the use of
    4level-fixup.h for 32-bit systems under arch/powerpc. However, I
    missed a few things activated on some configurations, resulting in
    some warnings (at least with STRICT_MM_TYPECHECKS enabled) and build
    errors in some circumstances. This fixes it.

    Signed-off-by: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson
     
  • When an EEH event is detected, and after the device driver
    has been notified, but before the device is reset, enable
    MMIO to the adapter, and grab the contents of the PCI status
    and command registers, the PCI-X status and command, and the
    PCI-E capability 10 and AER registers. Pass these up to the
    RTAS error log, and also printk them.

    Signed-off-by: Linas Vepstas
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • If an EEH event is observed, capture PCI config space info about
    the device, wrap it up and pass it to the event logger. This
    pach just slots in the basic logging function. A later patch
    will provide for more through data gathering.

    Signed-off-by: Linas Vepstas
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • Make some minor adjustments to the EEH error messages.

    Signed-off-by: Linas Vepstas
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • It turns out many/most versions of firmware enable MMIO when
    the slto-error-detail rtas call is made (in violation of the
    architecture). Thus, it would be best to call slot-error-detail
    only after notifying device drivers of a freeze, as otherwise,
    a variety of strange and unexpected things may happen.

    Signed-off-by: Linas Vepstas
    Signed-off-by: Paul Mackerras

    Linas Vepstas
     
  • of_get_mac_address() returns a const pointer, so the result
    should be stored in a const pointer.

    Signed-off-by: Scott Wood
    Signed-off-by: Paul Mackerras

    Scott Wood
     
  • The SLUB allocator relies on struct page fields first_page and slab,
    overwritten by ptl when SPLIT_PTLOCK: so the SLUB allocator cannot then
    be used for the lowest level of pagetable pages. This was obstructing
    SLUB on PowerPC, which uses kmem_caches for its pagetables. So convert
    its pte level to use normal gfp pages (whereas pmd, pud and 64k-page pgd
    want partpages, so continue to use kmem_caches for pmd, pud and pgd).

    Signed-off-by: Hugh Dickins
    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Hugh Dickins
     
  • This adds an option to spufs when the kernel is configured for
    4K page to give it the ability to use 64K pages for SPE local store
    mappings.

    Currently, we are optimistic and try order 4 allocations when creating
    contexts. If that fails, the code will fallback to 4K automatically.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • This adds the ability for a kernel compiled with 4K page size
    to have special slices containing 64K pages and hash the right type
    of hash PTEs.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • The basic issue is to be able to do what hugetlbfs does but with
    different page sizes for some other special filesystems; more
    specifically, my need is:

    - Huge pages

    - SPE local store mappings using 64K pages on a 4K base page size
    kernel on Cell

    - Some special 4K segments in 64K-page kernels for mapping a dodgy
    type of powerpc-specific infiniband hardware that requires 4K MMU
    mappings for various reasons I won't explain here.

    The main issues are:

    - To maintain/keep track of the page size per "segment" (as we can
    only have one page size per segment on powerpc, which are 256MB
    divisions of the address space).

    - To make sure special mappings stay within their allotted
    "segments" (including MAP_FIXED crap)

    - To make sure everybody else doesn't mmap/brk/grow_stack into a
    "segment" that is used for a special mapping

    Some of the necessary mechanisms to handle that were present in the
    hugetlbfs code, but mostly in ways not suitable for anything else.

    The patch relies on some changes to the generic get_unmapped_area()
    that just got merged. It still hijacks hugetlb callbacks here or
    there as the generic code hasn't been entirely cleaned up yet but
    that shouldn't be a problem.

    So what is a slice ? Well, I re-used the mechanism used formerly by our
    hugetlbfs implementation which divides the address space in
    "meta-segments" which I called "slices". The division is done using
    256MB slices below 4G, and 1T slices above. Thus the address space is
    divided currently into 16 "low" slices and 16 "high" slices. (Special
    case: high slice 0 is the area between 4G and 1T).

    Doing so simplifies significantly the tracking of segments and avoids
    having to keep track of all the 256MB segments in the address space.

    While I used the "concepts" of hugetlbfs, I mostly re-implemented
    everything in a more generic way and "ported" hugetlbfs to it.

    Slices can have an associated page size, which is encoded in the mmu
    context and used by the SLB miss handler to set the segment sizes. The
    hash code currently doesn't care, it has a specific check for hugepages,
    though I might add a mechanism to provide per-slice hash mapping
    functions in the future.

    The slice code provide a pair of "generic" get_unmapped_area() (bottomup
    and topdown) functions that should work with any slice size. There is
    some trickiness here so I would appreciate people to have a look at the
    implementation of these and let me know if I got something wrong.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • The code for demoting segments to 4K had some issues, like for example,
    when using _PAGE_4K_PFN flag, the first CPU to hit it would do the
    demotion, but other CPUs hitting the same page wouldn't properly flush
    their SLBs if mmu_ci_restriction isn't set. There are also potential
    issues with hash_preload not handling _PAGE_4K_PFN. All of these are
    non issues on current hardware but might bite us in the future.

    This patch thus fixes it by:

    - Taking the test comparing the mm and current CPU context page
    sizes to decide to flush SLBs out of the mmu_ci_restrictions test
    since that can also be triggered by _PAGE_4K_PFN pages

    - Due to the above being done all the time, demote_segment_4k
    doesn't need update the context and flush the SLB

    - demote_segment_4k can be static and doesn't need an EXPORT_SYMBOL

    - Making hash_preload ignore anything that has either _PAGE_4K_PFN
    or _PAGE_NO_CACHE set, thus avoiding duplication of the complicated
    logic in hash_page() (and possibly making hash_preload a little bit
    faster for the normal case).

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Benjamin Herrenschmidt
     
  • This makes the new iSeries virtual console drivers (nvc_iseries) the
    default and prevents viocons being built unless explicitly selected.
    Also it makes no sense to have the console as a module.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • lparmap.c: Assembler messages:
    lparmap.c:51: Warning: ignoring changed section attributes for .text

    Idea from Segher Boessenkool.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Mackerras

    Stephen Rothwell
     
  • On some powerpc architectures (notably 64-bit powermac) there is a memory
    hole, for example on powermacs between 2G and 4G. Since we use the flat
    memory model regardless, these pages must be marked as nosave (for suspend
    to disk.)

    Signed-off-by: Johannes Berg
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Paul Mackerras

    Johannes Berg
     
  • Fix the misspellings of "propogate", "writting" and (oh, the shame
    :-) "kenrel" in the source tree.

    Signed-off-by: Robert P. J. Day
    Signed-off-by: Adrian Bunk

    Robert P. J. Day
     
  • Fix several typos in help text in Kconfig* files.

    Signed-off-by: David Sterba
    Signed-off-by: Adrian Bunk

    David Sterba