1. 02 Nov, 2005 33 commits
  2. 01 Nov, 2005 7 commits
    • Linus Torvalds's avatar
    • Anton Altaparmakov's avatar
      94b166a7
    • Anton Altaparmakov's avatar
    • Paul Mackerras's avatar
      powerpc: Fix pseries (64-bit) build · a39dbcf7
      Paul Mackerras authored
      A recent commit that removed rtas-fw.h and moved its contents to
      include/asm-powerpc/rtas.h forgot to also remove the inclusion of
      it in arch/powerpc/platforms/pseries/setup.c.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a39dbcf7
    • Paul Mackerras's avatar
      powerpc: Fix BUG/WARN macros for 64-bit · 89003ebf
      Paul Mackerras authored
      The bug_entry struct had an int in the middle of pointers and unsigned
      longs, and the inline asm that generated the bug table entries didn't
      insert the necessary padding, so the fields following it didn't get
      initialized properly and an oops resulted.  This changes the int field
      (the line number) to a long so that all the fields are the same size
      and no padding is required.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      89003ebf
    • David Gibson's avatar
      [PATCH] powerpc: Merge bitops.h · a0e60b20
      David Gibson authored
      Here's a revised version.  This re-introduces the set_bits() function
      from ppc64, which I removed because I thought it was unused (it exists
      on no other arch).  In fact it is used in the powermac interrupt code
      (but not on pSeries).
      
      - We use LARXL/STCXL macros to generate the right (32 or 64 bit)
        instructions, similar to LDL/STL from ppc_asm.h, used in fpu.S
      
      - ppc32 previously used a full "sync" barrier at the end of
        test_and_*_bit(), whereas ppc64 used an "isync".  The merged version
        uses "isync", since I believe that's sufficient.
      
      - The ppc64 versions of then minix_*() bitmap functions have changed
        semantics.  Previously on ppc64, these functions were big-endian
        (that is bit 0 was the LSB in the first 64-bit, big-endian word).
        On ppc32 (and x86, for that matter, they were little-endian.  As far
        as I can tell, the big-endian usage was simply wrong - I guess
        no-one ever tried to use minixfs on ppc64.
      
      - On ppc32 find_next_bit() and find_next_zero_bit() are no longer
        inline (they were already out-of-line on ppc64).
      
      - For ppc64, sched_find_first_bit() has moved from mmu_context.h to
        the merged bitops.  What it was doing in mmu_context.h in the first
        place, I have no idea.
      
      - The fls() function is now implemented using the cntlzw instruction
        on ppc64, instead of generic_fls(), as it already was on ppc32.
      
      - For ARCH=ppc, this patch requires adding arch/powerpc/lib to the
        arch/ppc/Makefile.  This in turn requires some changes to
        arch/powerpc/lib/Makefile which didn't correctly handle ARCH=ppc.
      
      Built and running on G5.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a0e60b20
    • David Gibson's avatar
      [PATCH] powerpc: Merge ipcbuf.h · 031ef0a7
      David Gibson authored
      This patch merges ppc32 and ppc64 versions of ipcbuf.h.  The merge is
      essentially trivial, since the structure defined in each version was
      already identical.  Only wrinkle is that the merged version now
      includes linux/types.h in order to get the fixed width integer types.
      In fact, the old versions probably should have been including that
      anyway, since the file uses various __kernel_*_t types.
      
      Built and booted on G5, built for 32-bit pmac, but not booted, since
      the merge tree currently doesn't boot there.
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      031ef0a7