Up to [cvs.NetBSD.org] / src / sys / arch / aarch64 / include
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.26 / (download) - annotate - [select for diffs], Thu Apr 20 08:28:03 2023 UTC (7 weeks, 2 days ago) by skrll
Branch: MAIN
CVS Tags: HEAD
Changes since 1.25: +5 -4
lines
Diff to previous 1.25 (colored)
Provide a shared pmap_devmap implementation and convert all pmap_devmap arrays to use DEVMAP_ENTRY{,_END}
Revision 1.25 / (download) - annotate - [select for diffs], Sat Sep 10 12:14:17 2022 UTC (8 months, 4 weeks ago) by rillig
Branch: MAIN
CVS Tags: netbsd-10-base,
netbsd-10,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Changes since 1.24: +2 -2
lines
Diff to previous 1.24 (colored)
fix misspellings of 'available' and nearby typos
Revision 1.24 / (download) - annotate - [select for diffs], Wed Jul 20 01:35:25 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.23: +2 -1
lines
Diff to previous 1.23 (colored)
aarch64: Make cpufunc.h includable without sys/cpu.h first.
Revision 1.23 / (download) - annotate - [select for diffs], Mon Jan 31 09:16:09 2022 UTC (16 months, 1 week ago) by ryo
Branch: MAIN
Changes since 1.22: +3 -1
lines
Diff to previous 1.22 (colored)
add support Hardware updates to Access flag and Dirty state (FEAT_HAFDBS) - The DBM bit of the PTE is now used to determine if it is writable, and the AF bit is treated entirely as a reference bit. A valid PTE is always treated as readable. There can be no valid PTE that is not readable. - LX_BLKPAG_OS_{READ,WRITE} are used only for debugging purposes, and has been superseded by LX_BLKPAG_AF and LX_BLKPAG_DBM. - Improve comment The need for reference/modify emulation has been eliminated, and access/permission faults have been reduced, however, there has been little change in overall performance.
Revision 1.22 / (download) - annotate - [select for diffs], Sun Oct 31 16:23:47 2021 UTC (19 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.21: +5 -28
lines
Diff to previous 1.21 (colored)
Rework Arm (32bit and 64bit) AP startup so that cpu_hatch doesn't sleep. The AP initialisation code in cpu_init_secondary_processor will read and initialise the required system registers and state for the BP to attach and report. Rework the interrupt handler code for this new sequence. Thankfully, this removes a bunch of code for bcm2836mp. The VFP detection handler on <= armv7 relies on the global undefined handler being in place until the BP attaches vfp. That is, after the APs have been spun up. gicv3_its.c has a serialisation issue which is protected against in the gicv3_its_cpu_init, which is called from cpu_hatch, with a spin lock. The serialisation issue needs addressing more completely. Tested on RPI3, Apple M1, QEMU, and lx2k Fixes PR port-arm/56264: diagnostic assertion "l->l_stat == LSONPROC" failed on RPI3
Revision 1.21 / (download) - annotate - [select for diffs], Sat Oct 23 05:32:40 2021 UTC (19 months, 2 weeks ago) by skrll
Branch: MAIN
Changes since 1.20: +1 -2
lines
Diff to previous 1.20 (colored)
Whitespace
Revision 1.19.4.1 / (download) - annotate - [select for diffs], Thu Jun 17 04:46:16 2021 UTC (23 months, 3 weeks ago) by thorpej
Branch: thorpej-i2c-spi-conf
Changes since 1.19: +2 -1
lines
Diff to previous 1.19 (colored) next main 1.20 (colored)
Sync w/ HEAD.
Revision 1.19.6.1 / (download) - annotate - [select for diffs], Mon May 31 22:15:09 2021 UTC (2 years ago) by cjep
Branch: cjep_staticlib_x
Changes since 1.19: +2 -1
lines
Diff to previous 1.19 (colored) next main 1.20 (colored)
sync with head
Revision 1.20 / (download) - annotate - [select for diffs], Thu May 27 06:11:20 2021 UTC (2 years ago) by ryo
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base,
thorpej-i2c-spi-conf2,
thorpej-i2c-spi-conf-base,
thorpej-futex2-base,
thorpej-futex2,
thorpej-cfargs2-base,
thorpej-cfargs2,
cjep_sun2x-base1,
cjep_sun2x-base,
cjep_sun2x,
cjep_staticlib_x-base1
Changes since 1.19: +2 -1
lines
Diff to previous 1.19 (colored)
fix build error with options ARMV85_BTI
Revision 1.18.2.1 / (download) - annotate - [select for diffs], Mon Dec 14 14:37:44 2020 UTC (2 years, 5 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.18: +6 -6
lines
Diff to previous 1.18 (colored) next main 1.19 (colored)
Sync w/ HEAD.
Revision 1.19 / (download) - annotate - [select for diffs], Fri Dec 4 08:29:11 2020 UTC (2 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base,
thorpej-cfargs-base,
thorpej-cfargs,
cjep_staticlib_x-base
Branch point for: thorpej-i2c-spi-conf,
cjep_staticlib_x
Changes since 1.18: +6 -6
lines
Diff to previous 1.18 (colored)
Remove unnecessary casts
Revision 1.18 / (download) - annotate - [select for diffs], Mon Aug 3 06:30:00 2020 UTC (2 years, 10 months ago) by ryo
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.17: +2 -1
lines
Diff to previous 1.17 (colored)
Implement MD ucas(9) (__HAVE_UCAS_FULL)
Revision 1.17 / (download) - annotate - [select for diffs], Sun Aug 2 06:58:16 2020 UTC (2 years, 10 months ago) by maxv
Branch: MAIN
Changes since 1.16: +3 -1
lines
Diff to previous 1.16 (colored)
Add support for Privileged Access Never (ARMv8.1-PAN). PAN provides the same functionality as SMAP on x86: it forbids kernel access to userland pages when PSTATE.PAN=1, and allows such accesses when PSTATE.PAN=0. We clear SCTLR_SPAN, to guarantee that PAN=1 each time the kernel is entered. We catch PAN faults and panic right away without further processing. In copyin, copyout, etc, we temporarily authorize access to userland pages. PAN is a very useful exploit mitigation. Reviewed by ryo@, thanks. Tested on Qemu. Enabled by default.
Revision 1.16 / (download) - annotate - [select for diffs], Wed Jul 1 07:59:16 2020 UTC (2 years, 11 months ago) by ryo
Branch: MAIN
Changes since 1.15: +5 -2
lines
Diff to previous 1.15 (colored)
Switch the Icache sync operation to the necessary and sufficient one according to the CTR_EL0.DIC and CTR_EL0.IDC flags. If CTR_EL0.DIC=1, Icache invalidation is not required. If CTR_EL0.IDC=1, Dcache clean before Icache invalidation is not required. CLIDR_EL1.LoC is 0, or CLIDR_EL1.LoUIS and CLIDR_EL1.LoUU are 0, Dcache clean is not required as well. SEE ALSO ARMARM, "CTR_EL0 Cache Type Register", and "CLIDR_EL1 Cache Level ID Register"
Revision 1.15 / (download) - annotate - [select for diffs], Mon May 25 05:13:16 2020 UTC (3 years ago) by ryo
Branch: MAIN
Changes since 1.14: +2 -7
lines
Diff to previous 1.14 (colored)
cache information can be detected correctly on newer CPUs - add VPIPT cache type - adapt to 64-bit CCSIDR (ARMv8.3-CCIDX) - CCSIDR:[WT,WB,PA,WA] are deprecated - show number of cache lines when attaching cpu
Revision 1.14 / (download) - annotate - [select for diffs], Fri May 15 04:55:40 2020 UTC (3 years ago) by ryo
Branch: MAIN
Changes since 1.13: +2 -2
lines
Diff to previous 1.13 (colored)
SCTLR_EnIA should be enabled in the caller(locore). For some reason, gcc make aarch64_pac_init() function non-leaf, and it uses paciasp/autiasp.
Revision 1.13 / (download) - annotate - [select for diffs], Wed May 13 06:08:51 2020 UTC (3 years ago) by ryo
Branch: MAIN
Changes since 1.12: +83 -1
lines
Diff to previous 1.12 (colored)
- move aarch64 addressspace macros from pmap.h to cpufunc.h - rename ptr_strip_pac() to aarch64_strip_pac()
Revision 1.1.4.4 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:02 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.1.4.3: +4 -0
lines
Diff to previous 1.1.4.3 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Sync with HEAD
Revision 1.11.4.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:28:51 2020 UTC (3 years, 1 month ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.11: +5 -1
lines
Diff to previous 1.11 (colored) next main 1.12 (colored)
Sync with HEAD
Revision 1.1.4.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:27 2020 UTC (3 years, 1 month ago) by martin
Branch: phil-wifi
Changes since 1.1.4.2: +10 -1
lines
Diff to previous 1.1.4.2 (colored) to branchpoint 1.1 (colored)
Mostly merge changes from HEAD upto 20200411
Revision 1.12 / (download) - annotate - [select for diffs], Sun Apr 12 07:49:58 2020 UTC (3 years, 1 month ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421,
bouyer-xenpvh-base2,
bouyer-xenpvh-base1
Changes since 1.11: +5 -1
lines
Diff to previous 1.11 (colored)
Add support for Pointer Authentication (PAC). We use the "pac-ret" option, to sign the return instruction pointer on function entry, and authenticate it on function exit. This acts as a mitigation against ROP. The authentication uses a per-lwp (secret) I-A key stored in the 128bit APIAKey register and part of the lwp context. During lwp creation, the kernel generates a random key, and during context switches, it installs the key of the target lwp on the CPU. Userland cannot read the APIAKey register directly. However, it can sign its pointers with it, because the register is architecturally shared between userland and the kernel. Although part of the CPU design, it is a bit of an undesired behavior, because it allows to forge valid kernel pointers from userland. To avoid that, we don't share the key with userland, and rather switch it in EL0<->EL1 transitions. This means that when userland executes, a different key is loaded in APIAKey than the one the kernel uses. For now the userland key is a fixed 128bit zero value. The DDB stack unwinder is changed to strip the authentication code from the pointers in lr. Two problems are known: * Currently the idlelwps' keys are not really secret. This is because the RNG is not yet available when we spawn these lwps. Not overly important, but would be nice to fix with UEFI RNG. * The key switching in EL0<->EL1 transitions is not the most optimized code on the planet. Instead of checking aarch64_pac_enabled, it would be better to hot-patch the code at boot time, but there currently is no hot-patch support on aarch64. Tested on Qemu.
Revision 1.1.4.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:24 2020 UTC (3 years, 2 months ago) by martin
Branch: phil-wifi
Changes since 1.1.4.1: +2 -3
lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored)
Merge changes from current as of 20200406
Revision 1.9.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:22 2020 UTC (3 years, 4 months ago) by ad
Branch: ad-namecache
Changes since 1.9: +1 -2
lines
Diff to previous 1.9 (colored) next main 1.10 (colored)
Sync with head.
Revision 1.11 / (download) - annotate - [select for diffs], Wed Jan 15 08:34:04 2020 UTC (3 years, 4 months ago) by mrg
Branch: MAIN
CVS Tags: phil-wifi-20200411,
phil-wifi-20200406,
is-mlppp-base,
is-mlppp,
bouyer-xenpvh-base,
ad-namecache-base3,
ad-namecache-base2,
ad-namecache-base1
Branch point for: bouyer-xenpvh
Changes since 1.10: +1 -2
lines
Diff to previous 1.10 (colored)
port the arm64 cpu topology setup for big.little to arm. rename arm64 cpu_do_topology() to arm_cpu_do_topology() and call it from both arm cpu_attach(). replace both aarch64_set_topology() inline code in arm cpu_attach() with new arm_cpu_do_topology(), which is called by the arm64 locore as well (possibly not needed, which would allow it to become static.) not yet tested on a real big.little armv7 system. tested on rockpro64 and pinebook pro.
Revision 1.10 / (download) - annotate - [select for diffs], Sun Jan 12 09:29:18 2020 UTC (3 years, 4 months ago) by mrg
Branch: MAIN
Changes since 1.9: +2 -2
lines
Diff to previous 1.9 (colored)
provide some semblance of valid cpu topology for big.little systems. while attaching cpus, if the FDT provides "capacity-dmips-mhz" track the fastest set, and call cpu_topology_set() with slow=true for any cpus that are not the fastest. bug fix for cpu_topology_set(): actually set ci_is_slow for slow cpus. with this change, and -current's recent scheduler changes, this means that long running processes run on the faster cores. on RK3399 based systems, i am seeing 20-50% speed ups for many tasks. XXX: all this can be made common with armv7 big.little.
Revision 1.9 / (download) - annotate - [select for diffs], Thu Dec 19 09:47:42 2019 UTC (3 years, 5 months ago) by ryo
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.8: +1 -2
lines
Diff to previous 1.8 (colored)
aarch64_cache_info[] is not global
Revision 1.8 / (download) - annotate - [select for diffs], Fri Nov 22 05:21:19 2019 UTC (3 years, 6 months ago) by mlelstv
Branch: MAIN
Changes since 1.7: +3 -2
lines
Diff to previous 1.7 (colored)
Make cache operations available early.
Revision 1.7 / (download) - annotate - [select for diffs], Fri Sep 13 18:07:30 2019 UTC (3 years, 8 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.6: +3 -3
lines
Diff to previous 1.6 (colored)
In pmap_devmap_bootstrap(), cpu_earlydevice_va_p() must not return true until *all* devmap tables have been enabled. console mapping may be present in the last table.
Revision 1.6 / (download) - annotate - [select for diffs], Sat Sep 7 11:10:24 2019 UTC (3 years, 9 months ago) by ryo
Branch: MAIN
Changes since 1.5: +11 -2
lines
Diff to previous 1.5 (colored)
add checking status of MMU and devmap to make _platform_early_putchar() available at all times.
Revision 1.1.4.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:43 2019 UTC (4 years ago) by christos
Branch: phil-wifi
Changes since 1.1: +9 -8
lines
Diff to previous 1.1 (colored)
Sync with HEAD
Revision 1.1.2.5 / (download) - annotate - [select for diffs], Wed Dec 26 14:01:30 2018 UTC (4 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.1.2.4: +5 -7
lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)
Sync with HEAD, resolve a few conflicts
Revision 1.5 / (download) - annotate - [select for diffs], Fri Dec 21 08:01:01 2018 UTC (4 years, 5 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-20190609,
pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
netbsd-9-base,
netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE,
netbsd-9-0-RELEASE,
netbsd-9-0-RC2,
netbsd-9-0-RC1,
netbsd-9,
isaki-audio2-base,
isaki-audio2
Changes since 1.4: +4 -7
lines
Diff to previous 1.4 (colored)
- add workaround for Cavium ThunderX errata 27456. - add cpufuncs table in cpu_info. each cpu clusters may have different erratum. (e.g. big.LITTLE)
Revision 1.4 / (download) - annotate - [select for diffs], Sat Dec 15 16:54:30 2018 UTC (4 years, 5 months ago) by alnsn
Branch: MAIN
Changes since 1.3: +2 -1
lines
Diff to previous 1.3 (colored)
Add missing include for device_t declaration.
Revision 1.1.2.4 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:23 2018 UTC (4 years, 9 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.1.2.3: +3 -2
lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
Revision 1.3 / (download) - annotate - [select for diffs], Sun Aug 26 18:15:49 2018 UTC (4 years, 9 months ago) by ryo
Branch: MAIN
CVS Tags: pgoyette-compat-1126,
pgoyette-compat-1020,
pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.2: +3 -2
lines
Diff to previous 1.2 (colored)
add support multiple cpu clusters. * pass cpu index as an argument to secondary processors when hatching. * keep cpu cache confituration per cpu clusters. Hello big.LITTLE!
Revision 1.1.2.3 / (download) - annotate - [select for diffs], Sat Jul 28 04:37:26 2018 UTC (4 years, 10 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.1.2.2: +3 -1
lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)
Sync with HEAD
Revision 1.2 / (download) - annotate - [select for diffs], Mon Jul 23 22:51:39 2018 UTC (4 years, 10 months ago) by ryo
Branch: MAIN
CVS Tags: pgoyette-compat-0728
Changes since 1.1: +3 -1
lines
Diff to previous 1.1 (colored)
* fix icache invalidations. * "ic ivau" (aarch64_icache_sync_range) with VA generates permission fault in some situations, therefore use KSEG address for now.
Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:11 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.1.2.1: +156 -0
lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)
Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
Revision 1.1.2.1, Sun Apr 1 04:35:03 2018 UTC (5 years, 2 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.1: +0 -156
lines
FILE REMOVED
file cpufunc.h was added on branch pgoyette-compat on 2018-04-07 04:12:11 +0000
Revision 1.1 / (download) - annotate - [select for diffs], Sun Apr 1 04:35:03 2018 UTC (5 years, 2 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0625,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407
Branch point for: phil-wifi,
pgoyette-compat
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@) - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)