28 Sep, 2006

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] minor reformatting to vmlinux.lds.S
    [IA64] CMC/CPE: Reverse the order of fetching log and checking poll threshold
    [IA64] PAL calls need physical mode, stacked
    [IA64] ar.fpsr not set on MCA/INIT kernel entry
    [IA64] printing support for MCA/INIT
    [IA64] trim output of show_mem()
    [IA64] show_mem() printk levels
    [IA64] Make gp value point to Region 5 in mca handler
    Revert "[IA64] Unwire set/get_robust_list"
    [IA64] Implement futex primitives
    [IA64-SGI] Do not request DMA memory for BTE
    [IA64] Move perfmon tables from thread_struct to pfm_context
    [IA64] Add interface so modules can discover whether multithreading is on.
    [IA64] kprobes: fixup the pagefault exception caused by probehandlers
    [IA64] kprobe opcode 16 bytes alignment on IA64
    [IA64] esi-support
    [IA64] Add "model name" to /proc/cpuinfo

    Linus Torvalds
     

27 Sep, 2006

12 commits

  • Size zones and holes in an architecture independent manner for ia64.

    [bob.picco@hp.com: fix ia64 FLATMEM+VIRTUAL_MEM_MAP]
    Signed-off-by: Mel Gorman
    Signed-off-by: Bob Picco
    Cc: Dave Hansen
    Cc: Andy Whitcroft
    Cc: Andi Kleen
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: "Keith Mannthey"
    Cc: "Luck, Tony"
    Cc: KAMEZAWA Hiroyuki
    Cc: Yasunori Goto
    Signed-off-by: Bob Picco
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mel Gorman
     
  • Fix build error introduced by 3212fe1594e577463bc8601d28aa008f520c3377

    Non-NUMA case should be handled.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • PAL_CACHE_READ and PAL_CACHE_WRITE need to be called in physical
    mode with stacked registers.

    Signed-off-by: Russ Anderson (rja@sgi.com)
    Signed-off-by: Tony Luck

    Russ Anderson
     
  • MCA dispatch code take physical address of GP passed from SAL, then call
    DATA_PA_TO_VA twice on GP before call into C code. The first time is
    in ia64_set_kernel_register, the second time is in VIRTUAL_MODE_ENTER.
    The gp is changed to a virtual address in region 7 because DATA_PA_TO_VA
    is implemented by dep instruction.

    However when notify blocks were called from MCA handler code, because
    notify blocks are supported by callback function pointers, gp value
    value was switched to region 5 again.

    The patch set gp register to kernel gp of region 5 at entry of MCA
    dispatch.

    Signed-off-by: Zou Nan hai
    Signed-off-by: Tony Luck

    Zou Nan hai
     
  • This reverts commit 2636255488484e04d6d54303d2b0ec30f7ef7e02.

    Jakub Jelinek provided the missing futex_atomic_cmpxchg_inatomic()
    function, so now it should be safe to re-enable these syscalls.

    Signed-off-by: Tony Luck

    Tony Luck
     
  • Implement futex_atomic_op_inuser() and futex_atomic_cmpxchg_inatomic()
    on IA64 in order to fully support all futex functionality.

    Signed-off-by: Jakub Jelinek
    Signed-off-by: David Woodhouse
    Signed-off-by: Tony Luck

    Jakub Jelinek
     
  • * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: (225 commits)
    [PATCH] Don't set calgary iommu as default y
    [PATCH] i386/x86-64: New Intel feature flags
    [PATCH] x86: Add a cumulative thermal throttle event counter.
    [PATCH] i386: Make the jiffies compares use the 64bit safe macros.
    [PATCH] x86: Refactor thermal throttle processing
    [PATCH] Add 64bit jiffies compares (for use with get_jiffies_64)
    [PATCH] Fix unwinder warning in traps.c
    [PATCH] x86: Allow disabling early pci scans with pci=noearly or disallowing conf1
    [PATCH] x86: Move direct PCI scanning functions out of line
    [PATCH] i386/x86-64: Make all early PCI scans dependent on CONFIG_PCI
    [PATCH] Don't leak NT bit into next task
    [PATCH] i386/x86-64: Work around gcc bug with noreturn functions in unwinder
    [PATCH] Fix some broken white space in ia32_signal.c
    [PATCH] Initialize argument registers for 32bit signal handlers.
    [PATCH] Remove all traces of signal number conversion
    [PATCH] Don't synchronize time reading on single core AMD systems
    [PATCH] Remove outdated comment in x86-64 mmconfig code
    [PATCH] Use string instructions for Core2 copy/clear
    [PATCH] x86: - restore i8259A eoi status on resume
    [PATCH] i386: Split multi-line printk in oops output.
    ...

    Linus Torvalds
     
  • This patch renders thread_struct->pmcs[] and thread_struct->pmds[]
    OBSOLETE. The actual table is moved to pfm_context structure which
    saves space in thread_struct (in turn saving space in task_struct
    which frees up more space for kernel stacks).

    Signed-off-by: Stephane Eranian
    Signed-off-by: Anil S Keshavamurthy
    Signed-off-by: Tony Luck

    Keshavamurthy Anil S
     
  • Add is_multithreading_enabled() to check whether multi-threading
    is enabled independently of which cpu is currently online

    Signed-off-by: stephane eranian
    Signed-off-by: Tony Luck

    Stephane Eranian
     
  • On IA64 instruction opcode must be 16 bytes alignment, in kprobe structure
    there is one element to save original instruction, currently saved opcode
    is not statically allocated in kprobe structure, that can not assure
    16 bytes alignment. This patch dynamically allocated kprobe instruction
    opcode to assure 16 bytes alignment.

    Signed-off-by: bibo mao
    Acked-by: Anil S Keshavamurthy
    Signed-off-by: Tony Luck

    bibo mao
     
  • Tony Luck
     
  • Tony Luck
     

26 Sep, 2006

5 commits

  • If we're going to implement smp_call_function_single() on three architecture
    with the same prototype then it should have a declaration in a
    non-arch-specific header file.

    Move it into .

    Cc: Stephane Eranian
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • One of the changes necessary for shared page tables is to standardize the
    pxx_page macros. pte_page and pmd_page have always returned the struct
    page associated with their entry, while pte_page_kernel and pmd_page_kernel
    have returned the kernel virtual address. pud_page and pgd_page, on the
    other hand, return the kernel virtual address.

    Shared page tables needs pud_page and pgd_page to return the actual page
    structures. There are very few actual users of these functions, so it is
    simple to standardize their usage.

    Since this is basic cleanup, I am submitting these changes as a standalone
    patch. Per Hugh Dickins' comments about it, I am also changing the
    pxx_page_kernel macros to pxx_page_vaddr to clarify their meaning.

    Signed-off-by: Dave McCracken
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave McCracken
     
  • Apparently IA64 needs it, but i386/x86-64 don't anymore
    since gcc 2.95 support was dropped. Nobody else on linux-arch
    requested keeping it generically

    Cc: tony.luck@intel.com
    Cc: kaos@sgi.com

    Signed-off-by: Andi Kleen

    Andi Kleen
     
  • Assume that a cpu is *physically* offlined at boot time...

    Because smpboot.c::smp_boot_cpu_map() canoot find cpu's sapicid,
    numa.c::build_cpu_to_node_map() cannot build cpunode map for
    offlined cpu.

    For such cpus, cpu_to_node map should be fixed at cpu-hot-add.
    This mapping should be done before cpu onlining.

    This patch also handles cpu hotremove case.

    Signed-off-by: KAMEZAWA Hiroyuki
    Cc: "Luck, Tony"
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KAMEZAWA Hiroyuki
     
  • They all contain the same thing. Instead, have a single generic one in
    include/asm-generic, and permit an arch to override as needed.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     

24 Sep, 2006

1 commit


19 Sep, 2006

2 commits


17 Sep, 2006

1 commit

  • On Tue, 2006-09-12 at 17:44 +0100, David Woodhouse wrote:
    > asm-ia64/ptrace.h requires asm/asm-offsets.h, which does not exist
    > asm-ia64/resource.h requires asm/ustack.h, which does not exist

    Hide parts which shouldn't be visible to userspace.

    Signed-off-by: David Woodhouse
    Cc: Sam Ravnborg
    Cc: "Luck, Tony"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Woodhouse
     

13 Sep, 2006

1 commit


09 Sep, 2006

1 commit


08 Sep, 2006

1 commit

  • This prevents cross-region mappings on IA64 and SPARC which could lead
    to system crash. They were correctly trapped for normal mmap() calls,
    but not for the kernel internal calls generated by executable loading.

    This code just moves the architecture-specific cross-region checks into
    an arch-specific "arch_mmap_check()" macro, and defines that for the
    architectures that needed it (ia64, sparc and sparc64).

    Architectures that don't have any special requirements can just ignore
    the new cross-region check, since the mmap() code will just notice on
    its own when the macro isn't defined.

    Signed-off-by: Pavel Emelianov
    Signed-off-by: Kirill Korotaev
    Acked-by: David Miller
    Signed-off-by: Greg Kroah-Hartman
    [ Cleaned up to not affect architectures that don't need it ]
    Signed-off-by: Linus Torvalds

    Kirill Korotaev
     

04 Sep, 2006

1 commit


30 Aug, 2006

1 commit

  • sn_change_memprotect() does a local_irq_save() then calls
    ia64_sal_oemcall_nolock() which calls SAL_CALL_NOLOCK()
    which also does a local_irq_save().

    This patch removes the redundant local_irq_save() and local_irq_restore()
    calls in sn_change_memprotect() and sn_inject_error().

    Signed-off-by: Russ Anderson
    Signed-off-by: Tony Luck

    Russ Anderson
     

10 Aug, 2006

1 commit

  • Kill host_set->next
    Fix simplex support
    Allow per platform setting of IDE legacy bases

    Some of this can be tidied further later on, in particular all the
    legacy port gunge belongs as a PCI quirk/PCI header decode to understand
    the special legacy IDE rules in the PCI spec.

    Longer term Jeff also wants to move the request_irq/free_irq out of core
    which will make this even cleaner.

    tj: folded in three followup patches - ata_piix-fix, broken-arch-fix
    and fix-new-legacy-handling, and separated per-dev xfermask into
    separate patch preceding this one. Folded in fixes are...

    * ata_piix-fix: fix build failure due to host_set->next removal
    * broken-arch-fix: add missing include/asm-*/libata-portmap.h
    * fix-new-legacy-handling:
    * In ata_pci_init_legacy_port(), probe_num was incorrectly
    incremented during initialization of the secondary port and
    probe_ent->n_ports was incorrectly fixed to 1.

    * Both legacy ports ended up having the same hard_port_no.

    * When printing port information, both legacy ports printed
    the first irq.

    Signed-off-by: Alan Cox
    Signed-off-by: Andrew Morton
    Signed-off-by: Tejun Heo

    Alan Cox
     

09 Aug, 2006

1 commit

  • Jack Steiner identified a problem where XPC can cause a silent
    data corruption. On module load, the placement may cause the
    xpc_remote_copy_buffer to span two physical pages. DMA transfers are
    done to the start virtual address translated to physical.

    This patch changes the buffer from a statically allocated buffer to a
    kmalloc'd buffer. Dean Nelson reviewed this before posting. I have
    tested it in the configuration that was showing the memory corruption
    and verified it works. I also added a BUG_ON statement to help catch
    this if a similar situation is encountered.

    Signed-off-by: Robin Holt
    Signed-off-by: Dean Nelson
    Signed-off-by: Jack Steiner
    Signed-off-by: Tony Luck

    Dean Nelson
     

04 Aug, 2006

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] fix show_mem for VIRTUAL_MEM_MAP+FLATMEM
    [IA64] align high endpoint of VIRTUAL_MEM_MAP
    [PATCH] Fix RAID5 + IA64 compile
    [IA64] Don't alloc empty frame in ia64_switch_mode_phys
    [IA64] Do not assume output registers be reservered.
    [IA64] add platform check to snsc driver init
    [IA64] sparse cleanups
    [IA64] Fix breakage in simscsi.c
    [IA64] Format /proc/pal/*/version_info correctly

    Linus Torvalds
     
  • contig.c (FLATMEM) requires the same optimization as in discontig.c for show_mem
    when VIRTUAL_MEM_MAP is in use. Otherwise FLATMEM has softlockup timeouts.
    This was boot tested for memory configuration: SPARSEMEM,
    DISCONTIG+VIRTUAL_MEM_MAP, FLATMEM, FLATMEM+VIRTUAL_MEM_MAP and
    FLATMEM+VIRTUAL_MEM_MAP with largest memory gap less than LARGE_GAP by
    using boot parameter "mem=".

    This was boot tested and "echo m >/proc/sysrq-trigger" output evaluated for
    : FLATMEM, FLATMEM+VIRTUAL_MEM_MAP, DISCONTIGMEM+VIRTUAL_MEM_MAP and
    SPARSEMEM.

    Signed-off-by: Bob Picco
    Signed-off-by: Tony Luck

    Bob Picco
     

03 Aug, 2006

1 commit

  • Fix some sparse warnings on ia64. Large constants that should be long
    instead of int. Use NULL instead of 0. Add some missing __iomem
    casts. Replace a non-C99 structure assignment.

    Signed-off-by: Keith Owens
    Signed-off-by: Tony Luck

    Keith Owens
     

01 Aug, 2006

2 commits

  • Kprobe inserts breakpoint instruction in probepoint and then jumps to
    instruction slot when breakpoint is hit, the instruction slot icache must
    be consistent with dcache. Here is the patch which invalidates instruction
    slot icache area.

    Without this patch, in some machines there will be fault when executing
    instruction slot where icache content is inconsistent with dcache.

    Signed-off-by: bibo,mao
    Acked-by: "Luck, Tony"
    Acked-by: Keshavamurthy Anil S
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    bibo, mao
     
  • /proc/pal/*/version_info is a bit confusing. HP firmware, at least,
    reports 07.31 instead of 0.7.31. Also, the comment is out of place;
    it's an internal detail about the implementation of ia64_pal_version.
    Since the 2.2 revision of the SDM still states that PAL_VERSION can
    be called in virtual mode, correct the comment to be more accurate.

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

    Matthew Wilcox
     

15 Jul, 2006

1 commit

  • set_wmb should not be used in the kernel because it just confuses the
    code more and has no benefit. Since it is not currently used in the
    kernel this patch removes it so that new code does not include it.

    All archs define set_wmb(var, value) to do { var = value; wmb(); }
    while(0) except ia64 and sparc which use a mb() instead. But this is
    still moot since it is not used anyway.

    Hasn't been tested on any archs but x86 and x86_64 (and only compiled
    tested)

    Signed-off-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Steven Rostedt
     

11 Jul, 2006

1 commit

  • Newer ARMs have a 40 bit physical address space, but mapping physical
    memory above 4G needs a special page table format which we (currently?) do
    not use for userspace mappings, so what happens instead is that mapping an
    address >= 4G will happily discard the upper bits and wrap.

    There is a valid_mmap_phys_addr_range() arch hook where we could check for
    >= 4G addresses and deny the mapping, but this hook takes an unsigned long
    address:

    static inline int valid_mmap_phys_addr_range(unsigned long addr, size_t size);

    And drivers/char/mem.c:mmap_mem() calls it like this:

    static int mmap_mem(struct file * file, struct vm_area_struct * vma)
    {
    size_t size = vma->vm_end - vma->vm_start;

    if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size))

    So that's not much help either.

    This patch makes the hook take a pfn instead of a phys address.

    Signed-off-by: Lennert Buytenhek
    Cc: Bjorn Helgaas
    Cc: "Luck, Tony"
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lennert Buytenhek
     

05 Jul, 2006

1 commit

  • * git://git.infradead.org/hdrinstall-2.6:
    Remove export of include/linux/isdn/tpam.h
    Remove and from userspace export
    Restrict headers exported to userspace for SPARC and SPARC64
    Add empty Kbuild files for 'make headers_install' in remaining arches.
    Add Kbuild file for Alpha 'make headers_install'
    Add Kbuild file for SPARC 'make headers_install'
    Add Kbuild file for IA64 'make headers_install'
    Add Kbuild file for S390 'make headers_install'
    Add Kbuild file for i386 'make headers_install'
    Add Kbuild file for x86_64 'make headers_install'
    Add Kbuild file for PowerPC 'make headers_install'
    Add generic Kbuild files for 'make headers_install'
    Basic implementation of 'make headers_check'
    Basic implementation of 'make headers_install'

    Linus Torvalds
     

04 Jul, 2006

3 commits