An error occurred fetching the project authors.
  1. 03 Jul, 2006 1 commit
  2. 30 Jun, 2006 1 commit
  3. 28 Jun, 2006 1 commit
  4. 09 Jun, 2006 1 commit
  5. 16 May, 2006 1 commit
  6. 22 Apr, 2006 1 commit
  7. 01 Apr, 2006 1 commit
  8. 28 Mar, 2006 3 commits
  9. 27 Mar, 2006 1 commit
    • Paul Mackerras's avatar
      powerpc: Simplify pSeries idle loop · fbd7740f
      Paul Mackerras authored
      Since pSeries only wants to do something different in the idle loop when
      there is no work to do, we can simplify the code by implementing
      ppc_md.power_save functions instead of complete idle loops.  There are
      two versions: one for shared-processor partitions and one for dedicated-
      processor partitions.
      
      With this we also do a cede_processor() call on dedicated processor
      partitions if the poll_pending() call indicates that the hypervisor
      has work it wants to do.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      fbd7740f
  10. 22 Mar, 2006 2 commits
  11. 10 Feb, 2006 2 commits
  12. 07 Feb, 2006 1 commit
  13. 13 Jan, 2006 1 commit
    • David Gibson's avatar
      [PATCH] powerpc: Remove lppaca structure from the PACA · 3356bb9f
      David Gibson authored
      At present the lppaca - the structure shared with the iSeries
      hypervisor and phyp - is contained within the PACA, our own low-level
      per-cpu structure.  This doesn't have to be so, the patch below
      removes it, making a separate array of lppaca structures.
      
      This saves approximately 500*NR_CPUS bytes of image size and kernel
      memory, because we don't need aligning gap between the Linux and
      hypervisor portions of every PACA.  On the other hand it means an
      extra level of dereference in many accesses to the lppaca.
      
      The patch also gets rid of several places where we assign the paca
      address to a local variable for no particular reason.
      Signed-off-by: default avatarDavid Gibson <dwg@au1.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      3356bb9f
  14. 12 Jan, 2006 1 commit
  15. 09 Jan, 2006 6 commits
    • Arnd Bergmann's avatar
      [PATCH] cell: enable pause(0) in cpu_idle · c902be71
      Arnd Bergmann authored
      This patch enables support for pause(0) power management state
      for the Cell Broadband Processor, which is import for power efficient
      operation. The pervasive infrastructure will in the future enable
      us to introduce more functionality specific to the Cell's
      pervasive unit.
      
      From: Maximino Aguilar <maguilar@us.ibm.com>
      Signed-off-by: default avatarArnd Bergmann <arndb@de.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c902be71
    • Haren Myneni's avatar
      [PATCH] powerpc: Fix search for the main interrupt controller · 9da5cad6
      Haren Myneni authored
      At present, we are not looking at all interrupt controller nodes in the
      device tree even though the proper node was not found. This is causing
      the system panic. The attached patch will scan all nodes until it finds
      the proper interrupt controller type.
      Signed-off-by: default avatarHaren Myneni <haren@us.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      9da5cad6
    • Michael Ellerman's avatar
      [PATCH] powerpc: Add arch dependent basic infrastructure for Kdump. · cc532915
      Michael Ellerman authored
      Implementing the machine_crash_shutdown which will be called by
      crash_kexec (called in case of a panic, sysrq etc.). Disable the
      interrupts, shootdown cpus using debugger IPI and collect regs
      for all CPUs.
      
      elfcorehdr= specifies the location of elf core header stored by
      the crashed kernel. This command line option will be passed by
      the kexec-tools to capture kernel.
      
      savemaxmem= specifies the actual memory size that the first kernel
      has and this value will be used for dumping in the capture kernel.
      This command line option will be passed by the kexec-tools to
      capture kernel.
      Signed-off-by: default avatarHaren Myneni <haren@us.ibm.com>
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      cc532915
    • Michael Ellerman's avatar
      [PATCH] powerpc: Create a trampoline for the fwnmi vectors · 8c4f1f29
      Michael Ellerman authored
      The fwnmi vectors can be anywhere < 32 MB, so we need to use a trampoline
      for them. The kdump kernel will register the trampoline addresses, which will
      then jump up to the real code above 32 MB.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      8c4f1f29
    • Benjamin Herrenschmidt's avatar
      [PATCH] powerpc: serial port discovery (#2) · 463ce0e1
      Benjamin Herrenschmidt authored
      This moves the discovery of legacy serial ports to a separate file,
      makes it common to ppc32 and ppc64, and reworks it to use the new OF
      address translators to get to the ports early. This new version can also
      detect some PCI serial cards using legacy chips and will probably match
      those discovered port with the default console choice.
      
      Only ppc64 gets udbg still yet, unifying udbg isn't finished yet.
      
      It also adds some speed-probing code to udbg so that the default console
      can come up at the same speed it was set to by the firmware.
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      463ce0e1
    • Michael Ellerman's avatar
      [PATCH] powerpc: Merge kexec · 3d1229d6
      Michael Ellerman authored
      This patch merges, to some extent, the PPC32 and PPC64 kexec implementations.
      
      We adopt the PPC32 approach of having ppc_md callbacks for the kexec functions.
      The current PPC64 implementation becomes the "default" implementation for PPC64
      which platforms can select if they need no special treatment.
      
      I've added these default callbacks to pseries/maple/cell/powermac, this means
      iSeries no longer supports kexec - but it never worked anyway.
      
      I've renamed PPC32's machine_kexec_simple to default_machine_kexec, inline with
      PPC64. Judging by the comments it might be better named machine_kexec_non_of,
      or something, but at the moment it's the only implementation for PPC32 so it's
      the "default".
      
      Kexec requires machine_shutdown(), which is in machine_kexec.c on PPC32, but we
      already have in setup-common.c on powerpc. All this does is call
      ppc_md.nvram_sync, which only powermac implements, so instead make
      machine_shutdown a ppc_md member and have it call core99_nvram_sync directly
      on powermac.
      
      I've also stuck relocate_kernel.S into misc_32.S for powerpc.
      
      Built for ARCH=ppc, and 32 & 64 bit ARCH=powerpc, with KEXEC=y/n. Booted on
      P5 LPAR and successfully kexec'ed.
      
      Should apply on top of 493f25ef.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      3d1229d6
  16. 18 Nov, 2005 1 commit
  17. 14 Nov, 2005 1 commit
    • Michael Ellerman's avatar
      [PATCH] powerpc: Turn cpu_irq_down into kexec_cpu_down · c5e24354
      Michael Ellerman authored
      We currently have a ppc_md member called cpu_irq_down, which disables IRQs
      for the cpu in question. The only caller of cpu_irq_down is the kexec code.
      
      On pSeries we need to do more than just teardown IRQs at kexec time, so rename
      the ppc_md member to kexec_cpu_down and expand it. The pSeries code needs to
      know, and other platforms might too, whether we're doing a crash shutdown (ie.
      panicking) or a regular kexec, so add a flag for that.
      
      The pSeries implementation of kexec_cpu_down does an unregister VPA call, which
      tells the Hypervisor to stop writing stuff into our pacas. Without this we can
      get weird memory corruption bugs when we kexec, caused by the Hypervisor
      writing into the first kernel's pacas which happens to be somewhere interesting
      in the second kernel's memory.
      Signed-off-by: default avatarMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      c5e24354
  18. 11 Nov, 2005 1 commit
  19. 10 Nov, 2005 1 commit
  20. 09 Nov, 2005 2 commits
    • Nick Piggin's avatar
      [PATCH] sched: resched and cpu_idle rework · 64c7c8f8
      Nick Piggin authored
      Make some changes to the NEED_RESCHED and POLLING_NRFLAG to reduce
      confusion, and make their semantics rigid.  Improves efficiency of
      resched_task and some cpu_idle routines.
      
      * In resched_task:
      - TIF_NEED_RESCHED is only cleared with the task's runqueue lock held,
        and as we hold it during resched_task, then there is no need for an
        atomic test and set there. The only other time this should be set is
        when the task's quantum expires, in the timer interrupt - this is
        protected against because the rq lock is irq-safe.
      
      - If TIF_NEED_RESCHED is set, then we don't need to do anything. It
        won't get unset until the task get's schedule()d off.
      
      - If we are running on the same CPU as the task we resched, then set
        TIF_NEED_RESCHED and no further action is required.
      
      - If we are running on another CPU, and TIF_POLLING_NRFLAG is *not* set
        after TIF_NEED_RESCHED has been set, then we need to send an IPI.
      
      Using these rules, we are able to remove the test and set operation in
      resched_task, and make clear the previously vague semantics of
      POLLING_NRFLAG.
      
      * In idle routines:
      - Enter cpu_idle with preempt disabled. When the need_resched() condition
        becomes true, explicitly call schedule(). This makes things a bit clearer
        (IMO), but haven't updated all architectures yet.
      
      - Many do a test and clear of TIF_NEED_RESCHED for some reason. According
        to the resched_task rules, this isn't needed (and actually breaks the
        assumption that TIF_NEED_RESCHED is only cleared with the runqueue lock
        held). So remove that. Generally one less locked memory op when switching
        to the idle thread.
      
      - Many idle routines clear TIF_POLLING_NRFLAG, and only set it in the inner
        most polling idle loops. The above resched_task semantics allow it to be
        set until before the last time need_resched() is checked before going into
        a halt requiring interrupt wakeup.
      
        Many idle routines simply never enter such a halt, and so POLLING_NRFLAG
        can be always left set, completely eliminating resched IPIs when rescheduling
        the idle task.
      
        POLLING_NRFLAG width can be increased, to reduce the chance of resched IPIs.
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Con Kolivas <kernel@kolivas.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      64c7c8f8
    • Nick Piggin's avatar
      [PATCH] sched: disable preempt in idle tasks · 5bfb5d69
      Nick Piggin authored
      Run idle threads with preempt disabled.
      
      Also corrected a bugs in arm26's cpu_idle (make it actually call schedule()).
      How did it ever work before?
      
      Might fix the CPU hotplugging hang which Nigel Cunningham noted.
      
      We think the bug hits if the idle thread is preempted after checking
      need_resched() and before going to sleep, then the CPU offlined.
      
      After calling stop_machine_run, the CPU eventually returns from preemption and
      into the idle thread and goes to sleep.  The CPU will continue executing
      previous idle and have no chance to call play_dead.
      
      By disabling preemption until we are ready to explicitly schedule, this bug is
      fixed and the idle threads generally become more robust.
      
      From: alexs <ashepard@u.washington.edu>
      
        PPC build fix
      
      From: Yoichi Yuasa <yuasa@hh.iij4u.or.jp>
      
        MIPS build fix
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarYoichi Yuasa <yuasa@hh.iij4u.or.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5bfb5d69
  21. 07 Nov, 2005 2 commits
  22. 03 Nov, 2005 3 commits
  23. 01 Nov, 2005 1 commit
  24. 28 Oct, 2005 1 commit
  25. 26 Oct, 2005 2 commits
    • Paul Mackerras's avatar
      powerpc: Merge rtas.c into arch/powerpc/kernel · 033ef338
      Paul Mackerras authored
      This splits arch/ppc64/kernel/rtas.c into arch/powerpc/kernel/rtas.c,
      which contains generic RTAS functions useful on any CHRP platform,
      and arch/powerpc/platforms/pseries/rtas-fw.[ch], which contain
      some pSeries-specific firmware flashing bits.  The parts of rtas.c
      that are to do with pSeries-specific error logging are protected
      by a new CONFIG_RTAS_ERROR_LOGGING symbol.  The inclusion of rtas.o
      is controlled by the CONFIG_PPC_RTAS symbol, and the relevant
      platforms select that.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      033ef338
    • Paul Mackerras's avatar
      powerpc: Merge i8259.c into arch/powerpc/sysdev · f9bd170a
      Paul Mackerras authored
      This changes the parameters for i8259_init so that it takes two
      parameters: a physical address for generating an interrupt
      acknowledge cycle, and an interrupt number offset.  i8259_init
      now sets the irq_desc[] for its interrupts; all the callers
      were doing this, and that code is gone now.  This also defines
      a CONFIG_PPC_I8259 symbol to select i8259.o for inclusion, and
      makes the platforms that need it select that symbol.
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      f9bd170a
  26. 20 Oct, 2005 1 commit