Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Wed, Jul 15

andrew requested review of D58257: arm64: Clean up cache handling.
Wed, Jul 15, 2:37 PM

Tue, Jul 14

andrew committed rGf1e8b0ff4e13: bsd.cpu.mk: Add a workaround for erratum 843419 (authored by andrew).
bsd.cpu.mk: Add a workaround for erratum 843419
Tue, Jul 14, 3:49 PM
andrew closed D58212: bsd.cpu.mk: Add a workaround for erratum 843419.
Tue, Jul 14, 3:49 PM
andrew added a comment to D58212: bsd.cpu.mk: Add a workaround for erratum 843419.
In D58212#1335515, @bz wrote:

I think the only thing I'd love to see is to tell users in the commit message how to apply this as it seems this needs to be done manually.

The fixup is applied automatically if your CPUTYPE is set to 'generic', 'armv8-a', 'cortex-a53' or if it is left empty.

Tue, Jul 14, 11:29 AM

Mon, Jul 13

andrew committed rG237c69a9906e: acpi_einj: Add acpi_if.h to SRCS (authored by andrew).
acpi_einj: Add acpi_if.h to SRCS
Mon, Jul 13, 3:01 PM
andrew added a comment to D58205: acpi: add a driver for ACPI CPPC.

How does this compare with D55474?

Mon, Jul 13, 2:59 PM
andrew requested review of D58212: bsd.cpu.mk: Add a workaround for erratum 843419.
Mon, Jul 13, 10:55 AM

Thu, Jul 9

andrew added a comment to D58105: busdma, arm64: implement support for bus view of DMA address space.

For the IOMMU we use a separate busdma implementation. It looks like the dma-ranges property on an iommu is to translate between the translated iommu address and a cpu physical address. Because of this I don't think it's a problem there as devices behind an iommu will use a virtual address, so can allocate addresses as needed.

Thu, Jul 9, 5:32 PM

Wed, Jul 8

andrew added a comment to D58105: busdma, arm64: implement support for bus view of DMA address space.

How will this work with the tags boundary, lowaddr and highaddr? We allocate memory assuming these are CPU physical addresses, but they should be bus addresses.

Wed, Jul 8, 1:02 PM
andrew accepted D58107: simplebus: add support for reading 'dma-ranges' property.
Wed, Jul 8, 12:53 PM

Mon, Jul 6

andrew committed rG35164034e390: arm64/vmm: Make remaining registers use hypctx_*_sys_reg (authored by kajetan.puchalski_arm.com).
arm64/vmm: Make remaining registers use hypctx_*_sys_reg
Mon, Jul 6, 3:26 PM
andrew committed rGee2642678a2c: arm64/vmm: Move host-side EL2 regs into sys_regs (authored by kajetan.puchalski_arm.com).
arm64/vmm: Move host-side EL2 regs into sys_regs
Mon, Jul 6, 3:26 PM
andrew committed rGf4c3458ab3ce: arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx (authored by kajetan.puchalski_arm.com).
arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx
Mon, Jul 6, 3:26 PM
andrew committed rGe3cd6d104783: arm64/vmm: Refactor vmm_hyp.c (authored by kajetan.puchalski_arm.com).
arm64/vmm: Refactor vmm_hyp.c
Mon, Jul 6, 3:26 PM
andrew committed rGdd08cb0c8d6e: arm64/vmm: Use the VNCR_EL2 memory page to store guest registers (authored by kajetan.puchalski_arm.com).
arm64/vmm: Use the VNCR_EL2 memory page to store guest registers
Mon, Jul 6, 3:25 PM
andrew committed rGd2e3e76ab902: arm64/vmm: Store non-VNCR registers in an array (authored by kajetan.puchalski_arm.com).
arm64/vmm: Store non-VNCR registers in an array
Mon, Jul 6, 3:25 PM
andrew committed rG5c7315317f5f: arm64/vmm: Add FEAT_NV2 definitions (authored by kajetan.puchalski_arm.com).
arm64/vmm: Add FEAT_NV2 definitions
Mon, Jul 6, 3:25 PM
andrew closed D56556: arm64/vmm: Make remaining registers use hypctx_*_sys_reg.
Mon, Jul 6, 3:25 PM
andrew closed D56555: arm64/vmm: Move host-side EL2 regs into sys_regs.
Mon, Jul 6, 3:25 PM
andrew closed D56554: arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx.
Mon, Jul 6, 3:25 PM
andrew closed D56553: arm64/vmm: Refactor vmm_hyp.c.
Mon, Jul 6, 3:25 PM
andrew closed D56551: arm64/vmm: Use the VNCR_EL2 memory page to store guest registers.
Mon, Jul 6, 3:25 PM
andrew closed D56552: arm64/vmm: Store non-VNCR registers in an array.
Mon, Jul 6, 3:25 PM
andrew closed D56550: arm64/vmm: Add FEAT_NV2 definitions.
Mon, Jul 6, 3:25 PM

Fri, Jul 3

andrew accepted D56556: arm64/vmm: Make remaining registers use hypctx_*_sys_reg.
Fri, Jul 3, 2:11 PM

Wed, Jul 1

andrew added inline comments to D56556: arm64/vmm: Make remaining registers use hypctx_*_sys_reg.
Wed, Jul 1, 10:57 AM
andrew accepted D56555: arm64/vmm: Move host-side EL2 regs into sys_regs.
Wed, Jul 1, 10:51 AM
andrew updated the diff for D55956: arm64: Add PROT_MTE to mmap.
  • Stop cleaning tags in pmap_enter after D57990
  • Set the VM_MEMATTR_TAGGED attribute in more pmap functions
  • Make PROT_MTE visible on all architectures
  • Add VM_PROT_MTE
  • Disallow chaning PROT_MTE in mprotect
  • Also check if max_prot has PROT_MTE for non-anon mapping in mmap
Wed, Jul 1, 10:24 AM
andrew updated the diff for D55957: vm: Support swapping arm64 MTE tags.
  • Fix an inline asm constraint
  • Use mte_enabled to decide to allocate the MTE swap zone
  • Call swblk_lookup with the object lock
  • Rebase to use PV_MTE_CLEAN & atomically check the flag
Wed, Jul 1, 10:16 AM
andrew added a reviewer for D57991: linuxkpi: Move LINUXKPI_PROT_VALID higher: linuxkpi.
Wed, Jul 1, 10:11 AM
andrew requested review of D57992: arm64: Add mte_enabled to see if MTE is enabled.
Wed, Jul 1, 10:10 AM
andrew requested review of D57991: linuxkpi: Move LINUXKPI_PROT_VALID higher.
Wed, Jul 1, 10:10 AM
andrew requested review of D57990: amr64: Switch from PV_MTE_TAGGED to PV_MTE_CLEAN.
Wed, Jul 1, 10:10 AM

Tue, Jun 30

andrew accepted D56554: arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx.
Tue, Jun 30, 3:02 PM
andrew accepted D56553: arm64/vmm: Refactor vmm_hyp.c.
Tue, Jun 30, 3:01 PM
andrew accepted D56552: arm64/vmm: Store non-VNCR registers in an array.
Tue, Jun 30, 2:53 PM

Wed, Jun 24

andrew added inline comments to D56552: arm64/vmm: Store non-VNCR registers in an array.
Wed, Jun 24, 3:46 PM

Tue, Jun 23

andrew added inline comments to D56552: arm64/vmm: Store non-VNCR registers in an array.
Tue, Jun 23, 10:54 AM

Jun 18 2026

andrew committed rGea130fa32099: virtio_net: Use bus_dma for command/ack buffers (authored by sarah.walker2_arm.com).
virtio_net: Use bus_dma for command/ack buffers
Jun 18 2026, 4:06 PM
andrew committed rG8fdaa1b16367: busdma_bounce: Allocate bounce buffers as unprotected (authored by sarah.walker2_arm.com).
busdma_bounce: Allocate bounce buffers as unprotected
Jun 18 2026, 4:06 PM
andrew committed rG8193fa3b8e1a: virtio_net: Use bus_dma for rxq/txq buffers (authored by sarah.walker2_arm.com).
virtio_net: Use bus_dma for rxq/txq buffers
Jun 18 2026, 4:06 PM
andrew closed D55492: virtio_net: Use bus_dma for rxq/txq buffers.
Jun 18 2026, 4:05 PM · network
andrew closed D56519: busdma_bounce: Allocate bounce buffers as unprotected.
Jun 18 2026, 4:05 PM
andrew accepted D55492: virtio_net: Use bus_dma for rxq/txq buffers.
Jun 18 2026, 3:51 PM · network
andrew committed rG06d64ee0ecc2: arm64: Add an initial GICv5 ITS driver (authored by andrew).
arm64: Add an initial GICv5 ITS driver
Jun 18 2026, 2:58 PM
andrew committed rGcbef29bde7ce: arm64: Add an initial GICv5 IWB driver (authored by andrew).
arm64: Add an initial GICv5 IWB driver
Jun 18 2026, 2:58 PM
andrew committed rGc84261da6f6c: arm64: Add an initial GICv5 driver (authored by andrew).
arm64: Add an initial GICv5 driver
Jun 18 2026, 2:58 PM
andrew committed rGcd94485281f3: arm64: Add FEAT_ALWAYS_ENABLE to cpu_feat (authored by andrew).
arm64: Add FEAT_ALWAYS_ENABLE to cpu_feat
Jun 18 2026, 2:58 PM
andrew closed D54251: arm64: Add an initial GICv5 ITS driver.
Jun 18 2026, 2:58 PM
andrew committed rGa9e12d3ec8bd: arm64: Support building sys/sysl instructions (authored by andrew).
arm64: Support building sys/sysl instructions
Jun 18 2026, 2:58 PM
andrew closed D54252: arm64: Add an initial GICv5 IWB driver.
Jun 18 2026, 2:58 PM
andrew closed D54250: arm64: Add an initial GICv5 driver.
Jun 18 2026, 2:58 PM
andrew closed D54249: arm64: Add FEAT_ALWAYS_ENABLE to cpu_feat.
Jun 18 2026, 2:57 PM
andrew closed D57017: arm64: Support building sys/sysl instructions.
Jun 18 2026, 2:57 PM

Jun 8 2026

andrew added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jun 8 2026, 10:55 AM
andrew added inline comments to D55956: arm64: Add PROT_MTE to mmap.
Jun 8 2026, 10:49 AM
andrew added reviewers for D55956: arm64: Add PROT_MTE to mmap: kib, markj, brooks.
Jun 8 2026, 10:12 AM
andrew updated the diff for D55956: arm64: Add PROT_MTE to mmap.

Only allow PROT_MTE with MAP_ANON

Jun 8 2026, 10:11 AM
andrew updated the diff for D55957: vm: Support swapping arm64 MTE tags.

Rebase & use a pointer in mte_{load,save}_tags

Jun 8 2026, 10:08 AM
andrew added a comment to D55957: vm: Support swapping arm64 MTE tags.

In CheriBSD we have a somewhat different mechanism where we embed the tags in struct swblk due to a hesitance to add more allocation to the swap path. That's not great for memory usage since it's quite a lot of space and it should be fairly compressible in most cases. I'd expect MTE to be before more compressible given it's often going to be runs of the same value. I think we could adapt this code to add CHERI tags, likely in parallel, though maybe with a shared scan loop.

Jun 8 2026, 9:53 AM

Jun 5 2026

andrew committed rG0b862a795a35: arm64: Expose ESR in mcontext (authored by Alex Arslan <ararslan@comcast.net>).
arm64: Expose ESR in mcontext
Jun 5 2026, 4:16 PM
andrew committed rG5cc3fa098856: arm64: Add exception flag for ksiginfo_t and set in trapsignal (authored by Alex Arslan <ararslan@comcast.net>).
arm64: Add exception flag for ksiginfo_t and set in trapsignal
Jun 5 2026, 4:16 PM

Jun 4 2026

andrew added inline comments to D56556: arm64/vmm: Make remaining registers use hypctx_*_sys_reg.
Jun 4 2026, 2:53 PM
andrew added a comment to D56555: arm64/vmm: Move host-side EL2 regs into sys_regs.

I looks like some lines might be wider than 80 characters

Jun 4 2026, 2:48 PM
andrew accepted D56554: arm64/vmm: Move vttbr_el2 & vtimer into struct hypctx.
Jun 4 2026, 2:46 PM
andrew accepted D56553: arm64/vmm: Refactor vmm_hyp.c.
Jun 4 2026, 2:45 PM
andrew added inline comments to D56552: arm64/vmm: Store non-VNCR registers in an array.
Jun 4 2026, 2:34 PM

Jun 3 2026

andrew accepted D56551: arm64/vmm: Use the VNCR_EL2 memory page to store guest registers.
Jun 3 2026, 1:32 PM
andrew accepted D56896: pci: pci_host_generic: provide cleanup methods outside of detach.
Jun 3 2026, 10:44 AM
andrew accepted D56897: pci: bcm2838: cleanup on attach failure to fix devmatch panic.
Jun 3 2026, 10:44 AM
andrew accepted D56895: kern: ofw: provide ofw_bus_destroy_iinfo to teardown interrupt-map.
Jun 3 2026, 10:40 AM

May 29 2026

andrew committed rGf6911b941f14: sys: Renumber MTE SEGV codes (authored by andrew).
sys: Renumber MTE SEGV codes
May 29 2026, 4:07 PM
andrew added a reviewer for D55957: vm: Support swapping arm64 MTE tags: cheri.

Is this something cheri could use too?

May 29 2026, 1:49 PM

May 27 2026

andrew committed rG7bb6b62394d3: arm64: mte: copy/save tags on copy-on-write (authored by harry.moulton_arm.com).
arm64: mte: copy/save tags on copy-on-write
May 27 2026, 3:25 PM
andrew committed rGbb9497a2d462: arm64: Add vm_page_t MTE flags (authored by harry.moulton_arm.com).
arm64: Add vm_page_t MTE flags
May 27 2026, 3:25 PM
andrew closed D55953: arm64: Add support for per-page flags.
May 27 2026, 3:25 PM
andrew committed rGd63a62fb3504: arm64: Add support for per-page flags (authored by andrew).
arm64: Add support for per-page flags
May 27 2026, 3:25 PM
andrew committed rG5a6ae4230b04: arm64: Manage the MTE state like pointer auth (authored by andrew).
arm64: Manage the MTE state like pointer auth
May 27 2026, 3:25 PM
andrew closed D55955: arm64: mte: copy/save tags on copy-on-write.
May 27 2026, 3:24 PM
andrew committed rG5cb511e62763: arm64: Check for MTE tag failures on kernel entry (authored by andrew).
arm64: Check for MTE tag failures on kernel entry
May 27 2026, 3:24 PM
andrew closed D55954: arm64: Add vm_page_t MTE flags.
May 27 2026, 3:24 PM
andrew committed rGa780d21eab97: arm64: Support changing the DMAP memory type (authored by andrew).
arm64: Support changing the DMAP memory type
May 27 2026, 3:24 PM
andrew closed D55951: arm64: Manage the MTE state like pointer auth.
May 27 2026, 3:24 PM
andrew committed rG48da01ad0b16: arm64: Add a comment about HWCAP values (authored by andrew).
arm64: Add a comment about HWCAP values
May 27 2026, 3:24 PM
andrew closed D55952: arm64: Check for MTE tag failures on kernel entry.
May 27 2026, 3:24 PM
andrew closed D55949: arm64: Support changing the DMAP memory type.
May 27 2026, 3:24 PM

May 18 2026

andrew added inline comments to D56556: arm64/vmm: Make remaining registers use hypctx_*_sys_reg.
May 18 2026, 1:47 PM
andrew added inline comments to D56553: arm64/vmm: Refactor vmm_hyp.c.
May 18 2026, 1:30 PM
andrew added a comment to D56552: arm64/vmm: Store non-VNCR registers in an array.

It looks like a few lines passed 80 characters so will need to be split.

May 18 2026, 1:05 PM
andrew added a comment to D56551: arm64/vmm: Use the VNCR_EL2 memory page to store guest registers.

We should name __hypctx_vncr_sysreg to __hypctx_vncr_sysreg_64 or similar to indicate it supports 64-bit registers (and the other accessors). CHERI could add a version to indicate it handles capabiliries (or it handles pointer-like registers).

May 18 2026, 1:01 PM

May 15 2026

andrew updated the diff for D54250: arm64: Add an initial GICv5 driver.

Use D57017 to build the instructions

May 15 2026, 2:31 PM
andrew requested review of D57017: arm64: Support building sys/sysl instructions.
May 15 2026, 2:30 PM

May 14 2026

andrew updated the diff for D54252: arm64: Add an initial GICv5 IWB driver.
  • Remove the unneeded bind handler
  • Cleanup better on attach failure
May 14 2026, 4:51 PM
andrew updated the diff for D54251: arm64: Add an initial GICv5 ITS driver.
  • Clean up table size/alignment handling
  • Read the table PA range from the register
  • Support 2 level device tables
  • Support a non-coherent ITS
  • Cleanup better on attach failure
  • Implement more functions
May 14 2026, 4:51 PM
andrew updated the diff for D54250: arm64: Add an initial GICv5 driver.
  • Clean up table size/alignment handling
  • Read the table PA range from the register
  • Handle IPIs without having to change common code
May 14 2026, 4:51 PM
andrew committed rGb8606c3406ea: arm64: Fix the includes for rsi.c (authored by andrew).
arm64: Fix the includes for rsi.c
May 14 2026, 9:48 AM

May 12 2026

andrew committed rGa6add87b5e17: arm64: Load SOCDEV_PA as a literal rather than an immediate (authored by sarah.walker2_arm.com).
arm64: Load SOCDEV_PA as a literal rather than an immediate
May 12 2026, 4:56 PM
andrew committed rG76a2904c352b: arm64: Add RSI detection for CCA (authored by sarah.walker2_arm.com).
arm64: Add RSI detection for CCA
May 12 2026, 4:56 PM
andrew committed rG56abdbc5f709: arm64: VM/PMAP changes for CCA guest support (authored by sarah.walker2_arm.com).
arm64: VM/PMAP changes for CCA guest support
May 12 2026, 4:56 PM
andrew committed rGf9ba99eaa24f: physmem: Add a way to read all memory (authored by sarah.walker2_arm.com).
physmem: Add a way to read all memory
May 12 2026, 4:56 PM