Merge branch 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6
authorLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 21 Oct 2007 03:19:15 +0000 (20:19 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 21 Oct 2007 03:19:15 +0000 (20:19 -0700)
* 'master' of hera.kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6: (29 commits)
  [PARISC] fix uninitialized variable warning in asm/rtc.h
  [PARISC] Port checkstack.pl to parisc
  [PARISC] Make palo target work when $obj != $src
  [PARISC] Zap unused variable warnings in pci.c
  [PARISC] Fix tests in palo target
  [PARISC] Fix palo target
  [PARISC] Restore palo target
  [PARISC] Attempt to clean up parisc/Makefile
  [PARISC] Fix infinite loop in /proc/iomem
  [PARISC] Quiet sysfs_create_link __must_check warnings in pdc_stable
  [PARISC] Squelch pci_enable_device __must_check warning in superio
  [PARISC] Kill off broken irqstack code
  [PARISC] Remove hardcoded uses of PAGE_SIZE
  [PARISC] Clean up pointless ASM_PAGE_SIZE_DIV use
  [PARISC] Kill off the last vestiges of ASM_PAGE_SIZE
  [PARISC] Kill off ASM_PAGE_SIZE use
  [PARISC] Beautify parisc vmlinux.lds.S
  [PARISC] Clean up a resource_size_t warning in sba_iommu
  [PARISC] Kill incorrect cast warning in unwinder
  [PARISC] Kill zone_to_nid printk warning
  ...

Fixed trivial conflict in include/asm-parisc/tlbflush.h manually

1  2 
include/asm-parisc/pgtable.h
scripts/checkstack.pl

index 9ab79c8e5a417b12401be1f639f11a3cd43b8724,b5a8797dcc5cab92993833e64520a12036ca4616..cd0fa4f73320fdbe72dd63b9a9aae1d425978d17
@@@ -11,9 -11,9 +11,9 @@@
   */
  
  #include <linux/mm.h>         /* for vm_area_struct */
 +#include <linux/bitops.h>
  #include <asm/processor.h>
  #include <asm/cache.h>
 -#include <asm/bitops.h>
  
  /*
   * kern_addr_valid(ADDR) tests if ADDR is pointing to valid kernel
  #define pgd_ERROR(e) \
        printk("%s:%d: bad pgd %08lx.\n", __FILE__, __LINE__, (unsigned long)pgd_val(e))
  
-  /* Note: If you change ISTACK_SIZE, you need to change the corresponding
-   * values in vmlinux.lds and vmlinux64.lds (init_istack section). Also,
-   * the "order" and size need to agree.
-   */
- #define  ISTACK_SIZE  32768 /* Interrupt Stack Size */
- #define  ISTACK_ORDER 3
  /* This is the size of the initially mapped kernel memory */
  #ifdef CONFIG_64BIT
  #define KERNEL_INITIAL_ORDER  24      /* 0 to 1<<24 = 16MB */
@@@ -325,27 -317,27 +317,27 @@@ static inline void pgd_clear(pgd_t *pgd
   * setup: the pgd is never bad, and a pmd always exists (as it's folded
   * into the pgd entry)
   */
extern inline int pgd_none(pgd_t pgd)         { return 0; }
extern inline int pgd_bad(pgd_t pgd)          { return 0; }
extern inline int pgd_present(pgd_t pgd)      { return 1; }
extern inline void pgd_clear(pgd_t * pgdp)    { }
static inline int pgd_none(pgd_t pgd)         { return 0; }
static inline int pgd_bad(pgd_t pgd)          { return 0; }
static inline int pgd_present(pgd_t pgd)      { return 1; }
static inline void pgd_clear(pgd_t * pgdp)    { }
  #endif
  
  /*
   * The following only work if pte_present() is true.
   * Undefined behaviour if not..
   */
extern inline int pte_dirty(pte_t pte)                { return pte_val(pte) & _PAGE_DIRTY; }
extern inline int pte_young(pte_t pte)                { return pte_val(pte) & _PAGE_ACCESSED; }
extern inline int pte_write(pte_t pte)                { return pte_val(pte) & _PAGE_WRITE; }
extern inline int pte_file(pte_t pte)         { return pte_val(pte) & _PAGE_FILE; }
extern inline pte_t pte_mkclean(pte_t pte)    { pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
extern inline pte_t pte_mkold(pte_t pte)      { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
extern inline pte_t pte_wrprotect(pte_t pte)  { pte_val(pte) &= ~_PAGE_WRITE; return pte; }
extern inline pte_t pte_mkdirty(pte_t pte)    { pte_val(pte) |= _PAGE_DIRTY; return pte; }
extern inline pte_t pte_mkyoung(pte_t pte)    { pte_val(pte) |= _PAGE_ACCESSED; return pte; }
extern inline pte_t pte_mkwrite(pte_t pte)    { pte_val(pte) |= _PAGE_WRITE; return pte; }
static inline int pte_dirty(pte_t pte)                { return pte_val(pte) & _PAGE_DIRTY; }
static inline int pte_young(pte_t pte)                { return pte_val(pte) & _PAGE_ACCESSED; }
static inline int pte_write(pte_t pte)                { return pte_val(pte) & _PAGE_WRITE; }
static inline int pte_file(pte_t pte)         { return pte_val(pte) & _PAGE_FILE; }
static inline pte_t pte_mkclean(pte_t pte)    { pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
static inline pte_t pte_mkold(pte_t pte)      { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
static inline pte_t pte_wrprotect(pte_t pte)  { pte_val(pte) &= ~_PAGE_WRITE; return pte; }
static inline pte_t pte_mkdirty(pte_t pte)    { pte_val(pte) |= _PAGE_DIRTY; return pte; }
static inline pte_t pte_mkyoung(pte_t pte)    { pte_val(pte) |= _PAGE_ACCESSED; return pte; }
static inline pte_t pte_mkwrite(pte_t pte)    { pte_val(pte) |= _PAGE_WRITE; return pte; }
  
  /*
   * Conversion functions: convert a page and protection to a page entry,
@@@ -369,7 -361,7 +361,7 @@@ static inline pte_t pfn_pte(unsigned lo
        return pte;
  }
  
extern inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
  { pte_val(pte) = (pte_val(pte) & _PAGE_CHG_MASK) | pgprot_val(newprot); return pte; }
  
  /* Permanent address of a page.  On parisc we don't have highmem. */
diff --combined scripts/checkstack.pl
index 28e480c8100f80ebd70e0af9b2597a4041dbb4cd,c3b42f99df3ba1431c31a001703bf3fee7510d08..d716b76098bb670d76abff1eeff9830ff88ebfbc
  #     Random bits by Matt Mackall <mpm@selenic.com>
  #     M68k port by Geert Uytterhoeven and Andreas Schwab
  #     AVR32 port by Haavard Skinnemoen <hskinnemoen@atmel.com>
+ #     PARISC port by Kyle McMartin <kyle@parisc-linux.org>
  #
  #     Usage:
 -#     objdump -d vmlinux | stackcheck.pl [arch]
 +#     objdump -d vmlinux | scripts/checkstack.pl [arch]
  #
  #     TODO :  Port to all architectures (one regex per arch)
  
@@@ -61,6 -62,8 +62,8 @@@ my (@stack, $re, $x, $xs)
        } elsif ($arch eq 'mips') {
                #88003254:       27bdffe0        addiu   sp,sp,-32
                $re = qr/.*addiu.*sp,sp,-(([0-9]{2}|[3-9])[0-9]{2})/o;
+       } elsif ($arch eq 'parisc' || $arch eq 'parisc64') {
+               $re = qr/.*ldo ($x{1,8})\(sp\),sp/o;
        } elsif ($arch eq 'ppc') {
                #c00029f4:       94 21 ff 30     stwu    r1,-208(r1)
                $re = qr/.*stwu.*r1,-($x{1,8})\(r1\)/o;