Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Thu, Jan 16

andrew created D23207: Allow the FACS and XFACS to be zero.
Thu, Jan 16, 2:15 PM

Sun, Jan 12

andrew accepted D23122: retire BSD_CRTBEGIN option.
Sun, Jan 12, 5:15 PM

Thu, Jan 9

andrew added inline comments to D22963: Expand generic subword atomic primitives.
Thu, Jan 9, 12:45 PM
andrew committed rS356550: Add atomic_testandset/clear on arm64..
Add atomic_testandset/clear on arm64.
Thu, Jan 9, 10:26 AM
andrew closed D23019: Add atomic_testandset/clear on arm64.
Thu, Jan 9, 10:26 AM

Mon, Jan 6

andrew committed rS356426: Add more Arm arm64 CPU identification values.
Add more Arm arm64 CPU identification values
Mon, Jan 6, 8:58 PM

Fri, Jan 3

andrew added a comment to D22963: Expand generic subword atomic primitives.

Any chance you could be convinced to do the quick copy/paste to add testandclear_long, too, while you're there? If not, no worries- I'll hit it up afterwards. It's another one that Jeff wants for uma/bitstring stuff.

Fri, Jan 3, 10:26 AM
andrew created D23019: Add atomic_testandset/clear on arm64.
Fri, Jan 3, 10:25 AM
andrew committed rS356316: Add the 8 and 16 bit atomic load/store functions with a barrier on arm64..
Add the 8 and 16 bit atomic load/store functions with a barrier on arm64.
Fri, Jan 3, 10:04 AM
andrew closed D22966: Add the 8 and 16 bit atomic load/store functions with a barrier.
Fri, Jan 3, 10:04 AM
andrew added a comment to D22966: Add the 8 and 16 bit atomic load/store functions with a barrier.
In D22966#503493, @cem wrote:

The half- and byte-suffix variants are available in the base arm64 ISA, right?

Fri, Jan 3, 10:03 AM

Thu, Jan 2

andrew committed rS356269: Add the missing trailing '/' when setting TARGET_ARCH from TARGET.
Add the missing trailing '/' when setting TARGET_ARCH from TARGET
Thu, Jan 2, 11:02 AM

Mon, Dec 30

andrew added a comment to D22963: Expand generic subword atomic primitives.

Which of these are needed on arm64? I created D22966 to add the 8 and 16 bit load_acq & store_rel functions.

Mon, Dec 30, 10:00 AM
andrew created D22966: Add the 8 and 16 bit atomic load/store functions with a barrier.
Mon, Dec 30, 9:59 AM
andrew accepted D22907: Enable hardware updates to the accessed flag and dirty state on recent arm64 processors .
Mon, Dec 30, 9:16 AM

Dec 19 2019

andrew committed rS355907: Stop speculation past an eret instruction.
Stop speculation past an eret instruction
Dec 19 2019, 8:52 AM

Dec 12 2019

andrew committed rS355659: Add comments and macros to the tcr_el1 setting code to help understand it..
Add comments and macros to the tcr_el1 setting code to help understand it.
Dec 12 2019, 6:28 PM

Dec 5 2019

andrew created D22692: Add support for the RK805/RK808 RTC.
Dec 5 2019, 3:31 PM
andrew updated the diff for D22606: Switch to an empty ttbr0 pagetable when the MMU is enabled.

Switch to the empty ttbr0 after cninit is called

Dec 5 2019, 1:24 PM

Dec 4 2019

andrew committed rS355398: Fix the signature for zone_import and zone_release.
Fix the signature for zone_import and zone_release
Dec 4 2019, 6:40 PM
andrew closed D22671: Fix the signature for zone_import and zone_release.
Dec 4 2019, 6:40 PM
andrew added a comment to D22671: Fix the signature for zone_import and zone_release.

It will find all pointers that are used, however I exclude a few functions that may call different, but compatible types e.g. SYSINITS should be void func(const void *), but many don't include the const so I mark mi_startup with a no-cfi attribute.

Dec 4 2019, 6:32 PM
andrew created D22671: Fix the signature for zone_import and zone_release.
Dec 4 2019, 2:52 PM
andrew added inline comments to D22650: Introduce vm_page_astate..
Dec 4 2019, 7:37 AM

Dec 3 2019

andrew accepted D22622: Handle the possibility of preemption after an "ic" or "tlbi" instruction.

Which context synchronization event are you using after the dsb? ARMv8.5 adds the ARMv8.5-CSEH (Context synchronization and exception handling) extension that allows us to remove exceptions as a context synchronization event. It might pay to document where we know we are relying on exception entry/exit for these to help later if we decide to use the extension.

Dec 3 2019, 11:58 AM

Nov 29 2019

andrew added reviewers for D22606: Switch to an empty ttbr0 pagetable when the MMU is enabled: alc, markj.
Nov 29 2019, 4:15 PM
andrew committed rS355213: Use the VM_MEMATTR macros to describe the MAIR offsets..
Use the VM_MEMATTR macros to describe the MAIR offsets.
Nov 29 2019, 4:14 PM
andrew closed D22241: Use the VM_MEMATTR macros to describe the MAIR offsets.
Nov 29 2019, 4:14 PM
andrew created D22606: Switch to an empty ttbr0 pagetable when the MMU is enabled.
Nov 29 2019, 3:51 PM

Nov 27 2019

andrew committed rS355132: Support kernels larger than EFI_STAGING_SIZE in loader.efi.
Support kernels larger than EFI_STAGING_SIZE in loader.efi
Nov 27 2019, 4:53 PM
andrew closed D22569: Add support to allocate more space before and after a current allocation.
Nov 27 2019, 4:52 PM
andrew created D22569: Add support to allocate more space before and after a current allocation.
Nov 27 2019, 3:01 PM
andrew added inline comments to D14698: [new driver] zilinx/zy7_qspi: Add a qspi driver for Zynq platforms..
Nov 27 2019, 8:19 AM · ARM
andrew accepted D22502: Eliminate thread pinning from broadcast TLB invalidation functions on arm64.
Nov 27 2019, 8:10 AM

Nov 21 2019

andrew committed rS354952: Disable KCSAN within a panic..
Disable KCSAN within a panic.
Nov 21 2019, 1:59 PM
andrew committed rS354947: Add kcsan_md_unsupported from NetBSD..
Add kcsan_md_unsupported from NetBSD.
Nov 21 2019, 1:22 PM
andrew committed rS354946: Fix the bus_space functions with KCSAN on arm64..
Fix the bus_space functions with KCSAN on arm64.
Nov 21 2019, 1:13 PM
andrew committed rS354945: Fix for style(9): use parentheses around return statements..
Fix for style(9): use parentheses around return statements.
Nov 21 2019, 12:29 PM
andrew closed D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 21 2019, 11:22 AM
andrew committed rS354942: Port the NetBSD KCSAN runtime to FreeBSD..
Port the NetBSD KCSAN runtime to FreeBSD.
Nov 21 2019, 11:22 AM

Nov 20 2019

andrew committed rS354907: As with r354905 use uint16_t to store aflags on the stack and as function.
As with r354905 use uint16_t to store aflags on the stack and as function
Nov 20 2019, 6:01 PM
andrew committed rS354905: Use atomic_load_16 to load aflags as it's a uint16_t after r354820..
Use atomic_load_16 to load aflags as it's a uint16_t after r354820.
Nov 20 2019, 5:50 PM
andrew committed rS354894: Import the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime..
Import the NetBSD Kernel Concurrency Sanitizer (KCSAN) runtime.
Nov 20 2019, 2:38 PM

Nov 19 2019

andrew committed rS354853: Return 0 from ptrace_set_pc as it now completes successfully..
Return 0 from ptrace_set_pc as it now completes successfully.
Nov 19 2019, 1:29 PM
andrew committed rS354852: Allow ptrace to set the probram counter on arm64..
Allow ptrace to set the probram counter on arm64.
Nov 19 2019, 1:26 PM
andrew updated the summary of D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 19 2019, 12:51 PM
andrew updated the diff for D22315: Port the NetBSD KCSAN runtime to FreeBSD.

Rebase

Nov 19 2019, 12:48 PM
andrew added inline comments to D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 19 2019, 10:58 AM
andrew committed rS354851: Fix the definition of bus_space_read_stream_8 on arm64..
Fix the definition of bus_space_read_stream_8 on arm64.
Nov 19 2019, 10:58 AM
andrew updated the diff for D22315: Port the NetBSD KCSAN runtime to FreeBSD.

Update to version I expect to commit

Nov 19 2019, 8:54 AM

Nov 11 2019

andrew added inline comments to D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 11 2019, 8:51 PM
andrew added inline comments to D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 11 2019, 4:37 PM
andrew added a comment to D22315: Port the NetBSD KCSAN runtime to FreeBSD.

There is a GitHub repo with this change in https://github.com/freebsd-sanitizers/freebsd/tree/kcsan.

Nov 11 2019, 2:33 PM
andrew created D22315: Port the NetBSD KCSAN runtime to FreeBSD.
Nov 11 2019, 2:30 PM

Nov 9 2019

andrew requested changes to D22290: Move arm64 pagetable related macros from locore.S to pte.h.

I already have D22241 to remove these macros.

Nov 9 2019, 12:59 PM · arm64
andrew added a comment to D22141: Let arm64 pmap_qenter() and pmap_kenter() unconditionally set NX..

Can you commit this or shall I commit D22241 first? They conflict as they both change pmap_qenter() and pmap_kenter().

Nov 9 2019, 12:59 PM

Nov 7 2019

andrew committed rS354452: Add more 8 and 16 bit variants of the the atomic(9) functions on arm64..
Add more 8 and 16 bit variants of the the atomic(9) functions on arm64.
Nov 7 2019, 5:35 PM
andrew committed rS354451: Add the missing volatile qualifier in atomic_store_ptr.
Add the missing volatile qualifier in atomic_store_ptr
Nov 7 2019, 5:21 PM

Nov 5 2019

andrew updated the diff for D22241: Use the VM_MEMATTR macros to describe the MAIR offsets.

Fix a register that was incorrect after a rebase

Nov 5 2019, 1:22 PM
andrew updated the diff for D22241: Use the VM_MEMATTR macros to describe the MAIR offsets.

Fix the spelling of VM_MEMATTR_UNCACHEABLE

Nov 5 2019, 11:56 AM
andrew created D22241: Use the VM_MEMATTR macros to describe the MAIR offsets.
Nov 5 2019, 11:51 AM

Nov 4 2019

andrew accepted D22141: Let arm64 pmap_qenter() and pmap_kenter() unconditionally set NX..
Nov 4 2019, 5:18 PM

Nov 3 2019

andrew committed rS354325: Move the struct debug_monitor_state out of _KERNEL..
Move the struct debug_monitor_state out of _KERNEL.
Nov 3 2019, 10:18 PM
andrew committed rS354285: Add support for setting hardware breakpoints from ptrace on arm64..
Add support for setting hardware breakpoints from ptrace on arm64.
Nov 3 2019, 3:42 PM
andrew closed D22195: Add support for setting hardware breakpoints from ptrace on arm64.
Nov 3 2019, 3:42 PM

Oct 31 2019

andrew added inline comments to D22191: Add hardware breakpoint support to ddb.
Oct 31 2019, 3:23 PM

Oct 30 2019

andrew committed rS354193: Set the userspace execute never bit on kernel mappings..
Set the userspace execute never bit on kernel mappings.
Oct 30 2019, 5:32 PM
andrew created D22195: Add support for setting hardware breakpoints from ptrace on arm64.
Oct 30 2019, 3:33 PM
andrew committed rS354179: Allow exceptions to be masked when in userspace.
Allow exceptions to be masked when in userspace
Oct 30 2019, 2:06 PM
andrew committed rS354178: Allow the userspace ID register fields to be read from the kernel.
Allow the userspace ID register fields to be read from the kernel
Oct 30 2019, 1:45 PM
andrew added a comment to D22191: Add hardware breakpoint support to ddb.
In D22191#484972, @bz wrote:

All your "stub functions" return (0), when in fact they probably should return an error? Or what happens if someone tries to set a (hw)breakpoint on these architectures?

Oct 30 2019, 1:29 PM
andrew committed rS354177: Use a lowercase name for arm64 special registers so they don't conflict.
Use a lowercase name for arm64 special registers so they don't conflict
Oct 30 2019, 12:47 PM
andrew committed rS354176: Move the MRS instruction decode macros to armreg.h.
Move the MRS instruction decode macros to armreg.h
Oct 30 2019, 12:33 PM
andrew created D22191: Add hardware breakpoint support to ddb.
Oct 30 2019, 12:17 PM
andrew committed rS354175: Update the debug monitor handling to work after userspace has started.
Update the debug monitor handling to work after userspace has started
Oct 30 2019, 10:51 AM
andrew closed D22128: Update the debug monitor handling to work after userspace has started..
Oct 30 2019, 10:51 AM
andrew accepted D22133: ARM64: Treat alignment faults as bus errors.
Oct 30 2019, 10:43 AM
andrew closed D22170: Use an array of handlers in the data and instruction aborts.
Oct 30 2019, 10:43 AM
andrew committed rS354174: Use an array of handlers in the data and instruction aborts.
Use an array of handlers in the data and instruction aborts
Oct 30 2019, 10:43 AM
andrew committed rS354173: Fix the armv8 crypto driver after r354170..
Fix the armv8 crypto driver after r354170.
Oct 30 2019, 10:41 AM
andrew committed rS354171: Add two files missed in r354170.
Add two files missed in r354170
Oct 30 2019, 10:13 AM
andrew committed rS354170: Rename the macros to extract a single arm64 ID field..
Rename the macros to extract a single arm64 ID field.
Oct 30 2019, 10:07 AM

Oct 28 2019

andrew added a comment to D22133: ARM64: Treat alignment faults as bus errors.

Can you rebase on top of D22170?

Oct 28 2019, 12:04 PM
andrew created D22170: Use an array of handlers in the data and instruction aborts.
Oct 28 2019, 11:59 AM

Oct 25 2019

andrew committed rS354072: Remove the arm4 ID register masks, they are not needed after r353641..
Remove the arm4 ID register masks, they are not needed after r353641.
Oct 25 2019, 2:46 PM
andrew committed rS354070: Make special register names lowercase so they don't conflict with future.
Make special register names lowercase so they don't conflict with future
Oct 25 2019, 2:31 PM
andrew accepted D22132: csu: Fix dynamiclib/init_test:jcr_test on !HAVE_CTORS archs.

Do you know where the .jcr section is coming from? I don't see it on arm64.

Oct 25 2019, 2:09 PM

Oct 24 2019

andrew added a comment to D22133: ARM64: Treat alignment faults as bus errors.

I've been thinking we should use a table of function pointers similar to how 32 bit arm does it. There are a few other cases that shouldn't be handled by data_abort.

Oct 24 2019, 6:16 PM
andrew accepted D22141: Let arm64 pmap_qenter() and pmap_kenter() unconditionally set NX..
Oct 24 2019, 6:06 PM
andrew added inline comments to D22142: Implement vm.pmap.kernel_maps for arm64..
Oct 24 2019, 6:03 PM
andrew updated the diff for D22128: Update the debug monitor handling to work after userspace has started..

Fix the build when DDB is not enabled

Oct 24 2019, 2:15 PM

Oct 23 2019

andrew created D22128: Update the debug monitor handling to work after userspace has started..
Oct 23 2019, 5:42 PM
andrew committed rS353920: Stop enabling interrupts when reentering kdb on arm64.
Stop enabling interrupts when reentering kdb on arm64
Oct 23 2019, 1:21 PM

Oct 16 2019

andrew committed rS353641: Use tables to store the information to decode the arm64 ID registers..
Use tables to store the information to decode the arm64 ID registers.
Oct 16 2019, 1:30 PM
andrew closed D22020: Use tables to decode the arm64 ID registers.
Oct 16 2019, 1:30 PM
andrew committed rS353640: Stop leaking information from the kernel through timespec.
Stop leaking information from the kernel through timespec
Oct 16 2019, 1:21 PM
andrew added a comment to D21922: A patch for using ASIDs in the arm64 pmap.

I can boot with it on the dual package ThunderX in Sentex (2 x 48 cores). Unfortunately I was unable to test it as I hit an unrelated nfs locking issue.

Oct 16 2019, 11:33 AM

Oct 14 2019

andrew created D22020: Use tables to decode the arm64 ID registers.
Oct 14 2019, 9:55 AM
andrew committed rS353487: Sort the id_aa64*_fields arrays to be in alphanumerical order..
Sort the id_aa64*_fields arrays to be in alphanumerical order.
Oct 14 2019, 9:30 AM

Oct 11 2019

andrew accepted D21947: gcore: Add aarch64 32-bit core support.
Oct 11 2019, 7:27 AM