Skip to content
  1. Nov 08, 2005
  2. Nov 07, 2005
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc: Fix ppc32 build after 64K pages · 863c84b9
      Benjamin Herrenschmidt authored
      
      
      Oops, some last minute changes caused the 64K pages patch to break ppc32
      build, this fixes it.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      863c84b9
    • David Gibson's avatar
      [PATCH] ppc64: Fix bug in SLB miss handler for hugepages · 7d24f0b8
      David Gibson authored
      This patch, however, should be applied on top of the 64k-page-size patch to
      fix some problems with hugepage (some pre-existing, another introduced by
      this patch).
      
      The patch fixes a bug in the SLB miss handler for hugepages on ppc64
      introduced by the dynamic hugepage patch (commit id
      c594adad) due to a misunderstanding of the
      srd instruction's behaviour (mea culpa).  The problem arises when a 64-bit
      process maps some hugepages in the low 4GB of the address space (unusual).
      In this case, as well as the 256M segment in question being marked for
      hugepages, other segments at 32G intervals will be incorrectly marked for
      hugepages.
      
      In the process, this patch tweaks the semantics of the hugepage bitmaps to
      be more sensible.  Previously, an address below 4G was marked for hugepages
      if the appropriate segment bit in the "low areas" bitmask was set *or* if
      the low bit in the "high areas" bitmap was set (which would mark all
      addresses below 1TB for hugepage).  With this patch, any given address is
      governed by a single bitmap.  Addresses below 4GB are marked for hugepage
      if and only if their bit is set in the "low areas" bitmap (256M
      granularity).  Addresses between 4GB and 1TB are marked for hugepage iff
      the low bit in the "high areas" bitmap is set.  Higher addresses are marked
      for hugepage iff their bit in the "high areas" bitmap is set (1TB
      granularity).
      
      To avoid conflicts, this patch must be applied on top of BenH's pending
      patch for 64k base page size [0].  As such, this patch also addresses a
      hugepage problem introduced by that patch.  That patch allows hugepages of
      1MB in size on hardware which supports it, however, that won't work when
      using 4k pages (4 level pagetable), because in that case hugepage PTEs are
      stored at the PMD level, and each PMD entry maps 2MB.  This patch simply
      disallows hugepages in that case (we can do something cleverer to re-enable
      them some other day).
      
      Built, booted, and a handful of hugepage related tests passed on POWER5
      LPAR (both ARCH=powerpc and ARCH=ppc64).
      
      [0] http://gate.crashing.org/~benh/ppc64-64k-pages.diff
      
      
      
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7d24f0b8
    • Paul Mackerras's avatar
      powerpc: Various UP build fixes · 2249ca9d
      Paul Mackerras authored
      
      
      Mostly this involves adding #include <asm/smp.h>, since that defines
      things like boot_cpuid[_phys] and [gs]et_hard_smp_processor_id, which
      are SMP-related but still needed on UP.  This incorporates fixes
      posted by Olof Johansson and Heikki Lindholm.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      2249ca9d
    • David Gibson's avatar
      [PATCH] powerpc: Kill ppcdebug · dcad47fc
      David Gibson authored
      
      
      The ancient ppcdebug/PPCDBG mechanism is now only used in two places.
      First, in the hash setup code, one of the bits allows the size of the
      hash table to be reduced by a factor of 8 - which would be better
      accomplished with a command line option for that purpose.  The other
      was a bunch of bus walking related messages in the iSeries code, which
      would seem to be insufficient reason to keep the mechanism.
      
      This patch removes the last traces of this mechanism.
      
      Built and booted on iSeries and pSeries POWER5 LPAR (ARCH=powerpc).
      
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      dcad47fc
    • Olof Johansson's avatar
      [PATCH] powerpc: Nicer printing of address at oops · 723925b7
      Olof Johansson authored
      
      
      Add nicer printing of faulting address on unresolvable kernel faults.
      
      Makes life a little easier for those who don't know how to decode our
      register contents at oops time.
      
      Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      723925b7
    • Benjamin Herrenschmidt's avatar
      [PATCH] ppc64: support 64k pages · 3c726f8d
      Benjamin Herrenschmidt authored
      
      
      Adds a new CONFIG_PPC_64K_PAGES which, when enabled, changes the kernel
      base page size to 64K.  The resulting kernel still boots on any
      hardware.  On current machines with 4K pages support only, the kernel
      will maintain 16 "subpages" for each 64K page transparently.
      
      Note that while real 64K capable HW has been tested, the current patch
      will not enable it yet as such hardware is not released yet, and I'm
      still verifying with the firmware architects the proper to get the
      information from the newer hypervisors.
      
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3c726f8d
  3. Oct 31, 2005
  4. Oct 29, 2005
  5. Oct 27, 2005
  6. Oct 26, 2005
  7. Oct 22, 2005
  8. Oct 19, 2005
  9. Oct 17, 2005
    • Paul Mackerras's avatar
      powerpc: Initialize btext subsystem later, after prom_init · 30cd4a4e
      Paul Mackerras authored
      
      
      We were initializing the btext stuff from prom_init(), thus breaking
      the rule that all communication between prom_init() and the rest of
      the kernel has to be via the flattened device tree.  This removes
      the btext initialization calls from prom_init() and initializes it
      instead after the device tree is unflattened.  It would be nice to
      do it earlier, but that needs some more infrastructure to find the
      properties we need in the flattened device tree.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      30cd4a4e
  10. Oct 12, 2005
    • Paul Mackerras's avatar
      powerpc: Move default hash table size calculation to hash_utils_64.c · 3eac8c69
      Paul Mackerras authored
      
      
      We weren't computing the size of the hash table correctly on iSeries
      because the relevant code in prom.c was #ifdef CONFIG_PPC_PSERIES.
      This moves the code to hash_utils_64.c, makes it unconditional, and
      cleans it up a bit.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      3eac8c69
    • Stephen Rothwell's avatar
      powerpc: make iSeries boot again · 3a5f8c5f
      Stephen Rothwell authored
      
      
      On ARCH=ppc64 we were getting htab_hash_mask recalculated
      to the correct value for our particular machine by accident.
      In the merge tree, that code was commented out, so htab_hash_mask
      was being corrupted.
      
      We now set ppc64_pft_size instead which gets htab_has_mask
      calculated correctly for us later.  We should put an
      ibm,pft-size property in the device tree at some point.
      
      Also set -mno-minimal-toc in some makefiles.
      Allow iSeries to configure PROC_DEVICETREE.
      
      Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      3a5f8c5f
  11. Oct 10, 2005
  12. Oct 06, 2005
    • Paul Mackerras's avatar
      powerpc: Merge lmb.c and make MM initialization use it. · 7c8c6b97
      Paul Mackerras authored
      
      
      This also creates merged versions of do_init_bootmem, paging_init
      and mem_init and moves them to arch/powerpc/mm/mem.c.  It gets rid
      of the mem_pieces stuff.
      
      I made memory_limit a parameter to lmb_enforce_memory_limit rather
      than a global referenced by that function.  This will require some
      small changes to ppc64 if we want to continue building ARCH=ppc64
      using the merged lmb.c.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      7c8c6b97
  13. Sep 28, 2005
  14. Sep 26, 2005
    • Paul Mackerras's avatar
      powerpc: Merge enough to start building in arch/powerpc. · 14cf11af
      Paul Mackerras authored
      
      
      This creates the directory structure under arch/powerpc and a bunch
      of Kconfig files.  It does a first-cut merge of arch/powerpc/mm,
      arch/powerpc/lib and arch/powerpc/platforms/powermac.  This is enough
      to build a 32-bit powermac kernel with ARCH=powerpc.
      
      For now we are getting some unmerged files from arch/ppc/kernel and
      arch/ppc/syslib, or arch/ppc64/kernel.  This makes some minor changes
      to files in those directories and files outside arch/powerpc.
      
      The boot directory is still not merged.  That's going to be interesting.
      
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      14cf11af
Loading