11 Jul, 2007

1 commit


22 Mar, 2007

1 commit

  • kexec invokes plpar_hcall hypervisor call in real mode. plpar_hcall
    refers to per cpu variables for accounting hypervisor statistics.
    These variables may not be in the RMO region, so accesses to them
    in real mode may result in a data storage exception.

    This fixes this problem by using a new plpar_hcall_raw function which
    does not update the hypervisor call statistics. Thanks to Anton for
    suggesting this idea.

    Signed-off-by: Mohan Kumar M
    Signed-off-by: Paul Mackerras

    Mohan Kumar M
     

07 Feb, 2007

1 commit


09 Jan, 2007

1 commit

  • There were a few issues with the HCALL_STATS code:

    - PURR cpu feature checks were backwards
    - We iterated one entry off the end of the hcall_stats array
    - Remove dead update_hcall_stats() function prototype

    I noticed one thing while debugging, and that is we call H_ENTER (to set
    up the MMU hashtable in early init) before we have done the cpu fixups.
    This means we will execute the PURR SPR reads even on a CPU that isnt
    capable of it. I wonder if we can move the CPU feature fixups earlier.

    Signed-off-by: Anton Blanchard
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

13 Sep, 2006

1 commit

  • Add instrumentation for hypervisor calls on pseries. Call statistics
    include number of calls, wall time and cpu cycles (if available) and
    are made available via debugfs. Instrumentation code is behind the
    HCALL_STATS config option and has no impact if not enabled.

    Signed-off-by: Mike Kravetz
    Signed-off-by: Paul Mackerras

    Mike Kravetz
     

01 Aug, 2006

1 commit

  • Our pseries hcall interfaces are out of control:

    plpar_hcall_norets
    plpar_hcall
    plpar_hcall_8arg_2ret
    plpar_hcall_4out
    plpar_hcall_7arg_7ret
    plpar_hcall_9arg_9ret

    Create 3 interfaces to cover all cases:

    plpar_hcall_norets: 7 arguments no returns
    plpar_hcall: 6 arguments 4 returns
    plpar_hcall9: 9 arguments 9 returns

    There are only 2 cases in the kernel that need plpar_hcall9, hopefully
    we can keep it that way.

    Pass in a buffer to stash return parameters so we avoid the &dummy1,
    &dummy2 madness.

    Signed-off-by: Anton Blanchard
    --
    Signed-off-by: Paul Mackerras

    Anton Blanchard
     

31 Jul, 2006

1 commit


15 Jun, 2006

1 commit

  • Currently the kernel blindly halts all the processors and calls the
    ibm,suspend-me rtas call. If the firmware is not in the correct
    state, we then re-start all the processors and return. It is much
    smarter to first check the firmware state, and only if it is waiting,
    call the ibm,suspend-me call.

    Signed-off-by: Paul Mackerras

    Dave C Boutcher
     

01 Apr, 2006

2 commits


27 Mar, 2006

1 commit

  • 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: Paul Mackerras

    Paul Mackerras
     

13 Jan, 2006

1 commit


09 Jan, 2006

1 commit

  • include/asm-ppc/ had #ifdef __KERNEL__ in all header files that
    are not meant for use by user space, include/asm-powerpc does
    not have this yet.

    This patch gets us a lot closer there. There are a few cases
    where I was not sure, so I left them out. I have verified
    that no CONFIG_* symbols are used outside of __KERNEL__
    any more and that there are no obvious compile errors when
    including any of the headers in user space libraries.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Paul Mackerras

    Arnd Bergmann
     

10 Nov, 2005

1 commit

  • This patch moves a bunch more files from arch/ppc64 and
    include/asm-ppc64 which have no equivalents in ppc32 code into
    arch/powerpc and include/asm-powerpc. The file affected are:
    hvcall.h
    proc_ppc64.c
    sysfs.c
    lparcfg.c
    rtas_pci.c

    The only changes apart from the move and corresponding Makefile
    changes are:
    - #ifndef/#define in includes updated to _ASM_POWERPC_ form
    - trailing whitespace removed
    - comments giving full paths removed

    Built and booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64), built
    for 32-bit powermac (ARCH=powerpc).

    Signed-off-by: David Gibson
    Signed-off-by: Paul Mackerras

    David Gibson