Page MenuHomeFreeBSD

luporl (Leandro Lupori)
Engineering

Projects

User Details

User Since
Jan 7 2019, 7:21 PM (48 w, 1 d)

Recent Activity

Mon, Dec 9

luporl added a reviewer for D21554: Fix kvm bitmap index: emaste.
Mon, Dec 9, 3:57 PM

Fri, Dec 6

luporl updated the diff for D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
  • Fix compiler warning
Fri, Dec 6, 6:58 PM · PowerPC

Wed, Dec 4

luporl updated the summary of D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Wed, Dec 4, 7:18 PM · PowerPC
luporl updated the diff for D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
  • Merge with 'master'
  • Address review comments
Wed, Dec 4, 7:15 PM · PowerPC
luporl added inline comments to D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Wed, Dec 4, 1:02 PM · PowerPC
luporl updated subscribers of D15369: strncpy optimization for PowerPC64.
Wed, Dec 4, 11:58 AM · PowerPC
luporl added a project to D21555: [PPC64] Initial libkvm minidump implementation: PowerPC.
Wed, Dec 4, 11:57 AM · PowerPC
luporl added a project to D21946: [PPC] Fix kgdb symbol resolution and backtrace: PowerPC.
Wed, Dec 4, 11:57 AM · PowerPC
luporl added a project to D22649: [PPC64] Enable opal console use as a GDB DBGPORT: PowerPC.
Wed, Dec 4, 11:57 AM · PowerPC
luporl updated subscribers of D15368: strcpy optimization for PowerPC64.
Wed, Dec 4, 11:56 AM · PowerPC
luporl added a project to D20640: Enable use of ofwcons for early debug: PowerPC.
Wed, Dec 4, 11:55 AM · PowerPC
luporl updated subscribers of D15369: strncpy optimization for PowerPC64.
Wed, Dec 4, 11:50 AM · PowerPC
luporl updated subscribers of D20640: Enable use of ofwcons for early debug.
Wed, Dec 4, 11:49 AM · PowerPC
luporl updated subscribers of D21555: [PPC64] Initial libkvm minidump implementation.
Wed, Dec 4, 11:48 AM · PowerPC
luporl updated subscribers of D21946: [PPC] Fix kgdb symbol resolution and backtrace.
Wed, Dec 4, 11:48 AM · PowerPC
luporl updated subscribers of D15368: strcpy optimization for PowerPC64.
Wed, Dec 4, 11:47 AM · PowerPC
luporl added a member for PowerPC: luporl.
Wed, Dec 4, 11:44 AM
luporl updated subscribers of D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Wed, Dec 4, 11:43 AM · PowerPC

Tue, Dec 3

luporl updated the test plan for D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Tue, Dec 3, 8:49 PM · PowerPC
luporl updated the test plan for D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Tue, Dec 3, 8:45 PM · PowerPC
luporl created D22649: [PPC64] Enable opal console use as a GDB DBGPORT.
Tue, Dec 3, 8:41 PM · PowerPC

Mon, Dec 2

luporl added a comment to D22608: [PowerPC] Switch to Secure-PLT PIC modules, allow MD code to participate in DYNAMIC parsing..

Looks good to me.

Mon, Dec 2, 6:18 PM · PowerPC
luporl accepted D21449: powerpc/pmap: NUMA-ize vm_page_array on powerpc.
Mon, Dec 2, 12:51 PM

Fri, Nov 29

luporl added a comment to D21449: powerpc/pmap: NUMA-ize vm_page_array on powerpc.

Overall the changes look ok to me.

Fri, Nov 29, 5:52 PM
luporl added inline comments to D22549: [PowerPC] enable atomic.c in compiler_rt and makes clang do not emit a call to an external __atomic_is_lock_free.
Fri, Nov 29, 2:15 PM · PowerPC
luporl accepted D22524: [PowerPC] Enable TLS usage in system libraries on ELFv2..
Fri, Nov 29, 1:57 PM · PowerPC
luporl accepted D22341: powerpc64/pmap: micro-optimize some PVO-PTE logic.

The changes look ok to me. They seem to preserve the original logic, while avoiding the full PTE from PVO conversion.

Fri, Nov 29, 1:16 PM

Thu, Nov 28

luporl accepted D22340: powerpc: Use builtins for fls/flsl.

Looks good.

Thu, Nov 28, 9:10 PM
luporl updated the summary of D20640: Enable use of ofwcons for early debug.
Thu, Nov 28, 8:22 PM · PowerPC
luporl updated the diff for D20640: Enable use of ofwcons for early debug.
  • Address review's comments
  • Fixed an issue in ofw_real_mtx_unlock()
Thu, Nov 28, 8:18 PM · PowerPC

Mon, Nov 25

luporl added inline comments to D22171: [PPC] Remove extra \0 char inserted on vty by QEMU.
Mon, Nov 25, 7:50 PM
luporl updated the diff for D22171: [PPC] Remove extra \0 char inserted on vty by QEMU.
  • Merge branch 'master' into luporl-fix-vty
  • Address review comments
Mon, Nov 25, 7:42 PM
luporl updated the test plan for D22171: [PPC] Remove extra \0 char inserted on vty by QEMU.
Mon, Nov 25, 7:38 PM

Oct 31 2019

luporl added a comment to D22199: Avoid wrong sigtramp detection on ppc64.

The trampoline for ppc64 is at 0x3ffffffffffe000 + offset, in the shared page.

Oct 31 2019, 5:47 PM
luporl updated the diff for D22199: Avoid wrong sigtramp detection on ppc64.
  • Merge branch 'master' into luporl-fix-gdb-sigtramp
  • Add proper sigtramp detection for ppc64
Oct 31 2019, 5:45 PM
luporl created D22205: [PPC64] Enable phyp vty use as a GDB DBGPORT.
Oct 31 2019, 12:44 PM

Oct 30 2019

luporl created D22201: Fix GDB machdep code for PPC/PPC64.
Oct 30 2019, 9:40 PM
luporl created D22200: [PPC64] Fix trapstk overflow.
Oct 30 2019, 9:27 PM
luporl planned changes to D22199: Avoid wrong sigtramp detection on ppc64.
Oct 30 2019, 9:04 PM
luporl created D22199: Avoid wrong sigtramp detection on ppc64.
Oct 30 2019, 8:58 PM

Oct 28 2019

luporl created D22171: [PPC] Remove extra \0 char inserted on vty by QEMU.
Oct 28 2019, 12:50 PM

Oct 21 2019

luporl added inline comments to D22087: powerpc: Use doorbell interrupts as IPIs where supported.
Oct 21 2019, 5:29 PM
luporl requested changes to D22087: powerpc: Use doorbell interrupts as IPIs where supported.
Oct 21 2019, 4:46 PM

Oct 15 2019

luporl updated the diff for D15368: strcpy optimization for PowerPC64.

Fix diff.

Oct 15 2019, 3:28 PM · PowerPC
luporl updated the diff for D15369: strncpy optimization for PowerPC64.

Fix diff

Oct 15 2019, 2:24 PM · PowerPC
luporl updated the diff for D15369: strncpy optimization for PowerPC64.
  • Merge branch 'master'
Oct 15 2019, 2:21 PM · PowerPC

Oct 9 2019

luporl accepted D21954: gcore: Add powerpc64 32-bit gcore support.

Looks good.

Oct 9 2019, 12:39 PM

Oct 8 2019

luporl updated subscribers of D21946: [PPC] Fix kgdb symbol resolution and backtrace.
Oct 8 2019, 8:09 PM · PowerPC
luporl created D21946: [PPC] Fix kgdb symbol resolution and backtrace.
Oct 8 2019, 8:02 PM · PowerPC

Oct 1 2019

luporl updated the diff for D21555: [PPC64] Initial libkvm minidump implementation.
  • make kvatop handle dpcpu/vnet addresses properly
Oct 1 2019, 5:02 PM · PowerPC
luporl added a comment to D21555: [PPC64] Initial libkvm minidump implementation.

This is very specific to AIM64 HPT. Can you rename it to kvm_..._hpt.c, or something, and add another key to the header to probe against for the particular pmap implementation? I'll want to add Book-E support, as well as AIM Radix when we do finally get radix stabilized.

Oct 1 2019, 1:15 PM · PowerPC
luporl updated the diff for D21555: [PPC64] Initial libkvm minidump implementation.

[PPC64] libkvm minidump refactoring

Oct 1 2019, 12:55 PM · PowerPC

Sep 27 2019

luporl updated the summary of D21551: [PPC64] Initial kernel minidump implementation.
Sep 27 2019, 6:07 PM
luporl updated the summary of D21643: [PPC64] Add minidump support to PowerNV.
Sep 27 2019, 6:01 PM
luporl updated the diff for D21643: [PPC64] Add minidump support to PowerNV.
  • Avoid unnecessary page table copy
  • dump_pmap_init() is now implemented only in moea64
Sep 27 2019, 5:58 PM
luporl added a comment to D21551: [PPC64] Initial kernel minidump implementation.

Can you add a key/sentinel into the dump structure to say what pmap it's using? libkvm will need it for properly decoding addresses, and that differential will also need to be updated to use the key and select a backend.

Sep 27 2019, 5:51 PM
luporl updated the diff for D21551: [PPC64] Initial kernel minidump implementation.
  • Add mmu_name field to minidump header
  • Move dump_pmap_init() to moea64
  • Refactor dump_pmap() to allow copy elision
Sep 27 2019, 5:47 PM

Sep 13 2019

luporl accepted D21631: powerpc/powernv: Add OPAL NVRAM driver.

LGTM.

Sep 13 2019, 7:47 PM
luporl updated the diff for D21555: [PPC64] Initial libkvm minidump implementation.
  • [PPC64] Handle relocated kernels properly
  • Merge branch 'master' into luporl-crashdump-libkvm
Sep 13 2019, 6:57 PM · PowerPC
luporl created D21643: [PPC64] Add minidump support to PowerNV.
Sep 13 2019, 6:51 PM
luporl updated the diff for D21551: [PPC64] Initial kernel minidump implementation.
  • Added startkernel, endkernel to minidump header
Sep 13 2019, 6:34 PM

Sep 10 2019

luporl added inline comments to D21583: Add powerpc support to libkvm probe function.
Sep 10 2019, 6:48 PM
luporl updated the diff for D21070: [PPC64] Add ifunc support in libcsu.
  • Separate elf_common.h change
  • Change R_PPC64_IRELATIVE to R_PPC_IRELATIVE in code
Sep 10 2019, 4:01 PM
luporl updated subscribers of D21587: Add R_PPC_IRELATIVE relocation.
Sep 10 2019, 3:55 PM
luporl created D21587: Add R_PPC_IRELATIVE relocation.
Sep 10 2019, 3:55 PM
luporl created D21583: Add powerpc support to libkvm probe function.
Sep 10 2019, 1:29 PM
luporl added inline comments to D21555: [PPC64] Initial libkvm minidump implementation.
Sep 10 2019, 1:25 PM · PowerPC
luporl updated the diff for D21555: [PPC64] Initial libkvm minidump implementation.
  • Address reviews' comments
Sep 10 2019, 1:22 PM · PowerPC
luporl updated the diff for D21551: [PPC64] Initial kernel minidump implementation.
  • Address jhibbits comments and add missing UMA bits
Sep 10 2019, 12:43 PM

Sep 6 2019

luporl added inline comments to D21551: [PPC64] Initial kernel minidump implementation.
Sep 6 2019, 6:52 PM
luporl created D21555: [PPC64] Initial libkvm minidump implementation.
Sep 6 2019, 6:48 PM · PowerPC
luporl created D21554: Fix kvm bitmap index.
Sep 6 2019, 5:43 PM
luporl created D21551: [PPC64] Initial kernel minidump implementation.
Sep 6 2019, 2:32 PM

Sep 5 2019

luporl accepted D21515: powerpc64/pmap: Simplify the code path for moea64_pte_replace_native().
Sep 5 2019, 1:14 PM

Sep 4 2019

luporl added a comment to D21515: powerpc64/pmap: Simplify the code path for moea64_pte_replace_native().

I'm not that familiar with this code, but overall the change looks good and seem to preserve the behavior of previous version, except for the part in the following comment.

Sep 4 2019, 7:11 PM

Aug 19 2019

luporl added a comment to D21297: Fix loader on powerpc32.
In D21297#463780, @imp wrote:
In D21297#463774, @imp wrote:

I agree with @jhibbits: cas.c shouldn't be built for powerpc32, only powerpc64, but the change is OK.
If we go this way, then it is better to remove the (incorrect) conditional compilation of cas.c.
Else, powerpc/ofw/Makefile should be fixed.
This is the relevant part of it:

.if ${MACHINE_ARCH} == "powerpc64"
SRCS+=          cas.c
CFLAGS+=        -DCAS
.endif

It seems this is wrong when cross building to powerpc.
Perhaps it could be changed to something like this:

.if (!defined(TARGET_ARCH) && ${MACHINE_ARCH} == "powerpc64") || "${TARGET_ARCH}" == "powerpc64"
SRCS+=          cas.c
CFLAGS+=        -DCAS
.endif

But I'm also fine with just removing the if block.

TARGET_ARCH isn't a thing you can test anywhere outside of Makefile.inc1, so this suggestion can't be right. In the cross build case, we always set MACHINE_ARCH correctly.

Ok, but then the following use case is not supported, right?

cd /usr/src/stand && make TARGET=powerpc TARGET_ARCH=powerpc

Because the following command outputs "powerpc64":

cd src/stand
make buildenv TARGET=....

is what you need to do to cross build.

cd /usr/src/stand && make TARGET=powerpc TARGET_ARCH=powerpc -V MACHINE_ARCH

But when first performing a buildenv, then MACHINE_ARCH is correctly set:

cd /usr/src && make TARGET=powerpc TARGET_ARCH=powerpc buildenv
cd stand && make -V MACHINE_ARCH

If this is the case, the Makefile is already correct and no issues should occur on 32-bit systems.
Then this change would not be necessary, although it doesn't hurt.

It wouldn't change anything since the -m32 needed to do the cross build on powerpc64 wouldn't be included, and the wrong architecture compiler would be used if you tried it on, say, x86. We never test for TARGET or TARGET_ARCH outside of the Makefile.inc1 at the top level (well, there is an exception for gdb and maybe gcc, but the TARGET variable there isn't the same one and pre-dates the system's use of Makefile and will go away soon anyway).

Aug 19 2019, 3:45 PM · PowerPC
luporl added a comment to D21297: Fix loader on powerpc32.
In D21297#463774, @imp wrote:

I agree with @jhibbits: cas.c shouldn't be built for powerpc32, only powerpc64, but the change is OK.
If we go this way, then it is better to remove the (incorrect) conditional compilation of cas.c.
Else, powerpc/ofw/Makefile should be fixed.
This is the relevant part of it:

.if ${MACHINE_ARCH} == "powerpc64"
SRCS+=          cas.c
CFLAGS+=        -DCAS
.endif

It seems this is wrong when cross building to powerpc.
Perhaps it could be changed to something like this:

.if (!defined(TARGET_ARCH) && ${MACHINE_ARCH} == "powerpc64") || "${TARGET_ARCH}" == "powerpc64"
SRCS+=          cas.c
CFLAGS+=        -DCAS
.endif

But I'm also fine with just removing the if block.

TARGET_ARCH isn't a thing you can test anywhere outside of Makefile.inc1, so this suggestion can't be right. In the cross build case, we always set MACHINE_ARCH correctly.

Aug 19 2019, 2:04 PM · PowerPC
D21301: powerpc: Link Book-E kernels at the same address as AIM kernels is now accepted and ready to land.

Looks good to me.

Aug 19 2019, 1:31 PM
luporl added a comment to D21297: Fix loader on powerpc32.

I agree with @jhibbits: cas.c shouldn't be built for powerpc32, only powerpc64, but the change is OK.

Aug 19 2019, 1:10 PM · PowerPC

Aug 12 2019

luporl created D21231: [ppc] avoid empty mdproc struct.
Aug 12 2019, 4:51 PM
luporl added inline comments to D15118: memcpy optimization for powerpc64.
Aug 12 2019, 2:07 PM · PowerPC

Aug 8 2019

luporl added inline comments to D21070: [PPC64] Add ifunc support in libcsu.
Aug 8 2019, 1:58 PM
luporl added a comment to D15118: memcpy optimization for powerpc64.

@jhibbits, this last change addresses your last comment (moving VSX code to _vsx.S files) and also adds ifunc support.

Aug 8 2019, 1:55 PM · PowerPC
luporl added a comment to D15118: memcpy optimization for powerpc64.

[PPC64] Optimize bcopy/memcpy/memmove

Aug 8 2019, 1:47 PM · PowerPC

Aug 5 2019

luporl added a reviewer for D15118: memcpy optimization for powerpc64: lffpires_ruabrasil.org.

Commandeering to address issues and use ifunc to decide whether VSX should be used.

Aug 5 2019, 5:57 PM · PowerPC
D15368: strcpy optimization for PowerPC64 now requires review to proceed.
  • Use ifunc to choose best implementation based on running system
Aug 5 2019, 5:46 PM · PowerPC
luporl added a reviewer for D15368: strcpy optimization for PowerPC64: leonardo.bianconi_eldorado.org.br.

Taking over to add ifunc support, which will make it possible to have the optimized strcpy version and avoid breaking POWER5 and earlier.

Aug 5 2019, 1:57 PM · PowerPC
luporl added a comment to D21131: [PPC64] Fix rtld direct exec mode.

Looks good. Can the same change apply to powerpc?

Aug 5 2019, 1:18 PM

Aug 2 2019

luporl created D21136: [PPC64] Don't mark ld.bfd as obsolete.
Aug 2 2019, 5:13 PM
luporl added inline comments to D15369: strncpy optimization for PowerPC64.
Aug 2 2019, 4:18 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix rtld crash
Aug 2 2019, 4:10 PM · PowerPC

Aug 1 2019

luporl created D21131: [PPC64] Fix rtld direct exec mode.
Aug 1 2019, 8:38 PM

Jul 31 2019

luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix rtld-libc build issue
Jul 31 2019, 9:31 PM · PowerPC
luporl added a comment to D20827: [PPC64] Implement CAS.

Thanks for checking. Looks good. I assume you tested on bare metal, too?

Jul 31 2019, 7:26 PM
luporl added a comment to D15369: strncpy optimization for PowerPC64.

This last change fixes the previous "dst not always zeroed" issue and adds ifunc support to strncpy, so that the optimized version is selected on ISAs >= 2.05 while others can use the fallback implementation in C.

Jul 31 2019, 6:56 PM · PowerPC
luporl added a comment to D15369: strncpy optimization for PowerPC64.
  • [PPC64] strncpy - fix 'dst' not zeroed issue
  • Initial ifunc capable strncpy implementation
Jul 31 2019, 6:37 PM · PowerPC

Jul 30 2019

luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.
  • Add missing space
Jul 30 2019, 6:49 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Redo merge:

Jul 30 2019, 6:39 PM
luporl added a comment to D21102: [PPC64] Backport fix for missing IRELATIVE relocations.

Now the merge result should match the behavior seen in upstream.
Was this what you had in mind? Or is the plan to revert the local changes and apply this patch on it instead?

I think we should indeed revert the local changes and apply the two patches from upstream, but IMO it's fine to do that in a single commit. I believe that is effectively what you have done here?

Jul 30 2019, 5:15 PM
luporl added inline comments to D20827: [PPC64] Implement CAS.
Jul 30 2019, 4:40 PM