Page MenuHomeFreeBSD

andrew (Andrew Turner)
User

Projects

User Details

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

Recent Activity

Wed, Jan 20

andrew committed R10:8e67b9389df1: Handle arm64 undefied instructions on msr exceptions (authored by andrew).
Handle arm64 undefied instructions on msr exceptions
Wed, Jan 20, 6:33 PM
andrew committed R10:f6f0b849fb26: Reuse the amd64 loader relocation code on arm64 (authored by andrew).
Reuse the amd64 loader relocation code on arm64
Wed, Jan 20, 6:33 PM
andrew closed D28213: Reuse the amd64 loader relocation code on arm64.
Wed, Jan 20, 6:33 PM

Sun, Jan 17

andrew requested review of D28213: Reuse the amd64 loader relocation code on arm64.
Sun, Jan 17, 6:22 PM

Sat, Jan 16

andrew accepted D28091: Add -NODEBUG variant of GENERIC-MMCCAM kernel configuration..
Sat, Jan 16, 1:48 PM

Fri, Jan 15

andrew committed R10:f64329bcdc4f: Extract the logic from pmap_kextract (authored by andrew).
Extract the logic from pmap_kextract
Fri, Jan 15, 7:14 PM
andrew closed D27621: Extract the logic from pmap_kextract.
Fri, Jan 15, 7:14 PM
andrew updated the diff for D27621: Extract the logic from pmap_kextract.

Update based on feedback from markj

Fri, Jan 15, 4:13 PM
andrew added a comment to D27621: Extract the logic from pmap_kextract.

I expect we could do something similar in pmap_extract. We would need to limit it to stage 1 pmaps (i.e. non-hypervisor pmaps), and need to check if it's a userspace or kernel pmap.

Fri, Jan 15, 3:26 PM
andrew updated the diff for D27621: Extract the logic from pmap_kextract.

Add a comment explaining why interrupts are disabled

Fri, Jan 15, 3:10 PM
andrew added inline comments to D27621: Extract the logic from pmap_kextract.
Fri, Jan 15, 11:42 AM
andrew updated the diff for D27621: Extract the logic from pmap_kextract.

Use an AT instruction with a fallback on walking the page table.

Fri, Jan 15, 11:22 AM
andrew updated the diff for D27621: Extract the logic from pmap_kextract.

Fix the build and boot tested on N1SDP

Fri, Jan 15, 10:13 AM
andrew added reviewers for D27621: Extract the logic from pmap_kextract: arm64, markj, kib.
Fri, Jan 15, 10:12 AM
andrew accepted D28147: Add malloc_domainset_aligned(9) and use it in x86 busdma bounce..
Fri, Jan 15, 9:48 AM
andrew closed D28156: Add missing no-ctfconvert to C generation rules.
Fri, Jan 15, 9:48 AM
andrew committed R10:94611a838866: Add missing no-ctfconvert to C generation rules (authored by andrew).
Add missing no-ctfconvert to C generation rules
Fri, Jan 15, 9:48 AM
andrew added a comment to D28156: Add missing no-ctfconvert to C generation rules.

It fixes warning similar to the following. This is because it's running ctfconvert on the .c file rather than a .o file.

Fri, Jan 15, 9:44 AM
andrew added inline comments to D28147: Add malloc_domainset_aligned(9) and use it in x86 busdma bounce..
Fri, Jan 15, 9:11 AM

Thu, Jan 14

andrew added a comment to D28091: Add -NODEBUG variant of GENERIC-MMCCAM kernel configuration..

After R10:6eebda3bbad9 you can replace this with:

include GENERIC-MMCCAP
include "../../conf/std.nodebug"
Thu, Jan 14, 5:08 PM
andrew committed R10:6eebda3bbad9: Split out the NODEBUG options to a common file (authored by andrew).
Split out the NODEBUG options to a common file
Thu, Jan 14, 5:04 PM
andrew closed D28152: Split out the NODEBUG options to a common file.
Thu, Jan 14, 5:04 PM
andrew requested review of D28156: Add missing no-ctfconvert to C generation rules.
Thu, Jan 14, 3:42 PM
andrew changed the repository for D28152: Split out the NODEBUG options to a common file from rS FreeBSD src repository - subversion to R10 FreeBSD src repository.
Thu, Jan 14, 11:08 AM
andrew added a comment to D28091: Add -NODEBUG variant of GENERIC-MMCCAM kernel configuration..

Something like D28152

Thu, Jan 14, 11:08 AM
andrew added a comment to D28152: Split out the NODEBUG options to a common file.

I've tested on arm64, I still need to run through universe.

Thu, Jan 14, 11:08 AM
andrew requested review of D28152: Split out the NODEBUG options to a common file.
Thu, Jan 14, 11:06 AM
andrew added a comment to D28091: Add -NODEBUG variant of GENERIC-MMCCAM kernel configuration..

We could split out the -NODEBUG options to std.nodebug then include that from both here and GENERIC-NODEBUG

Thu, Jan 14, 10:25 AM
andrew added inline comments to D28147: Add malloc_domainset_aligned(9) and use it in x86 busdma bounce..
Thu, Jan 14, 10:11 AM

Wed, Jan 13

andrew committed R10:594389d1de64: Create a stack frame when needed in the arm64 kernel (authored by andrew).
Create a stack frame when needed in the arm64 kernel
Wed, Jan 13, 4:43 PM
andrew committed R10:63c858a04d56: Switch the arm64 pcpu to a global register variable (authored by andrew).
Switch the arm64 pcpu to a global register variable
Wed, Jan 13, 4:43 PM
andrew closed D26971: Switch the arm64 pcpu to a global register variable.
Wed, Jan 13, 4:43 PM
andrew added a comment to D28132: Handle functions that use a nop in the arm64 fbt.

Tested with dtrace -n ":::". This will trigger on memcpy as called by dtrace_getnanouptime, however it seems to be inlined by the in tree clang.

Wed, Jan 13, 11:31 AM
andrew requested review of D28132: Handle functions that use a nop in the arm64 fbt.
Wed, Jan 13, 11:22 AM

Tue, Jan 12

andrew committed R10:c00ec4dab276: Handle using a sub instruction in the arm64 fbt (authored by andrew).
Handle using a sub instruction in the arm64 fbt
Tue, Jan 12, 12:49 PM
andrew committed R10:d0df1a2d54dc: Only allow a store through sp in the arm64 fbt (authored by andrew).
Only allow a store through sp in the arm64 fbt
Tue, Jan 12, 12:49 PM

Mon, Jan 11

andrew accepted D27766: Various changes to DTrace FBT to avoid crashed on FreeBSD/arm64..
Mon, Jan 11, 1:32 PM · arm64, DTrace

Sat, Jan 9

andrew added a comment to D27945: Improvements to HWPMC support on FreeBSD/arm64 to handle counter wraparound.

I think we now handle this with my recent commits.

Sat, Jan 9, 9:03 AM · arm64

Fri, Jan 8

andrew committed R10:90a6e9ef6320: Update hwpmc on armv7 to handle overflow better (authored by andrew).
Update hwpmc on armv7 to handle overflow better
Fri, Jan 8, 2:30 PM
andrew committed R10:6815909abdaa: Move the PMC overflow count to make it per-CPU (authored by andrew).
Move the PMC overflow count to make it per-CPU
Fri, Jan 8, 2:30 PM
andrew closed D27973: Move the PMC overflow count to make it per-CPU.
Fri, Jan 8, 2:30 PM
andrew closed D27969: Update hwpmc on armv7 to handle overflow better.
Fri, Jan 8, 2:30 PM

Thu, Jan 7

andrew added inline comments to D27727: arm64: gdb(4) stub.
Thu, Jan 7, 1:46 PM
andrew added inline comments to D28009: WIP: arm64: enable the ipmi module.
Thu, Jan 7, 12:52 PM

Tue, Jan 5

andrew added inline comments to D27719: arm64: don't pass user trapframe to kdb_trap().
Tue, Jan 5, 3:13 PM
andrew set the repository for D27973: Move the PMC overflow count to make it per-CPU to R10 FreeBSD src repository.
Tue, Jan 5, 12:41 PM
andrew requested review of D27973: Move the PMC overflow count to make it per-CPU.
Tue, Jan 5, 11:55 AM
andrew updated the diff for D27969: Update hwpmc on armv7 to handle overflow better.

Set the overflow when restoring register values. Start is just to start the counters counting.

Tue, Jan 5, 11:31 AM
andrew set the repository for D27969: Update hwpmc on armv7 to handle overflow better to R10 FreeBSD src repository.
Tue, Jan 5, 11:00 AM
andrew requested review of D27969: Update hwpmc on armv7 to handle overflow better.
Tue, Jan 5, 10:58 AM
andrew committed R10:a7d8bd8c239e: Add missing structs to pmclog_entry (authored by andrew).
Add missing structs to pmclog_entry
Tue, Jan 5, 10:09 AM
andrew committed R10:9fd96b416c45: Add the missing pmcstat log entries (authored by andrew).
Add the missing pmcstat log entries
Tue, Jan 5, 10:09 AM

Mon, Jan 4

andrew committed R10:12d053032b6b: Support overflow count in hwpmc on arm64 (authored by andrew).
Support overflow count in hwpmc on arm64
Mon, Jan 4, 5:23 PM
andrew added inline comments to D27945: Improvements to HWPMC support on FreeBSD/arm64 to handle counter wraparound.
Mon, Jan 4, 9:49 AM · arm64

Thu, Dec 31

andrew committed R10:80062279f770: Add pmu.h missed in 5e78bbb74a1f (authored by andrew).
Add pmu.h missed in 5e78bbb74a1f
Thu, Dec 31, 10:19 AM

Wed, Dec 30

andrew committed R10:5e78bbb74a1f: Split out the FDT arm pmu attachment (authored by andrew).
Split out the FDT arm pmu attachment
Wed, Dec 30, 4:20 PM

Sun, Dec 27

andrew added inline comments to D27766: Various changes to DTrace FBT to avoid crashed on FreeBSD/arm64..
Sun, Dec 27, 1:53 PM · arm64, DTrace
andrew added a comment to D27765: Use L2 blocks when in the identity map.

I removed SOCDEV_VA because it's too difficult to know where the kernel will be loaded so we don't know a good virtual address at compile time.

Sun, Dec 27, 1:48 PM

Sat, Dec 26

andrew added a comment to D27765: Use L2 blocks when in the identity map.

Does it apply after 6270ee0b6726?

Sat, Dec 26, 7:18 PM
andrew committed R10:6270ee0b6726: Use the base address for early arm64 page tables (authored by andrew).
Use the base address for early arm64 page tables
Sat, Dec 26, 7:11 PM

Thu, Dec 24

andrew added a comment to D27765: Use L2 blocks when in the identity map.

I've tested the normal boot and with SOCDEV_PA set (but not used). I haven't tested any of the LINUX_BOOT_ABI paths.

Thu, Dec 24, 4:00 PM
andrew requested review of D27765: Use L2 blocks when in the identity map.
Thu, Dec 24, 3:57 PM

Dec 15 2020

andrew added a comment to D27621: Extract the logic from pmap_kextract.

This is untested, I just moved the code to a new function as a proof of concept.

Dec 15 2020, 3:00 PM
andrew added a comment to D27528: Fix /dev/mem access lock up.

How about something like D27621?

Dec 15 2020, 2:59 PM
andrew requested review of D27621: Extract the logic from pmap_kextract.
Dec 15 2020, 2:57 PM
andrew accepted D27528: Fix /dev/mem access lock up.

You might want to change the commit message to say you're removing the DMAP check from pmap_kextract as it wass only correct when the DMAP region is contiguous which is no longer true.

Dec 15 2020, 9:17 AM

Dec 13 2020

andrew committed R9:ad5abfc5d91a: - Add myself to authors.ent (authored by andrew).
- Add myself to authors.ent
Dec 13 2020, 5:44 PM
andrew committed R9:0cb68c1be4ba: - Add myself to developers.sgml (authored by andrew).
- Add myself to developers.sgml
Dec 13 2020, 5:31 PM

Dec 10 2020

andrew added a comment to D27529: Allow access to all accessible physical memory through /dev/mem.

Yes, I think the fix for D27528 is to remove the DMAP check from pmap_kextract. You can then use it here in mem.c to see if the mapping is valid & fall through to uiomove_fromphys if not.

Dec 10 2020, 9:50 PM
andrew added a comment to D27529: Allow access to all accessible physical memory through /dev/mem.

We already have a PHYS_IN_DMAP check. It could be extended to also check the return value of pmap_kextract(PHYS_TO_DMAP(v)).

Dec 10 2020, 9:32 PM
andrew added a comment to D27528: Fix /dev/mem access lock up.

All mappings that point to the same physical address need to be the same memory type. Because of this we will demote memory in the DMAP if needed to make this possible, e.g. when marking a page as uncached the DMAP page pointing at the same memory will also be marked as uncached, including a demotion if it's currently part of a larger block.

Dec 10 2020, 9:12 PM
andrew added a comment to D27529: Allow access to all accessible physical memory through /dev/mem.

pmap_kextract, although we will need to remove the DMAP check as it was added before we had a sparse DMAP region.

Dec 10 2020, 8:07 PM
andrew added a comment to D27529: Allow access to all accessible physical memory through /dev/mem.

I would prefer we don't map memory marked as noalloc in the DMAP. If we need to read it in /dev/mem then mem.c should handle unmapped memory within the DMAP region.

Dec 10 2020, 2:27 PM
andrew added a comment to D27528: Fix /dev/mem access lock up.

What will happen if we try to access a DMAP page during the break-before-make sequence while it is being demoted?

Dec 10 2020, 11:38 AM

Dec 8 2020

andrew committed rS368445: Use a macro to find the offset of kern_ttbr0.
Use a macro to find the offset of kern_ttbr0
Dec 8 2020, 3:51 PM
andrew committed rS368444: Free the arm64 bootparams memory after initarm.
Free the arm64 bootparams memory after initarm
Dec 8 2020, 3:41 PM
andrew accepted D27511: cpuset_set{affinity,domain}: do not allow empty masks.
Dec 8 2020, 2:46 PM
andrew accepted D27362: Check that the frame pointer is within the current stack..
Dec 8 2020, 11:22 AM

Dec 7 2020

andrew closed D27497: Ensure the boot CPU is CPU 0 on arm64.
Dec 7 2020, 5:55 PM
andrew committed rS368416: Ensure the boot CPU is CPU 0 on arm64.
Ensure the boot CPU is CPU 0 on arm64
Dec 7 2020, 5:55 PM
andrew updated the summary of D27497: Ensure the boot CPU is CPU 0 on arm64.
Dec 7 2020, 1:29 PM
andrew updated the diff for D27497: Ensure the boot CPU is CPU 0 on arm64.
  • Use the correct ID in cpu_init_fdt
  • Copy a comment explaining why we don't increment the CPU ID to teh FDT code
  • Fix a typo in said comment
Dec 7 2020, 1:25 PM
andrew updated the diff for D27497: Ensure the boot CPU is CPU 0 on arm64.

Simplify by only iterating once with CPU 0 being reserved

Dec 7 2020, 1:21 PM
andrew requested review of D27497: Ensure the boot CPU is CPU 0 on arm64.
Dec 7 2020, 1:05 PM

Dec 2 2020

andrew accepted D27422: Add support of UART_DEV_DBGPORT to uart_bus_fdt.c.
Dec 2 2020, 4:52 PM

Dec 1 2020

andrew added inline comments to D27422: Add support of UART_DEV_DBGPORT to uart_bus_fdt.c.
Dec 1 2020, 4:42 PM

Nov 29 2020

andrew closed D27274: Only set the PCI bus end when we are reducing it.
Nov 29 2020, 4:22 PM
andrew committed rS368156: Only set the PCI bus end when we are reducing it.
Only set the PCI bus end when we are reducing it
Nov 29 2020, 4:22 PM

Nov 26 2020

andrew accepted D27306: Detect ACPI early by FADT, not SPCR.
Nov 26 2020, 3:36 PM
andrew added inline comments to D27362: Check that the frame pointer is within the current stack..
Nov 26 2020, 2:23 PM

Nov 25 2020

andrew added a comment to D27306: Detect ACPI early by FADT, not SPCR.

I think we can just check for the existence of the ACPI tables, i.e. by checking if AcpiOsGetRootPointer returns a non-zero value.

Nov 25 2020, 6:13 PM
andrew accepted D27361: Use uintptr_t instead of uint64_t for pointers in stack frames..
Nov 25 2020, 4:10 PM

Nov 19 2020

andrew added a comment to D27274: Only set the PCI bus end when we are reducing it.

Based on my reading of the ACPI tables I expect this will work on eMAG and the Huawei Taishan, however I don't have access to either to test.

Nov 19 2020, 11:12 AM
andrew requested review of D27274: Only set the PCI bus end when we are reducing it.
Nov 19 2020, 11:08 AM
andrew closed D27247: Fall back to use the GICR address from the distributor struct.
Nov 19 2020, 9:27 AM
andrew committed rS367841: Fall back to use the GICR address from the generic interrupt struct.
Fall back to use the GICR address from the generic interrupt struct
Nov 19 2020, 9:27 AM

Nov 18 2020

andrew added inline comments to D27247: Fall back to use the GICR address from the distributor struct.
Nov 18 2020, 3:32 PM

Nov 17 2020

andrew requested review of D27247: Fall back to use the GICR address from the distributor struct.
Nov 17 2020, 11:12 AM
andrew committed rS367755: Stop calling gic_v3_detach when we haven't called gic_v3_attach.
Stop calling gic_v3_detach when we haven't called gic_v3_attach
Nov 17 2020, 10:28 AM
andrew abandoned D27238: Allow the GICv3 ACPI attachment to work with GICv4.

Committed in rS367754

Nov 17 2020, 10:20 AM