Page MenuHomeFreeBSD

bdragon (Brandon Bergren)
Animal

Projects

User Details

User Since
Jun 6 2018, 11:31 PM (89 w, 1 d)

Recent Activity

Today

bdragon created D23778: [PowerPC] Fix LLD10 linking of ofw loader on ppc.
Fri, Feb 21, 3:46 AM · PowerPC

Wed, Feb 19

bdragon added a comment to D23753: powerpc: Axe PPC4xx support..

Boots OK on my RB800.

Wed, Feb 19, 9:05 PM

Mon, Feb 17

bdragon added inline comments to D23731: powerpc: Add a CPU-custom machine check handler.
Mon, Feb 17, 7:20 PM

Wed, Feb 12

bdragon added a comment to D23652: Handle non-plt IRELATIVE relocations..

(A blatant error in that document is that it defines that the resolver takes no parameters. Given the resolver is called before the PLT is up and running, this is stupid, because on non x86* cpus, the cpu model information is coming from the auxv and is not directly available through an unprivileged instruction, so the workaround on x86* of __builtin_cpu_supports() calls is nonsensical. FreeBSD ifuncs always pass the available cpu feature flags in as parameters to the resolver, even on x86* where you can theoretically get it from a compiler builtin)

Wed, Feb 12, 11:24 PM
bdragon added a comment to D23652: Handle non-plt IRELATIVE relocations..

Is there any case where IRELATIVE is used outside of GNU IFUNC btw?

Wed, Feb 12, 11:13 PM
bdragon added a comment to D23652: Handle non-plt IRELATIVE relocations..

actually I'm wrong.. I was confusing gnu ifuncs and non-plt gnu ifuncs, it was only the non-plt ones that got nerfed in rS341441 and rS343484.

Wed, Feb 12, 10:38 PM
bdragon added a comment to D23652: Handle non-plt IRELATIVE relocations..

fwiw I believe obj->gnu_ifunc is a vestigial bit of an earlier attempt to do non-plt ifuncs that got killed off in rS343484 and is the same as you are doing now (i.e. non-plt ifuncs)

Wed, Feb 12, 10:33 PM

Tue, Feb 11

bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

OK, that appears to do the trick.

Tue, Feb 11, 1:02 AM

Mon, Feb 10

bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

yep, I moved the setting of addr up a bit and I no longer crash.

Mon, Feb 10, 10:12 PM
bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

Ahh, right below. So I guess we're using it unitialized, so it uses a random pointer from the stack.

Mon, Feb 10, 10:09 PM
bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

It did not.

Mon, Feb 10, 10:01 PM
bdragon planned changes to D23595: [PowerPC] INTRNG preparation: Rename our pic interface.

I will be working on this offline in the background after reviewing the relevant past conversations.

Mon, Feb 10, 5:19 AM · PowerPC
bdragon added a comment to D23595: [PowerPC] INTRNG preparation: Rename our pic interface.

Well, because I'm planning on removing the interface once I have converted everything over to INTRNG.

Mon, Feb 10, 1:35 AM · PowerPC
bdragon created D23595: [PowerPC] INTRNG preparation: Rename our pic interface.
Mon, Feb 10, 1:05 AM · PowerPC

Fri, Feb 7

bdragon added inline comments to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..
Fri, Feb 7, 7:50 PM
bdragon added inline comments to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..
Fri, Feb 7, 7:42 PM
bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

I kinda wonder if what I'm running into is a corner case where the main program has no TLS section yet still creates threads.

Fri, Feb 7, 6:31 PM
bdragon added a reviewer for D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments.: bdragon.

Putting myself on the review list becasue this has been part of my local patchset for a long time.

Fri, Feb 7, 6:17 PM

Wed, Feb 5

bdragon committed rS357590: [PowerPC] [DTrace] Add ELFv2 support in libdtrace.
[PowerPC] [DTrace] Add ELFv2 support in libdtrace
Wed, Feb 5, 7:40 PM
bdragon closed D22403: [PowerPC] ELFv2 libdtrace support (userland side).
Wed, Feb 5, 7:40 PM · DTrace, PowerPC

Tue, Feb 4

bdragon committed rS357529: [PowerPC] Fix VSX context handling.
[PowerPC] Fix VSX context handling
Tue, Feb 4, 8:41 PM
bdragon closed D23497: [PowerPC] Fix VSX context handling.
Tue, Feb 4, 8:41 PM · PowerPC
bdragon updated the diff for D23497: [PowerPC] Fix VSX context handling.

Fix typos.

Tue, Feb 4, 7:58 PM · PowerPC
bdragon added inline comments to D23497: [PowerPC] Fix VSX context handling.
Tue, Feb 4, 4:20 PM · PowerPC
bdragon added a reviewer for D23497: [PowerPC] Fix VSX context handling: luporl.

ah, misread IRC, it was luporl who jhibbits was asking regarding debugging rust.

Tue, Feb 4, 6:46 AM · PowerPC
bdragon created D23497: [PowerPC] Fix VSX context handling.
Tue, Feb 4, 5:54 AM · PowerPC

Sun, Feb 2

bdragon committed rS357418: [PowerPC] Fix feholdexcept() on powerpc referencing the wrong struct member.
[PowerPC] Fix feholdexcept() on powerpc referencing the wrong struct member
Sun, Feb 2, 7:17 PM
bdragon closed D23382: Fix feholdexcept() on powerpc referencing the wrong struct member.
Sun, Feb 2, 7:17 PM
bdragon accepted D23382: Fix feholdexcept() on powerpc referencing the wrong struct member.

OK. Got sidetracked by other float failures, but I might as well get this one in separately.

Sun, Feb 2, 7:11 PM
bdragon accepted D23401: Make access to VirtIO configuration with proper endianness on big endian platforms.

This is working nicely for me.

Sun, Feb 2, 7:08 PM · PowerPC
bdragon created D23465: [libsa] Retry failed dosfs opens with /boot/ stripped..
Sun, Feb 2, 2:33 AM

Thu, Jan 30

bdragon added inline comments to D23401: Make access to VirtIO configuration with proper endianness on big endian platforms.
Thu, Jan 30, 8:42 PM · PowerPC
bdragon added a comment to D23376: Avoid having PowerMacs ending up with stuck-sleeping threads: force some boot-time TB value relationships across sockets/cores..

Yeah, I used to see this too (on either power9 or amigaone x5000, can't remember which.) IIRC, the problem is that if the tb is significantly unsynced, the callwheel algorithm falls over and misses wakeups for things.

Thu, Jan 30, 4:49 PM · PowerPC

Wed, Jan 29

bdragon accepted D23411: stand: properly declare build dependencies or .WAIT, start building in parallel.

Tested -j1024 /stand builds for powerpc, powerpc64, amd64, i386, aarch64, armv7, and riscv. No failures, significant speed improvement.

Wed, Jan 29, 3:24 AM

Tue, Jan 28

bdragon added a comment to D23355: Reimplement stack capture of running threads..

This removes the public kernel function stack_save() from some of the platforms.

Tue, Jan 28, 11:08 PM
bdragon added a comment to D23401: Make access to VirtIO configuration with proper endianness on big endian platforms.

Ohhhhhh, so THAT is why this has been such a headache?

Tue, Jan 28, 7:04 PM · PowerPC

Mon, Jan 27

bdragon added a comment to D23382: Fix feholdexcept() on powerpc referencing the wrong struct member.

Acknowleged. It looks to me like this one got missed in rS355656. Will take a proper look later.

Mon, Jan 27, 7:55 PM

Jan 22 2020

bdragon committed rS356966: [PowerPC] libc backwards compatibility shim for auxv change.
[PowerPC] libc backwards compatibility shim for auxv change
Jan 22 2020, 2:06 AM
bdragon closed D23096: [PowerPC] libc backwards compatibility shim for auxv change.
Jan 22 2020, 2:06 AM · PowerPC

Jan 19 2020

bdragon committed rS356878: [PowerPC] Fix 32-bit ubldr calling convention.
[PowerPC] Fix 32-bit ubldr calling convention
Jan 19 2020, 4:13 AM
bdragon closed D23258: [PowerPC] Fix 32-bit ubldr calling convention.
Jan 19 2020, 4:13 AM · PowerPC
bdragon created D23258: [PowerPC] Fix 32-bit ubldr calling convention.
Jan 19 2020, 3:46 AM · PowerPC

Jan 18 2020

bdragon created D23246: [PowerPC] Fix emulators/qemu40 cacheline detection on powerpc.
Jan 18 2020, 3:25 AM · PowerPC
bdragon updated the diff for D23096: [PowerPC] libc backwards compatibility shim for auxv change.

Invert the variable so it ends up in bss.

Jan 18 2020, 2:23 AM · PowerPC
bdragon accepted D23136: PowerPC: Add CPLD driver for AmigaOne X5000.

Works on my X5000, and looks good to me (other than needing to add that missing newline in the license in both cases)

Jan 18 2020, 1:58 AM
bdragon added inline comments to D23136: PowerPC: Add CPLD driver for AmigaOne X5000.
Jan 18 2020, 1:51 AM
bdragon updated the diff for D23057: [PowerPC] Fix offset calculations in bridge mode.

I *meant* to alphabetize this in the first place.
This puts TRAP_GENTRAP back at its original address, too.

Jan 18 2020, 1:34 AM · PowerPC
bdragon updated the diff for D23057: [PowerPC] Fix offset calculations in bridge mode.

Use different address. I meant to have them next to each other but I jumped from f to d.

Jan 18 2020, 1:14 AM · PowerPC
bdragon updated the diff for D23244: [PowerPC] Fix Book-E direct map for >=16G ram on e5500.

Hide the clamping code behind powerpc64 so 32-bit booke compiles.

Jan 18 2020, 1:02 AM · PowerPC
bdragon added inline comments to D23057: [PowerPC] Fix offset calculations in bridge mode.
Jan 18 2020, 12:54 AM · PowerPC
bdragon added inline comments to D23244: [PowerPC] Fix Book-E direct map for >=16G ram on e5500.
Jan 18 2020, 12:52 AM · PowerPC

Jan 17 2020

bdragon added a comment to D23136: PowerPC: Add CPLD driver for AmigaOne X5000.

cpld0: <AmigaOne Cyrus CPLD> mem 0x4000000002010000-0x400000000201ffff on lbc0
cpld0: Build date: 2015-05-06
cpld0: Build time: 17:17:17
cpld0: Hardware revision: 8720

Jan 17 2020, 11:20 PM
bdragon updated the diff for D23244: [PowerPC] Fix Book-E direct map for >=16G ram on e5500.

moving clamp down as per suggestion.

Jan 17 2020, 11:19 PM · PowerPC
bdragon created D23244: [PowerPC] Fix Book-E direct map for >=16G ram on e5500.
Jan 17 2020, 10:35 PM · PowerPC
bdragon accepted D23220: powerpc: Fix the NUMA domain list on powernv.

Looks good to me too. Thanks for putting this together!

Jan 17 2020, 5:50 PM

Jan 13 2020

bdragon added inline comments to D23156: [PowerPC] WIP: PPC64 ifuncs, solve remaining relocatable kernel oddities.
Jan 13 2020, 8:38 PM · PowerPC
bdragon added inline comments to D23156: [PowerPC] WIP: PPC64 ifuncs, solve remaining relocatable kernel oddities.
Jan 13 2020, 8:17 PM · PowerPC
bdragon created D23156: [PowerPC] WIP: PPC64 ifuncs, solve remaining relocatable kernel oddities.
Jan 13 2020, 8:08 PM · PowerPC

Jan 10 2020

bdragon added inline comments to D23096: [PowerPC] libc backwards compatibility shim for auxv change.
Jan 10 2020, 4:30 AM · PowerPC
bdragon added a comment to D23096: [PowerPC] libc backwards compatibility shim for auxv change.

libc itself calls _elf_aux_info directly instead of the weak elf_aux_info, so will *never* call _powerpc_elf_aux_info.

Jan 10 2020, 4:26 AM · PowerPC

Jan 8 2020

bdragon created D23096: [PowerPC] libc backwards compatibility shim for auxv change.
Jan 8 2020, 11:02 PM · PowerPC

Jan 7 2020

bdragon added a reviewer for D23072: [PowerPC] Fix libllvmminimal build when building from powerpc64 ELFv1.: dim.
Jan 7 2020, 8:41 PM · PowerPC
bdragon created D23072: [PowerPC] Fix libllvmminimal build when building from powerpc64 ELFv1..
Jan 7 2020, 8:40 PM · PowerPC

Jan 6 2020

bdragon created D23057: [PowerPC] Fix offset calculations in bridge mode.
Jan 6 2020, 8:03 PM · PowerPC
bdragon updated the diff for D23055: [PowerPC] Save a dword in the powerpc64 signal trampoline.

Remove incorrect comments from original patch, add comment to describe why we're exiting instead.

Jan 6 2020, 7:19 PM · PowerPC
bdragon added a comment to D23055: [PowerPC] Save a dword in the powerpc64 signal trampoline.

OK, so my comments are incorrect in general. The nop still needs to go though.

Jan 6 2020, 6:34 PM · PowerPC
bdragon added inline comments to D23055: [PowerPC] Save a dword in the powerpc64 signal trampoline.
Jan 6 2020, 6:29 PM · PowerPC
bdragon created D23055: [PowerPC] Save a dword in the powerpc64 signal trampoline.
Jan 6 2020, 6:26 PM · PowerPC

Jan 3 2020

bdragon accepted D23015: emulated atomic64: disable interrupts as the lock mechanism on !SMP.

The changes look good to me as well.

Jan 3 2020, 6:26 PM

Jan 2 2020

bdragon created D23000: Move stand/ofw/libofw to stand/libofw.
Jan 2 2020, 3:52 AM

Dec 30 2019

bdragon created D22976: [PowerPC] Kernel 64-bit atomics emulation for PPC32.
Dec 30 2019, 10:22 PM · PowerPC
bdragon created D22962: [PowerPC] Fix panic when attempting to handle an HMI from an idle thread.
Dec 30 2019, 1:31 AM · PowerPC

Dec 27 2019

bdragon accepted D22935: Fix the powerpc copyout fixup from r356113.

Tests went good.

Dec 27 2019, 5:13 PM
bdragon added a comment to D22934: [PowerPC] Update /platforms to reflect the powerpc* switch to clang..

Not sure who else I should be tagging on this. Almost added core as a group reviewer but changed my mind at the last minute, this seems too obvious and straightforward of a change to waste their time.

Dec 27 2019, 6:55 AM · PowerPC
bdragon created D22934: [PowerPC] Update /platforms to reflect the powerpc* switch to clang..
Dec 27 2019, 6:50 AM · PowerPC

Dec 24 2019

bdragon updated the diff for D22787: [PowerPC] Define powerpc IFUNC kernel/userspace ABI..

Addressing comments.

Dec 24 2019, 4:33 PM · PowerPC

Dec 17 2019

bdragon created D22855: [PowerPC] powerpc32 rtld IFUNC handling code.
Dec 17 2019, 4:34 PM · PowerPC
bdragon added a comment to D22796: [PowerPC] Only move linker sets to .data on ELFv1.

Yeah, been running with it for over a month.

Dec 17 2019, 1:54 AM · PowerPC

Dec 14 2019

bdragon created D22818: [PowerPC] Add .iplt to powerpc linker scripts.
Dec 14 2019, 11:53 PM · PowerPC

Dec 13 2019

bdragon added inline comments to D22789: [PowerPC] powerpc64 rtld IFUNC handling code.
Dec 13 2019, 11:23 PM · PowerPC
bdragon added inline comments to D22789: [PowerPC] powerpc64 rtld IFUNC handling code.
Dec 13 2019, 10:54 PM · PowerPC
bdragon added inline comments to D22787: [PowerPC] Define powerpc IFUNC kernel/userspace ABI..
Dec 13 2019, 7:05 PM · PowerPC
bdragon added inline comments to D22787: [PowerPC] Define powerpc IFUNC kernel/userspace ABI..
Dec 13 2019, 6:57 PM · PowerPC
bdragon updated the summary of D22608: [PowerPC] Implement jump table processing (Secure-PLT only) in ppc32 in-kernel linker, allow MD code to participate in DYNAMIC parsing..
Dec 13 2019, 6:45 PM · PowerPC
bdragon retitled D22608: [PowerPC] Implement jump table processing (Secure-PLT only) in ppc32 in-kernel linker, allow MD code to participate in DYNAMIC parsing. from [PowerPC] Switch to Secure-PLT PIC modules, allow MD code to participate in DYNAMIC parsing. to [PowerPC] Implement jump table processing (Secure-PLT only) in ppc32 in-kernel linker, allow MD code to participate in DYNAMIC parsing..
Dec 13 2019, 6:44 PM · PowerPC
bdragon created D22798: [PowerPC] Flag day parts of D22608.
Dec 13 2019, 6:37 PM · PowerPC
bdragon updated the diff for D22608: [PowerPC] Implement jump table processing (Secure-PLT only) in ppc32 in-kernel linker, allow MD code to participate in DYNAMIC parsing..

Address review comments, separate the actual kmod changes so I can get the kernel linker bits in separately from the actual switch-to-PIC.

Dec 13 2019, 6:33 PM · PowerPC
bdragon added a comment to D22789: [PowerPC] powerpc64 rtld IFUNC handling code.

The reason I was sitting on this for so long is that I kept getting distracted with other things and never found the time to revisit this, and I was never quite happy with it.

Dec 13 2019, 5:57 PM · PowerPC
bdragon added inline comments to D22789: [PowerPC] powerpc64 rtld IFUNC handling code.
Dec 13 2019, 5:53 PM · PowerPC
bdragon created D22796: [PowerPC] Only move linker sets to .data on ELFv1.
Dec 13 2019, 4:31 PM · PowerPC

Dec 12 2019

bdragon added inline comments to D22789: [PowerPC] powerpc64 rtld IFUNC handling code.
Dec 12 2019, 11:50 PM · PowerPC
bdragon created D22789: [PowerPC] powerpc64 rtld IFUNC handling code.
Dec 12 2019, 11:37 PM · PowerPC
bdragon added inline comments to D22787: [PowerPC] Define powerpc IFUNC kernel/userspace ABI..
Dec 12 2019, 11:21 PM · PowerPC
bdragon created D22787: [PowerPC] Define powerpc IFUNC kernel/userspace ABI..
Dec 12 2019, 11:18 PM · PowerPC
bdragon added inline comments to D15369: strncpy optimization for PowerPC64.
Dec 12 2019, 6:39 PM · PowerPC
bdragon added a comment to D20378: [PowerPC64] LLVM as default toolchain for PowerPC and PowerPC64.

Needs reroll after rS355646.

Dec 12 2019, 6:23 PM · PowerPC
bdragon abandoned D19373: Silence irrelevant warning on 32 bit platforms..

Abandoning, after further thought, I'd really rather have it there so I know what the interface is capable of anyway.

Dec 12 2019, 6:06 PM
bdragon closed D19291: Since the compatibility code for FreeBSD < 11.2 was removed, we can unconditionally omit objcopy in base/binutils..

Closing, as this was independently addressed in D22607.

Dec 12 2019, 5:56 PM
bdragon added a comment to D15369: strncpy optimization for PowerPC64.

This depends on the ifunc support code landing first, of course.

Dec 12 2019, 5:47 PM · PowerPC
bdragon updated the diff for D22782: [PowerPC] Fix powerpc 32 bit build in mmu_oea64.c.

address comment

Dec 12 2019, 4:43 PM · PowerPC