andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Yesterday

andrew added a comment to D14465: Create sysctl hw.model on ARM.

Why aren't you using the model property from the device tree?

Thu, Feb 22, 9:19 AM · ARM

Fri, Feb 16

andrew closed D14343: Put the rootfs on the correct partition.
Fri, Feb 16, 4:22 PM
andrew committed rS329382: Put the pine64 root filesystem on teh correct partition..
Put the pine64 root filesystem on teh correct partition.
Fri, Feb 16, 4:22 PM

Wed, Feb 14

andrew committed rD51423: Move to a new pgp key.
Move to a new pgp key
Wed, Feb 14, 9:30 AM

Tue, Feb 13

andrew updated the diff for D14343: Put the rootfs on the correct partition.

Update MD_ARGS

Tue, Feb 13, 6:32 PM
andrew added a reviewer for D14343: Put the rootfs on the correct partition: releng.
Tue, Feb 13, 9:35 AM
andrew created D14343: Put the rootfs on the correct partition.
Tue, Feb 13, 9:35 AM

Fri, Feb 9

andrew added inline comments to D14062: Make memory mapped via pmap_qenter() non-executable for amd64/i386..
Fri, Feb 9, 9:33 PM

Thu, Feb 1

andrew added inline comments to D14104: Implement pinctl functionality for Raspberr Pi platform.
Thu, Feb 1, 4:16 PM
andrew committed rS328662: Disable EARLY_PRINTF from the Armada 3700 uart, it breaks when we want.
Disable EARLY_PRINTF from the Armada 3700 uart, it breaks when we want
Thu, Feb 1, 3:05 PM
andrew committed rS328658: Only promote userspace mappings to superpages. This was dropped in r328510,.
Only promote userspace mappings to superpages. This was dropped in r328510,
Thu, Feb 1, 2:26 PM

Tue, Jan 30

andrew added inline comments to D14104: Implement pinctl functionality for Raspberr Pi platform.
Tue, Jan 30, 11:43 AM

Wed, Jan 24

andrew added a comment to D14033: uefi.8: clarify history and drop AUTHORS.
In D14033#294754, @manu wrote:

armv7 isn't really supported, status goes on and off at each u-boot or loader.efi changes, I'm trying to keep it working but sometimes it fails. (also we don't install loader.efi or boot1.efi for arm RELEASE/SNAPSHOT images).

Wed, Jan 24, 11:50 PM

Jan 24 2018

andrew accepted D14023: BPF: Switch to 32 bit compatible mode only when thread is 32 bit.
Jan 24 2018, 5:55 PM

Jan 23 2018

andrew added a comment to D14023: BPF: Switch to 32 bit compatible mode only when thread is 32 bit.

But we know if it's a 32 bit ioctl by checking SV_PROC_FLAG(td->td_proc, SV_ILP32), we don't need to break the ABI.

Jan 23 2018, 5:06 PM
andrew requested changes to D14023: BPF: Switch to 32 bit compatible mode only when thread is 32 bit.

We should fix the BIOCSRTIMEOUT32 case rather than breaking the ioctl ABI.

Jan 23 2018, 3:22 PM
andrew added a comment to D14023: BPF: Switch to 32 bit compatible mode only when thread is 32 bit.

Won't this mean the 32 bit ioctl won't work?

Jan 23 2018, 2:04 PM

Jan 19 2018

andrew added inline comments to D13978: Unify metadata load files for arm, mips, powerpc, sparc64.
Jan 19 2018, 8:17 AM

Jan 18 2018

andrew accepted D13972: Support for UART device on Qualcomm Snapdragon 410e.
Jan 18 2018, 5:37 PM
andrew accepted D13942: stand: Move sections around to fix stand/ build with ld.lld on armv7.
Jan 18 2018, 5:36 PM
andrew added a comment to D13972: Support for UART device on Qualcomm Snapdragon 410e.

You should also add it to files.arm64 and the arm64 GENERIC config.

Jan 18 2018, 5:21 PM
andrew added inline comments to D13972: Support for UART device on Qualcomm Snapdragon 410e.
Jan 18 2018, 5:07 PM
andrew accepted D13536: Set the address of translation table for thread0..
Jan 18 2018, 3:49 PM
andrew committed rS328115: Add a pmap invalidate that doesn't call sched_pin..
Add a pmap invalidate that doesn't call sched_pin.
Jan 18 2018, 10:52 AM
andrew closed D13955: Add a pmap invalidate that doesn't call sched_pin.
Jan 18 2018, 10:52 AM
andrew added a comment to D13942: stand: Move sections around to fix stand/ build with ld.lld on armv7.

Do you have rS328007? That looks similar to what I was seeing, however in my case it would continue booting then fail to start the secondary CPUs.

Jan 18 2018, 8:55 AM

Jan 17 2018

andrew created D13955: Add a pmap invalidate that doesn't call sched_pin.
Jan 17 2018, 6:21 PM
andrew added a comment to D13942: stand: Move sections around to fix stand/ build with ld.lld on armv7.

Aside: I don't have any armv7 EFI stuff to test boot with, so coverage for that change is lacking. I also haven't checked that that change still builds with ld.bfd, but I have no reason to think it wouldn't.

Jan 17 2018, 9:20 AM

Jan 15 2018

andrew committed rS328007: Fix booting on some arm64 systems after r327879 by fixing the call to.
Fix booting on some arm64 systems after r327879 by fixing the call to
Jan 15 2018, 4:58 PM
andrew closed D13915: Fix booting on arm64.
Jan 15 2018, 4:58 PM
andrew added inline comments to D13915: Fix booting on arm64.
Jan 15 2018, 4:21 PM
andrew created D13915: Fix booting on arm64.
Jan 15 2018, 2:18 PM

Jan 13 2018

andrew accepted D13793: Introduce aw_syscon(4) for earlier attachment.
Jan 13 2018, 5:30 PM

Jan 12 2018

andrew committed rS327876: Workaround Spectre Variant 2 on arm64..
Workaround Spectre Variant 2 on arm64.
Jan 12 2018, 2:01 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Jan 12 2018, 2:01 PM
andrew added inline comments to D13812: Workaround Spectre Variant 2 on arm64..
Jan 12 2018, 1:57 PM

Jan 11 2018

andrew added a comment to D13863: Simplify and cleanup startup code for secondary cores..

Will this still work on the Juno where the boot cpu is not the first CPU in the dtb?

Jan 11 2018, 6:11 PM
andrew added a comment to D13864: Add workaround for broken PSCI implementation..

Does this need to live in asm? If we don't trust the value passed we should just stop using it, but this would be easier to follow if it was moved to init_secondary.

Jan 11 2018, 6:10 PM
andrew committed rS327836: iAdd ACPI attachments the the GIC and GICv3 interrupt controller drivers..
iAdd ACPI attachments the the GIC and GICv3 interrupt controller drivers.
Jan 11 2018, 5:23 PM
andrew closed D8720: Add ACPI support to the GICv2 and GICv3 drivers..
Jan 11 2018, 5:23 PM
andrew committed rS327835: Add the start of INTRNG support for ACPI..
Add the start of INTRNG support for ACPI.
Jan 11 2018, 5:09 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Jan 11 2018, 5:09 PM
andrew added a comment to D13861: Add support for booting FreeBSD kernel directly from U_Boot using booti command..

You didn't describe any reason it wouldn't work. Rather than the kernel as the first argument to booti, it would be the second, after either passing it through mkimage, or loading it as a raw file with a size.

Jan 11 2018, 4:27 PM
andrew added a comment to D13861: Add support for booting FreeBSD kernel directly from U_Boot using booti command..

Previously I've created a simple loader to create the module data & loaded the kernel as an initrd image.

Jan 11 2018, 3:31 PM
andrew added a comment to D13793: Introduce aw_syscon(4) for earlier attachment.

I've been told I should also be supplying methods for initializing/destroying the base class softc, so turn the attach/detach methods into calls to softc_{init,destroy} and move their logic into those functions.

Jan 11 2018, 10:56 AM

Jan 10 2018

andrew added a comment to D13812: Workaround Spectre Variant 2 on arm64..

Should we create a tunable to disable this?

Jan 10 2018, 5:57 PM

Jan 9 2018

andrew created D13812: Workaround Spectre Variant 2 on arm64..
Jan 9 2018, 3:58 PM
andrew committed rS327728: Add a function to find the PSCI version the firmware implements from.
Add a function to find the PSCI version the firmware implements from
Jan 9 2018, 3:57 PM
andrew committed rS327727: Add a framework to install CPU errata on arm64. Each erratum can encode.
Add a framework to install CPU errata on arm64. Each erratum can encode
Jan 9 2018, 2:33 PM

Jan 8 2018

andrew accepted D13793: Introduce aw_syscon(4) for earlier attachment.
Jan 8 2018, 5:38 PM
andrew committed rS327691: Only install the new pagetable pointer into ttbr0_el1 when it differs from.
Only install the new pagetable pointer into ttbr0_el1 when it differs from
Jan 8 2018, 11:08 AM
andrew committed rS327690: Move some of the common thread switching code into C. This will help with.
Move some of the common thread switching code into C. This will help with
Jan 8 2018, 10:23 AM
andrew added a comment to D13793: Introduce aw_syscon(4) for earlier attachment.

You should make aw_syscon(4) a subclass of syscon_generic. This will allow it to pick up future changes without you having to change all the SoC specific drivers.

Jan 8 2018, 7:52 AM

Jan 5 2018

andrew added a comment to D13536: Set the address of translation table for thread0..

Nice, this looks OK for me
But,it seems that there are some related problems:

  • the PCB for proc0/thread0 is allocated on top of stack, from dirty memory, but not all fields are not initialized - this is probably a root cause why this bug is not visible on all boards.
  • we leaks initial low memory mappings in kernel_pmap. This can results to double mappings with different attributes which is undefined behavior. Imho, we should clear all mappings in low memory region.
Jan 5 2018, 1:59 PM

Dec 14 2017

andrew committed rS326850: Add the virtualisation special register definitions..
Add the virtualisation special register definitions.
Dec 14 2017, 1:20 PM
andrew closed D11846: Add to sysreg definition for coproc regs required for virtualization.
Dec 14 2017, 1:20 PM

Dec 8 2017

andrew committed rS326683: Set the io width when using an ACPI uart. Previously it would only ever be.
Set the io width when using an ACPI uart. Previously it would only ever be
Dec 8 2017, 10:05 AM

Dec 4 2017

andrew committed rS326525: Use the module pointer to find the address we need to map to in the early.
Use the module pointer to find the address we need to map to in the early
Dec 4 2017, 11:25 AM
andrew committed rS326524: Print the correct value when freelist is out of range..
Print the correct value when freelist is out of range.
Dec 4 2017, 11:17 AM

Dec 3 2017

andrew added a comment to D13311: Make COMPAT_FREEBSD32 part of GENERIC on arm64..

Description looks good.

Question, what happens on hardware w/o AArch32?

Dec 3 2017, 10:17 AM

Nov 30 2017

andrew added inline comments to D13311: Make COMPAT_FREEBSD32 part of GENERIC on arm64..
Nov 30 2017, 7:16 PM
andrew added inline comments to D13295: arm: add generic syscon driver.
Nov 30 2017, 10:55 AM

Nov 28 2017

andrew committed rS326318: Fix the direction we move the instruction to retuirn to after exiting the.
Fix the direction we move the instruction to retuirn to after exiting the
Nov 28 2017, 4:27 PM
andrew committed rS326313: MFC r326137:.
MFC r326137:
Nov 28 2017, 11:06 AM
andrew committed rS326312: When we exit the kernel debugger having entered because of a breakpoint.
When we exit the kernel debugger having entered because of a breakpoint
Nov 28 2017, 11:04 AM
andrew accepted D13273: Fix index calculation for the page table pages for efirt 1:1 map..
Nov 28 2017, 8:16 AM

Nov 27 2017

andrew committed rS326280: Set the kernel file name so the kern.bootfile sysctl is set. This allows.
Set the kernel file name so the kern.bootfile sysctl is set. This allows
Nov 27 2017, 4:19 PM

Nov 26 2017

andrew accepted D13148: Add a Saved Process Status Register bit for AArch32 execution mode..
Nov 26 2017, 2:55 PM · arm64, ARM
andrew added inline comments to D13148: Add a Saved Process Status Register bit for AArch32 execution mode..
Nov 26 2017, 2:53 PM · arm64, ARM
andrew added a comment to D13148: Add a Saved Process Status Register bit for AArch32 execution mode..
In D13148#273977, @ed wrote:
In D13148#273913, @ed wrote:

This would be benign, right? For the kernel, it is irrelevant whether user space sets or clears this flag. Just like NZCV, etc.

I'm not sure how the kernel would handle userspace changing between 64 and 32 bit code.

It's pretty straight-forward how that's handled, right? The only way this can take effect is by going through EL1, the kernel, first. For the CPU, it would just be an ordinary context switch like any other.

Nov 26 2017, 1:24 PM · arm64, ARM
andrew accepted D13146: Make 32-bit system calls end up in svc_handler()..
Nov 26 2017, 1:00 PM · arm64, ARM
andrew added a comment to D13243: arm64: fix build with DIAGNOSTIC.

I fixed it by making them static inline before I was this review.

Nov 26 2017, 9:30 AM
andrew committed rS326225: Make the arm64 pmap_invalidate functions static inline. This fixes building.
Make the arm64 pmap_invalidate functions static inline. This fixes building
Nov 26 2017, 9:29 AM

Nov 24 2017

andrew accepted D13145: Set CP15BEN in SCTLR to make memory barriers work in 32-bit mode..
Nov 24 2017, 1:49 PM · arm64, ARM
andrew accepted D13144: Add rudimentary support for building FreeBSD/arm64 with COMPAT_FREEBSD32..
Nov 24 2017, 1:45 PM · arm64, ARM

Nov 23 2017

andrew committed rS326137: Ensure we check the program state set in the trap frame on arm and arm64..
Ensure we check the program state set in the trap frame on arm and arm64.
Nov 23 2017, 5:41 PM
andrew committed rS326121: Zero struct efi_tm before setting the needed values. We don't use the dst.
Zero struct efi_tm before setting the needed values. We don't use the dst
Nov 23 2017, 10:34 AM

Nov 21 2017

andrew added inline comments to D12650: Add EFI RTC support.
Nov 21 2017, 5:26 PM
andrew committed rS326066: Add a driver for the EFI RTC. This uses the EFI Runtime Services to query.
Add a driver for the EFI RTC. This uses the EFI Runtime Services to query
Nov 21 2017, 5:23 PM
andrew closed D12650: Add EFI RTC support.
Nov 21 2017, 5:23 PM
andrew committed rS326056: When fpcurthread is not the current thread it may be non-NULL. In this.
When fpcurthread is not the current thread it may be non-NULL. In this
Nov 21 2017, 1:19 PM

Nov 19 2017

andrew added a comment to D13148: Add a Saved Process Status Register bit for AArch32 execution mode..
In D13148#273913, @ed wrote:

This would be benign, right? For the kernel, it is irrelevant whether user space sets or clears this flag. Just like NZCV, etc.

Nov 19 2017, 3:19 PM · arm64, ARM
andrew added a comment to D13145: Set CP15BEN in SCTLR to make memory barriers work in 32-bit mode..

Are we expecting to run armv6 code, or should we just support armv7?

Nov 19 2017, 11:34 AM · arm64, ARM
andrew requested changes to D13148: Add a Saved Process Status Register bit for AArch32 execution mode..

This will allow userspace to switch between AArch64 and AArch32 via sigreturn. sys_sigreturn has checks on the PSR bits to ensure they are safe to install that this will break.

Nov 19 2017, 11:33 AM · arm64, ARM
andrew added a comment to D13146: Make 32-bit system calls end up in svc_handler()..

I split the syncronous exception out into a new handler in my compat32 patch as it allows further sanity checks, e.g. that the kernel thinks the current process should be in 32-bit mode.

Nov 19 2017, 11:30 AM · arm64, ARM
andrew added inline comments to D13144: Add rudimentary support for building FreeBSD/arm64 with COMPAT_FREEBSD32..
Nov 19 2017, 10:51 AM · arm64, ARM

Nov 18 2017

andrew added a comment to D13136: Add ac100 driver.

It feels like this should be 2 drivers. One to talk with the ac100, and a second jsut for the rtc bits.

Nov 18 2017, 5:13 PM

Nov 17 2017

andrew added a comment to D12650: Add EFI RTC support.
In D12650#273067, @kib wrote:

I'm building a new kernel to test this on a SoftIron OverDrive 1000 now.

I believe that the patch was already tested on arm64, IMO amd64 would be much more interesting.

Nov 17 2017, 4:11 PM
andrew created D13131: Replace the incorrect C arm fabs(3) code with an asm version..
Nov 17 2017, 9:43 AM

Nov 16 2017

andrew added inline comments to D12650: Add EFI RTC support.
Nov 16 2017, 5:47 PM
andrew updated the diff for D12650: Add EFI RTC support.
  • Be stricter when we use the driver
  • Update style base on feedback from kib
Nov 16 2017, 5:47 PM

Oct 31 2017

andrew committed rS325251: Allocate the ITS translation table with a 64k page alignment. This is the.
Allocate the ITS translation table with a 64k page alignment. This is the
Oct 31 2017, 11:17 PM
andrew committed rS325250: As with r325242 use mp_maxid when iterating over CPUs in the GICv3 driver..
As with r325242 use mp_maxid when iterating over CPUs in the GICv3 driver.
Oct 31 2017, 10:12 PM
andrew committed rS325242: Use mp_maxid when iterating over CPUs as we may have sparse id allocations..
Use mp_maxid when iterating over CPUs as we may have sparse id allocations.
Oct 31 2017, 6:22 PM

Oct 22 2017

andrew accepted D12757: loader.efi: Make framebuffer commands available for arm64.
Oct 22 2017, 3:17 PM

Oct 20 2017

andrew added a comment to D12725: Eliminate redundant TLB invalidations in the arm64 pmap.

I think the architecture allows us to issue the tlb invalidation, then later execute the dsb & isb instructions as long as we don't try to the old mapping, however will need to check with ARM. We should also just invalidate all entries in pmap_invalidate_range if the length is too long, however in this case it may be better to stop invalidating until after we have removed all the pagetable entries.

Oct 20 2017, 9:51 AM

Oct 19 2017

andrew committed rS324754: Allow later PSCI revisions to also work. The latest ARM Trusted Firmware.
Allow later PSCI revisions to also work. The latest ARM Trusted Firmware
Oct 19 2017, 1:23 PM

Oct 13 2017

andrew created D12650: Add EFI RTC support.
Oct 13 2017, 9:31 AM

Oct 12 2017

andrew accepted D12645: arm: add "rev16" to dissasembly.
Oct 12 2017, 3:48 PM
andrew added a comment to D12639: Enable VIMAGE by default.

Should we enable it on ARMv4/ARMv5 (i.e. old ARM systems)? If so you should add it to sys/arm/conf/std.arm.

Oct 12 2017, 9:38 AM