andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Fri, Sep 15

andrew committed rS323610: Add the ARMv8.3 ID register fields. These were found in the A-Profile.
Add the ARMv8.3 ID register fields. These were found in the A-Profile
Fri, Sep 15, 12:58 PM

Thu, Sep 14

andrew committed rS323593: Add support for handling undefined instructions in userspace and the.
Add support for handling undefined instructions in userspace and the
Thu, Sep 14, 5:30 PM

Wed, Sep 13

andrew added inline comments to D12360: Allow Raspberry Pi platform code and drivers to be configured with upstream DTBs.
Wed, Sep 13, 5:33 PM
andrew accepted D12292: Only mess with VFP state on the CPU for curthread for get/set_vfpcontext..
Wed, Sep 13, 4:47 PM
andrew added a comment to D12360: Allow Raspberry Pi platform code and drivers to be configured with upstream DTBs.

When uploading a diff through the website can you include context. There are commands you can use at https://wiki.freebsd.org/Phabricator#Create_a_Revision_via_Web_Interface

Wed, Sep 13, 4:29 PM

Tue, Sep 12

andrew added inline comments to D12292: Only mess with VFP state on the CPU for curthread for get/set_vfpcontext..
Tue, Sep 12, 10:53 PM
andrew added a comment to D12292: Only mess with VFP state on the CPU for curthread for get/set_vfpcontext..

I have a slight concern about a non-current thread being run at the same time as this leading to a potential data race.

Tue, Sep 12, 7:57 AM
andrew added inline comments to D12294: Add ptrace operations to fetch and store VFP registers..
Tue, Sep 12, 7:51 AM

Mon, Sep 11

andrew added a comment to D12290: Add AT_HWCAP and AT_EHDRFLAGS on all platforms..

On ARM platforms I expect we'll need more bits. Linux already has AT_HWCAP2, it might pay to include it from the start.

Mon, Sep 11, 7:23 AM

Fri, Sep 8

andrew committed rS323309: Not all CPUs handle reading ID_AA64MMFR2_EL1 (e.g. qemu), disable it for now..
Not all CPUs handle reading ID_AA64MMFR2_EL1 (e.g. qemu), disable it for now.
Fri, Sep 8, 8:02 AM

Thu, Sep 7

andrew committed rS323283: Fix the SVE ID field shift..
Fix the SVE ID field shift.
Thu, Sep 7, 7:52 PM
andrew committed rS323282: Add the ATS1E1 case to the ID_AA64MMFR1_EL1 decoding..
Add the ATS1E1 case to the ID_AA64MMFR1_EL1 decoding.
Thu, Sep 7, 7:51 PM
andrew committed rS323279: Use the correct mask when printing undecoded fields from the.
Use the correct mask when printing undecoded fields from the
Thu, Sep 7, 6:59 PM
andrew committed rS323274: Fix a mismerge, make sure PRINT_ID_AA64_MMFR2 has a unique value..
Fix a mismerge, make sure PRINT_ID_AA64_MMFR2 has a unique value.
Thu, Sep 7, 4:43 PM
andrew committed rS323273: Fix the value of ID_AA64ISAR1_DPB_SHIFT, the field is bits 3:0..
Fix the value of ID_AA64ISAR1_DPB_SHIFT, the field is bits 3:0.
Thu, Sep 7, 4:13 PM
andrew committed rS323271: Add the ARMv8.2 ID register additions and use them to decode the register.
Add the ARMv8.2 ID register additions and use them to decode the register
Thu, Sep 7, 3:46 PM
andrew committed rS323269: Uppercase the special register names in identcpu to be more consistent with.
Uppercase the special register names in identcpu to be more consistent with
Thu, Sep 7, 3:30 PM
andrew committed rS323268: Make the bit mask of ARMv8 ID registers to print sparse to keep values.
Make the bit mask of ARMv8 ID registers to print sparse to keep values
Thu, Sep 7, 3:25 PM
andrew committed rS323266: Add more ARM Ltd parts to the list of knows CPUs..
Add more ARM Ltd parts to the list of knows CPUs.
Thu, Sep 7, 3:03 PM

Wed, Sep 6

andrew added inline comments to D12250: Introduce UART driver module for Armada 3700.
Wed, Sep 6, 10:33 PM · arm64

Tue, Sep 5

andrew accepted D12231: make-memstick.sh: use UFSv2.
Tue, Sep 5, 7:10 PM

Sun, Sep 3

andrew committed rS323147: Disable the ARM generic timers before interrupts are enabled. Some.
Disable the ARM generic timers before interrupts are enabled. Some
Sun, Sep 3, 9:42 AM

Fri, Sep 1

andrew accepted D12184: Add ARM Cortex A72 to CPU list.

Based on the Linux source the A73 value is 0xD09. It might pay to also add it at the same time.

Fri, Sep 1, 9:25 AM · arm64
andrew added inline comments to D12186: Add Armada 80x0/70x0 compatible to 38x RTC driver.
Fri, Sep 1, 9:24 AM · arm64

Thu, Aug 31

andrew committed rS323070: Add support for quirks while enabling secondary CPUs. This uses the fdt.
Add support for quirks while enabling secondary CPUs. This uses the fdt
Thu, Aug 31, 8:48 PM
andrew retitled D8616: Rework the logic for finding the pic object. from Cleanup INTRNG internals to prepare for ACPI support to Rework the logic for finding the pic object..
Thu, Aug 31, 2:13 PM
andrew updated the diff for D8616: Rework the logic for finding the pic object..

Add XREF_NONE

Thu, Aug 31, 2:12 PM

Sat, Aug 26

andrew committed rS322924: Work around a bug in QEMU when loading data with a load pair instruction.
Work around a bug in QEMU when loading data with a load pair instruction
Sat, Aug 26, 3:08 PM

Tue, Aug 22

andrew committed rS322800: Remove an unneeded call to pmap_invalidate_all. This was never called as.
Remove an unneeded call to pmap_invalidate_all. This was never called as
Tue, Aug 22, 6:20 PM
andrew committed rS322797: Fix a bug in pmap_protect where we invalidate the wrong page. With this we.
Fix a bug in pmap_protect where we invalidate the wrong page. With this we
Tue, Aug 22, 5:38 PM
andrew committed rS322787: Fix a comment on uncommitted work..
Fix a comment on uncommitted work.
Tue, Aug 22, 1:54 PM
andrew committed rS322786: Move the l0 pagetable address to struct mdproc. It is a property of the.
Move the l0 pagetable address to struct mdproc. It is a property of the
Tue, Aug 22, 1:16 PM

Mon, Aug 21

andrew committed rS322769: Improve the performance of the arm64 thread switching code..
Improve the performance of the arm64 thread switching code.
Mon, Aug 21, 6:12 PM

Aug 19 2017

andrew committed rS322697: Remove redundant declarations. Newer gcc has a warning for these so will.
Remove redundant declarations. Newer gcc has a warning for these so will
Aug 19 2017, 5:18 PM
andrew committed rS322696: Use armv8-a in -march, it is accepted by both clang and gcc..
Use armv8-a in -march, it is accepted by both clang and gcc.
Aug 19 2017, 5:15 PM

Aug 13 2017

andrew committed rS322470: Add support for multiple GICv3 ITS devices. For this we add sc_irq_base.
Add support for multiple GICv3 ITS devices. For this we add sc_irq_base
Aug 13 2017, 6:55 PM
andrew added a comment to D11848: Add timer virtualization specific bits as a prerequisite for bhyvearm.

Can you update this with more context.

Aug 13 2017, 7:42 AM
andrew added inline comments to D11847: Add GIC virtualization bits as a prerequisites for bhyvearm.
Aug 13 2017, 7:41 AM

Aug 12 2017

andrew accepted D12001: Reliably enable debug exceptions on all CPUs..

I think Semihalf was only interested in the kernel debugger when they added this.

Aug 12 2017, 7:49 AM
andrew accepted D11972: Don't panic for PT_GETFPREGS..
Aug 12 2017, 7:21 AM

Aug 11 2017

andrew added a comment to D11972: Don't panic for PT_GETFPREGS..

Yes. I'm not sure why I made the save KPI look like it does. I think curthread is correct at the point it's called in cpu_switch(), however it would pay to check that.

Aug 11 2017, 9:21 PM
andrew added inline comments to D11986: One copy to make CPUARCH from ARCH..
Aug 11 2017, 5:22 PM
andrew added a comment to D11972: Don't panic for PT_GETFPREGS..

On arm64 if a thread has used the vfp unit we will store the state on context switch. This means we should only need to call vfp_save_state when we need access to the fpu registers from the current thread. I don't think fill_fpregs has been tested as lldb didn't have vfp support when we did the initial port.

Aug 11 2017, 2:36 PM
andrew closed D11957: Only return the current cpu if it's in the cpumask by committing rS322400: Only return the current cpu if it's in the cpumask. When we restrict the.
Aug 11 2017, 12:46 PM
andrew committed rS322400: Only return the current cpu if it's in the cpumask. When we restrict the.
Only return the current cpu if it's in the cpumask. When we restrict the
Aug 11 2017, 12:46 PM
andrew added a comment to D11972: Don't panic for PT_GETFPREGS..

Where is this being called from? I think the bug is calling vfp_save_state on a non-current thread.

Aug 11 2017, 6:38 AM

Aug 10 2017

andrew created D11957: Only return the current cpu if it's in the cpumask.
Aug 10 2017, 5:08 PM

Aug 7 2017

andrew accepted D11883: Enable pl310 coherent operation in platform init for Armada 38x.
Aug 7 2017, 10:41 PM · ARM
andrew added a comment to D11883: Enable pl310 coherent operation in platform init for Armada 38x.

There is now access to the platform object from outside of platform.c. You could add a method to platform_pl310_if.m to handle this. Each SoC can then implement this if needed.

Aug 7 2017, 4:25 PM · ARM
andrew added inline comments to D11800: RISC-V privilege architecture update v1.10.
Aug 7 2017, 3:47 PM
andrew added a comment to D11883: Enable pl310 coherent operation in platform init for Armada 38x.

My preference would be for it to be a quirk in the driver over a fixup. fdt_fixup_table breaks moving the mv code into GENERIC.

Aug 7 2017, 3:35 PM · ARM
andrew added inline comments to D11847: Add GIC virtualization bits as a prerequisites for bhyvearm.
Aug 7 2017, 3:31 PM

Aug 5 2017

andrew committed rS322109: Mark each cpu in the appropriate cpuset_domain set. This allows devices to.
Mark each cpu in the appropriate cpuset_domain set. This allows devices to
Aug 5 2017, 8:57 PM
andrew added a comment to D11883: Enable pl310 coherent operation in platform init for Armada 38x.

What is the PL310 + UP bug?

Aug 5 2017, 10:39 AM · ARM
andrew added a comment to D11881: Dynamically configure timers' base frequency for Armada 38x.

Why not do the same as Linux and calculate it dynamically?

Aug 5 2017, 10:38 AM · ARM
andrew added reviewers for D11880: Enable using ofw_bus_find_compatible in early platform code: nwhitehorn, jhibbits.
Aug 5 2017, 10:36 AM · ARM

Aug 4 2017

andrew committed rS322053: Start to teach the GICv3 driver about NUMA. On ThunderX we may have.
Start to teach the GICv3 driver about NUMA. On ThunderX we may have
Aug 4 2017, 1:08 PM
andrew committed rS322051: Read the numa-node-id property from each CPU node. This will initially be.
Read the numa-node-id property from each CPU node. This will initially be
Aug 4 2017, 10:33 AM
andrew added inline comments to D11847: Add GIC virtualization bits as a prerequisites for bhyvearm.
Aug 4 2017, 7:21 AM

Aug 3 2017

andrew accepted D11846: Add to sysreg definition for coproc regs required for virtualization.

This looks good. I'm assuming the registers are correct.

Aug 3 2017, 5:17 PM
andrew added inline comments to D11847: Add GIC virtualization bits as a prerequisites for bhyvearm.
Aug 3 2017, 5:16 PM

Aug 2 2017

andrew added a comment to D10213: Adding virtualization support for ARMv7 platforms.

Can you pull out the sys/arm/arm/gic* and sys/arm/arm/generic_timer.c changes into two reviews? They are mostly independent of the rest of the review.

Aug 2 2017, 4:20 PM · ARM
andrew committed rS321925: Fix the return type for get_cntxc(). The register is 64-bit on both arm.
Fix the return type for get_cntxc(). The register is 64-bit on both arm
Aug 2 2017, 2:13 PM

Jul 31 2017

andrew added inline comments to D11800: RISC-V privilege architecture update v1.10.
Jul 31 2017, 8:59 PM

Jul 27 2017

andrew committed rS321621: Always set the receive mask in loader.efi. Some UEFI implementations set.
Always set the receive mask in loader.efi. Some UEFI implementations set
Jul 27 2017, 3:06 PM
andrew closed D11732: Always set the receive mask in loader.efi by committing rS321621: Always set the receive mask in loader.efi. Some UEFI implementations set.
Jul 27 2017, 3:06 PM

Jul 26 2017

andrew committed rS321571: Pass the last exception trap frame to kdb_trap. This allows show registers.
Pass the last exception trap frame to kdb_trap. This allows show registers
Jul 26 2017, 5:39 PM

Jul 25 2017

andrew added a comment to D11732: Always set the receive mask in loader.efi.

Are there some specific examples about systems needing this?

Jul 25 2017, 4:10 PM
andrew created D11732: Always set the receive mask in loader.efi.
Jul 25 2017, 4:02 PM
andrew committed rS321462: Build the 32-bit ARM libstand and loader parts with -fPIC. Many of them are.
Build the 32-bit ARM libstand and loader parts with -fPIC. Many of them are
Jul 25 2017, 10:41 AM

Jul 23 2017

andrew added a comment to D11703: Fix TEX index acquisition using L2 attributes.

Can you provide more context when uploading diffs. There are svn and git commands on https://wiki.freebsd.org/Phabricator#Create_a_Revision_via_Web_Interface

Jul 23 2017, 5:17 PM · ARM

Jul 18 2017

andrew committed rS321131: Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This.
Add support for passing FPU_KERN_NOCTX to fpu_kern_enter on arm64. This
Jul 18 2017, 4:36 PM

Jul 17 2017

andrew added a comment to D11622: Port devel/qt4-dbus to arm64.

With this and a patch for www/qt4-webkit I can build 106 ports with a name containing qt4 and 1 failure. I don't see the error in any of the failure logs.

Jul 17 2017, 4:21 PM
andrew created D11622: Port devel/qt4-dbus to arm64.
Jul 17 2017, 3:44 PM

Jul 12 2017

andrew created D11564: Add i.MX6 and Xilinx to GENERIC.
Jul 12 2017, 11:24 AM

Jul 11 2017

andrew committed rS320894: Add external PLATFORM access on arm, and use it in the pl310 driver..
Add external PLATFORM access on arm, and use it in the pl310 driver.
Jul 11 2017, 4:30 PM
andrew closed D11546: Add external PLATFORM access, and use it in the pl310 driver. by committing rS320894: Add external PLATFORM access on arm, and use it in the pl310 driver..
Jul 11 2017, 4:30 PM

Jul 10 2017

andrew committed rS320873: Start to move the arm *_mp.h to be names *_machdep.h. These will be used.
Start to move the arm *_mp.h to be names *_machdep.h. These will be used
Jul 10 2017, 3:28 PM

Jul 9 2017

andrew created D11546: Add external PLATFORM access, and use it in the pl310 driver..
Jul 9 2017, 12:26 PM

Jul 7 2017

andrew committed rS320777: Remove the MULTIDELAY option from arm. It's now enabled when PLATFORM is.
Remove the MULTIDELAY option from arm. It's now enabled when PLATFORM is
Jul 7 2017, 1:55 PM

Jul 5 2017

andrew committed rS320669: Make MULTIDELAY a requirement in the MPCore Timer driver when using.
Make MULTIDELAY a requirement in the MPCore Timer driver when using
Jul 5 2017, 10:29 AM
andrew committed rS320668: Require the ARM Generic Timer driver is built for MULTIDELAY on 32bit arm..
Require the ARM Generic Timer driver is built for MULTIDELAY on 32bit arm.
Jul 5 2017, 9:27 AM

Jul 4 2017

andrew committed rS320651: Move the simple armv6 only timer drivers to require MULTIDELAY to help.
Move the simple armv6 only timer drivers to require MULTIDELAY to help
Jul 4 2017, 6:07 PM
andrew committed rS320648: Add a delay count to the last few places. This will help make MULTIDELAY.
Add a delay count to the last few places. This will help make MULTIDELAY
Jul 4 2017, 5:15 PM
andrew committed rS320647: Remove PLATFORM_SMP. It's unneeded as all configs with both PLATFORM and.
Remove PLATFORM_SMP. It's unneeded as all configs with both PLATFORM and
Jul 4 2017, 4:53 PM
andrew committed rS320643: Add PLATFORM and PLATFORM_SMP support to the ALPINE kernel configuration..
Add PLATFORM and PLATFORM_SMP support to the ALPINE kernel configuration.
Jul 4 2017, 12:27 PM
andrew committed rS320642: Teach VERSATILEPB about PLATFORM. This will help move it into the GENERIC.
Teach VERSATILEPB about PLATFORM. This will help move it into the GENERIC
Jul 4 2017, 12:18 PM
andrew committed rS320641: MFC r320403, r320497.
MFC r320403, r320497
Jul 4 2017, 10:54 AM

Jul 2 2017

andrew committed rS320571: In the arm64 pmap_remove, when removing a full superpage there is no need.
In the arm64 pmap_remove, when removing a full superpage there is no need
Jul 2 2017, 8:52 AM

Jul 1 2017

andrew committed rS320529: Remove all calls to cpu_dcache_wb_range from the arm64 pmap code. These.
Remove all calls to cpu_dcache_wb_range from the arm64 pmap code. These
Jul 1 2017, 9:39 AM

Jun 30 2017

andrew committed rS320497: Remove a blank line accidentally added in r320403..
Remove a blank line accidentally added in r320403.
Jun 30 2017, 2:46 PM
andrew created D11422: math/R: Build on arm64.
Jun 30 2017, 9:44 AM
andrew committed rP444704: www/node: Build on arm64.
www/node: Build on arm64
Jun 30 2017, 9:20 AM

Jun 29 2017

andrew committed rS320482: As with arm64 mark the EFI PE header as allocated on arm. This is needed.
As with arm64 mark the EFI PE header as allocated on arm. This is needed
Jun 29 2017, 10:09 PM
andrew committed rS320470: Start to remove _libc_arm_fpu_present checks. We don't support the VFP on.
Start to remove _libc_arm_fpu_present checks. We don't support the VFP on
Jun 29 2017, 2:00 PM
andrew closed D11393: Start to remove _libc_arm_fpu_present checks by committing rS320470: Start to remove _libc_arm_fpu_present checks. We don't support the VFP on.
Jun 29 2017, 2:00 PM

Jun 28 2017

andrew retitled D11393: Start to remove _libc_arm_fpu_present checks from Start to remote _libc_arm_fpu_present checks to Start to remove _libc_arm_fpu_present checks.
Jun 28 2017, 2:13 PM
andrew created D11393: Start to remove _libc_arm_fpu_present checks.
Jun 28 2017, 1:38 PM

Jun 27 2017

andrew committed rS320411: Add parentheses missed in r320388.
Add parentheses missed in r320388
Jun 27 2017, 4:30 PM
andrew committed rS320403: Some of the atomic_clear_* functions were incorrectly defined to be an.
Some of the atomic_clear_* functions were incorrectly defined to be an
Jun 27 2017, 10:45 AM