Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

User Since
May 10 2014, 2:21 PM (594 w, 2 d)

Recent Activity

Yesterday

andrew accepted D51621: kexec: Introduce basic arm64 support.
Mon, Sep 29, 1:03 PM
andrew added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.
In D52744#1205716, @alc wrote:

Note that the llsc instructions have some subtly when implementing fully sequentially consistent semantics. As the acquire and release are on different instructions this means memory operations may move into the sequence & be swapped. As we don't implement them in atomic(9) this shouldn't be an issue, however will be if we latter add them.

I vaguely recall Linux having an issue with the aforementioned behavior about 8-10 years ago in the implementation of a synchronization primitive.

Mon, Sep 29, 12:07 PM

Fri, Sep 26

andrew committed rGcee4802d0e2a: arm64: Mark EFI memory as userspace non-executable (authored by andrew).
arm64: Mark EFI memory as userspace non-executable
Fri, Sep 26, 3:13 PM
andrew committed rG2554148bd85b: arm64: Add table attributes to the EFI maps (authored by andrew).
arm64: Add table attributes to the EFI maps
Fri, Sep 26, 3:13 PM
andrew closed D52750: arm64: Mark EFI memory as userspace non-executable.
Fri, Sep 26, 3:13 PM
andrew closed D52751: arm64: Add table attributes to the EFI maps.
Fri, Sep 26, 3:13 PM
andrew added a comment to D52744: atomic.9: provide fine details about CAS memory model MD semantic.

On arm64 atomics with an acquire then later memory operations can move before the store, however the store needs to succeed as if it doesn't then we will execute the load-acquire again.

Fri, Sep 26, 2:28 PM
andrew requested review of D52751: arm64: Add table attributes to the EFI maps.
Fri, Sep 26, 11:46 AM
andrew requested review of D52750: arm64: Mark EFI memory as userspace non-executable.
Fri, Sep 26, 11:46 AM

Tue, Sep 23

andrew committed rGfbe076b2c837: arm64/vmm: Use FEAT_ECV_POFF to support a timer (authored by andrew).
arm64/vmm: Use FEAT_ECV_POFF to support a timer
Tue, Sep 23, 5:10 PM
andrew committed rGfe1d344bf416: sys/conf: Fix arm64 vmm_nvhe dependencies (authored by andrew).
sys/conf: Fix arm64 vmm_nvhe dependencies
Tue, Sep 23, 5:10 PM
andrew committed rG0efa0fe26b9d: arm: Use the Self-Synchronized counter registers (authored by andrew).
arm: Use the Self-Synchronized counter registers
Tue, Sep 23, 5:10 PM
andrew committed rGe38e04a0ba3f: arm64: Add more counter/timer registers (authored by andrew).
arm64: Add more counter/timer registers
Tue, Sep 23, 5:10 PM
andrew closed D51822: sys/conf: Fix arm64 vmm_nvhe dependencies.
Tue, Sep 23, 5:10 PM
andrew committed rGb3d30be6ed71: arm64/vmm: Remove support for reading CNTHCTL_EL2 (authored by andrew).
arm64/vmm: Remove support for reading CNTHCTL_EL2
Tue, Sep 23, 5:10 PM
andrew closed D51821: arm64/vmm: Use FEAT_ECV_POFF to support a timer.
Tue, Sep 23, 5:10 PM
andrew committed rGf38792ffc2db: arm64/vmm: Clean up enabling guest timer access (authored by andrew).
arm64/vmm: Clean up enabling guest timer access
Tue, Sep 23, 5:10 PM
andrew closed D51820: arm: Use the Self-Synchronized counter registers.
Tue, Sep 23, 5:10 PM
andrew committed rG0f455824d0ab: arm64/vmm: Add a feature flag and use it for HCRX (authored by andrew).
arm64/vmm: Add a feature flag and use it for HCRX
Tue, Sep 23, 5:10 PM
andrew closed D51819: arm64: Add more counter/timer registers.
Tue, Sep 23, 5:10 PM
andrew closed D51818: arm64/vmm: Remove support for reading CNTHCTL_EL2.
Tue, Sep 23, 5:10 PM
andrew closed D51817: arm64/vmm: Clean up enabling guest timer access.
Tue, Sep 23, 5:10 PM
andrew closed D51816: arm64/vmm: Add a feature flag and use it for HCRX.
Tue, Sep 23, 5:09 PM
andrew added a comment to D52681: mfc-candidates: Do not hardcode stable branch.

Won't that cause problems for stable/15 when stable/16 is branched?

Tue, Sep 23, 8:39 AM

Mon, Sep 22

andrew committed rG88489d90afa5: arm64: Fix enabling CPU features (authored by andrew).
arm64: Fix enabling CPU features
Mon, Sep 22, 3:24 PM
andrew committed rG3c25261ea29c: arm64: Read the CPU feature tunables once (authored by andrew).
arm64: Read the CPU feature tunables once
Mon, Sep 22, 3:24 PM
andrew committed rG20fee5aa5053: arm64: Add cpu_feat_disabled for disabled features (authored by andrew).
arm64: Add cpu_feat_disabled for disabled features
Mon, Sep 22, 3:24 PM
andrew committed rGe52a47446e50: arm64: Fix the FEAT_WFxT check (authored by andrew).
arm64: Fix the FEAT_WFxT check
Mon, Sep 22, 3:24 PM
andrew committed rG6492b6247826: arm64: Move the FEAT_PAN check later (authored by andrew).
arm64: Move the FEAT_PAN check later
Mon, Sep 22, 3:24 PM
andrew committed rGf408052d7bfb: arm64: Add the new C1 CPU IDs (authored by andrew).
arm64: Add the new C1 CPU IDs
Mon, Sep 22, 3:24 PM

Fri, Sep 19

andrew committed rG68b3d0cbe034: arm64: Enable EPAN and IESB (authored by andrew).
arm64: Enable EPAN and IESB
Fri, Sep 19, 10:37 AM
andrew closed D51013: arm64: Enable EPAN and IESB.
Fri, Sep 19, 10:37 AM
andrew committed rG0706d3464f4e: arm64: Set the endian without a memory access (authored by andrew).
arm64: Set the endian without a memory access
Fri, Sep 19, 10:37 AM
andrew committed rG5e690f1e12ce: arm64: Fix enabling CPU features (authored by andrew).
arm64: Fix enabling CPU features
Fri, Sep 19, 10:37 AM
andrew committed rG5e0e2565288f: arm64: Read the CPU feature tunables once (authored by andrew).
arm64: Read the CPU feature tunables once
Fri, Sep 19, 10:37 AM
andrew committed rG055229eda697: arm64: Add cpu_feat_disabled for disabled features (authored by andrew).
arm64: Add cpu_feat_disabled for disabled features
Fri, Sep 19, 10:37 AM
andrew closed D51012: arm64: Set the endian without a memory access.
Fri, Sep 19, 10:37 AM
andrew closed D52579: arm64: Fix enabling CPU features.
Fri, Sep 19, 10:37 AM
andrew closed D52578: arm64: Read the CPU feature tunables once.
Fri, Sep 19, 10:36 AM
andrew closed D52576: arm64: Move the FEAT_PAN check later.
Fri, Sep 19, 10:36 AM
andrew closed D52577: arm64: Add cpu_feat_disabled for disabled features.
Fri, Sep 19, 10:36 AM
andrew committed rG72828486ca94: arm64: Move the FEAT_PAN check later (authored by andrew).
arm64: Move the FEAT_PAN check later
Fri, Sep 19, 10:36 AM

Thu, Sep 18

andrew updated the diff for D51012: arm64: Set the endian without a memory access.

Rebase + update comments

Thu, Sep 18, 4:31 PM
andrew added a comment to D52576: arm64: Move the FEAT_PAN check later.

I'm just trying to keep things out of early boot if they don't need to be there.

Thu, Sep 18, 3:50 PM

Tue, Sep 16

andrew added a reviewer for D52579: arm64: Fix enabling CPU features: arm64.
Tue, Sep 16, 4:52 PM
andrew added a reviewer for D52578: arm64: Read the CPU feature tunables once: arm64.
Tue, Sep 16, 4:52 PM
andrew added a reviewer for D52577: arm64: Add cpu_feat_disabled for disabled features: arm64.
Tue, Sep 16, 4:52 PM
andrew added a reviewer for D52576: arm64: Move the FEAT_PAN check later: arm64.
Tue, Sep 16, 4:52 PM
andrew requested review of D52579: arm64: Fix enabling CPU features.
Tue, Sep 16, 4:51 PM
andrew requested review of D52578: arm64: Read the CPU feature tunables once.
Tue, Sep 16, 4:51 PM
andrew requested review of D52577: arm64: Add cpu_feat_disabled for disabled features.
Tue, Sep 16, 4:51 PM
andrew requested review of D52576: arm64: Move the FEAT_PAN check later.
Tue, Sep 16, 4:51 PM

Mon, Sep 15

andrew committed rG226375a1f6e3: arm64: Fix the FEAT_WFxT check (authored by andrew).
arm64: Fix the FEAT_WFxT check
Mon, Sep 15, 1:33 PM
andrew committed rG8fee6b9ecc84: arm64: Add the new C1 CPU IDs (authored by andrew).
arm64: Add the new C1 CPU IDs
Mon, Sep 15, 1:33 PM

Sat, Sep 13

andrew accepted D52472: aarch64: Save correct value of x18 on trapframe for nested faults.
Sat, Sep 13, 6:34 PM
andrew accepted D52514: aarch64: Clarify the initial adjustments to sp for kernel exception entry.
Sat, Sep 13, 6:34 PM

Fri, Sep 12

andrew accepted D52472: aarch64: Save correct value of x18 on trapframe for nested faults.

I'm not opposed to the current change, but think it would be less confusing if we pass a value that is more obvious it is negative to the stp instructions.

Fri, Sep 12, 4:13 PM

Wed, Sep 10

andrew added a comment to D52472: aarch64: Save correct value of x18 on trapframe for nested faults.

Are you receiving the exception within the exception entry asm? I can easily see functional issues if they happen before the stp on line 73, although it may not be until later to be fully safe.

Wed, Sep 10, 3:13 PM

Tue, Sep 9

andrew accepted D52401: Fix possible out of bound read in armv8_crc32c.
Tue, Sep 9, 1:55 PM

Mon, Sep 8

andrew requested review of D52422: arm64: Remove a kernel check form pmap.
Mon, Sep 8, 10:42 AM

Thu, Sep 4

andrew committed rGa884f699e4bf: arm64: Add a multiple TLBI workaround (authored by andrew).
arm64: Add a multiple TLBI workaround
Thu, Sep 4, 5:42 PM
andrew committed rGfa23bfb425d5: arm64: Replace cpu_tlb_flushID in initarm (authored by andrew).
arm64: Replace cpu_tlb_flushID in initarm
Thu, Sep 4, 5:42 PM
andrew committed rG8df4dc90952b: arm64: Create a TLBI invalidate for the kernel (authored by andrew).
arm64: Create a TLBI invalidate for the kernel
Thu, Sep 4, 5:42 PM
andrew closed D52190: arm64: Add a multiple TLBI workaround.
Thu, Sep 4, 5:42 PM
andrew closed D52184: arm64: Replace cpu_tlb_flushID in initarm.
Thu, Sep 4, 5:42 PM
andrew closed D52183: arm64: Create a TLBI invalidate for the kernel.
Thu, Sep 4, 5:42 PM
andrew committed rGf6d4c9c45a28: arm64: Remove CPU_MATCH_RAW (authored by andrew).
arm64: Remove CPU_MATCH_RAW
Thu, Sep 4, 5:12 PM
andrew closed D52191: arm64: Remove CPU_MATCH_RAW.
Thu, Sep 4, 5:12 PM
andrew committed rGefb1c4bac122: arm64: Update the Neoverse-N1 1542419 errata check (authored by andrew).
arm64: Update the Neoverse-N1 1542419 errata check
Thu, Sep 4, 4:48 PM
andrew committed rG1ae3694edb8b: arm64: Clean up HW DBM errata detection (authored by andrew).
arm64: Clean up HW DBM errata detection
Thu, Sep 4, 4:48 PM
andrew committed rGc76b0247a95e: arm64: Add a function to check a range of CPU revs (authored by andrew).
arm64: Add a function to check a range of CPU revs
Thu, Sep 4, 4:48 PM
andrew committed rG4bc68fa98f68: arm64: Support managing features from loader (authored by andrew).
arm64: Support managing features from loader
Thu, Sep 4, 4:48 PM
andrew closed D52188: arm64: Clean up HW DBM errata detection.
Thu, Sep 4, 4:48 PM
andrew closed D52189: arm64: Update the Neoverse-N1 1542419 errata check.
Thu, Sep 4, 4:48 PM
andrew committed rG9204a315a71c: arm64: Add a sysctl to see if features are enabled (authored by andrew).
arm64: Add a sysctl to see if features are enabled
Thu, Sep 4, 4:48 PM
andrew committed rGb3605a7bb6f8: arm64: Add a macro to create cpu_feat (authored by andrew).
arm64: Add a macro to create cpu_feat
Thu, Sep 4, 4:48 PM
andrew closed D52187: arm64: Add a function to check a range of CPU revs.
Thu, Sep 4, 4:48 PM
andrew closed D52358: arm64: Support managing features from loader.
Thu, Sep 4, 4:47 PM
andrew closed D52357: arm64: Add a sysctl to see if features are enabled.
Thu, Sep 4, 4:47 PM
andrew closed D52356: arm64: Add a macro to create cpu_feat.
Thu, Sep 4, 4:47 PM
andrew added inline comments to D52183: arm64: Create a TLBI invalidate for the kernel.
Thu, Sep 4, 4:10 PM
andrew added inline comments to D52357: arm64: Add a sysctl to see if features are enabled.
Thu, Sep 4, 3:38 PM
andrew committed rGb21629dfcaf0: arm64: Make the padding in struct ms_page explicit (authored by andrew).
arm64: Make the padding in struct ms_page explicit
Thu, Sep 4, 2:00 PM
andrew committed rG59ddbef26238: arm64: Add padding to struct mdproc (authored by andrew).
arm64: Add padding to struct mdproc
Thu, Sep 4, 2:00 PM

Wed, Sep 3

andrew added a comment to D52190: arm64: Add a multiple TLBI workaround.

I've added support to manage which features/errata are enabled at boot time & used this to disable this workaround by default, but let the user enable it if they are affected by it.

Wed, Sep 3, 12:27 PM
andrew updated the diff for D52190: arm64: Add a multiple TLBI workaround.
  • Fix a midr check
  • Rebase past D52358 so the workaround is disabled by default, but can be enabled
Wed, Sep 3, 12:25 PM
andrew requested review of D52358: arm64: Support managing features from loader.
Wed, Sep 3, 12:22 PM
andrew requested review of D52357: arm64: Add a sysctl to see if features are enabled.
Wed, Sep 3, 12:21 PM
andrew requested review of D52356: arm64: Add a macro to create cpu_feat.
Wed, Sep 3, 12:21 PM

Tue, Sep 2

andrew accepted D52342: arm64: enable bloating kernel with ext errors strings.

As an aside, I compared non-device-specific options in sys/amd64/conf/GENERIC and sys/arm64/conf/std.arm64. Aside from this BLOAT_KERNEL_WITH_EXTERR the following differences exist:

arm64 only

  • CC_CUBIC
Tue, Sep 2, 7:23 PM

Aug 28 2025

andrew added a comment to D52197: gpio: implement bus_setup_intr and bus_teardown_intr.

I expect we would need bus_activate_resource as it's called via bus_generic_rman_alloc_resource in gpiobus_alloc_resource.

Aug 28 2025, 1:13 PM
andrew added reviewers for D52190: arm64: Add a multiple TLBI workaround: kib, alc, markj.
Aug 28 2025, 9:38 AM
andrew added reviewers for D52188: arm64: Clean up HW DBM errata detection: kib, alc, markj.
Aug 28 2025, 9:38 AM
andrew added reviewers for D52186: arm64: Cleanup enabling the MMU: kib, alc, markj.
Aug 28 2025, 9:37 AM
andrew added reviewers for D52185: arm64: Remove cpu_tlb_flushID now it's unused: kib, alc, markj.
Aug 28 2025, 9:37 AM
andrew added reviewers for D52184: arm64: Replace cpu_tlb_flushID in initarm: kib, alc, markj.
Aug 28 2025, 9:37 AM
andrew added reviewers for D52183: arm64: Create a TLBI invalidate for the kernel: kib, alc, markj.
Aug 28 2025, 9:37 AM
andrew updated the diff for D52189: arm64: Update the Neoverse-N1 1542419 errata check.

Use the correct revision range

Aug 28 2025, 9:26 AM

Aug 27 2025

andrew added inline comments to D52187: arm64: Add a function to check a range of CPU revs.
Aug 27 2025, 6:02 PM
andrew requested review of D52191: arm64: Remove CPU_MATCH_RAW.
Aug 27 2025, 5:03 PM