diff options
| author | Olivier Certner <olce@FreeBSD.org> | 2026-06-26 22:17:35 +0000 |
|---|---|---|
| committer | Olivier Certner <olce@FreeBSD.org> | 2026-07-03 15:32:25 +0000 |
| commit | c3c8f4d9e66287b24af2b3881c528236b836f2f1 (patch) | |
| tree | 75b3f6885b5dfe096e6e92d88edff371ed4daa94 | |
| parent | 465a3b7adc008c068741594f6c922ede98924f39 (diff) | |
cpu: New cpu_get_pcpuid(), retrieves internal CPU ID
It is a handy shortcut that will be used extensively in
hwpstate_intel(4) and hwpstate_amd(4).
Warn users that it panics if the parent bus does not provide the
CPU_IVAR_PCPU instance variable. That condition should be tested by
callers (doing so once is enough). Suggest to do that in driver's
attach method.
Reviewed by: jhb (code)
Event: Halifax Hackathon 202606
Location: Seat 36K in AC667, waiting for a gate at Montréal-Trudeau
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57897
| -rw-r--r-- | sys/sys/cpu.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/sys/cpu.h b/sys/sys/cpu.h index 21e79e6db6a4..9156fa9f723d 100644 --- a/sys/sys/cpu.h +++ b/sys/sys/cpu.h @@ -51,6 +51,17 @@ cpu_get_pcpu(device_t dev) return ((struct pcpu *)v); } +/* + * Assumes the parent bus sets the CPU_IVAR_PCPU instance variable, which most + * CPU buses do. A panic will ensure if not the case. Calling devices should + * check for that condition (most probably in their attach function). + */ +static __inline u_int +cpu_get_pcpuid(device_t dev) +{ + return (cpu_get_pcpu(dev)->pc_cpuid); +} + static __inline int32_t cpu_get_nominal_mhz(device_t dev) { |
