Thanks you all for the comments. Everything addressed, plus the array vs
pointer suggestion from Segher Boessenkool on the other thread, which
is only cosmetic and does not change anything wrt behaviour.
There is currently little synchronization between EEH error detection
(eeh_dev_check_failure()), EEH error recovery
(eeh_handle_{normal,special}_event()) and the PCI subsystem (device
addition and removal), and so there are race conditions that lead to
crashes (often access to free'd memory or LIST
This patch introduces a character device (/dev/ocxlpmemX) which further
patches will use to interact with userspace, such as error logs,
controller stats and card debug functionality.
Signed-off-by: Alastair D'Silva
---
drivers/nvdimm/ocxl/main.c | 117 -
driv
OpenCAPI LPC memory is allocated per link, but each link supports
multiple AFUs, and each AFU can have LPC memory assigned to it.
This patch tallys the memory for all AFUs on a link, allowing it
to be mapped in a single operation after the AFUs have been
enumerated.
Signed-off-by: Alastair D'Silv
These values have been taken from the device specifications.
Signed-off-by: Alastair D'Silva
---
drivers/nvdimm/ocxl/ocxlpmem.h | 73 ++
1 file changed, 73 insertions(+)
diff --git a/drivers/nvdimm/ocxl/ocxlpmem.h b/drivers/nvdimm/ocxl/ocxlpmem.h
index 03fe7a2642
This patch exposes the serial number & firmware version in sysfs,
which will be used by ndctl in userspace to help users identify
the device.
Signed-off-by: Alastair D'Silva
---
drivers/nvdimm/ocxl/main.c | 42 --
1 file changed, 40 insertions(+), 2 deletions(
When health & performance data is requested from the controller,
it responds with an error log containing the requested information.
This patch allows the request to be issued via an IOCTL, the data
can later be collected in userspace via the error log IOCTL introduced
in a previous patch. Userspa
The heartbeat admin command is a simple admin command that exercises
the communication mechanisms within the controller.
This patch issues a heartbeat command to the card during init to ensure
we can communicate with the card's controller.
Signed-off-by: Alastair D'Silva
Reviewed-by: Andrew Donn
The OpenCAPI Persistent Memory driver will be maintained as part ofi
the ppc tree.
I'm also adding myself as an author of the driver & contributor to
the generic ocxl driver.
Signed-off-by: Alastair D'Silva
---
MAINTAINERS | 3 +++
1 file changed, 3 insertions(+)
diff --git a/MAINTAINERS b/MAI
This patch addresses warnings and errors from the kernel doc scripts for
the OpenCAPI driver.
It also makes minor tweaks to make the docs more consistent.
Signed-off-by: Alastair D'Silva
Acked-by: Andrew Donnellan
---
drivers/misc/ocxl/config.c| 24
drivers/misc/ocxl/ocxl_inte
Add functions to map/unmap LPC memory
Signed-off-by: Alastair D'Silva
Acked-by: Frederic Barrat
---
drivers/misc/ocxl/core.c | 51 +++
drivers/misc/ocxl/ocxl_internal.h | 3 ++
include/misc/ocxl.h | 21 +
3 files changed, 75 insert
Function declarations don't need externs, remove the existing ones
so they are consistent with newer code
Signed-off-by: Alastair D'Silva
Acked-by: Andrew Donnellan
Acked-by: Frederic Barrat
---
arch/powerpc/include/asm/pnv-ocxl.h | 40 ++---
include/misc/ocxl.h
Admin commands for these devices are the primary means of interacting
with the device controller to provide functionality beyond the load/store
capabilities offered via the NPU.
For example, SMART data, firmware update, and device error logs are
implemented via admin commands.
This patch requests
This patch enables the OpenCAPI Persistent Memory driver, as well
as DAX support, for the 'powernv' defconfig.
DAX is not a strict requirement for the functioning of the driver, but it
is likely that a user will want to create a DAX device on top of their
persistent memory device.
Signed-off-by:
When setting up OpenCAPI connected persistent memory, the range check may
not be performed until quite late (or perhaps not at all, if the user does
not establish a DAX device).
This patch makes the range check callable so we can perform the check while
probing the OpenCAPI Persistent Memory devic
This patch adds OPAL calls to powernv so that the OpenCAPI
driver can map & release LPC (Lowest Point of Coherency) memory.
Signed-off-by: Alastair D'Silva
Reviewed-by: Andrew Donnellan
---
arch/powerpc/include/asm/pnv-ocxl.h | 2 ++
arch/powerpc/platforms/powernv/ocxl.c | 43 ++
This series adds support for OpenCAPI Persistent Memory devices on bare metal
(arch/powernv), exposing them as nvdimms so that we can make use of the
existing infrastructure. There already exists a driver for the same devices
abstracted through PowerVM (arch/pseries):
arch/powerpc/platforms/pse
Because the bus notifier calls eeh_rmv_from_parent_pe() (via
eeh_remove_device()) when a VF is removed, the call in
remove_sriov_vf_pdns() is redundant.
So remove the call.
Signed-off-by: Sam Bobroff
---
arch/powerpc/kernel/pci_dn.c | 9 +
1 file changed, 1 insertion(+), 8 deletions(-)
When EEH device state was released asynchronously by the device
release handler, it was possible for an outstanding reference to
prevent it's release and it was necessary to work around that if a
device was re-discovered at the same PCI location.
Now that the state is released synchronously that i
If a device is hot unplgged during EEH recovery, it's possible for the
RTAS call to ibm,configure-pe in pseries_eeh_configure() to return
parameter error (-3), however negative return values are not checked
for and this leads to an infinite loop.
Fix this by correctly bailing out on negative value
EEH device state is currently removed (by eeh_remove_device()) during
the device release handler, which is invoked as the device's reference
count drops to zero. This may take some time, or forever, as other
threads may hold references.
However, the PCI device state is released synchronously by
pc
Hi everyone,
Here are some fixes and cleanups that have come from other work but that I
think stand on their own.
Only one patch ("Release EEH device state synchronously", suggested by Oliver
O'Halloran) is a significant change: it moves the cleanup of some EEH device
data out of the (possibly as
Hi H.J.,
On Sun, 29 Mar 2020 20:53:42 -0700 "H.J. Lu" wrote:
>
> Please see my enclosing email. Is anyone from PPC community reading emails?
What you really need is an Ack from the PowerPC people for the fix you
suggested and then tha fix should go in the same series that is now
causing the fa
When we enter into fadump crash path via system reset we fail to update
the pstore.
On the system reset path we first update the pstore then we go for fadump
crash. But the problem here is when all the CPUs try to get the pstore
lock to initiate the pstore write, only one CPUs will acquire the loc
The ps3's otheros flash loader has a size limit of 16 MiB for the
uncompressed image. If that limit will be reached output the
flash image file as 'otheros-too-big.bld'.
Signed-off-by: Geoff Levand
---
arch/powerpc/boot/wrapper | 17 +++--
1 file changed, 15 insertions(+), 2 deletio
Hi Geert,
On 3/29/20 7:00 AM, Geert Uytterhoeven wrote:
>> --- a/arch/powerpc/boot/wrapper
>> +++ b/arch/powerpc/boot/wrapper
>>
>> odir="$(dirname "$ofile.bin")"
>> -rm -f "$odir/otheros.bld"
>> -gzip -n --force -9 --stdout "$ofile.bin" > "$odir/otheros.bld"
>> +
>> +# The ps3's
Some code refactor in kaslr_legal_offset() and kaslr_early_init(). No
functional change. This is a preparation for KASLR fsl_booke64.
Signed-off-by: Jason Yan
Cc: Scott Wood
Cc: Diana Craciun
Cc: Michael Ellerman
Cc: Christophe Leroy
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Nichola
The BSS section has already cleared out in the first pass. No need to
clear it again. This can save some time when booting with KASLR
enabled.
Signed-off-by: Jason Yan
Cc: Scott Wood
Cc: Diana Craciun
Cc: Michael Ellerman
Cc: Christophe Leroy
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc
Now we support both 32 and 64 bit KASLR for fsl booke. Add document for
64 bit part and rename kaslr-booke32.rst to kaslr-booke.rst.
Signed-off-by: Jason Yan
Cc: Scott Wood
Cc: Diana Craciun
Cc: Michael Ellerman
Cc: Christophe Leroy
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Nicholas
The original kernel still exists in the memory, clear it now.
Signed-off-by: Jason Yan
Cc: Scott Wood
Cc: Diana Craciun
Cc: Michael Ellerman
Cc: Christophe Leroy
Cc: Benjamin Herrenschmidt
Cc: Paul Mackerras
Cc: Nicholas Piggin
Cc: Kees Cook
---
arch/powerpc/mm/nohash/kaslr_booke.c | 4 +
The implementation for Freescale BookE64 is similar as BookE32. One
difference is that Freescale BookE64 set up a TLB mapping of 1G during
booting. Another difference is that ppc64 needs the kernel to be
64K-aligned. So we can randomize the kernel in this 1G mapping and make
it 64K-aligned. This ca
This is a try to implement KASLR for Freescale BookE64 which is based on
my earlier implementation for Freescale BookE32:
https://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=131718&state=*
The implementation for Freescale BookE64 is similar as BookE32. One
difference is that Freescale B
Like the 32bit code, we introduce reloc_kernel_entry() helper to prepare
for the KASLR 64bit version. And move the C declaration of this function
out of CONFIG_PPC32 and use long instead of int for the parameter 'addr'.
Signed-off-by: Jason Yan
Cc: Scott Wood
Cc: Diana Craciun
Cc: Michael Eller
If a tracer sets the syscall number to an invalid one, allow the return
value set by the tracer to be returned the tracee.
The test for NR_syscalls is already at entry_64.S, and it's at
do_syscall_trace_enter only to skip audit and trace.
After this, two failures from seccomp_bpf selftests comple
On 03/27/2020 12:30 PM, Christophe Leroy wrote:
>
>
> On 03/27/2020 06:46 AM, Anshuman Khandual wrote:
>>
>> On 03/26/2020 08:53 PM, Christophe Leroy wrote:
>>>
>>>
>>> Le 26/03/2020 à 03:23, Anshuman Khandual a écrit :
On 03/24/2020 10:52 AM, Anshuman Khandual wrote:
> This
Hi Geoff,
On Fri, Mar 27, 2020 at 9:26 PM Geoff Levand wrote:
> The ps3's otheros flash loader has a size limit of 16 MiB for the
> uncompressed image. If that limit will be reached output the
> flash image file as 'otheros-too-big.bld'.
>
> Signed-off-by: Geoff Levand
Thanks for your patch!
On 03/20/2020 10:24 AM, Anshuman Khandual wrote:
> This series renames pmd_mknotpresent() as pmd_mknotvalid(). Before that it
> drops an existing pmd_mknotpresent() definition from powerpc platform which
> was never required as it defines it's pmdp_invalidate() through subscribing
> __HAVE_ARCH_
Le 27/03/2020 à 10:07, Naveen N. Rao a écrit :
Christophe Leroy wrote:
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
As already done for PPC64, do it for PPC32.
Signed-off-by: Christophe Leroy
---
v2:
- Don't rename no
kprobe does not handle events happening in real mode.
The very last part of syscall cannot support a trap.
Add a symbol syscall_exit_finish to identify that part and
blacklist it from kprobe.
Signed-off-by: Christophe Leroy
---
arch/powerpc/kernel/entry_32.S | 3 +++
1 file changed, 3 insertion
kprobe does not handle events happening in real mode.
The very last part of exception exits cannot support a trap.
Blacklist them from kprobe.
While we are at it, remove exc_exit_start symbol which is not
used to avoid having to blacklist it.
Signed-off-by: Christophe Leroy
---
arch/powerpc/ke
kprobe does not handle events happening in real mode.
As exception entry points are running with MMU disabled,
blacklist them.
Signed-off-by: Christophe Leroy
---
arch/powerpc/kernel/entry_32.S | 7 +++
1 file changed, 7 insertions(+)
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powe
In hash_low.S, a lot of named local symbols are used instead of
numbers to ease code lisibility. However, they don't need to be
visible.
In order to ease blacklisting of functions running with MMU
disabled for kprobe, rename the symbols to .Lsymbols in order
to hide them as if they were numbered l
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/kernel/cpu_setup_6xx.S | 2 ++
arch/powerpc/kernel/entry_32.S | 3 +++
arch/powerpc/kernel/fpu.S | 1 +
arch/power
machine_check_in_rtas() is just a trap.
Do the trap directly in the machine check exception handler.
Signed-off-by: Christophe Leroy
---
arch/powerpc/kernel/entry_32.S | 6 --
arch/powerpc/kernel/head_32.S | 2 +-
2 files changed, 1 insertion(+), 7 deletions(-)
diff --git a/arch/powerpc/k
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/mm/book3s32/hash_low.S | 6 ++
1 file changed, 6 insertions(+)
diff --git a/arch/powerpc/mm/book3s32/hash_low.S
b/arch/powe
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/powermac/cache.S | 2 ++
arch/powerpc/platforms/powermac/sleep.S | 5 -
2 files changed, 6 insertions(+), 1 deletio
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/82xx/pq2.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/arch/powerpc/platforms/82xx/pq2.c
b/arch/powerpc/pla
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/83xx/suspend-asm.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/platforms/83xx/suspend-asm.S
b/arc
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/mm/mem.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 9b4f5fb719e0..
kprobe does not handle events happening in real mode, all
functions running with MMU disabled have to be blacklisted.
Signed-off-by: Christophe Leroy
---
arch/powerpc/platforms/52xx/lite5200_sleep.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/platforms/52xx/lite5200_sleep.
50 matches
Mail list logo