Page MenuHomeFreeBSD

Changed order of arm64 events such that TSLOG-enabled kernels are able to boot
ClosedPublic

Authored by iciliaat_gmail.com on Mar 12 2024, 12:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Oct 26, 2:43 AM
Unknown Object (File)
Fri, Oct 11, 1:23 AM
Unknown Object (File)
Oct 3 2024, 4:47 AM
Unknown Object (File)
Sep 27 2024, 2:21 PM
Unknown Object (File)
Sep 27 2024, 2:21 PM
Unknown Object (File)
Sep 27 2024, 2:21 PM
Unknown Object (File)
Sep 27 2024, 12:48 PM
Unknown Object (File)
Sep 27 2024, 1:08 AM

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 56618
Build 53506: arc lint + arc unit

Event Timeline

Isaac: Thanks for uploading this. The patch looks good aside from the extra line, but the commit message needs work to conform with FreeBSD norms -- we can work on that over email.

Andrew / Emmanuel: This is something we tripped over when Isaac got started with profiling the FreeBSD boot using TSLOG on arm64. I think it's safe since the instructions it moves are very simple and don't look like they depend on any of the bits they moved ahead of, but I wanted to get some arm64 eyes on this before it goes into the tree. (The problem this fixes was introduced by me adding profiling to the linker in link_elf_ireloc.)

sys/arm64/arm64/machdep.c
938

Looks like you accidentally added an extra blank line here.

(The problem this fixes was introduced by me adding profiling to the linker in link_elf_ireloc.)

I'll note that amd64 initialises pcpu after link_elf_ireloc too, so things should really be consistent between the two, whether that's removing the added profiling or adding it to amd64 and hoisting the pcpu there. Otherwise it's harder to reason about where you can and can't use PCPU_*...

(The problem this fixes was introduced by me adding profiling to the linker in link_elf_ireloc.)

I'll note that amd64 initialises pcpu after link_elf_ireloc too, so things should really be consistent between the two, whether that's removing the added profiling or adding it to amd64 and hoisting the pcpu there. Otherwise it's harder to reason about where you can and can't use PCPU_*...

Huh, weird. The profiling in link_elf_ireloc works on amd64, so I guess something is pointing PCPU_* at somewhere readable on amd64 even before it's actually set up fully.

Updated commit to remove extra blank line, and improved commit message.

iciliaat_gmail.com marked an inline comment as done.

Updated commit message

Removed "Subscribers" list, and changed "Reviewers" to "Reviewed by"

This revision was not accepted when it landed; it landed in state Needs Review.Mar 19 2024, 10:17 PM
This revision was automatically updated to reflect the committed changes.