1. 31 Mar, 2009 9 commits
    • Colin Watson's avatar
      parisc: expose 32/64-bit capabilities in cpuinfo · 445c088f
      Colin Watson authored
      It'd be rather useful for debian-installer if we could get hold of
      accurate firmware information on whether only 32-bit kernels are
      supported, only 64-bit kernels, or both; this would allow us to present
      an accurate menu of kernel packages if more than one is available,
      rather than the user having to guess. This patch attempts to expose it
      in cpuinfo.
      
      I adjusted pdc_model_capabilities to cope with a potential
      PDC_INVALID_ARG return as the firmware manual instructs, by assuming
      32-bit only. This may be the wrong place for it.
      
      I made up user-visible capability names by total fiat and for the moment
      ignored the other bits that may appear in the capabilities word.
      
      I have no PA-RISC machine myself to test on, and no PA experience
      either, so I rather hope that somebody will kind-heartedly take this and
      fix it up if needed. I ran it past Dann Frazier on IRC and he said
      "looks good to me", but I think without testing.
      
      Also, this is against the Ubuntu 2.6.28 kernel tree since that's what I
      had handy and I was a bit tight on disk space to slurp down another
      tree. Sorry if it's skewed in any relevant way; I'll be happy to adjust
      if necessary.
      
      Thanks in advance!
      Signed-off-by: default avatarColin Watson <cjwatson@canonical.com>
      Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>
      445c088f
    • Helge Deller's avatar
      parisc: use constants instead of numbers in assembly · 1152a68c
      Helge Deller authored
      A few small fixups:
      * _PAGE_SIZE_ENCODING_DEFAULT is wrong here, as one might assume that
        it's possible to define the page size that way. This is wrong. Use 0 instead.
      * use constants instead of hardcoded numerical values in depi and extru
        while building the PFN out of the pte entry
      * use SHRREG instead of extru (iitlba expects the PFN at bits {7..26})
      
      Still wondering why we can use the same register (pte) as extru source
      and target register, but it seems to work on PA1.1 and PA2.0...
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>
      1152a68c
    • Helge Deller's avatar
      parisc: fix usage of 32bit PTE page table entries on 32bit kernels · 48d27cb2
      Helge Deller authored
      This patch fixes a long outstanding bug on 32bit parisc linux kernels
      which prevented us from using 32bit PTE table entries (instead of 64bit
      entries of which 32bit were unused).
      
      The problem was caused by this assembler statement in the L2_ptep
      macro in arch/parisc/kernel/entry.S:447:
      	EXTR \va,31-ASM_PGDIR_SHIFT,ASM_BITS_PER_PGD,\index
      which expanded to
      	extrw,u r8,9,11,r1
      and which has undefined behavior since the length value (11) extends
      beyond the leftmost bit (11-1 > 9).
      Interestingly PA2.0 processors seem to don't care and just zero-extend
      the value, while PA1.1 processors don't.
      
      Fix this problem by detecting an address space overflow with ASM_BITS_PER_PGD
      and adjusting it accordingly. To prevent such problems in the future,
      some compile time sanity checks in arch/parisc/mm/init.c were added.
      
      Since the page table now only consumes half of it's old size, we can
      use the freed memory to harmonize 32- and 64bit kernels and let both
      map 16MB for the initial page table.
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>
      48d27cb2
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 15f7176e
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        wireless: remove duplicated .ndo_set_mac_address
        netfilter: xtables: fix IPv6 dependency in the cluster match
        tg3: Add GRO support.
        niu: Add GRO support.
        ucc_geth: Fix use-after-of_node_put() in ucc_geth_probe().
        gianfar: Fix use-after-of_node_put() in gfar_of_init().
        kernel: remove HIPQUAD()
        netpoll: store local and remote ip in net-endian
        netfilter: fix endian bug in conntrack printks
        dmascc: fix incomplete conversion to network_device_ops
        gso: Fix support for linear packets
        skbuff.h: fix missing kernel-doc
        ni5010: convert to net_device_ops
      15f7176e
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · d3d52d68
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Fix reset hangs on Niagara systems.
        cpumask: use mm_cpumask() wrapper: sparc
        cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL.: sparc
        cpumask: remove the now-obsoleted pcibus_to_cpumask(): sparc
        cpumask: remove cpu_coregroup_map: sparc
        cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc
        cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64
        cpumask: Use accessors code.: sparc64
        cpumask: Use accessors code: sparc
        cpumask: arch_send_call_function_ipi_mask: sparc
        cpumask: Use smp_call_function_many(): sparc64
      d3d52d68
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask · d17abcd5
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask:
        oprofile: Thou shalt not call __exit functions from __init functions
        cpumask: remove the now-obsoleted pcibus_to_cpumask(): generic
        cpumask: remove cpumask_t from core
        cpumask: convert rcutorture.c
        cpumask: use new cpumask_ functions in core code.
        cpumask: remove references to struct irqaction's mask field.
        cpumask: use mm_cpumask() wrapper: kernel/fork.c
        cpumask: use set_cpu_active in init/main.c
        cpumask: remove node_to_first_cpu
        cpumask: fix seq_bitmap_*() functions.
        cpumask: remove dangerous CPU_MASK_ALL_PTR, &CPU_MASK_ALL
      d17abcd5
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio · db6f2040
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-lguest-and-virtio:
        lguest: barrier me harder
        lguest: use bool instead of int
        lguest: use KVM hypercalls
        lguest: wire up pte_update/pte_update_defer
        lguest: fix spurious BUG_ON() on invalid guest stack.
        virtio: more neatening of virtio_ring macros.
        virtio: fix BAD_RING, START_US and END_USE macros
      db6f2040
    • Linus Torvalds's avatar
      Merge branch 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6 · 3c6fae67
      Linus Torvalds authored
      * 'hwmon-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6:
        hwmon: (fschmd) Add support for the FSC Hades IC
        hwmon: (fschmd) Add support for the FSC Syleus IC
        i2c-i801: Instantiate FSC hardware montioring chips
        dmi: Let dmi_walk() users pass private data
        hwmon: Define a standard interface for chassis intrusion detection
        Move the pcf8591 driver to hwmon
        hwmon: (w83627ehf) Only expose in6 or temp3 on the W83667HG
        hwmon: (w83627ehf) Add support for W83667HG
        hwmon: (w83627ehf) Invert fan pin variables logic
        hwmon: (hdaps) Fix Thinkpad X41 axis inversion
        hwmon: (hdaps) Allow inversion of separate axis
        hwmon: (ds1621) Clean up documentation
        hwmon: (ds1621) Avoid unneeded register access
        hwmon: (ds1621) Clean up register access
        hwmon: (ds1621) Reorder code statements
      3c6fae67
    • Linus Torvalds's avatar
      Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip · c4e1aa67
      Linus Torvalds authored
      * 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (33 commits)
        lockdep: fix deadlock in lockdep_trace_alloc
        lockdep: annotate reclaim context (__GFP_NOFS), fix SLOB
        lockdep: annotate reclaim context (__GFP_NOFS), fix
        lockdep: build fix for !PROVE_LOCKING
        lockstat: warn about disabled lock debugging
        lockdep: use stringify.h
        lockdep: simplify check_prev_add_irq()
        lockdep: get_user_chars() redo
        lockdep: simplify get_user_chars()
        lockdep: add comments to mark_lock_irq()
        lockdep: remove macro usage from mark_held_locks()
        lockdep: fully reduce mark_lock_irq()
        lockdep: merge the !_READ mark_lock_irq() helpers
        lockdep: merge the _READ mark_lock_irq() helpers
        lockdep: simplify mark_lock_irq() helpers #3
        lockdep: further simplify mark_lock_irq() helpers
        lockdep: simplify the mark_lock_irq() helpers
        lockdep: split up mark_lock_irq()
        lockdep: generate usage strings
        lockdep: generate the state bit definitions
        ...
      c4e1aa67
  2. 30 Mar, 2009 31 commits