#
388bf930 |
| 30-Dec-2024 |
jmcneill <jmcneill@NetBSD.org> |
arm64: Enable support for low power idle CPU states on ACPI platforms.
The ACPI CPU driver parses the _LPI package on each CPU and builds a table of supported low power states. A custom cpu_idle() i
arm64: Enable support for low power idle CPU states on ACPI platforms.
The ACPI CPU driver parses the _LPI package on each CPU and builds a table of supported low power states. A custom cpu_idle() implementation is registered that uses the time previously spent idle to select an entry method for low power on the next idle entry.
A boot option, "nolpi", can be used to ignore _LPI and use the normal WFI idle method.
This decreases the battery discharge rate on my Snapdragon X1E laptop from ~17W to ~10W when idle.
show more ...
|
#
397fdee4 |
| 30-Jun-2024 |
jmcneill <jmcneill@NetBSD.org> |
aarch64: Add NUMA awareness for ACPI systems with SRAT tables.
On an Ampere Altra w/ hemisphere mode enabled:
[ 1.0000000] cpu0: package 16, core 0, smt 0, numa 0 [...] [ 1.0000000] cpu32: pack
aarch64: Add NUMA awareness for ACPI systems with SRAT tables.
On an Ampere Altra w/ hemisphere mode enabled:
[ 1.0000000] cpu0: package 16, core 0, smt 0, numa 0 [...] [ 1.0000000] cpu32: package 22, core 0, smt 0, numa 1
[ 1.000004] SRAT: 2 NUMA nodes [ 1.000004] SRAT: node 0 memory range 0 (0x88300000 - 0x88400000 flags 1) [ 1.000004] SRAT: node 0 memory range 1 (0x90000000 - 0x100000000 flags 1) [ 1.000004] SRAT: node 0 memory range 2 (0x80000000000 - 0x80080000000 flags 1) [ 1.000004] SRAT: node 0 memory range 3 (0x80100000000 - 0x81000000000 flags 1) [ 1.000004] SRAT: node 1 memory range 0 (0xc0000000000 - 0xc1000000000 flags 1)
show more ...
|
#
0a668ec7 |
| 09-May-2024 |
pho <pho@NetBSD.org> |
kern/58195: arm: Support drvctl -d and -r for cpufeaturebus
This is required for detaching and re-attaching the vmt(4) driver on aarch64.
|
#
6724c56e |
| 16-May-2022 |
jmcneill <jmcneill@NetBSD.org> |
tprof: armv8: Only attach to known PMU types.
|
#
367f8a70 |
| 25-Nov-2021 |
skrll <skrll@NetBSD.org> |
Improve error handling.
Hypervisors can return a PMCR.N of 0.
|
#
47ed2bf4 |
| 24-Nov-2021 |
jmcneill <jmcneill@NetBSD.org> |
arm64: acpi: Set capacity_dmips_mhz for CPUs
The GICC structure describes a relative power efficiency for each processor. Use this value as-is for the capacity_dmips_mhz value of a cpu. This makes t
arm64: acpi: Set capacity_dmips_mhz for CPUs
The GICC structure describes a relative power efficiency for each processor. Use this value as-is for the capacity_dmips_mhz value of a cpu. This makes the assumption that "more efficient" means "slower".
show more ...
|
#
4d197dd7 |
| 17-Oct-2021 |
jmcneill <jmcneill@NetBSD.org> |
Fix primary CPU detection in cpu_acpi_tprof_intr_establish
|
#
999b9562 |
| 23-Jan-2021 |
jmcneill <jmcneill@NetBSD.org> |
fit in 80 columns
|
#
69120ac1 |
| 03-Dec-2020 |
skrll <skrll@NetBSD.org> |
Provide and use a sev() macro for the sev instruction.
While here use the correct barrier to ensure completion of memory accesses before a couple of the sev() calls.
|
#
e1281176 |
| 15-Feb-2020 |
skrll <skrll@NetBSD.org> |
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for dri
Various updates and improvements to cpu start up on arm/aarch64
- start sharing more code around the AP startup messaging. - call arm_cpu_topology_set early so that ci_core_id is available for drivers, e.g. bcm2835_intr.c - both arm and aarch64 now have - a static cpu_info_store array - the same arm_cpu_{hatched,mbox}
show more ...
|
#
29224e5e |
| 19-Oct-2019 |
jmcneill <jmcneill@NetBSD.org> |
Increase aarch64 MAXCPUS to 256.
|
#
6f2828aa |
| 23-May-2019 |
ryo <ryo@NetBSD.org> |
fix build without options MULTIPROCESSOR
|
#
c3589be4 |
| 05-Dec-2018 |
jmcneill <jmcneill@NetBSD.org> |
Add CPU performance counter support
|
#
92a57f01 |
| 19-Oct-2018 |
jmcneill <jmcneill@NetBSD.org> |
Store the ACPI Processor UID in struct cpu_info
|
#
e6c2e807 |
| 18-Oct-2018 |
skrll <skrll@NetBSD.org> |
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour.
The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C.
The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used.
Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks!
The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot.
Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
show more ...
|
#
73fbce2b |
| 16-Oct-2018 |
jmcneill <jmcneill@NetBSD.org> |
Only attach to usable processors
|
#
97d57f80 |
| 12-Oct-2018 |
jmcneill <jmcneill@NetBSD.org> |
Add ACPI platform glue and basic device drivers (CPU, GIC, Generic Timer, SBSA UART).
|