28 May, 2020

1 commit

  • The latest Xilinx design tools called ISE and EDK has been released in
    October 2013. New tool doesn't support any PPC405/PPC440 new designs.
    These platforms are no longer supported and tested.

    PowerPC 405/440 port is orphan from 2013 by
    commit cdeb89943bfc ("MAINTAINERS: Fix incorrect status tag") and
    commit 19624236cce1 ("MAINTAINERS: Update Grant's email address and maintainership")
    that's why it is time to remove the support fot these platforms.

    Signed-off-by: Michal Simek
    Signed-off-by: Christophe Leroy
    Acked-by: Arnd Bergmann
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/8c593895e2cb57d232d85ce4d8c3a1aa7f0869cc.1590079968.git.christophe.leroy@csgroup.eu

    Michal Simek
     

23 Jan, 2020

1 commit

  • ptdump_check_wx() is called from mark_rodata_ro() which only exists
    when CONFIG_STRICT_KERNEL_RWX is selected.

    Fixes: 453d87f6a8ae ("powerpc/mm: Warn if W+X pages found on boot")
    Signed-off-by: Christophe Leroy
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/922d4939c735c6b52b4137838bcc066fffd4fc33.1578989545.git.christophe.leroy@c-s.fr

    Christophe Leroy
     

25 Nov, 2019

1 commit

  • Adjust indentation from spaces to tab (+optional two spaces) as in
    coding style with command like:
    $ sed -e 's/^ /\t/' -i */Kconfig

    Signed-off-by: Krzysztof Kozlowski
    Signed-off-by: Michael Ellerman
    Link: https://lore.kernel.org/r/1574306461-7646-1-git-send-email-krzk@kernel.org

    Krzysztof Kozlowski
     

03 May, 2019

2 commits

  • Operations which write to memory and special purpose registers should be
    restricted on systems with integrity guarantees (such as Secure Boot)
    and, optionally, to avoid self-destructive behaviors.

    Add a config option, XMON_DEFAULT_RO_MODE, to set default xmon behavior.
    The kernel cmdline options xmon=ro and xmon=rw override this default.

    The following xmon operations are affected:
    memops:
    disable memmove
    disable memset
    disable memzcan
    memex:
    no-op'd mwrite
    super_regs:
    no-op'd write_spr
    bpt_cmds:
    disable
    proc_call:
    disable

    Signed-off-by: Christopher M. Riedl
    Reviewed-by: Oliver O'Halloran
    Reviewed-by: Andrew Donnellan
    Signed-off-by: Michael Ellerman

    Christopher M. Riedl
     
  • Implement code to walk all pages and warn if any are found to be both
    writable and executable. Depends on STRICT_KERNEL_RWX enabled, and is
    behind the DEBUG_WX config option.

    This only runs on boot and has no runtime performance implications.

    Very heavily influenced (and in some cases copied verbatim) from the
    ARM64 code written by Laura Abbott (thanks!), since our ptdump
    infrastructure is similar.

    Signed-off-by: Russell Currey
    [mpe: Fixup build error when disabled]
    Signed-off-by: Michael Ellerman

    Russell Currey
     

02 May, 2019

1 commit

  • This patch prepares a shadow area for KASAN.

    The shadow area will be at the top of the kernel virtual
    memory space above the fixmap area and will occupy one
    eighth of the total kernel virtual memory space.

    Signed-off-by: Christophe Leroy
    Signed-off-by: Michael Ellerman

    Christophe Leroy
     

22 Feb, 2019

1 commit


13 Oct, 2018

1 commit

  • 'default n' is the default value for any bool or tristate Kconfig
    setting so there is no need to write it explicitly.

    Also since commit f467c5640c29 ("kconfig: only write '# CONFIG_FOO
    is not set' for visible symbols") the Kconfig behavior is the same
    regardless of 'default n' being present or not:

    ...
    One side effect of (and the main motivation for) this change is making
    the following two definitions behave exactly the same:

    config FOO
    bool

    config FOO
    bool
    default n

    With this change, neither of these will generate a
    '# CONFIG_FOO is not set' line (assuming FOO isn't selected/implied).
    That might make it clearer to people that a bare 'default n' is
    redundant.
    ...

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Michael Ellerman

    Bartlomiej Zolnierkiewicz
     

02 Aug, 2018

1 commit

  • Move the source of lib/Kconfig.debug and arch/$(ARCH)/Kconfig.debug to
    the top-level Kconfig. For two architectures that means moving their
    arch-specific symbols in that menu into a new arch Kconfig.debug file,
    and for a few more creating a dummy file so that we can include it
    unconditionally.

    Also move the actual 'Kernel hacking' menu to lib/Kconfig.debug, where
    it belongs.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Masahiro Yamada

    Christoph Hellwig
     

19 Jan, 2018

1 commit

  • New Kconfig is added "CONFIG_PPC_IRQ_SOFT_MASK_DEBUG" to add WARN_ON
    to alert the invalid transitions. Also moved the code under the
    CONFIG_TRACE_IRQFLAGS in arch_local_irq_restore() to new Kconfig.

    Reviewed-by: Nicholas Piggin
    Signed-off-by: Madhavan Srinivasan
    [mpe: Fix name of CONFIG option in change log]
    Signed-off-by: Michael Ellerman

    Madhavan Srinivasan
     

16 Jan, 2018

1 commit

  • This patch remove CONFIG_PPC_HTDUMP if not PPC_BOOK3S_64 to avoid
    below compile failure on BOOK3S_32:

    In file included from arch/powerpc/mm/dump_hashpagetable.c:27:0:
    ./arch/powerpc/include/asm/plpar_wrappers.h: In function 'get_cede_latency_hint':
    ./arch/powerpc/include/asm/plpar_wrappers.h:27:2: error: implicit declaration of function 'get_lppaca' [-Werror=implicit-function-declaration]
    ...
    arch/powerpc/mm/dump_hashpagetable.c: At top level:
    arch/powerpc/mm/dump_hashpagetable.c:69:13: error: 'SLB_VSID_B' undeclared here (not in a function)
    ...
    arch/powerpc/mm/dump_hashpagetable.c:506:38: error: 'VMEMMAP_BASE' undeclared (first use in this function)
    arch/powerpc/mm/dump_hashpagetable.c:506:35: error: assignment makes integer from pointer without a cast [-Werror]

    Fixes: dd5ac03e0955 ("powerpc/mm: Fix page table dump build on non-Book3S")
    Signed-off-by: Christophe Leroy
    [mpe: Trim change log]
    Signed-off-by: Michael Ellerman

    Christophe Leroy
     

17 Nov, 2017

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "A bit of a small release, I suspect in part due to me travelling for
    KS. But my backlog of patches to review is smaller than usual, so I
    think in part folks just didn't send as much this cycle.

    Non-highlights:

    - Five fixes for the >128T address space handling, both to fix bugs
    in our implementation and to bring the semantics exactly into line
    with x86.

    Highlights:

    - Support for a new OPAL call on bare metal machines which gives us a
    true NMI (ie. is not masked by MSR[EE]=0) for debugging etc.

    - Support for Power9 DD2 in the CXL driver.

    - Improvements to machine check handling so that uncorrectable errors
    can be reported into the generic memory_failure() machinery.

    - Some fixes and improvements for VPHN, which is used under PowerVM
    to notify the Linux partition of topology changes.

    - Plumbing to enable TM (transactional memory) without suspend on
    some Power9 processors (PPC_FEATURE2_HTM_NO_SUSPEND).

    - Support for emulating vector loads form cache-inhibited memory, on
    some Power9 revisions.

    - Disable the fast-endian switch "syscall" by default (behind a
    CONFIG), we believe it has never had any users.

    - A major rework of the API drivers use when initiating and waiting
    for long running operations performed by OPAL firmware, and changes
    to the powernv_flash driver to use the new API.

    - Several fixes for the handling of FP/VMX/VSX while processes are
    using transactional memory.

    - Optimisations of TLB range flushes when using the radix MMU on
    Power9.

    - Improvements to the VAS facility used to access coprocessors on
    Power9, and related improvements to the way the NX crypto driver
    handles requests.

    - Implementation of PMEM_API and UACCESS_FLUSHCACHE for 64-bit.

    Thanks to: Alexey Kardashevskiy, Alistair Popple, Allen Pais, Andrew
    Donnellan, Aneesh Kumar K.V, Arnd Bergmann, Balbir Singh, Benjamin
    Herrenschmidt, Breno Leitao, Christophe Leroy, Christophe Lombard,
    Cyril Bur, Frederic Barrat, Gautham R. Shenoy, Geert Uytterhoeven,
    Guilherme G. Piccoli, Gustavo Romero, Haren Myneni, Joel Stanley,
    Kamalesh Babulal, Kautuk Consul, Markus Elfring, Masami Hiramatsu,
    Michael Bringmann, Michael Neuling, Michal Suchanek, Naveen N. Rao,
    Nicholas Piggin, Oliver O'Halloran, Paul Mackerras, Pedro Miraglia
    Franco de Carvalho, Philippe Bergheaud, Sandipan Das, Seth Forshee,
    Shriya, Stephen Rothwell, Stewart Smith, Sukadev Bhattiprolu, Tyrel
    Datwyler, Vaibhav Jain, Vaidyanathan Srinivasan, and William A.
    Kennington III"

    * tag 'powerpc-4.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (151 commits)
    powerpc/64s: Fix Power9 DD2.0 workarounds by adding DD2.1 feature
    powerpc/64s: Fix masking of SRR1 bits on instruction fault
    powerpc/64s: mm_context.addr_limit is only used on hash
    powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation
    powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary
    powerpc/64s/hash: Fix fork() with 512TB process address space
    powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation
    powerpc/64s/hash: Fix 512T hint detection to use >= 128T
    powerpc: Fix DABR match on hash based systems
    powerpc/signal: Properly handle return value from uprobe_deny_signal()
    powerpc/fadump: use kstrtoint to handle sysfs store
    powerpc/lib: Implement UACCESS_FLUSHCACHE API
    powerpc/lib: Implement PMEM API
    powerpc/powernv/npu: Don't explicitly flush nmmu tlb
    powerpc/powernv/npu: Use flush_all_mm() instead of flush_tlb_mm()
    powerpc/powernv/idle: Round up latency and residency values
    powerpc/kprobes: refactor kprobe_lookup_name for safer string operations
    powerpc/kprobes: Blacklist emulate_update_regs() from kprobes
    powerpc/kprobes: Do not disable interrupts for optprobes and kprobes_on_ftrace
    powerpc/kprobes: Disable preemption before invoking probe handler for optprobes
    ...

    Linus Torvalds
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

22 Oct, 2017

1 commit

  • Back in 2008 we added support for "fast little-endian switch" in the
    syscall path. This added a special case syscall number 0x1ebe, which
    is caught very early in the system call exception and switches endian
    with as little overhead as possible. See commit 745a14cc264b
    ("[POWERPC] Add fast little-endian switch system call") for full
    details.

    Although it is fast, it's also completely non standard. The "syscall
    number" is out of the range of normal syscalls, it can't be traced or
    audited, and it's a bit of a wart. To the best of our knowledge it was
    only used by one program, now long since discontinued.

    So in an effort to shake out any current users, put it behind a config
    option, and make it default n. If anyone *is* using it they can
    quickly reinstate it with a rebuild, and we can flip it to default y.

    Signed-off-by: Michael Ellerman

    Michael Ellerman
     

02 Feb, 2017

1 commit


01 Dec, 2016

1 commit

  • In the recent commit 1515ab932156 ("powerpc/mm: Dump hash table") we
    added code to dump the hage page table. Currently this can be selected
    to build on any platform. However it breaks the build if we're building
    for a non-Book3S platform, because none of the hash page table related
    defines and so on exist. So restrict it to building only on Book3S.

    Similarly in commit 8eb07b187000 ("powerpc/mm: Dump linux pagetables")
    we added code to dump the Linux page tables, which uses some constants
    which are only defined on Book3S - so guard those with an #ifdef.

    Fixes: 1515ab932156 ("powerpc/mm: Dump hash table")
    Fixes: 8eb07b187000 ("powerpc/mm: Dump linux pagetables")
    Signed-off-by: Michael Ellerman

    Michael Ellerman
     

17 Nov, 2016

1 commit

  • Useful to be able to dump the kernels page tables to check permissions
    and memory types - derived from arm64's implementation.

    Add a debugfs file to check the page tables. To use this the PPC_PTDUMP
    config option must be selected.

    Signed-off-by: Rashmica Gupta
    Signed-off-by: Michael Ellerman

    Rashmica Gupta
     

01 Aug, 2016

2 commits


30 Jul, 2016

1 commit


15 Jul, 2016

1 commit

  • The pseries HVC early debug options, CONFIG_PPC_EARLY_DEBUG_LPAR and
    CONFIG_PPC_EARLY_DEBUG_LPAR_HVSI both require code that is part of the
    hvc driver. If we turn them on but not CONFIG_HVC_CONSOLE then we get:

    arch/powerpc/kernel/built-in.o: In function `.udbg_early_init':
    arch/powerpc/kernel/built-in.o:(.debug_addr+0x9a00): undefined reference to `udbg_init_debug_lpar'

    Similarly for HVSI. So make them both depend on CONFIG_HVC_CONSOLE.

    Signed-off-by: Michael Ellerman

    Michael Ellerman
     

09 Jul, 2016

1 commit


01 May, 2016

1 commit

  • Testing done by Paul Mackerras has shown that with a modern compiler
    there is no negative effect on code generation from enabling
    STRICT_MM_TYPECHECKS.

    So remove the option, and always use the strict type definitions.

    Acked-by: Paul Mackerras
    Signed-off-by: Michael Ellerman

    Michael Ellerman
     

16 Jan, 2016

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Core:
    - Ground work for the new Power9 MMU from Aneesh Kumar K.V
    - Optimise FP/VMX/VSX context switching from Anton Blanchard

    Misc:
    - Various cleanups from Krzysztof Kozlowski, John Ogness, Rashmica
    Gupta, Russell Currey, Gavin Shan, Daniel Axtens, Michael Neuling,
    Andrew Donnellan
    - Allow wrapper to work on non-english system from Laurent Vivier
    - Add rN aliases to the pt_regs_offset table from Rashmica Gupta
    - Fix module autoload for rackmeter & axonram drivers from Luis de
    Bethencourt
    - Include KVM guest test in all interrupt vectors from Paul Mackerras
    - Fix DSCR inheritance over fork() from Anton Blanchard
    - Make value-returning atomics & {cmp}xchg* & their atomic_ versions
    fully ordered from Boqun Feng
    - Print MSR TM bits in oops messages from Michael Neuling
    - Add TM signal return & invalid stack selftests from Michael Neuling
    - Limit EPOW reset event warnings from Vipin K Parashar
    - Remove the Cell QPACE code from Rashmica Gupta
    - Append linux_banner to exception information in xmon from Rashmica
    Gupta
    - Add selftest to check if VSRs are corrupted from Rashmica Gupta
    - Remove broken GregorianDay() from Daniel Axtens
    - Import Anton's context_switch2 benchmark into selftests from
    Michael Ellerman
    - Add selftest script to test HMI functionality from Daniel Axtens
    - Remove obsolete OPAL v2 support from Stewart Smith
    - Make enter_rtas() private from Michael Ellerman
    - PPR exception cleanups from Michael Ellerman
    - Add page soft dirty tracking from Laurent Dufour
    - Add support for Nvlink NPUs from Alistair Popple
    - Add support for kexec on 476fpe from Alistair Popple
    - Enable kernel CPU dlpar from sysfs from Nathan Fontenot
    - Copy only required pieces of the mm_context_t to the paca from
    Michael Neuling
    - Add a kmsg_dumper that flushes OPAL console output on panic from
    Russell Currey
    - Implement save_stack_trace_regs() to enable kprobe stack tracing
    from Steven Rostedt
    - Add HWCAP bits for Power9 from Michael Ellerman
    - Fix _PAGE_PTE breaking swapoff from Aneesh Kumar K.V
    - Fix _PAGE_SWP_SOFT_DIRTY breaking swapoff from Hugh Dickins
    - scripts/recordmcount.pl: support data in text section on powerpc
    from Ulrich Weigand
    - Handle R_PPC64_ENTRY relocations in modules from Ulrich Weigand

    cxl:
    - cxl: Fix possible idr warning when contexts are released from
    Vaibhav Jain
    - cxl: use correct operator when writing pcie config space values
    from Andrew Donnellan
    - cxl: Fix DSI misses when the context owning task exits from Vaibhav
    Jain
    - cxl: fix build for GCC 4.6.x from Brian Norris
    - cxl: use -Werror only with CONFIG_PPC_WERROR from Brian Norris
    - cxl: Enable PCI device ID for future IBM CXL adapter from Uma
    Krishnan

    Freescale:
    - Freescale updates from Scott: Highlights include moving QE code out
    of arch/powerpc (to be shared with arm), device tree updates, and
    minor fixes"

    * tag 'powerpc-4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (149 commits)
    powerpc/module: Handle R_PPC64_ENTRY relocations
    scripts/recordmcount.pl: support data in text section on powerpc
    powerpc/powernv: Fix OPAL_CONSOLE_FLUSH prototype and usages
    powerpc/mm: fix _PAGE_SWP_SOFT_DIRTY breaking swapoff
    powerpc/mm: Fix _PAGE_PTE breaking swapoff
    cxl: Enable PCI device ID for future IBM CXL adapter
    cxl: use -Werror only with CONFIG_PPC_WERROR
    cxl: fix build for GCC 4.6.x
    powerpc: Add HWCAP bits for Power9
    powerpc/powernv: Reserve PE#0 on NPU
    powerpc/powernv: Change NPU PE# assignment
    powerpc/powernv: Fix update of NVLink DMA mask
    powerpc/powernv: Remove misleading comment in pci.c
    powerpc: Implement save_stack_trace_regs() to enable kprobe stack tracing
    powerpc: Fix build break due to paca mm_context_t changes
    cxl: Fix DSI misses when the context owning task exits
    MAINTAINERS: Update Scott Wood's e-mail address
    powerpc/powernv: Fix minor off-by-one error in opal_mce_check_early_recovery()
    powerpc: Fix style of self-test config prompts
    powerpc/powernv: Only delay opal_rtc_read() retry when necessary
    ...

    Linus Torvalds
     

09 Jan, 2016

1 commit

  • Let all the archs that implement devmem_is_allowed() opt-in to a common
    definition of CONFIG_STRICT_DEVM in lib/Kconfig.debug.

    Cc: Kees Cook
    Cc: Russell King
    Cc: Will Deacon
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Andrew Morton
    Cc: Greg Kroah-Hartman
    Cc: "David S. Miller"
    Acked-by: Catalin Marinas
    Acked-by: Heiko Carstens
    [heiko: drop 'default y' for s390]
    Acked-by: Ingo Molnar
    Suggested-by: Arnd Bergmann
    Signed-off-by: Dan Williams

    Dan Williams
     

27 Dec, 2015

1 commit


11 May, 2015

1 commit


07 Apr, 2015

1 commit

  • The celleb code has seen no actual development for ~7 years.

    We (maintainers) have no access to test hardware, and it is highly
    likely the code has bit-rotted.

    As far as we're aware the hardware was never widely available, and is
    certainly no longer available, and no one on the list has shown any
    interest in it over the years.

    So remove it. If anyone has one and cares please speak up.

    Signed-off-by: Michael Ellerman
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Jeremy Kerr

    Michael Ellerman
     

17 Mar, 2015

1 commit

  • We have set CONFIG_PPC_OF to always 'y' in commit 0a498d96a332
    ("powerpc: set CONFIG_PPC_OF=y always for ARCH=powerpc") nine years
    ago. And the arch/ppc also has gone away for many years. The OF
    functionality was also moved to a common place and be used by many
    archs. So it does make no sense to keep such a option in the current
    kernel. Just kill it.

    Signed-off-by: Kevin Hao
    Acked-by: Benjamin Herrenschmidt
    Signed-off-by: Michael Ellerman

    Kevin Hao
     

05 Aug, 2014

1 commit

  • Patch queue for ppc - 2014-08-01

    Highlights in this release include:

    - BookE: Rework instruction fetch, not racy anymore now
    - BookE HV: Fix ONE_REG accessors for some in-hardware registers
    - Book3S: Good number of LE host fixes, enable HV on LE
    - Book3S: Some misc bug fixes
    - Book3S HV: Add in-guest debug support
    - Book3S HV: Preload cache lines on context switch
    - Remove 440 support

    Alexander Graf (31):
    KVM: PPC: Book3s PR: Disable AIL mode with OPAL
    KVM: PPC: Book3s HV: Fix tlbie compile error
    KVM: PPC: Book3S PR: Handle hyp doorbell exits
    KVM: PPC: Book3S PR: Fix ABIv2 on LE
    KVM: PPC: Book3S PR: Fix sparse endian checks
    PPC: Add asm helpers for BE 32bit load/store
    KVM: PPC: Book3S HV: Make HTAB code LE host aware
    KVM: PPC: Book3S HV: Access guest VPA in BE
    KVM: PPC: Book3S HV: Access host lppaca and shadow slb in BE
    KVM: PPC: Book3S HV: Access XICS in BE
    KVM: PPC: Book3S HV: Fix ABIv2 on LE
    KVM: PPC: Book3S HV: Enable for little endian hosts
    KVM: PPC: Book3S: Move vcore definition to end of kvm_arch struct
    KVM: PPC: Deflect page write faults properly in kvmppc_st
    KVM: PPC: Book3S: Stop PTE lookup on write errors
    KVM: PPC: Book3S: Add hack for split real mode
    KVM: PPC: Book3S: Make magic page properly 4k mappable
    KVM: PPC: Remove 440 support
    KVM: Rename and add argument to check_extension
    KVM: Allow KVM_CHECK_EXTENSION on the vm fd
    KVM: PPC: Book3S: Provide different CAPs based on HV or PR mode
    KVM: PPC: Implement kvmppc_xlate for all targets
    KVM: PPC: Move kvmppc_ld/st to common code
    KVM: PPC: Remove kvmppc_bad_hva()
    KVM: PPC: Use kvm_read_guest in kvmppc_ld
    KVM: PPC: Handle magic page in kvmppc_ld/st
    KVM: PPC: Separate loadstore emulation from priv emulation
    KVM: PPC: Expose helper functions for data/inst faults
    KVM: PPC: Remove DCR handling
    KVM: PPC: HV: Remove generic instruction emulation
    KVM: PPC: PR: Handle FSCR feature deselects

    Alexey Kardashevskiy (1):
    KVM: PPC: Book3S: Fix LPCR one_reg interface

    Aneesh Kumar K.V (4):
    KVM: PPC: BOOK3S: PR: Fix PURR and SPURR emulation
    KVM: PPC: BOOK3S: PR: Emulate virtual timebase register
    KVM: PPC: BOOK3S: PR: Emulate instruction counter
    KVM: PPC: BOOK3S: HV: Update compute_tlbie_rb to handle 16MB base page

    Anton Blanchard (2):
    KVM: PPC: Book3S HV: Fix ABIv2 indirect branch issue
    KVM: PPC: Assembly functions exported to modules need _GLOBAL_TOC()

    Bharat Bhushan (10):
    kvm: ppc: bookehv: Added wrapper macros for shadow registers
    kvm: ppc: booke: Use the shared struct helpers of SRR0 and SRR1
    kvm: ppc: booke: Use the shared struct helpers of SPRN_DEAR
    kvm: ppc: booke: Add shared struct helpers of SPRN_ESR
    kvm: ppc: booke: Use the shared struct helpers for SPRN_SPRG0-7
    kvm: ppc: Add SPRN_EPR get helper function
    kvm: ppc: bookehv: Save restore SPRN_SPRG9 on guest entry exit
    KVM: PPC: Booke-hv: Add one reg interface for SPRG9
    KVM: PPC: Remove comment saying SPRG1 is used for vcpu pointer
    KVM: PPC: BOOKEHV: rename e500hv_spr to bookehv_spr

    Michael Neuling (1):
    KVM: PPC: Book3S HV: Add H_SET_MODE hcall handling

    Mihai Caraman (8):
    KVM: PPC: e500mc: Enhance tlb invalidation condition on vcpu schedule
    KVM: PPC: e500: Fix default tlb for victim hint
    KVM: PPC: e500: Emulate power management control SPR
    KVM: PPC: e500mc: Revert "add load inst fixup"
    KVM: PPC: Book3e: Add TLBSEL/TSIZE defines for MAS0/1
    KVM: PPC: Book3s: Remove kvmppc_read_inst() function
    KVM: PPC: Allow kvmppc_get_last_inst() to fail
    KVM: PPC: Bookehv: Get vcpu's last instruction for emulation

    Paul Mackerras (4):
    KVM: PPC: Book3S: Controls for in-kernel sPAPR hypercall handling
    KVM: PPC: Book3S: Allow only implemented hcalls to be enabled or disabled
    KVM: PPC: Book3S PR: Take SRCU read lock around RTAS kvm_read_guest() call
    KVM: PPC: Book3S: Make kvmppc_ld return a more accurate error indication

    Stewart Smith (2):
    Split out struct kvmppc_vcore creation to separate function
    Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8

    Conflicts:
    Documentation/virtual/kvm/api.txt

    Paolo Bonzini
     

28 Jul, 2014

1 commit

  • The 440 target hasn't been properly functioning for a few releases and
    before I was the only one who fixes a very serious bug that indicates to
    me that nobody used it before either.

    Furthermore KVM on 440 is slow to the extent of unusable.

    We don't have to carry along completely unused code. Remove 440 and give
    us one less thing to worry about.

    Signed-off-by: Alexander Graf

    Alexander Graf
     

25 Jun, 2014

1 commit

  • In commit 27f4488872d9 "Add OPAL takeover from PowerVM" we added support
    for "takeover" on OPAL v1 machines.

    This was a mode of operation where we would boot under pHyp, and query
    for the presence of OPAL. If detected we would then do a special
    sequence to take over the machine, and the kernel would end up running
    in hypervisor mode.

    OPAL v1 was never a supported product, and was never shipped outside
    IBM. As far as we know no one is still using it.

    Newer versions of OPAL do not use the takeover mechanism. Although the
    query for OPAL should be harmless on machines with newer OPAL, we have
    seen a machine where it causes a crash in Open Firmware.

    The code in early_init_devtree() to copy boot_command_line into cmd_line
    was added in commit 817c21ad9a1f "Get kernel command line accross OPAL
    takeover", and AFAIK is only used by takeover, so should also be
    removed.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     

11 Jun, 2014

1 commit

  • __attribute__ ((unused))

    WSP is the last user of CONFIG_PPC_A2, so we remove that as well.

    Although CONFIG_PPC_ICSWX still exists, it's no longer selectable for
    any Book3E platform, so we can remove the code in mmu-book3e.h that
    depended on it.

    Signed-off-by: Michael Ellerman
    Signed-off-by: Benjamin Herrenschmidt

    Michael Ellerman
     

05 Jul, 2013

2 commits

  • Merge Kconfig menu diet patches from Dave Hansen:
    "I think the "Kernel Hacking" menu has gotten a bit out of hand. It is
    over 120 lines long on my system with everything enabled and options
    are scattered around it haphazardly.

    http://sr71.net/~dave/linux/kconfig-horror.png

    Let's try to introduce some sanity. This set takes that 120 lines
    down to 55 and makes it vastly easier to find some things. It's a
    start.

    This set stands on its own, but there is plenty of room for follow-up
    patches. The arch-specific debug options still end up getting stuck
    in the top-level "kernel hacking" menu. OPTIMIZE_INLINING, for
    instance, could obviously go in to the "compiler options" menu, but
    the fact that it is defined in arch/ in a separate Kconfig file keeps
    it on its own for the moment.

    The Signed-off-by's in here look funky. I changed employers while
    working on this set, so I have signoffs from both email addresses"

    * emailed patches from Dave Hansen :
    hang and lockup detection menu
    kconfig: consolidate printk options
    group locking debugging options
    consolidate compilation option configs
    consolidate runtime testing configs
    order memory debugging Kconfig options
    consolidate per-arch stack overflow debugging options

    Linus Torvalds
     
  • Original posting:

    http://lkml.kernel.org/r/20121214184202.F54094D9@kernel.stglabs.ibm.com

    Several architectures have similar stack debugging config options.
    They all pretty much do the same thing, some with slightly
    differing help text.

    This patch changes the architectures to instead enable a Kconfig
    boolean, and then use that boolean in the generic Kconfig.debug
    to present the actual menu option. This removes a bunch of
    duplication and adds consistency across arches.

    Signed-off-by: Dave Hansen
    Reviewed-by: H. Peter Anvin
    Reviewed-by: James Hogan
    Acked-by: Chris Metcalf [for tile]
    Signed-off-by: Dave Hansen
    Signed-off-by: Linus Torvalds

    Dave Hansen
     

20 Jun, 2013

1 commit


08 May, 2013

1 commit

  • This patch adds a new udbg early debug console which utilises
    statically defined input and output buffers stored within the kernel
    BSS. It is primarily designed to assist with bring up of new hardware
    which may not have a working console but which has a method of
    reading/writing kernel memory.

    This version incorporates comments made by Ben H (thanks!).

    Changes from v1:
    - Add memory barriers.
    - Ensure updating of read/write positions is atomic.

    Signed-off-by: Alistair Popple
    Signed-off-by: Benjamin Herrenschmidt

    Alistair Popple
     

10 Jul, 2012

1 commit

  • Add the ability to inject IOMMU faults. We enable this per device
    via a fail_iommu sysfs property, similar to fault injection on other
    subsystems.

    An example:

    ...
    0003:01:00.1 Ethernet controller: Emulex Corporation OneConnect 10Gb NIC (be3) (rev 02)

    To inject one error to this device:

    echo 1 > /sys/bus/pci/devices/0003:01:00.1/fail_iommu
    echo 1 > /sys/kernel/debug/fail_iommu/probability
    echo 1 > /sys/kernel/debug/fail_iommu/times

    As feared, the first failure injected on the be3 results in an
    unrecoverable error, taking down both functions of the card
    permanently:

    be2net 0003:01:00.1: Unrecoverable error in the card

    Signed-off-by: Anton Blanchard
    Signed-off-by: Benjamin Herrenschmidt

    Anton Blanchard
     

30 Mar, 2012

1 commit


27 Feb, 2012

1 commit