1. 14 5月, 2012 1 次提交
  2. 29 3月, 2012 1 次提交
  3. 28 3月, 2012 1 次提交
  4. 07 3月, 2012 1 次提交
    • N
      powerpc/prom: Remove limit on maximum size of properties · e9daf2ad
      Nishanth Aravamudan 提交于
      On a 16TB system (using AMS/CMO), I get:
      
      WARNING: ignoring large property [/ibm,dynamic-reconfiguration-memory] ibm,dynamic-memory length 0x000000000017ffec
      
      and significantly less memory is thus shown to the partition. As far as
      I can tell, the constant used is arbitrary. Ben Herrenschmidt provided
      additional background that
      
      > The limit was originally set because of Apple machines carrying ROM
      > images in the device-tree, at a time where we were much more memory
      > constrained than we are now.
      
      and that it is likely not very useful any longer.
      Signed-off-by: NNishanth Aravamudan <nacc@us.ibm.com>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      e9daf2ad
  5. 20 12月, 2011 1 次提交
    • S
      powerpc: Rename mapping based RELOCATABLE to DYNAMIC_MEMSTART for BookE · 0f890c8d
      Suzuki Poulose 提交于
      The current implementation of CONFIG_RELOCATABLE in BookE is based
      on mapping the page aligned kernel load address to KERNELBASE. This
      approach however is not enough for platforms, where the TLB page size
      is large (e.g, 256M on 44x). So we are renaming the RELOCATABLE used
      currently in BookE to DYNAMIC_MEMSTART to reflect the actual method.
      
      The CONFIG_RELOCATABLE for PPC32(BookE) based on processing of the
      dynamic relocations will be introduced in the later in the patch series.
      
      This change would allow the use of the old method of RELOCATABLE for
      platforms which can afford to enforce the page alignment (platforms with
      smaller TLB size).
      
      Changes since v3:
      
      * Introduced a new config, NONSTATIC_KERNEL, to denote a kernel which is
        either a RELOCATABLE or DYNAMIC_MEMSTART(Suggested by: Josh Boyer)
      Suggested-by: NScott Wood <scottwood@freescale.com>
      Tested-by: NScott Wood <scottwood@freescale.com>
      Signed-off-by: NSuzuki K. Poulose <suzuki@in.ibm.com>
      Cc: Scott Wood <scottwood@freescale.com>
      Cc: Kumar Gala <galak@kernel.crashing.org>
      Cc: Josh Boyer <jwboyer@gmail.com>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: linux ppc dev <linuxppc-dev@lists.ozlabs.org>
      Signed-off-by: NJosh Boyer <jwboyer@gmail.com>
      0f890c8d
  6. 19 12月, 2011 2 次提交
  7. 08 12月, 2011 1 次提交
  8. 07 12月, 2011 1 次提交
  9. 16 11月, 2011 1 次提交
  10. 29 9月, 2011 1 次提交
  11. 20 9月, 2011 3 次提交
  12. 05 8月, 2011 2 次提交
  13. 04 5月, 2011 1 次提交
  14. 20 4月, 2011 1 次提交
  15. 31 7月, 2010 1 次提交
  16. 08 7月, 2010 1 次提交
  17. 28 4月, 2010 1 次提交
    • A
      powerpc/numa: Add form 1 NUMA affinity · 4b83c330
      Anton Blanchard 提交于
      Firmware changed the way it represents memory and cpu affinity on POWER7.
      Unfortunately the old method now caps the topology to work around issues
      with legacy operating systems. For Linux to get the correct topology we
      need to use the new form 1 affinity information.
      
      We set the form 1 field in the client architecture, and if we see "1" in the
      ibm,associativity-form property firmware supports form 1 affinity and
      we should look at the first field in the ibm,associativity-reference-points
      array. If not we use the second field as we always have.
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      4b83c330
  18. 04 2月, 2010 1 次提交
  19. 03 2月, 2010 1 次提交
  20. 24 9月, 2009 1 次提交
    • A
      powerpc: Fix ibm,client-architecture-support printout · 049d0497
      Anton Blanchard 提交于
      On machines without the ibm,client-architecture-support call we were missing a
      newline. We may as well print the full name in all its glory too - its
      ibm,client-architecture-support, not ibm,client-architecture as I mistakenly
      wrote (a name only an IBM architect could love).
      
      For my penance I will write out ibm,client-architecture-support 100 times.
      
      Before:
      
      Calling ibm,client-architecture...command line: root=/dev/sda6 console=hvc0  quiet
      
      After:
      
      Calling ibm,client-architecture-support... not implemented
      command line: root=/dev/sda6 console=hvc0
      Signed-off-by: NAnton Blanchard <anton@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      049d0497
  21. 20 8月, 2009 2 次提交
  22. 19 6月, 2009 1 次提交
  23. 17 6月, 2009 1 次提交
  24. 07 4月, 2009 3 次提交
  25. 24 3月, 2009 1 次提交
  26. 11 3月, 2009 1 次提交
  27. 08 1月, 2009 1 次提交
  28. 31 10月, 2008 1 次提交
  29. 21 10月, 2008 1 次提交
  30. 10 10月, 2008 1 次提交
    • P
      powerpc: Sync RPA note in zImage with kernel's RPA note · 91a00302
      Paul Mackerras 提交于
      Commit 9b09c6d9 ("powerpc: Change the
      default link address for pSeries zImage kernels") changed the
      real-base value in the CHRP note added by the addnote program from
      12MB to 32MB to give more space for Open Firmware to load the zImage.
      (The real-base value says where we want OF to position itself in
      memory.)  However, this change was ineffective on most pSeries
      machines, because the RPA note added by addnote has the "ignore me"
      flag set to 1.  This was intended to tell OF to ignore just the RPA
      note, but has the side effect of also making OF ignore the CHRP note
      (at least on most pSeries machines).
      
      To solve this we have to set the "ignore me" flag to 0 in the RPA
      note.  (We can't just omit the RPA note because that is equivalent to
      having an RPA note with default values, and the default values are not
      what we want.)  However, then we have to make sure the values in the
      zImage's RPA note match up with the values that the kernel supplies
      later in prom_init.c with either the ibm,client-architecture-support
      call or the process-elf-header call in prom_send_capabilities().
      
      So this sets the "ignore me" flag in the RPA note in addnote to 0, and
      adjusts the RPA note values in addnote.c and in prom_init.c to be
      consistent with each other and with the values in ibm_architecture_vec.
      
      However, since the wrapper is independent of the kernel, this doesn't
      ensure that the notes will stay consistent.  To ensure that, this adds
      code to addnote.c so that it can extract the kernel's RPA note from
      the kernel binary and put that in the zImage.  To that end, we put the
      kernel's fake ELF header (which contains the kernel's RPA note) into
      its own section, and arrange for wrapper to pull out that section with
      objcopy and pass it to addnote, which then extracts the RPA note from
      it and transfers it to the zImage.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      91a00302
  31. 16 9月, 2008 2 次提交
    • P
      powerpc: Make the 64-bit kernel as a position-independent executable · 549e8152
      Paul Mackerras 提交于
      This implements CONFIG_RELOCATABLE for 64-bit by making the kernel as
      a position-independent executable (PIE) when it is set.  This involves
      processing the dynamic relocations in the image in the early stages of
      booting, even if the kernel is being run at the address it is linked at,
      since the linker does not necessarily fill in words in the image for
      which there are dynamic relocations.  (In fact the linker does fill in
      such words for 64-bit executables, though not for 32-bit executables,
      so in principle we could avoid calling relocate() entirely when we're
      running a 64-bit kernel at the linked address.)
      
      The dynamic relocations are processed by a new function relocate(addr),
      where the addr parameter is the virtual address where the image will be
      run.  In fact we call it twice; once before calling prom_init, and again
      when starting the main kernel.  This means that reloc_offset() returns
      0 in prom_init (since it has been relocated to the address it is running
      at), which necessitated a few adjustments.
      
      This also changes __va and __pa to use an equivalent definition that is
      simpler.  With the relocatable kernel, PAGE_OFFSET and MEMORY_START are
      constants (for 64-bit) whereas PHYSICAL_START is a variable (and
      KERNELBASE ideally should be too, but isn't yet).
      
      With this, relocatable kernels still copy themselves down to physical
      address 0 and run there.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      549e8152
    • P
      powerpc: Make it possible to move the interrupt handlers away from the kernel · 1f6a93e4
      Paul Mackerras 提交于
      This changes the way that the exception prologs transfer control to
      the handlers in 64-bit kernels with the aim of making it possible to
      have the prologs separate from the main body of the kernel.  Now,
      instead of computing the address of the handler by taking the top
      32 bits of the paca address (to get the 0xc0000000........ part) and
      ORing in something in the bottom 16 bits, we get the base address of
      the kernel by doing a load from the paca and add an offset.
      
      This also replaces an mfmsr and an ori to compute the MSR value for
      the handler with a load from the paca.  That makes it unnecessary to
      have a separate version of EXCEPTION_PROLOG_PSERIES that forces 64-bit
      mode.
      
      We can no longer use a direct branches in the exception prolog code,
      which means that the SLB miss handlers can't branch directly to
      .slb_miss_realmode any more.  Instead we have to compute the address
      and do an indirect branch.  This is conditional on CONFIG_RELOCATABLE;
      for non-relocatable kernels we use a direct branch as before.  (A later
      change will allow CONFIG_RELOCATABLE to be set on 64-bit powerpc.)
      
      Since the secondary CPUs on pSeries start execution in the first 0x100
      bytes of real memory and then have to get to wherever the kernel is,
      we can't use a direct branch to get there.  Instead this changes
      __secondary_hold_spinloop from a flag to a function pointer.  When it
      is set to a non-NULL value, the secondary CPUs jump to the function
      pointed to by that value.
      
      Finally this eliminates one code difference between 32-bit and 64-bit
      by making __secondary_hold be the text address of the secondary CPU
      spinloop rather than a function descriptor for it.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      1f6a93e4
  32. 28 7月, 2008 1 次提交