22 Jun, 2005

40 commits

  • The file arch/ppc64/kernel/iSeries_pci_reset contains only one function that
    is not use anywhere (any more). Remove it. This function is the only user of
    the ReturnCode member of iSeries_Device_Node, so remove that as well.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Last of this round of the iSeries header cleanups
    - don't have two defines for the same thing (HvMaxArchitectedLps
    and HvMaxArchitectedVirtualLans)
    - HvCallSc.h only needs linux/types.h
    - remove unused struct definition
    - add "extern" to some more function declarations

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch removes some unused bits from HvCall.h and some unneeded #includes
    from other files. Also includes ItLpQueue.h in paca.h in preference to a stub
    declaration of struct ItLpQueue.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Just white space cleaups and move process_iSeries_events into its only caller.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • Now that the only users of things in HvCallCfg.h are in HvLpConfig.h, merge in
    the bit we need and remove HvCallCfg.h.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch removes from the iSeries header files a large number of inline
    functions that are not used. It also changes the only caller of a HvCallCfg
    function that is outside HvLpConfig.h to its equivalent HvLpConfig function
    and no longer includes HvCallCfg.h where it is not needed.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • include/asm-ppc64/iSeries/LparData.h just included a whole lot of other files
    to declare variables that would be better declared in those other files. So,
    remove it. This will reduce that number of things needed to be included in
    most cases to access the relevant variables.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch does some obvious code cleanups in the iSeries headers files.
    - simplifies the bodies of lots of inline functions
    - parenthesises a macros result
    - removes C++ wrapping
    - adds "extern" to some function declarations
    There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just contains white space and comment cleanups in the iSeries
    headers files. There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • This patch just contains white space and comment cleanups in the iSeries
    headers files. There are no semantic changes.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • include/asm-ppc64/iSeries/iSeries_proc.h just contains a declaration of a
    function that no longer exists. Remove it.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     
  • The following kind of calls currently fails :

    make ARCH=ppc64 CC="gcc-3.4"

    Since the code for detecting a biarch compiler and adding the needed 64bit
    magic argument fails if the AS/LD/CC commands are overriden in the command
    line.

    The attached patch fixes this by using the make override and += directive,
    but i am not 100% sure this will work without gmake, as i am no Makefile
    expert.

    Cc: Paul Mackerras
    Cc: Anton Blanchard
    Cc: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sven Luther
     
  • Currently ppc64 has two mm_structs for the kernel, init_mm and also
    ioremap_mm. The latter really isn't necessary: this patch abolishes it,
    instead restricting vmallocs to the lower 1TB of the init_mm's range and
    placing io mappings in the upper 1TB. This simplifies the code in a number
    of places and eliminates an unecessary set of pagetables. It also tweaks
    the unmap/free path a little, allowing us to remove the unmap_im_area() set
    of page table walkers, replacing them with unmap_vm_area().

    Signed-off-by: David Gibson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Gibson
     
  • This patch kills the whole embedded System.map mecanism and the
    bootloader-passed System.map that was used to provide symbol resolution in
    xmon. Instead, xmon now uses kallsyms like ppc64 does.

    No hurry getting that in Linus tree, let it be tested in -mm for a while
    first and make sure it doesn't break various embedded configs.

    Signed-off-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Benjamin Herrenschmidt
     
  • This patch avoids recursive crash (leading to kernel stack overflow) in
    die() on CHRP/PReP machines when CONFIG_PMAC_BACKLIGHT=y. set_backlight_*
    functions are placed in pmac section, which is discarded when _machine !=
    _MACH_Pmac.

    Signed-off-by: Jakub Bogusz
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jakub Bogusz
     
  • Fight the Good Fight: Limit prom.h header creep.

    Signed-off-by: Jon Loeliger
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • 4xx and Book-E PPC's have several exception levels. The code to handle
    each level is fairly regular. Turning the code into macro's will ease the
    handling of future exception levels (debug) in forth coming chips.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Made the number of TLB CAM entries private and converted the board
    consumers to use num_tlbcam_entries which is setup at boot time from
    configuration registers. This way the only consumers of the #define
    NUM_TLBCAMS are the arrays used to manage the TLB.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • The MPC8548 has 48 internal interrupts and 12 external interrupts. The
    previous generation PowerQUICC III devices only had 32 internal and 12
    external interrupts on the primary interrupt controller.

    Expanded the number of internal interrupts to 48 for all PowerQUICC III
    processors and moved the interrupt numbers for the external after the 48
    internal interrupt lines, rather than putting the 12 new internal
    interrupts at the end and ifdef'ng the whole mess. As parted of this
    created a macro which represents the internal interrupt senses since they
    are the same on all PQ3 processors.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Removes ppc4xx_kgdb.c which is no longer being used. Pointed out by Andrei
    Konovalov.

    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • Added platform device initialization for the two 8250 style UARTs that
    exist on the MPC8245. Additionally, updated the Sandpoint code to enable
    one of these UARTs if an MPC8245 is connected to it.

    Signed-off-by: Matt McClintock
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • This patch is virtually identical to my previous 44x one. It removes
    0x8000'0000 TASK_SIZE hardcoded assumption from head_4xx.S.

    Signed-off-by: Eugene Surovegin
    Signed-off-by: Matt Porter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • Adds SCC2 pin routing specific to the GP3 board.

    Signed-off-by: Matt Porter
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Matt Porter
     
  • Converted the MPC10x bridge support (used by MPC10x and 8240/1/5) to used
    the standard platform device model.

    Signed-off-by: Matt McClintock
    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Previously we needed CONFIG_CPM2 enabled to get the proper IRQ ifdef's for
    CPM interrupts. Recent changes have caused that to be no longer necessary.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Adds support for using the MPC8548 processor on the CDS reference board.
    Currently all the major busses (PCI, PCI-X, PCI-Express, sRIO) and eTSEC3
    and eTSEC4 are not supported.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • Added descriptions of the new MPC8548 family processors, e500 core and
    peripherals.

    Signed-off-by: Kumar Gala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kumar Gala
     
  • There is a memory leak during mount when SELinux is active and mount
    options are specified.

    Signed-off-by: Gerald Schaefer
    Acked-by: Stephen Smalley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerald Schaefer
     
  • There is a memory leak during mount when CONFIG_SECURITY is enabled and
    mount options are specified.

    Signed-off-by: Gerald Schaefer
    Acked-by: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerald Schaefer
     
  • I am always trying to make sure I've booted the right kernel after a new
    install. Too paranoid maybe. But I guess there're other people like me.
    So let's make kbuild display the compile version number at the end to give
    us a hint. I know we may be booting vmlinux someday, but don't care about
    it for now.

    Signed-off-by: Coywolf Qi Hunt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Coywolf Qi Hunt
     
  • Remove the superfluous test of "if (vortex_debug > 3)" inside the "if
    (vortex_debug > 6)" clause early in boomerang_start_xmit.

    Signed-off-by: John W. Linville
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    John W. Linville
     
  • OOM killer prints a stray newline.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Vlasenko
     
  • It's common practice to msync a large address range regularly, in which
    often only a few ptes have actually been dirtied since the previous pass.

    sync_pte_range then goes much faster if it tests whether pte is dirty
    before locating and accessing each struct page cacheline; and it is hardly
    slowed by ptep_clear_flush_dirty repeating that test in the opposite case,
    when every pte actually is dirty.

    But beware, s390's pte_dirty always says false, since its dirty bit is kept
    in the storage key, located via the struct page address. So skip this
    optimization in its case: use a pte_maybe_dirty macro which just says true
    if page_test_and_clear_dirty is implemented.

    Signed-off-by: Abhijit Karmarkar
    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Abhijit Karmarkar
     
  • Remember that ironic get_user_pages race? when the raised page_count on a
    page swapped out led do_wp_page to decide that it had to copy on write, so
    substituted a different page into userspace. 2.6.7 onwards have Andrea's
    solution, where try_to_unmap_one backs out if it finds page_count raised.

    Which works, but is unsatisfying (rmap.c has no other page_count heuristics),
    and was found a few months ago to hang an intensive page migration test. A
    year ago I was hesitant to engage page_mapcount, now it seems the right fix.

    So remove the page_count hack from try_to_unmap_one; and use activate_page in
    unuse_mm when dropping lock, to replace its secondary effect of helping
    swapoff to make progress in that case.

    Simplify can_share_swap_page (now called only on anonymous pages) to check
    page_mapcount + page_swapcount == 1: still needs the page lock to stabilize
    their (pessimistic) sum, but does not need swapper_space.tree_lock for that.

    In do_swap_page, move swap_free and unlock_page below page_add_anon_rmap, to
    keep sum on the high side, and correct when can_share_swap_page called.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • A small optimization to do_wp_page's check for whether to avoid copy by
    reusing the page already mapped. It can never share a cached file page,
    nor can it share a reserved page (often the empty zero page), so it's a
    waste of time to lock and unlock in those cases. Which nowadays can both
    be neatly excluded by a preliminary PageAnon test.

    Christoph has reported that a preliminary page_count test proved valuable
    for scalability here, but PageAnon covers more common cases all at once.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Since its birth, get_user_pages has been calling a misguided get_page_map
    function. follow_page has already returned NULL if the pfn is invalid, we
    cannot reach an invalid pfn from a validated struct page.

    Remove get_page_map, and the messy rewind in get_user_pages to cope with
    its failure. Oh, and could we please call that "struct page *page" like
    everywhere else, instead of "struct page *map"?

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • rme96xx busmaster_malloc miscalculates and fails to set PageReserved on any
    page of char *buf; but busmaster_free does it right, so do the same (I
    don't have the card, just noticed this while sifting for rmap BUGs).

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Since free_pages_check complains if PG_reclaim or PG_slab is set, bad_page
    ought to clear them to avoid repetitive reports (Nikita noticed this too).
    Let prep_new_page check page_count and PG_slab as free_pages_check does.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Remove part of comment on linking new vma in dup_mmap: since anon_vma rmap
    came in, try_to_unmap_one knows the vma without needing find_vma. But add
    a comment to note that here vma is inserted without mmap_sem.

    Signed-off-by: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins
     
  • Strict mbind's check for currently mapped pages being on node has been
    using a slow loop which re-evaluates pgd, pud, pmd, pte for each entry:
    replace that by a standard four-level page table walk like others in mm.
    Since mmap_sem is held for writing, page_table_lock can be taken at the
    inner level to limit latency.

    Signed-off-by: Hugh Dickins
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hugh Dickins