History log of /netbsd-src/sys/arch/arm/acpi/cpu_acpi.c (Results 1 – 17 of 17)
Revision Date Author Comments
# 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).