andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Today

andrew committed rS319196: MFC r316755:.
MFC r316755:
Tue, May 30, 11:03 AM
andrew committed rS319195: MFC r312703:.
MFC r312703:
Tue, May 30, 10:50 AM

Fri, May 26

andrew requested changes to D10909: Remove cpu_class as it is not defined for armv7.

You should add cpu_class to sys/arm/identcpu-v6.c and set it in identify_arm_cpu.

Fri, May 26, 1:36 PM · ARM
andrew added a reviewer for D10910: Fix HWPMC interrupt handling in Counting Mode: bz.
Fri, May 26, 1:16 PM · ARM
andrew added a reviewer for D10909: Remove cpu_class as it is not defined for armv7: bz.
Fri, May 26, 1:15 PM · ARM
andrew added a comment to D10899: Enhance Armada 38x SoC identification string.

I would like it if rather than using __weak_reference we were to architect the code properly.

Fri, May 26, 1:08 PM · ARM

Thu, May 18

andrew accepted D10793: MFC LLD changes and enable LLD as /usr/bin/ld on arm64 by default.
Thu, May 18, 3:20 PM

Mon, May 15

andrew added a comment to D10682: Introduce platform CPU init for ARM.
In D10682#222298, @zbb wrote:

Also if we use platform_late_init there would be a need to rework all late_init implementations so that they could be used in the init_secondary.

Mon, May 15, 12:46 PM
andrew created D10733: Run platform_late_init on all cpus..
Mon, May 15, 12:45 PM

Sun, May 14

andrew added inline comments to D10716: Fix MPIC mask/unmask.
Sun, May 14, 8:28 AM · ARM

Sat, May 13

andrew committed rS318253: Allocate a cacheline when reading or writing to write through memory. The.
Allocate a cacheline when reading or writing to write through memory. The
Sat, May 13, 1:03 PM
andrew committed rS318252: Add the VM_MEMATTR_WRITE_THROUGH memory type to arm64 and use it to support.
Add the VM_MEMATTR_WRITE_THROUGH memory type to arm64 and use it to support
Sat, May 13, 1:01 PM

Fri, May 12

andrew added a comment to D10218: Implement workaround for Armada 38X family HW issue between CPU and devices.
In D10218#221537, @skra wrote:

Note that pmap_remap_vm_attr() calls pmap_set_tex() which assumes that all caches are disabled (see last two lines in this function).

Fri, May 12, 10:46 AM
andrew added inline comments to D9864: Enable L1 Dcache prefetch for Cortex A9 CPUs.
Fri, May 12, 10:40 AM

Thu, May 11

andrew added inline comments to D9864: Enable L1 Dcache prefetch for Cortex A9 CPUs.
Thu, May 11, 6:13 PM
andrew added a comment to D10682: Introduce platform CPU init for ARM.

For the cases I have seen where this is used I would think would be better served by calling platform_late_init late in init_secondary.

Thu, May 11, 6:08 PM
andrew requested changes to D10682: Introduce platform CPU init for ARM.

This won't work in the PLATFORM case. You are trying to dereference the platform object too early in the boot.

Thu, May 11, 5:53 PM
andrew added inline comments to D10218: Implement workaround for Armada 38X family HW issue between CPU and devices.
Thu, May 11, 5:47 PM

Fri, May 5

andrew committed rS317824: Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should.
Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should
Fri, May 5, 10:02 AM
andrew closed D10574: Implement reclaim_pv_chunk on arm64 by committing rS317824: Add reclaim_pv_chunk on arm64. This is based on the amd64 code so should.
Fri, May 5, 10:01 AM

Thu, May 4

andrew updated the diff for D10574: Implement reclaim_pv_chunk on arm64.

Remove another unneeded pmap_invalidate_all

Thu, May 4, 4:54 PM
andrew updated the diff for D10574: Implement reclaim_pv_chunk on arm64.

Clean up and bug fixes based on reviews and testing:

Thu, May 4, 1:25 PM

Wed, May 3

andrew added inline comments to D10574: Implement reclaim_pv_chunk on arm64.
Wed, May 3, 11:36 PM
andrew added a comment to D10574: Implement reclaim_pv_chunk on arm64.

Further testing has found a few bugs in the code.

Wed, May 3, 3:58 PM
andrew committed rS317738: Print all virtual addresses in the show vtop ddb command. The results may.
Print all virtual addresses in the show vtop ddb command. The results may
Wed, May 3, 12:24 PM

Tue, May 2

andrew added inline comments to D10573: arch.7: add table of initial FreeBSD version to support each arch.
Tue, May 2, 5:07 PM
andrew created D10574: Implement reclaim_pv_chunk on arm64.
Tue, May 2, 4:31 PM
andrew added inline comments to D10573: arch.7: add table of initial FreeBSD version to support each arch.
Tue, May 2, 4:28 PM

Apr 27 2017

andrew accepted D10499: Add support for optional CRC32c instructions on armv8.
Apr 27 2017, 7:50 AM

Apr 26 2017

andrew added inline comments to D10499: Add support for optional CRC32c instructions on armv8.
Apr 26 2017, 8:49 AM
andrew added a comment to D9145: Fix MSI IRQ allocation for ARM GIC.

Are the irq -> end_irq changes still relevant? They appear so.

Apr 26 2017, 8:41 AM

Apr 24 2017

andrew committed rS317377: MFC r302788, r303026, r305471.
MFC r302788, r303026, r305471
Apr 24 2017, 4:49 PM
andrew committed rS317361: Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the.
Call the PSCI reset from cpu_reset on arm64. When rebooting from DDB the
Apr 24 2017, 11:06 AM

Apr 20 2017

andrew committed rS317197: Restrict the arm64 supervisor all instructions to only allow a zero.
Restrict the arm64 supervisor all instructions to only allow a zero
Apr 20 2017, 3:53 PM
andrew added inline comments to D9145: Fix MSI IRQ allocation for ARM GIC.
Apr 20 2017, 2:34 PM
andrew committed rS317192: Push loading curthread into assembly in the synchronous exception handlers..
Push loading curthread into assembly in the synchronous exception handlers.
Apr 20 2017, 1:56 PM
andrew committed rS317189: MFC r312764:.
MFC r312764:
Apr 20 2017, 12:48 PM

Apr 19 2017

andrew committed rS317147: MFC 313772:.
MFC 313772:
Apr 19 2017, 3:59 PM
andrew committed rS317146: MFC 305355:.
MFC 305355:
Apr 19 2017, 3:46 PM
andrew committed rS317140: Fix the arm64 userland building with lld:.
Fix the arm64 userland building with lld:
Apr 19 2017, 2:07 PM
andrew added inline comments to D10213: Adding virtualization support for ARMv7 platforms.
Apr 19 2017, 10:08 AM · ARM

Apr 16 2017

andrew added inline comments to D10268: amlogic PIC changes for INTRNG.
Apr 16 2017, 9:20 AM

Apr 13 2017

andrew committed rS316769: Rather than checking if the top bit in a virtual address is a 0 or 1.
Rather than checking if the top bit in a virtual address is a 0 or 1
Apr 13 2017, 4:57 PM
andrew committed rS316764: Don't prefix zero with 0x in assym.s..
Don't prefix zero with 0x in assym.s.
Apr 13 2017, 3:43 PM
andrew added a comment to D10385: Remove many write-only variables from kernel.

Fell free to commit the sys/arm and sys/arm64 bits with Reviewed By: andrew

Apr 13 2017, 3:27 PM
andrew closed D10382: Set the arm64 Execute-never bits in more places. by committing rS316761: Set the arm64 Execute-never bits in more places..
Apr 13 2017, 3:03 PM
andrew committed rS316761: Set the arm64 Execute-never bits in more places..
Set the arm64 Execute-never bits in more places.
Apr 13 2017, 3:03 PM
andrew added inline comments to D10382: Set the arm64 Execute-never bits in more places..
Apr 13 2017, 2:47 PM
andrew committed rS316756: In ARMv8.1 ARM has added a process state bit to disable access to userspace.
In ARMv8.1 ARM has added a process state bit to disable access to userspace
Apr 13 2017, 1:46 PM
andrew closed D10371: Add support for Privileged Access Never (PAN) by committing rS316756: In ARMv8.1 ARM has added a process state bit to disable access to userspace.
Apr 13 2017, 1:46 PM
andrew updated the diff for D10371: Add support for Privileged Access Never (PAN).

Clear SCTLR_EL1.SPAN

Apr 13 2017, 12:27 PM
andrew added a comment to D10371: Add support for Privileged Access Never (PAN).
In D10371#214953, @kib wrote:

Do we need to set SCTLR_EL1.SPAN to 1 ?

Apr 13 2017, 12:26 PM
andrew added inline comments to D10383: Add support for the Allwinner H2+ SoC.
Apr 13 2017, 12:18 PM
andrew committed rS316755: Add SCTLR bits added in ARMv8.1 and ARMv8.2 and start to use them in the.
Add SCTLR bits added in ARMv8.1 and ARMv8.2 and start to use them in the
Apr 13 2017, 11:56 AM
andrew created D10382: Set the arm64 Execute-never bits in more places..
Apr 13 2017, 10:33 AM

Apr 12 2017

andrew committed rS316734: Start to use the User and Privileged execute-never bits in the arm64.
Start to use the User and Privileged execute-never bits in the arm64
Apr 12 2017, 4:29 PM
andrew closed D10360: Use the execute-never bits on arm64 by committing rS316734: Start to use the User and Privileged execute-never bits in the arm64.
Apr 12 2017, 4:29 PM
andrew updated the diff for D10371: Add support for Privileged Access Never (PAN).

Fix a typo

Apr 12 2017, 1:37 PM
andrew created D10371: Add support for Privileged Access Never (PAN).
Apr 12 2017, 1:36 PM
andrew committed rS316732: Use the unprivileged variant of the load and store instructions most.
Use the unprivileged variant of the load and store instructions most
Apr 12 2017, 12:34 PM
andrew updated the diff for D10360: Use the execute-never bits on arm64.

Update the check in pmap_protect to be the same as rS271716

Apr 12 2017, 11:49 AM

Apr 11 2017

andrew created D10360: Use the execute-never bits on arm64.
Apr 11 2017, 3:35 PM
andrew added a comment to D10359: loader.efi: only fetch zfs pool guid for the actual boot device.

This works for me on a ThunderX with UFS root & ZFS.

Apr 11 2017, 1:27 PM

Apr 10 2017

andrew committed rS316678: Port the IMX6 kernel configuration to use MULTIDELAY. This will help adding.
Port the IMX6 kernel configuration to use MULTIDELAY. This will help adding
Apr 10 2017, 12:36 PM
andrew accepted D10339: Do not loose dirty bits for removing PROT_WRITE on arm64..
Apr 10 2017, 9:35 AM

Apr 7 2017

andrew accepted D10307: Define 'lr' as x30 on aarch64.
Apr 7 2017, 3:45 PM
andrew added inline comments to D10305: Do not use b.cs instruction to jump to cerror.
Apr 7 2017, 3:38 PM
andrew added a comment to D10305: Do not use b.cs instruction to jump to cerror.

Can you add a comment to point out why we use the b.cs ; ret ; b sequence.

Apr 7 2017, 3:32 PM
andrew committed rS316608: Add -fPIC to the standalone build flags on arm64. This is needed as.
Add -fPIC to the standalone build flags on arm64. This is needed as
Apr 7 2017, 2:31 PM
andrew committed rS316607: Fix linking with lld by marking OPENSSL_armcap_P as hidden..
Fix linking with lld by marking OPENSSL_armcap_P as hidden.
Apr 7 2017, 12:42 PM

Apr 6 2017

andrew added a comment to D10292: Add external toolchain ports for aarch64.

I think this is fine, but would like @andrew to confirm.

Apr 6 2017, 11:03 PM

Apr 4 2017

andrew added a comment to D8616: Cleanup INTRNG internals to prepare for ACPI support.
In D8616#210013, @skra wrote:

(1) The staff around PIC and xref was implemented with concrete idea. You are trying to change it. So, it's not cleanup, it's an implementation of new idea. And I don't see why this change would be better.

It might be ok for FDT, however we need to also consider ACPI where zero is a valid xref.

(2) You are forcing devices which do not know (or have) their XREFs to generate some instead of using one and only XREF_UNKNOWN for these cases, which is zero.

But zero may be a valid xref. I would prefer we create a new value for XREF_UNKNOWN separate from XREF_INVALID, e.g. -2. This will be used by devices that don't naturally have an xref, e.g. a PCI GPIO controller, but would allow the error checking in the patch to be kept. I didn't do this in this patch as I'm not aware of any drivers in the tree that would use this so am unable to test it.

In short:

  • in current code takes 0 (or NULL) xref as unknown xref not as error indicator.
  • we cannot expect that all "information sources" *FDT/ACPI/HINTS" can share same value for unknown xref natively
Apr 4 2017, 4:59 PM

Apr 2 2017

andrew added a comment to D10218: Implement workaround for Armada 38X family HW issue between CPU and devices.

And, in this case, right solution for this problem is pretty easy, something like:
https://github.com/strejda/tegra/commit/3b5138751ee5643992b20fcb21b280fab433bb20
(untested, you can simply put "pmap_remap_vm_attr(VM_MEMATTR_DEVICE, VM_MEMATTR_SO);" to platform_devmap_init() or so...)

Is the issue that PCIe expects a stronger memory model than ARM provides? It might be enough to add pmap_change_attr calls to the PCIe driver to remap the device memory with a stronger memory ordering leaving the other device memory with the weaker memory model.

Do you have pointer to any documentation about this?
I only very vaguely remember that I read some "hints type" paper, targeting aarch64, mentioning this problem. But I can't find nothing in the official documentation and the root of the problem is not clear to me.

Apr 2 2017, 5:46 PM

Apr 1 2017

andrew added a comment to D10218: Implement workaround for Armada 38X family HW issue between CPU and devices.

Please tell me, do you really think that hellish "#ifdef SOC_xxx" style used in Marvell subdirectory is the right one?
For me, using "#ifdef SOC_xxx" is unacceptable in common code, and is deprecated in vendor subdirs.

Apr 1 2017, 6:25 PM

Mar 31 2017

andrew requested changes to D10221: Execute PL310_ERRATA_727915 only for related revisions.

This should be runtime detected.

Mar 31 2017, 3:34 PM
andrew requested changes to D10218: Implement workaround for Armada 38X family HW issue between CPU and devices.

This breaks a GENERIC kernel, it should be runtime detected.

Mar 31 2017, 3:27 PM
andrew added a comment to D10213: Adding virtualization support for ARMv7 platforms.

I've done a quick pass through the code. You have quite a few long lines in this patch, you should put function names on a new line, and there are a few debugging printf calls that may not be appropriate in svn.

Mar 31 2017, 2:26 PM · ARM

Mar 30 2017

andrew added a reviewer for D10201: ARM PrimeCell PL330 DMA engine driver: ARM.

Looks good, however I think a few comments would be useful, e.g. in pl330_channel_submit_sg, and it seems to be missing the build glue.

Mar 30 2017, 3:42 PM

Mar 28 2017

andrew added a comment to D8616: Cleanup INTRNG internals to prepare for ACPI support.
In D8616#210013, @skra wrote:

(1) The staff around PIC and xref was implemented with concrete idea. You are trying to change it. So, it's not cleanup, it's an implementation of new idea. And I don't see why this change would be better.

Mar 28 2017, 4:29 PM

Mar 27 2017

andrew added a comment to D8616: Cleanup INTRNG internals to prepare for ACPI support.

Ping? I'd like to commit this soon.

Mar 27 2017, 3:45 PM

Mar 22 2017

andrew added a comment to D10041: Stop building assym.o in modules.

@bdrewery Can you commit your change. It works for me building for arm64 with no external binutils.

Mar 22 2017, 2:59 PM
andrew created D10094: Move the code to exit hyp to hypervisor-stub.S.
Mar 22 2017, 2:46 PM
andrew committed rS315712: Add the early hypervisor code needed on 32-bit ARMv7. This will be used.
Add the early hypervisor code needed on 32-bit ARMv7. This will be used
Mar 22 2017, 2:30 PM
andrew closed D10045: ARMv7 handle hyp-mode by committing rS315712: Add the early hypervisor code needed on 32-bit ARMv7. This will be used.
Mar 22 2017, 2:30 PM · ARM

Mar 20 2017

andrew added a comment to D10045: ARMv7 handle hyp-mode.

Can you check the diff you uploaded didn't replace tabs with spaces. It's not applying to my svn checkout.

Mar 20 2017, 7:46 PM · ARM
andrew accepted D10045: ARMv7 handle hyp-mode.
Mar 20 2017, 7:28 PM · ARM
andrew committed rS315650: Use tc_priv to find the softc in the i.MX timer driver..
Use tc_priv to find the softc in the i.MX timer driver.
Mar 20 2017, 7:25 PM
andrew added inline comments to D10045: ARMv7 handle hyp-mode.
Mar 20 2017, 10:41 AM · ARM

Mar 18 2017

andrew added inline comments to D10045: ARMv7 handle hyp-mode.
Mar 18 2017, 5:11 PM · ARM

Mar 17 2017

andrew committed rS315452: Mark the EFI PE header as allocated. While ld.bfd doesn't seem to care.
Mark the EFI PE header as allocated. While ld.bfd doesn't seem to care
Mar 17 2017, 1:31 PM
andrew committed rS315451: Remove code for Marvell SoCs that lack a kernel config..
Remove code for Marvell SoCs that lack a kernel config.
Mar 17 2017, 12:59 PM
andrew closed D7166: Remove code for Marvell SoCs that lack a kernel config by committing rS315451: Remove code for Marvell SoCs that lack a kernel config..
Mar 17 2017, 12:59 PM
andrew committed rS315450: Make the default FDT implementation of platform_mp_setmaxid use the cpu.
Make the default FDT implementation of platform_mp_setmaxid use the cpu
Mar 17 2017, 12:46 PM
andrew closed D9827: Update platform_default_mp_setmaxid to walk the device tree by committing rS315450: Make the default FDT implementation of platform_mp_setmaxid use the cpu.
Mar 17 2017, 12:46 PM
andrew committed rS315448: Move the IMX6 kernels to use PLATFORM_SMP. This is the last SMP config to.
Move the IMX6 kernels to use PLATFORM_SMP. This is the last SMP config to
Mar 17 2017, 12:35 PM
andrew closed D9907: Port i.MX6 to PLATFORM_SMP by committing rS315448: Move the IMX6 kernels to use PLATFORM_SMP. This is the last SMP config to.
Mar 17 2017, 12:35 PM
andrew created D10041: Stop building assym.o in modules.
Mar 17 2017, 11:10 AM

Mar 16 2017

andrew committed rS315421: If ofw_bus_msimap fails don't try to use the invalid MSI/MSI-X parent node..
If ofw_bus_msimap fails don't try to use the invalid MSI/MSI-X parent node.
Mar 16 2017, 5:49 PM

Mar 6 2017

andrew retitled D9907: Port i.MX6 to PLATFORM_SMP from to Port i.MX6 to PLATFORM_SMP.
Mar 6 2017, 5:04 PM
andrew added a comment to D9863: Rework BGX detection to support both new and old firmware.

The BGX interface is unconnected in the ThunderX units in the netperf cluster

Mar 6 2017, 12:46 PM