diff options
| author | Huang Shijie <shijie@os.amperecomputing.com> | 2021-06-15 10:06:38 +0000 |
|---|---|---|
| committer | Karel Zak <kzak@redhat.com> | 2021-06-16 11:09:19 +0200 |
| commit | a772d7c493afcec32f0123fc947013f74db6e45d (patch) | |
| tree | 32c73fd3322e45923a38cb9e8bb0f9afa6e4baf4 /sys-utils/lscpu-arm.c | |
| parent | 66e259c746e5dc5db7ac6b67c98b0abbc2ab2e6c (diff) | |
| download | util-linux-a772d7c493afcec32f0123fc947013f74db6e45d.tar.gz | |
lscpu: get the processor information by DMI
The patch :367c85c47286 ("lscpu: use SMBIOS tables on ARM for lscpu")
relies on the existence of "/sys/firmware/dmi/entries/4-0/raw",
which may not exist in standard linux kernel.
But "/sys/firmware/dmi/tables/DMI" should exist and can provide the required
processor information.
This patch uses "/sys/firmware/dmi/tables/DMI"
to get the processor information:
Before this patch, in Ampere Altra platform, the lscpu output is:
---------------------------------------------
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 160
On-line CPU(s) list: 0-159
Vendor ID: ARM
Model name: Neoverse-N1
Model: 1
Thread(s) per core: 1
Core(s) per socket: 80
Socket(s): 2
........................................
---------------------------------------------
After this patch, we can use get the lscpu output
in Ampere Altra platform:
---------------------------------------------
Architecture: aarch64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 160
On-line CPU(s) list: 0-159
Vendor ID: ARM
BIOS Vendor ID: Ampere(R)
Model name: Neoverse-N1
BIOS Model name: Ampere(R) Altra(R) Processor Q00-00 CPU @ 3.0GHz
Model: 1
Thread(s) per core: 1
Core(s) per socket: 80
Socket(s): 2
........................................
---------------------------------------------
[kzak@redhat.com: - s/sprintf/snprintf/]
Signed-off-by: Huang Shijie <shijie@os.amperecomputing.com>
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'sys-utils/lscpu-arm.c')
| -rw-r--r-- | sys-utils/lscpu-arm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys-utils/lscpu-arm.c b/sys-utils/lscpu-arm.c index 230eb5fddf..885aadc367 100644 --- a/sys-utils/lscpu-arm.c +++ b/sys-utils/lscpu-arm.c @@ -361,6 +361,8 @@ static void arm_decode(struct lscpu_cxt *cxt, struct lscpu_cputype *ct) /* use SMBIOS Type 4 data if available */ if (!cxt->noalive && access(_PATH_SYS_DMI_TYPE4, R_OK) == 0) arm_smbios_decode(ct); + else if (!cxt->noalive && access(_PATH_SYS_DMI, R_OK) == 0) + dmi_decode_cputype(ct); arm_ids_decode(ct); arm_rXpY_decode(ct); |
