Page MenuHomeFreeBSD

bdragon (Brandon Bergren)
Animal

Projects

User Details

User Since
Jun 6 2018, 11:31 PM (102 w, 5 d)

Recent Activity

Today

bdragon committed rS361493: [PowerPC] Ensure ppc32 cpu_switch routines set up Secure-PLT..
[PowerPC] Ensure ppc32 cpu_switch routines set up Secure-PLT.
Tue, May 26, 2:27 AM

Thu, May 21

bdragon committed rS361336: [PowerPC] Fix kernel boot on powerpc.
[PowerPC] Fix kernel boot on powerpc
Thu, May 21, 3:53 PM

Thu, May 14

bdragon committed rS361024: [PowerPC] Fix wrong instructions in _savegpr_X..
[PowerPC] Fix wrong instructions in _savegpr_X.
Thu, May 14, 4:00 AM

Tue, May 12

bdragon committed rS360948: [PowerPC64] Minor correctness fix in rstcode..
[PowerPC64] Minor correctness fix in rstcode.
Tue, May 12, 1:05 AM

Mon, May 11

bdragon added inline comments to D24812: [PowerPC] De-giant powermac_nvram, update documentation.
Mon, May 11, 9:01 PM · PowerPC
bdragon added inline comments to D24812: [PowerPC] De-giant powermac_nvram, update documentation.
Mon, May 11, 9:00 PM · PowerPC
bdragon requested review of D24812: [PowerPC] De-giant powermac_nvram, update documentation.
Mon, May 11, 8:55 PM · PowerPC
bdragon added inline comments to D19516: powerpc64: Implement Radix MMU for POWER9 CPUs.
Mon, May 11, 1:51 AM

Thu, May 7

bdragon committed rS360794: [PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities..
[PowerPC] kernel ifunc support for powerpc*, fix ppc64 relocation oddities.
Thu, May 7, 7:33 PM
bdragon closed D23156: [PowerPC] IFUNC kernel support, fix relocatable kernel oddities for ppc64.
Thu, May 7, 7:33 PM · PowerPC
bdragon committed rS360788: [PowerPC] Fix powerpcspe build failure after r360569.
[PowerPC] Fix powerpcspe build failure after r360569
Thu, May 7, 5:58 PM

Wed, May 6

bdragon added a comment to D23731: powerpc: Add a CPU-custom machine check handler.

Might as well merge the spr.h changes anyway, independent of the rest of this patch.

Wed, May 6, 3:48 PM

Sat, May 2

bdragon added a comment to D24661: [PowerPC] Fix scc z8530 driver.

in rS157351 / rS160689 the macio attachment was added, but it didn't account for the incorrect value for CHAN_A, so this driver has always been broken on macs it seems.

Sat, May 2, 1:54 AM · PowerPC
bdragon requested review of D24661: [PowerPC] Fix scc z8530 driver.
Sat, May 2, 1:45 AM · PowerPC

Fri, May 1

bdragon committed rS360537: [PowerPC] Set fixed boot1.elf load address.
[PowerPC] Set fixed boot1.elf load address
Fri, May 1, 4:56 PM
bdragon committed rS360536: Remove sparc relocation support from reloc_elf.c..
Remove sparc relocation support from reloc_elf.c.
Fri, May 1, 4:48 PM

Apr 10 2020

bdragon accepted D24248: powerpc/booke: Use power-of-two mappings in 64-bit pmap_mapdev.

Works for me on RB800 and X5000.

Apr 10 2020, 9:37 PM
bdragon accepted D24238: powerpc/booke: Add pte_find_next() to find the next in-use PTE.

Works on X5000 and RB800.

Apr 10 2020, 9:32 PM
bdragon accepted D24220: powerpc/booke: Change Book-E 64-bit pmap to 4-level table.

Works on X5000, does not break on RB800.

Apr 10 2020, 9:30 PM

Apr 4 2020

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

OK, I retested again and I can no longer reproduce the crashes I was having.

Apr 4 2020, 7:53 PM

Mar 27 2020

bdragon added a comment to D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..

Currently testing a fix.

Mar 27 2020, 6:38 PM · PowerPC
bdragon committed rS359373: [PowerPC] Fix LIB32WMAKEFLAGS definition.
[PowerPC] Fix LIB32WMAKEFLAGS definition
Mar 27 2020, 6:20 PM
bdragon committed rS359349: Now that there are no remaining users of ld.bfd, remove the ld subdir..
Now that there are no remaining users of ld.bfd, remove the ld subdir.
Mar 27 2020, 1:12 AM
bdragon committed rD54015: Document 1300086..
Document 1300086.
Mar 27 2020, 1:05 AM
bdragon committed rS359348: Bump for powerpc/powerpcspe switch to lld..
Bump for powerpc/powerpcspe switch to lld.
Mar 27 2020, 1:04 AM
bdragon committed rS359347: [PowerPC] Switch powerpc and powerpcspe to lld.
[PowerPC] Switch powerpc and powerpcspe to lld
Mar 27 2020, 1:00 AM
bdragon closed D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..
Mar 27 2020, 1:00 AM · PowerPC
bdragon added inline comments to D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..
Mar 27 2020, 12:52 AM · PowerPC
bdragon updated the diff for D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..

Reroll against latest, still tweaking things.

Mar 27 2020, 12:26 AM · PowerPC

Mar 26 2020

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

I don't have good data on it yet, just giving a heads up that I'm hitting crashes again. Clang crashes on exit, which is very reminicient of past memory corruption issues here. I don't currently have a rust to test with on ppc32 to check that.

Mar 26 2020, 9:29 PM
bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

OK, with a pure lld10 ppc32 build, this is apparently causing crashes in threaded programs again. I'm not sure what changed.

Mar 26 2020, 8:51 PM
bdragon added a comment to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

Might be possibly getting crashes on this again with clang10. Still investigating.

Mar 26 2020, 7:38 PM
bdragon accepted D24188: Simplify taskqgroup inititialization..

Confirmed on powerpc64 as well. With this patch, I can now netboot off of an iflib card, without it, I hit the assertion.

Mar 26 2020, 12:34 AM

Mar 18 2020

bdragon added inline comments to D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..
Mar 18 2020, 11:19 PM · PowerPC
bdragon updated the diff for D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..

Addressing comments. Working on further cleaning up.

Mar 18 2020, 11:15 PM · PowerPC
bdragon created D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..
Mar 18 2020, 3:53 AM · PowerPC
bdragon accepted D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..

I've now been running this for over a month on powerpcspe, powerpc, and powerpc64, with no additional issues.

Mar 18 2020, 3:47 AM
bdragon created D24110: [LLVM][PPC32] Backport LLVM D75419.
Mar 18 2020, 3:37 AM · PowerPC
bdragon created D24109: [LLVM][PPC32] Backport LLVM D75394.
Mar 18 2020, 3:31 AM · PowerPC
bdragon added a comment to D23156: [PowerPC] IFUNC kernel support, fix relocatable kernel oddities for ppc64.

Updating comments.

Mar 18 2020, 3:17 AM · PowerPC
bdragon updated the diff for D23156: [PowerPC] IFUNC kernel support, fix relocatable kernel oddities for ppc64.
  • Extend ifunc support to ppc32 (requires the ppc32 lld10 patchset, will post them for review shortly)
Mar 18 2020, 3:13 AM · PowerPC
bdragon committed rS359062: [PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic()..
[PowerPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic().
Mar 18 2020, 2:58 AM
bdragon closed D24105: [PPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic.
Mar 18 2020, 2:58 AM · PowerPC

Mar 17 2020

bdragon accepted D23753: powerpc: Axe PPC4xx support..

This has been in my tree for nearly a month now with no ill effects, I say go for it.

Mar 17 2020, 10:19 PM
bdragon created D24105: [PPC][Book-E] Fix missing load base in elf_cpu_parse_dynamic.
Mar 17 2020, 10:10 PM · PowerPC

Mar 11 2020

bdragon committed rS358902: Fix r358688 -- Remember to actually save r3 before processing..
Fix r358688 -- Remember to actually save r3 before processing.
Mar 11 2020, 11:34 PM

Mar 9 2020

bdragon added inline comments to D23983: powerpc/booke: Split out 32- and 64- bit pmap details from main body.
Mar 9 2020, 6:37 PM
bdragon accepted D23983: powerpc/booke: Split out 32- and 64- bit pmap details from main body.

Compiles and boots on RB800 and X5000, and is a lot easier to reason about than the combined version.

Mar 9 2020, 6:36 PM
bdragon added a comment to D23983: powerpc/booke: Split out 32- and 64- bit pmap details from main body.

I definitely approve conceptually.

Mar 9 2020, 4:14 PM

Mar 4 2020

bdragon accepted D23958: [PowerPC64] restrict memcpy/bcopy optimization to POWER ISA >=V2.07.

Looks fine to me as well.

Mar 4 2020, 6:25 PM · PowerPC
bdragon added inline comments to D23958: [PowerPC64] restrict memcpy/bcopy optimization to POWER ISA >=V2.07.
Mar 4 2020, 5:54 PM · PowerPC

Feb 25 2020

bdragon added inline comments to D23828: powerpc/powermac: Constrain 'cpu_sleep()' for AIM to mpc745x.
Feb 25 2020, 11:07 PM
bdragon committed rS358322: [PowerPC] [Book-E] Remove obsolete interrupt binding workaround.
[PowerPC] [Book-E] Remove obsolete interrupt binding workaround
Feb 25 2020, 10:03 PM
bdragon closed D23829: [PowerPC] [Book-E] Remove obsolete interrupt binding workaround.
Feb 25 2020, 10:03 PM · PowerPC
bdragon created D23829: [PowerPC] [Book-E] Remove obsolete interrupt binding workaround.
Feb 25 2020, 5:26 AM · PowerPC
bdragon committed rS358307: [PowerPC] [Book-E] Fix dpaa interrupt binding..
[PowerPC] [Book-E] Fix dpaa interrupt binding.
Feb 25 2020, 3:36 AM
bdragon closed D23826: [PowerPC] [Book-E] Fix dpaa interrupt binding..
Feb 25 2020, 3:36 AM · PowerPC
bdragon added a comment to D23826: [PowerPC] [Book-E] Fix dpaa interrupt binding..

Only as far as "I'm netbooting, if there were something wrong with it I would have expected it to have crashed or hung at some point."

Feb 25 2020, 12:51 AM · PowerPC
bdragon committed rS358304: [PowerPC] Fix LLD10 linking of ofw loader on ppc.
[PowerPC] Fix LLD10 linking of ofw loader on ppc
Feb 25 2020, 12:45 AM
bdragon closed D23778: [PowerPC] Fix LLD10 linking of ofw loader on ppc.
Feb 25 2020, 12:45 AM · PowerPC

Feb 24 2020

bdragon created D23826: [PowerPC] [Book-E] Fix dpaa interrupt binding..
Feb 24 2020, 11:47 PM · PowerPC

Feb 23 2020

bdragon added inline comments to D23809: [PowerPC] Fix sensor attachment on PowerBook5,3.
Feb 23 2020, 7:26 PM · PowerPC
bdragon created D23809: [PowerPC] Fix sensor attachment on PowerBook5,3.
Feb 23 2020, 7:22 PM · PowerPC
bdragon updated the summary of D23778: [PowerPC] Fix LLD10 linking of ofw loader on ppc.
Feb 23 2020, 8:02 AM · PowerPC
bdragon added a comment to D23778: [PowerPC] Fix LLD10 linking of ofw loader on ppc.

Without this change, lld10 will create a binary with *several* PT_LOAD sections, which ofw does not understand.

Feb 23 2020, 8:00 AM · PowerPC

Feb 21 2020

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

Feb 19 2020

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

Boots OK on my RB800.

Feb 19 2020, 9:05 PM

Feb 17 2020

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

Feb 12 2020

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)

Feb 12 2020, 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?

Feb 12 2020, 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.

Feb 12 2020, 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)

Feb 12 2020, 10:33 PM

Feb 11 2020

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.

Feb 11 2020, 1:02 AM

Feb 10 2020

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.

Feb 10 2020, 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.

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

It did not.

Feb 10 2020, 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.

Feb 10 2020, 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.

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

Feb 7 2020

bdragon added inline comments to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..
Feb 7 2020, 7:50 PM
bdragon added inline comments to D21163: Make p_vaddr % p_align == p_offset % p_align for TLS segments..
Feb 7 2020, 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.

Feb 7 2020, 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.

Feb 7 2020, 6:17 PM

Feb 5 2020

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

Feb 4 2020

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

Fix typos.

Feb 4 2020, 7:58 PM · PowerPC
bdragon added inline comments to D23497: [PowerPC] Fix VSX context handling.
Feb 4 2020, 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.

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

Feb 2 2020

bdragon committed rS357418: [PowerPC] Fix feholdexcept() on powerpc referencing the wrong struct member.
[PowerPC] Fix feholdexcept() on powerpc referencing the wrong struct member
Feb 2 2020, 7:17 PM
bdragon closed D23382: Fix feholdexcept() on powerpc referencing the wrong struct member.
Feb 2 2020, 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.

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

This is working nicely for me.

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

Jan 30 2020

bdragon added inline comments to D23401: Make access to VirtIO configuration with proper endianness on big endian platforms.
Jan 30 2020, 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.

Jan 30 2020, 4:49 PM · PowerPC

Jan 29 2020

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.

Jan 29 2020, 3:24 AM

Jan 28 2020

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.

Jan 28 2020, 11:08 PM