Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Wed, Aug 14

andrew committed rS351034: MFC r350112, r350241, and r350242:.
MFC r350112, r350241, and r350242:
Wed, Aug 14, 5:02 PM
andrew committed rS351032: MFC r345510:.
MFC r345510:
Wed, Aug 14, 4:55 PM
andrew committed rS351031: MFC r339593:.
MFC r339593:
Wed, Aug 14, 4:45 PM
andrew committed rS351029: MFC r339592:.
MFC r339592:
Wed, Aug 14, 4:40 PM
andrew committed rS351027: Enable BSD_CRTBEGIN on powerpc.
Enable BSD_CRTBEGIN on powerpc
Wed, Aug 14, 2:31 PM

Tue, Aug 13

andrew added a comment to D21189: Driver for Broadcom PDC.

You can use __FreeBSD_version to toggle the non-xdma case. It looks like 1200020 is the first bump after xdma was added so you'd have:

#if __FreeBSD_version >= 1200020
/* XDMA code */
#else
/* Pre-XDMA code */
#endif
Tue, Aug 13, 1:24 PM

Fri, Aug 9

andrew added a comment to D19831: Add PT_GETREGSET.

Correct the man page, addr points at a struct iovec.

Fri, Aug 9, 12:16 PM
andrew added a comment to D19831: Add PT_GETREGSET.

Add COMPAT32 and update the man page

Fri, Aug 9, 12:02 PM

Thu, Aug 8

andrew added inline comments to D21184: First pass at a LINT for arm64..
Thu, Aug 8, 4:49 PM
andrew added a comment to D21189: Driver for Broadcom PDC.

Is there a reasion you're not using the xdma framework?

Thu, Aug 8, 4:42 PM

Wed, Aug 7

andrew accepted D21169: Handle concurrent pmap_kextract() and promotion/demotion on arm64.
Wed, Aug 7, 4:22 PM
D21169: Handle concurrent pmap_kextract() and promotion/demotion on arm64 is now accepted and ready to land.
Wed, Aug 7, 10:20 AM

Mon, Aug 5

andrew added a comment to D21149: Enable superpage promotion within the kernel pmap on arm64.

Hasn't this opened a raise between promotion/demotion and pmap_kextract? pmap_kextract walks the page table so may find a zero entry from the break-before-make sequence.

Mon, Aug 5, 8:59 AM

Fri, Aug 2

D21126: Fixes to page table page mapping is now accepted and ready to land.
Fri, Aug 2, 8:44 AM

Wed, Jul 31

D21121: Use ATTR_DBM for ATTR_SW_DBM instead of a software bit. is now accepted and ready to land.
Wed, Jul 31, 11:59 AM
andrew added a comment to D21121: Use ATTR_DBM for ATTR_SW_DBM instead of a software bit..
In D21121#458634, @alc wrote:

Do we have access to a machine with hardware DBM support?

Wed, Jul 31, 11:57 AM

Fri, Jul 26

andrew added inline comments to D21072: Remove support for kernel.tramp and kernel.tramp.gz.
Fri, Jul 26, 8:49 AM

Tue, Jul 23

andrew committed rS350242: As with r350241 use the new UL macro on the main register mask..
As with r350241 use the new UL macro on the main register mask.
Tue, Jul 23, 2:52 PM
andrew committed rS350241: Ensure the arm64 ID register fields are 64 bit types..
Ensure the arm64 ID register fields are 64 bit types.
Tue, Jul 23, 2:40 PM
andrew closed D20977: Ensure the ID register fields are 64 bit types..
Tue, Jul 23, 2:40 PM

Jul 18 2019

andrew committed rS350112: Rename arm64 macros in preperation for a script to generate them..
Rename arm64 macros in preperation for a script to generate them.
Jul 18 2019, 1:58 PM
andrew closed D20976: Rename macros in preperation for a script to generate them..
Jul 18 2019, 1:58 PM

Jul 17 2019

andrew added a comment to D20977: Ensure the ID register fields are 64 bit types..
  • Fix the mane of ID_AA64MMFR0_PARange_1T
  • Restore ID_AA64PFR0_GIC_BITS
Jul 17 2019, 9:29 AM
andrew created D20977: Ensure the ID register fields are 64 bit types..
Jul 17 2019, 9:20 AM
andrew created D20976: Rename macros in preperation for a script to generate them..
Jul 17 2019, 8:48 AM

Jul 11 2019

andrew added inline comments to D20907: Implement software AF and DBM management for arm64..
Jul 11 2019, 3:03 PM

Jul 8 2019

andrew added a comment to D20848: Restructure cache_handle_range to avoid unnecessary barriers.

My guess is we are hitting the crossing point where the instruction cost of the loop is greater than the cost of invalidating the entire instruction cache. We might need to have an invalidate all version of arm64_icache_sync_range then switch between them in the macro based on the length of the memory.

Jul 8 2019, 10:16 AM

Jul 4 2019

D20848: Restructure cache_handle_range to avoid unnecessary barriers is now accepted and ready to land.
Jul 4 2019, 1:31 PM

Jun 26 2019

D20772: Provide protection against starvation of the ll/sc loops when accessing userpace. is now accepted and ready to land.

I'm happy with the arm and arm64 changes.

Jun 26 2019, 6:28 PM
andrew added a comment to D20770: arm64: Move "segments" array from bus_dma_tag to bus_dmamap..

Isn't this also a problem on amd64?

Jun 26 2019, 2:07 PM

Jun 16 2019

andrew accepted D20657: Three enhancements to arm64's pmap_protect().
Jun 16 2019, 12:53 PM

Jun 12 2019

andrew added a comment to D20585: Various arm64 pmap fixes (and one optimization).
In D20585#445331, @alc wrote:

Andrew, as I understand the current state of the pmap code, ATTR_AF is always preset (and never actually cleared) because pmap_fault() does not yet have the ability to set ATTR_AF. Is that correct?

Jun 12 2019, 3:40 PM

Jun 11 2019

andrew added a comment to D20562: The efifat files are no longer used: remove the code to build them..

I approve, this should go.
I'm aware of some out-of-tree build scripts that do something like:

mkimg -s gpt -b $ROOTDIR/boot/pmbr \
  -p efi:=$ROOTDIR/boot/boot1.efifat \
  -p freebsd-boot:=$ROOTDIR/boot/gptboot \
  -p freebsd-ufs:=ufs -p freebsd-swap::1G \
  -o $image

but really they need to just generate the EFI filesystem at the same time they generate the main (UFS in this case) filesystem.

Jun 11 2019, 11:01 AM
andrew added a comment to D20587: KCOV: Use arch-dependend data type for the PCs.

I've created https://github.com/google/syzkaller/pull/1229 to fix the bug in syzkaller.

Jun 11 2019, 10:35 AM
andrew added a comment to D20587: KCOV: Use arch-dependend data type for the PCs.

The size was set so a 32 bit tracing tool can trace a 64 bit kernel without loosing information.

Jun 11 2019, 10:28 AM
andrew added inline comments to D20585: Various arm64 pmap fixes (and one optimization).
Jun 11 2019, 10:14 AM

May 31 2019

andrew accepted D20454: arm64 gic: Drop unused GICV3_IVAR_REDIST_VADDR.
May 31 2019, 9:49 AM

May 30 2019

andrew added inline comments to D20454: arm64 gic: Drop unused GICV3_IVAR_REDIST_VADDR.
May 30 2019, 8:50 PM
andrew added a comment to D20416: acpi_iort: add some error handling.

How frequently is srat_resolve_its_pxm called?

May 30 2019, 9:28 AM
andrew added inline comments to D20454: arm64 gic: Drop unused GICV3_IVAR_REDIST_VADDR.
May 30 2019, 9:27 AM

May 29 2019

andrew accepted D19842: gic_v3: consolidate per-cpu redistributor information.
May 29 2019, 8:50 AM

May 28 2019

andrew committed rS348323: The alignment is passed into contigmalloc_domainset in the 7th argument..
The alignment is passed into contigmalloc_domainset in the 7th argument.
May 28 2019, 10:56 AM
andrew added inline comments to D19842: gic_v3: consolidate per-cpu redistributor information.
May 28 2019, 9:55 AM
andrew committed rS348322: Teach the kernel KUBSAN runtime about alignment_assumption.
Teach the kernel KUBSAN runtime about alignment_assumption
May 28 2019, 9:12 AM

May 27 2019

andrew accepted D19844: gicv3_its: do LPI init only once per CPU.
May 27 2019, 10:36 AM
andrew accepted D20418: arm64 gicv3_its: Fix a typo.
May 27 2019, 10:31 AM

May 26 2019

andrew accepted D20349: arm64: efi: Map memory IO region as device.
May 26 2019, 10:29 AM

May 22 2019

andrew requested changes to D20349: arm64: efi: Map memory IO region as device.

Having thought about it more I'm not sure this is correct. I think we should make the default case VM_MEMATTR_DEVICE. EFI_MD_ATTR_WC Is also wrong as it should be VM_MEMATTR_UNCACHEABLE so should be fixed at some stage.

May 22 2019, 12:19 PM
andrew accepted D20349: arm64: efi: Map memory IO region as device.
May 22 2019, 12:03 PM
andrew added inline comments to D20347: efirt: Add efi_memory_attribute.
May 22 2019, 11:13 AM

May 9 2019

andrew added a comment to D19831: Add PT_GETREGSET.

I also return the size when the base is NULL in PT_GETREGSET.

May 9 2019, 12:42 PM
andrew updated the diff for D19831: Add PT_GETREGSET.
  • Remove xsave. It will move to a new review.
  • Add PT_SETREGSET
  • Use goto out for error handling
  • Remove sys/_iovec.h from sys/ptrace.h
May 9 2019, 12:41 PM
andrew accepted D20144: ahci: Check if bus is cache-coherent.
May 9 2019, 11:49 AM

May 8 2019

andrew accepted D19986: Add support for USB 3.0 XHCI via ACPI.
May 8 2019, 1:59 PM · arm64, Contributor Reviews (base)

May 7 2019

andrew added a comment to D19831: Add PT_GETREGSET.
In D19831#425330, @jhb wrote:

Hmm, do you have plans for a PT_SETREGSET as well?

May 7 2019, 5:28 PM
andrew accepted D19986: Add support for USB 3.0 XHCI via ACPI.
May 7 2019, 8:23 AM · arm64, Contributor Reviews (base)

May 4 2019

andrew added inline comments to D20156: Add support for RK3399 emmc.
May 4 2019, 11:48 AM

May 3 2019

andrew abandoned D7941: Add support to strings(1) to run under capsicum.
May 3 2019, 1:54 PM

May 2 2019

andrew added a reviewer for D20144: ahci: Check if bus is cache-coherent: mav.
May 2 2019, 4:33 PM

May 1 2019

andrew committed rS346996: Restore x18 in efi_arch_leave..
Restore x18 in efi_arch_leave.
May 1 2019, 5:13 PM
andrew closed D20127: Restore x18 in efi_arch_leave.
May 1 2019, 5:13 PM
andrew updated the diff for D20127: Restore x18 in efi_arch_leave.

Move loading x18 before we use it.

May 1 2019, 4:23 PM
andrew created D20127: Restore x18 in efi_arch_leave.
May 1 2019, 4:04 PM
andrew accepted D20123: Add a hw.model sysctl oid for arm64.

How does this work in a big.LITTLE SoC?

May 1 2019, 12:41 PM

Apr 25 2019

andrew added inline comments to D19986: Add support for USB 3.0 XHCI via ACPI.
Apr 25 2019, 9:55 PM · arm64, Contributor Reviews (base)
andrew added inline comments to D20054: Document the UEFI boot loading process.
Apr 25 2019, 2:49 PM

Apr 16 2019

andrew added a comment to D19844: gicv3_its: do LPI init only once per CPU.

If you think more flags will be needed later you can make it a u_int with a per-flag macro. If not just make it a bool.

Apr 16 2019, 7:58 AM

Apr 13 2019

andrew accepted D19507: Add quirk for ignoring SPCR AccessWidth values on the PL011 UART.
Apr 13 2019, 11:17 AM · arm64
andrew accepted D19843: gicv3_its: refactor LPI init to new function.
Apr 13 2019, 10:31 AM
andrew added inline comments to D19844: gicv3_its: do LPI init only once per CPU.
Apr 13 2019, 10:26 AM
andrew added a comment to D19507: Add quirk for ignoring SPCR AccessWidth values on the PL011 UART.

I'm happy with the quirk, however I'm not sure about the PCI part. It may pay to split that out into a new review as there are two independent changes in this.

Apr 13 2019, 10:17 AM · arm64

Apr 10 2019

andrew added a comment to D19871: Only set up the interrupts that will actually be used in arm generic_timer..

Do we need something similar to intr_pic_init_secondary to also disable the timers on non-boot CPUs?

Apr 10 2019, 8:36 AM

Apr 6 2019

andrew added inline comments to D19507: Add quirk for ignoring SPCR AccessWidth values on the PL011 UART.
Apr 6 2019, 9:07 AM · arm64

Apr 5 2019

andrew created D19831: Add PT_GETREGSET.
Apr 5 2019, 12:36 PM
andrew created D19830: Create sys/reg.h for the common code previously in machine/reg.h.
Apr 5 2019, 12:35 PM

Apr 3 2019

andrew added inline comments to D19814: Use 'phy-handle' in FDT to find PHY address.
Apr 3 2019, 4:22 PM

Apr 2 2019

andrew added a comment to D19507: Add quirk for ignoring SPCR AccessWidth values on the PL011 UART.

From looking at the Linux PL011 driver it seems registers always start on a 32b boundary so *shiftp should always be 2. The simplest would be to add a quirk to the PL011 acpi_uart_compat_data entries to force a shift of 2. It would also be cleaner than checking for specific interface types in what should become machine independent code. Later on we may be able to use cd_regshft and cd_regiowidth to override the SPCR details, however it looks like the ns8250 driver may need some careful clean up first.

Apr 2 2019, 8:55 PM · arm64

Mar 29 2019

andrew accepted D19745: Improve debugging options in bcm2835_sdhci.c.

I wonder if there is a way to make this generic as the dprintf or similar macro seems to be common in arm code.

Mar 29 2019, 11:39 AM

Mar 28 2019

andrew added inline comments to D19287: Check the index hasn't changed after writing the cmp entry.
Mar 28 2019, 8:49 AM

Mar 25 2019

andrew committed rS345510: Sort printing of the ID registers on arm64 to be identical to the.
Sort printing of the ID registers on arm64 to be identical to the
Mar 25 2019, 6:02 PM

Mar 21 2019

andrew added inline comments to D16892: add pci support at rt1310.
Mar 21 2019, 10:20 AM

Mar 8 2019

andrew added a comment to D19507: Add quirk for ignoring SPCR AccessWidth values on the PL011 UART.

Could you use spcr->SerialPort.AccessWidth to find this? It's set to 1 in the copy of the spcr table I have indicating byte access.

Mar 8 2019, 2:30 PM · arm64

Mar 7 2019

andrew accepted D17392: Add arm64 kernel support for -z ifunc-noplt.

I'm fine with breaking from the ABI in the kernel & modules as long as it's just for optimisation and we don't require the breakage to allow the kernel to still work after being built with, for example, gcc & linked with bfd.

Mar 7 2019, 2:04 PM

Mar 3 2019

andrew added inline comments to D19036: Update mvneta/e6000sw for new style Distributed Switch Architecture Device Tree Bindings.
Mar 3 2019, 3:45 PM · network, ARM, arm64
andrew accepted D19432: arm64 nexus: remove incorrect warning.
Mar 3 2019, 12:18 PM

Feb 28 2019

andrew committed rS344659: Add the hw.ncpu tunable to arm64..
Add the hw.ncpu tunable to arm64.
Feb 28 2019, 2:41 PM
andrew closed D19404: Add hw.ncpu to arm64.
Feb 28 2019, 2:41 PM
andrew created D19404: Add hw.ncpu to arm64.
Feb 28 2019, 1:36 PM
andrew updated the diff for D19389: Split out the attachment from the generic-ehci driver.

Split out the header
Enable clocks, etc

Feb 28 2019, 1:10 PM

Feb 27 2019

andrew added inline comments to D19389: Split out the attachment from the generic-ehci driver.
Feb 27 2019, 4:58 PM
andrew created D19389: Split out the attachment from the generic-ehci driver.
Feb 27 2019, 4:55 PM

Feb 25 2019

andrew added a comment to D19351: Allow kernel config to specify DTS/DTSO to build, and out-of-tree support.

Is there a reason to limit this to arm and arm64?

Feb 25 2019, 4:35 PM
andrew committed rS344517: Check the index hasn't changed after writing the cmp entry..
Check the index hasn't changed after writing the cmp entry.
Feb 25 2019, 1:15 PM
andrew closed D19287: Check the index hasn't changed after writing the cmp entry.
Feb 25 2019, 1:15 PM

Feb 21 2019

andrew created D19287: Check the index hasn't changed after writing the cmp entry.
Feb 21 2019, 8:55 PM
andrew added inline comments to D19036: Update mvneta/e6000sw for new style Distributed Switch Architecture Device Tree Bindings.
Feb 21 2019, 3:49 PM · network, ARM, arm64
andrew committed rS344432: Allow the kcov buffer to be mmaped multiple times..
Allow the kcov buffer to be mmaped multiple times.
Feb 21 2019, 10:11 AM
andrew committed rS344429: Use KCOV_ENTRY_SIZE for the entry size..
Use KCOV_ENTRY_SIZE for the entry size.
Feb 21 2019, 9:43 AM

Feb 20 2019

andrew committed rS344391: Unwire the kcov buffer when freeing the info struct..
Unwire the kcov buffer when freeing the info struct.
Feb 20 2019, 10:41 PM
andrew closed D19252: Unwire pages when cleaning up the kcov state.
Feb 20 2019, 10:41 PM