Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Yesterday

andrew requested review of D33321: Handle table attributes in the arm64 kernel map.
Tue, Dec 7, 4:18 PM
andrew closed D33304: Teach vm.pmap.kernel_maps about both XN bits.
Tue, Dec 7, 4:03 PM
andrew committed R10:38dbca724335: Teach vm.pmap.kernel_maps about both XN bits (authored by andrew).
Teach vm.pmap.kernel_maps about both XN bits
Tue, Dec 7, 4:03 PM
andrew updated the diff for D33304: Teach vm.pmap.kernel_maps about both XN bits.

Swap x & X

Tue, Dec 7, 1:15 PM
andrew added a comment to D33251: Restrict when we invalidate the full TLB on arm64.

In pmap_activate_int we have:

epoch = COOKIE_TO_EPOCH(pmap->pm_cookie);
if (epoch >= 0 && epoch != set->asid_epoch)
   pmap_alloc_asid(pmap);
Tue, Dec 7, 12:09 PM

Mon, Dec 6

andrew added a comment to D33304: Teach vm.pmap.kernel_maps about both XN bits.

It should always be set on kernel maps. I would expect any executable shared memory to be in the user address space.

Mon, Dec 6, 7:33 PM
andrew requested review of D33304: Teach vm.pmap.kernel_maps about both XN bits.
Mon, Dec 6, 5:04 PM

Fri, Dec 3

andrew added a comment to D33251: Restrict when we invalidate the full TLB on arm64.

This is in preparation for changing how to mark a pmap as dead in D30845. I'm planning on making the epoch INT_MAX for stage 2 pmaps in pmap_remove_pages so I can add an assertion on pmap_is_current_epoch(pmap) == false in the stage 2 case.

Fri, Dec 3, 6:00 PM
andrew requested review of D33251: Restrict when we invalidate the full TLB on arm64.
Fri, Dec 3, 5:50 PM

Wed, Dec 1

andrew added a comment to D31945: libmd: Only define SHA256_Transform_c when using the ARM64 ifunc..

Was there a conclusion to this? I have a similar sha512 implementation so would like to include the fix there.

Wed, Dec 1, 3:50 PM
andrew committed R10:629b5e87ed82: Add an arm64 sha512 feature check (authored by andrew).
Add an arm64 sha512 feature check
Wed, Dec 1, 3:15 PM
andrew closed D33166: Add an arm64 sha512 feature check.
Wed, Dec 1, 3:15 PM
andrew updated the diff for D33166: Add an arm64 sha512 feature check.

Update based on feedback

Wed, Dec 1, 2:50 PM

Tue, Nov 30

andrew added inline comments to D33170: USB: dwc3: use device_{has,get}_property().
Tue, Nov 30, 3:40 PM

Mon, Nov 29

andrew requested review of D33166: Add an arm64 sha512 feature check.
Mon, Nov 29, 5:23 PM

Fri, Nov 26

andrew closed D33079: Per-thread stack canary on arm64.
Fri, Nov 26, 2:52 PM
andrew committed R10:ae92ace05fd4: Per-thread stack canary on arm64 (authored by andrew).
Per-thread stack canary on arm64
Fri, Nov 26, 2:51 PM

Wed, Nov 24

andrew closed D33099: Fix bracketing in the arm64 minidump code.
Wed, Nov 24, 3:38 PM
andrew committed R10:3ff041945054: Fix bracketing in the arm64 minidump code (authored by andrew).
Fix bracketing in the arm64 minidump code
Wed, Nov 24, 3:38 PM
andrew committed R10:dd978721a223: Remove redundant declarations (authored by andrew).
Remove redundant declarations
Wed, Nov 24, 3:38 PM

Tue, Nov 23

andrew requested review of D33099: Fix bracketing in the arm64 minidump code.
Tue, Nov 23, 6:32 PM
andrew committed R10:44ca3690519b: Move the arm64 identify_cpu SYSINIT earlier (authored by andrew).
Move the arm64 identify_cpu SYSINIT earlier
Tue, Nov 23, 3:11 PM

Mon, Nov 22

andrew added inline comments to D32691: GIC: add IRQ ranges.
Mon, Nov 22, 9:48 PM
andrew added inline comments to D33079: Per-thread stack canary on arm64.
Mon, Nov 22, 4:56 PM
andrew requested review of D33079: Per-thread stack canary on arm64.
Mon, Nov 22, 4:38 PM

Sun, Nov 21

andrew added a comment to D33071: arm64: Enable SHA256 instruction in the kernel.

Is this safe if the caller doesn't have a floating point context? It could trash userspace floating point registers.

Sun, Nov 21, 5:20 PM

Fri, Nov 19

andrew committed R10:b2e843161dc3: Use a builtin where possible in msun (authored by andrew).
Use a builtin where possible in msun
Fri, Nov 19, 11:57 AM
andrew committed R10:2e8ff4d1d5b9: Switch to Arm Optimized Routines for mem* & str* (authored by andrew).
Switch to Arm Optimized Routines for mem* & str*
Fri, Nov 19, 11:56 AM
andrew closed D32801: Use a builtin where possible in msun.
Fri, Nov 19, 11:56 AM
andrew closed D32774: Switch to Arm Optimized Routines for mem* & str*.
Fri, Nov 19, 11:56 AM

Wed, Nov 17

andrew added a comment to D28737: stand: Support (and prefer) the SMBIOS 64-bit Entry Point Structure.

It's also useful for me for hypervisor ID changes I have for https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258550

Wed, Nov 17, 4:55 PM
andrew added inline comments to D32873: kern: physmem: operate on whole page boundaries for *_avail.
Wed, Nov 17, 2:08 PM

Fri, Nov 12

andrew committed R10:ae062ff2695f: Move KHELP_DECLARE_MOD_UMA later in the boot (authored by andrew).
Move KHELP_DECLARE_MOD_UMA later in the boot
Fri, Nov 12, 7:04 PM
andrew added a comment to D32964: tcp: better congestion control defaults.

It might pay to switch to options<space><tab>CC_NEWRENO while here to make its style consistent with the other options.

Fri, Nov 12, 5:17 PM
andrew added a comment to D32801: Use a builtin where possible in msun.

ping

Fri, Nov 12, 4:05 PM
andrew added a comment to D32774: Switch to Arm Optimized Routines for mem* & str*.

ping

Fri, Nov 12, 4:05 PM
andrew accepted D32958: aarch64: Add static asssert for context size.

These should also be true in CheriBSD running FreeBSD/arm64 binaries. I'll have to look how we could handle the new extensions where userspace may have access to larger register files, e.g. SVE has 32 registers that could be up to 2048 bytes each. In this case I expect we'll store them in their own variable sized structure that one of the spare fields point to.

Fri, Nov 12, 11:20 AM

Nov 5 2021

andrew added inline comments to D32854: hwpmc: initialize arm64 counter/interrupt state.
Nov 5 2021, 5:05 PM

Nov 3 2021

andrew updated the diff for D32801: Use a builtin where possible in msun.

Set -fno-math-errno

Nov 3 2021, 3:32 PM
andrew added a comment to D32801: Use a builtin where possible in msun.

It does, although we need to build the sqrt functions with -fno-math-errno to handle the < -0.0 case correctly.

Nov 3 2021, 3:14 PM
andrew updated the diff for D32801: Use a builtin where possible in msun.

Fix the fminf/fmaxf checks

Nov 3 2021, 1:24 PM
andrew retitled D32801: Use a builtin where possible in msun from Use a builtin to implement the arm64 fma/fmaf to Use a builtin where possible in msun.
Nov 3 2021, 1:20 PM
andrew updated the diff for D32801: Use a builtin where possible in msun.
  • Move the builtin to the original C file
  • Add more functions
Nov 3 2021, 1:19 PM

Nov 2 2021

andrew added a comment to D32801: Use a builtin where possible in msun.

What about fmal?

...

While the simpler return ((x * y) + z); generates:

0000000000000000 <fma>:
       0: 55                            pushq   %rbp
       1: 48 89 e5                      movq    %rsp, %rbp
       4: f2 0f 59 c1                   mulsd   %xmm1, %xmm0
       8: f2 0f 58 c2                   addsd   %xmm2, %xmm0
       c: 5d                            popq    %rbp
       d: c3                            retq

Obviously this is out of scope for this change, but the problem looks bigger than just arm64. Trying to outsmart the compiler no longer makes sense here.

Nov 2 2021, 5:01 PM
andrew accepted D32797: sched: separate out schedinit_ap().

I wonder if there's a generic way we could handle this as a quick check shows the same issue on other architectures when we don't have EARLY_AP_STARTUP.

Nov 2 2021, 12:39 PM
andrew requested review of D32801: Use a builtin where possible in msun.
Nov 2 2021, 11:51 AM
andrew added inline comments to D32723: ipq4018: add SoC reset, SMP, reset syscon and qcom_rnd driver.
Nov 2 2021, 10:41 AM
andrew updated the diff for D32774: Switch to Arm Optimized Routines for mem* & str*.

Switch to mostly generated asm including the needed file.

  • Re-adds the index symbol
  • Add an empty memmove.S to simplify the libc and rtld builds
Nov 2 2021, 9:47 AM

Nov 1 2021

andrew added a comment to D32774: Switch to Arm Optimized Routines for mem* & str*.

I have an updated version in testing as we need to define index and rindex as weak references to strchr and strrchr respectively. I'm also adding an empty memmove.S to so we don't need to remove it from MISRCS, and so rtld can copy the object file for its build.

Nov 1 2021, 6:19 PM
andrew requested review of D32774: Switch to Arm Optimized Routines for mem* & str*.
Nov 1 2021, 1:39 PM
andrew committed R10:62cbc00d2f57: Print the correct register for the arm64 elr (authored by andrew).
Print the correct register for the arm64 elr
Nov 1 2021, 11:28 AM

Oct 27 2021

andrew added a comment to D24423: arm/pmu: add ACPI attachment.

Was it intentional you reverted MAX_RLEN back to 8?

Oct 27 2021, 11:55 AM · arm64
andrew added inline comments to D24423: arm/pmu: add ACPI attachment.
Oct 27 2021, 10:57 AM · arm64

Oct 26 2021

andrew closed D19830: Create sys/reg.h for the common code previously in machine/reg.h.
Oct 26 2021, 6:24 PM

Oct 25 2021

andrew committed R10:3a98aae1e5a6: Teach the readelf about arm64 gnu properties (authored by andrew).
Teach the readelf about arm64 gnu properties
Oct 25 2021, 1:55 PM
andrew committed R10:39dbb494404f: Only demote when needed in the arm64 pmap_change_props_locked (authored by andrew).
Only demote when needed in the arm64 pmap_change_props_locked
Oct 25 2021, 1:55 PM
andrew committed R10:f803dd1e24ea: Add pmap_change_prot on arm64 (authored by andrew).
Add pmap_change_prot on arm64
Oct 25 2021, 1:55 PM
andrew committed R10:dafad94bdb0d: Also print symbols when printing arm64 registers (authored by andrew).
Also print symbols when printing arm64 registers
Oct 25 2021, 1:55 PM
andrew committed R10:2b2cef987353: Add the arm64 table attributes and use them (authored by andrew).
Add the arm64 table attributes and use them
Oct 25 2021, 1:55 PM

Oct 21 2021

andrew closed D32573: Only change the fadt revision in acpidump on i386.
Oct 21 2021, 11:24 AM
andrew committed R10:01593a0ff9f1: Only change the fadt revision in acpidump on i386 (authored by andrew).
Only change the fadt revision in acpidump on i386
Oct 21 2021, 11:24 AM

Oct 20 2021

andrew committed R10:4fb002805e0d: Pass the ACPI ID when reading the ACPI domain (authored by andrew).
Pass the ACPI ID when reading the ACPI domain
Oct 20 2021, 10:02 AM
andrew closed D32546: Pass the ACPI ID when reading the ACPI domain.
Oct 20 2021, 10:02 AM
andrew requested review of D32573: Only change the fadt revision in acpidump on i386.
Oct 20 2021, 9:38 AM

Oct 18 2021

andrew updated the diff for D32546: Pass the ACPI ID when reading the ACPI domain.

Use the correct UID value

Oct 18 2021, 3:01 PM
andrew retitled D32546: Pass the ACPI ID when reading the ACPI domain from Use pass the ACPI ID when reading the ACPI domain to Pass the ACPI ID when reading the ACPI domain.
Oct 18 2021, 11:01 AM
andrew requested review of D32546: Pass the ACPI ID when reading the ACPI domain.
Oct 18 2021, 10:39 AM

Oct 17 2021

andrew added inline comments to D32538: ipq4018: add initial IPQ4018/IPQ4019 support.
Oct 17 2021, 6:14 PM

Oct 12 2021

andrew committed R10:0906563718d3: Stop reading the arm64 domain when it's known (authored by andrew).
Stop reading the arm64 domain when it's known
Oct 12 2021, 12:22 PM

Oct 11 2021

andrew added inline comments to D32360: Add membarrier(2).
Oct 11 2021, 8:08 PM
andrew added inline comments to D32360: Add membarrier(2).
Oct 11 2021, 6:01 PM
andrew added a comment to D32321: Add support of ARM CMN-600 controller, PMU access functions only. Add support of PMU counters of ARM CMN-600 controller..

Is this missing a change to attach these files to the build?

Oct 11 2021, 5:06 PM
andrew committed R10:1dac7b4b7ed6: Fix the arm64 L2_BLOCK_MASK definition (authored by andrew).
Fix the arm64 L2_BLOCK_MASK definition
Oct 11 2021, 12:17 PM
andrew committed R10:cebda3bec001: Add ELF macros found in the aaelf64 spec (authored by andrew).
Add ELF macros found in the aaelf64 spec
Oct 11 2021, 12:17 PM
andrew committed R10:00c276a25024: Use a 64 bit read to access GICR_TYPER (authored by andrew).
Use a 64 bit read to access GICR_TYPER
Oct 11 2021, 12:16 PM
andrew committed R10:aacbf3fb8482: Teach the readelf about arm64 gnu properties (authored by andrew).
Teach the readelf about arm64 gnu properties
Oct 11 2021, 10:45 AM
andrew committed R10:a90ebeb5feea: Allocate arm64 per-CPU data in the correct domain (authored by andrew).
Allocate arm64 per-CPU data in the correct domain
Oct 11 2021, 10:45 AM
andrew committed R10:806a88e74200: Only demote when needed in the arm64 pmap_change_props_locked (authored by andrew).
Only demote when needed in the arm64 pmap_change_props_locked
Oct 11 2021, 10:45 AM
andrew committed R10:a85ce4ad7272: Add pmap_change_prot on arm64 (authored by andrew).
Add pmap_change_prot on arm64
Oct 11 2021, 10:45 AM
andrew closed D32315: Teach the readelf about arm64 gnu properties.
Oct 11 2021, 10:44 AM
andrew closed D32338: Allocate arm64 per-CPU data in the correct domain.
Oct 11 2021, 10:44 AM
andrew closed D32339: Only demote when needed in the arm64 pmap_change_props_locked.
Oct 11 2021, 10:44 AM
andrew closed D32026: Add pmap_change_prot on arm64.
Oct 11 2021, 10:44 AM

Oct 7 2021

andrew added inline comments to D32338: Allocate arm64 per-CPU data in the correct domain.
Oct 7 2021, 11:25 AM
andrew updated the diff for D32338: Allocate arm64 per-CPU data in the correct domain.

Use cpuid_to_pcpu

Oct 7 2021, 11:24 AM
andrew updated the diff for D32339: Only demote when needed in the arm64 pmap_change_props_locked.

Fix the size in cpu_dcache_wbinv_range

Oct 7 2021, 10:20 AM

Oct 6 2021

andrew requested review of D32339: Only demote when needed in the arm64 pmap_change_props_locked.
Oct 6 2021, 4:46 PM
andrew added inline comments to D32315: Teach the readelf about arm64 gnu properties.
Oct 6 2021, 4:34 PM
andrew updated the diff for D32315: Teach the readelf about arm64 gnu properties.

Fix the spelling of PAC

Oct 6 2021, 3:58 PM
andrew requested review of D32338: Allocate arm64 per-CPU data in the correct domain.
Oct 6 2021, 3:54 PM

Oct 5 2021

andrew added inline comments to D32321: Add support of ARM CMN-600 controller, PMU access functions only. Add support of PMU counters of ARM CMN-600 controller..
Oct 5 2021, 4:01 PM
andrew requested review of D32315: Teach the readelf about arm64 gnu properties.
Oct 5 2021, 12:57 PM

Oct 4 2021

andrew added inline comments to D19831: Add PT_GETREGSET.
Oct 4 2021, 5:16 PM
andrew committed R10:507a22be3850: Add the missing license to gic_if.m (authored by andrew).
Add the missing license to gic_if.m
Oct 4 2021, 12:22 PM

Oct 1 2021

andrew updated the diff for D32026: Add pmap_change_prot on arm64.

Update a comment and KASSERT

Oct 1 2021, 5:17 PM
andrew added inline comments to D32026: Add pmap_change_prot on arm64.
Oct 1 2021, 4:50 PM
andrew committed R10:18c213949540: Add a gic interface to allocate MSI interrupts (authored by andrew).
Add a gic interface to allocate MSI interrupts
Oct 1 2021, 10:28 AM
andrew committed R10:3d2533f5c29f: Allow ddb and dtrace use the DMAP region on arm64 (authored by andrew).
Allow ddb and dtrace use the DMAP region on arm64
Oct 1 2021, 10:28 AM
andrew committed R10:7ec86b660991: Also print symbols when printing arm64 registers (authored by andrew).
Also print symbols when printing arm64 registers
Oct 1 2021, 10:28 AM
andrew closed D32224: Add a gic interface to allocate MSI interrupts.
Oct 1 2021, 10:28 AM