1. 27 Oct, 2005 7 commits
    • David Gibson's avatar
      [PATCH] powerpc: Purge bootinfo.h · e37bc5df
      David Gibson authored
      With ARCH=powerpc we assume the presence of a device tree, so we don't
      require any support for the old bi_recs method of passing boot
      parameters.  Likewise, we've never needed it for ppc64, but we still
      had an include/asm-ppc64/bootinfo.h from which nothing was used.  This
      patch removes that file, and all references to it in arch/ppc64 and
      arch/powerpc.  A related, unused variable 'boot_mem_size' is also
      removed from setup_32.c.  The bootinfo stuff remains in ARCH=ppc for
      the time being.
      
      Built and booted on Power5 (ARCH=ppc64 and ARCH=powerpc), built for
      32-bit powermac (ARCH=powerpc and ARCH=ppc).
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      e37bc5df
    • David Gibson's avatar
      [PATCH] powerpc: Fix handling of fpscr on 64-bit · 25c8a78b
      David Gibson authored
      The recent merge of fpu.S broken the handling of fpscr for
      ARCH=powerpc and CONFIG_PPC64=y.  FP registers could be corrupted,
      leading to strange random application crashes.
      
      The confusion arises, because the thread_struct has (and requires) a
      64-bit area to save the fpscr, because we use load/store double
      instructions to get it in to/out of the FPU.  However, only the low
      32-bits are actually used, so we want to treat it as a 32-bit quantity
      when manipulating its bits to avoid extra load/stores on 32-bit.  This
      patch replaces the current definition with a structure of two 32-bit
      quantities (pad and val), to clarify things as much as is possible.
      The 'val' field is used when manipulating bits, the structure itself
      is used when obtaining the address for loading/unloading the value
      from the FPU.
      
      While we're at it, consolidate the 4 (!) almost identical versions of
      cvt_fd() and cvt_df() (arch/ppc/kernel/misc.S,
      arch/ppc64/kernel/misc.S, arch/powerpc/kernel/misc_32.S,
      arch/powerpc/kernel/misc_64.S) into a single version in fpu.S.  The
      new version takes a pointer to thread_struct and applies the correct
      offset itself, rather than a pointer to the fpscr field itself, again
      to avoid confusion as to which is the correct field to use.
      
      Finally, this patch makes ARCH=ppc64 also use the consolidated fpu.S
      code, which it previously did not.
      
      Built for G5 (ARCH=ppc64 and ARCH=powerpc), 32-bit powermac (ARCH=ppc
      and ARCH=powerpc) and Walnut (ARCH=ppc, CONFIG_MATH_EMULATION=y).
      Booted on G5 (ARCH=powerpc) and things which previously fell over no
      longer do.
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      25c8a78b
    • Paul Mackerras's avatar
      [PATCH] ppc64: remove arch/ppc64/kernel/setup.c · fda262b8
      Paul Mackerras authored
      and use setup_64.c from the merged tree instead.  The only difference
      between them was the code to set up the syscall maps.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      fda262b8
    • Stephen Rothwell's avatar
      [PATCH] powerpc: merge scatterlist.h · 89edce0b
      Stephen Rothwell authored
      This depends on the 64bit dma_addr_t patch.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      89edce0b
    • Stephen Rothwell's avatar
      [PATCH] ppc64: make dma_addr_t 64 bits · 8168f902
      Stephen Rothwell authored
      There has been a need expressed for dma_addr_t to be 64 bits on PPC64.
      This patch does that.
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      8168f902
    • Paul Mackerras's avatar
      powerpc: undeprecate the old OF device tree accessors for now · bf20a000
      Paul Mackerras authored
      The recent addition of __deprecated to the declarations for
      find_devices etc. produces a whole pile of warnings from the
      ppc32 code.  Since those functions still work perfectly well on
      ppc32, which doesn't have hotplug support for anything in the
      OF device tree, and we don't have time to fix that code now,
      remove the __deprecated markings for now.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      bf20a000
    • Paul Mackerras's avatar
      powerpc: Remove common stuff from setup_64.c · cb4ab974
      Paul Mackerras authored
      This should have been in commit 03501dab
      but got missed by accident.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      cb4ab974
  2. 26 Oct, 2005 24 commits
  3. 24 Oct, 2005 6 commits
  4. 23 Oct, 2005 3 commits
    • Paul Mackerras's avatar
      powerpc: Make coff boot wrapper load the kernel at 8M · 85e568ea
      Paul Mackerras authored
      Previously it claimed 7MB starting at the 9M point and loaded the
      kernel there.  That meant that prom_init put the flattened device
      tree above 16M.  On the 601 that caused the early device tree scan
      to fail, since only 16MB are mapped with BATs on the 601.  Moving
      this down to 8MB allows prom_init to put the flattened device tree
      between 15M and 16M, so it works on the 601.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      85e568ea
    • Paul Mackerras's avatar
      powerpc: Run on old powermacs. · a575b807
      Paul Mackerras authored
      Old powermacs have a number of differences from current machines:
      - there is no interrupt tree in the device tree, just interrupt
        or AAPL,interrupt properties
      - the chosen node in the device tree is called /chosen@0
      - the OF claim method doesn't map the memory, so we have to do
        an explicit map call as well
      - there is no /chosen/cpu property on SMP machines
      - the NVRAM isn't structured as a set of partitions.
      
      This adapts the merged powermac support code to cope with these
      issues.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      a575b807
    • Paul Mackerras's avatar
      powerpc: Fix time code for 601 processors · 96c44507
      Paul Mackerras authored
      The 601 doesn't have the timebase register; instead it has an RTCL
      register that counts nanoseconds and wraps at 1000000000, and an
      RTCU register that counts seconds.  This makes the necessary changes
      for the merged time code to use the RTCL/U registers when the kernel
      is running on a 601.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      96c44507