u-boot/drivers
Conor Dooley b90edde701 riscv: don't read riscv, isa in the riscv cpu's get_desc()
cpu_get_desc() for the RISC-V CPU currently reads "riscv,isa" to get
the description, but it is no longer a required property and cannot be
assummed to always be present, as the new "riscv,isa-extensions" and
"riscv,isa-base" properties may be present instead.

On RISC-V, cpu_get_desc() has two main uses - firstly providing an
informational name for the CPU for smbios or at boot with
DISPLAY_CPUINFO etc and secondly it forms the basis of ISA extension
detection in supports_extension() as it returns (a portion of) an ISA
string.

cpu_get_desc() returns a string, which aligned with "riscv,isa" but
the new property is a list of strings. Rather than add support for
the list of strings property, which would require creating an isa
string from "riscv,isa-extensions", modify the RISC-V CPU's
implementaion of cpu_get_desc() return the first compatible as the
cpu description instead. This may be fine for the informational cases,
but it would break extension dtection, given supports_extension()
expects cpu_get_desc() to return an ISA string.

Call dev_read_string() directly in supports_extension() to get the
contents of "riscv,isa" so that extension detection remains functional.
As a knock-on affect of this change, extension detection is no longer
broken for long ISA strings. Previously if the ISA string exceeded the
32 element array that supports_extension() passed to cpu_get_desc(),
it would return ENOSPC and no extensions would be detected.
This bug probably had no impact as U-Boot does not currently do anything
meaningful with the results of supports_extension() and most SoCs
supported by U-Boot don't have anywhere near that complex of an ISA
string. The QEMU virt machine's CPUs do however, so extension detection
doesn't work there.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
2024-04-09 11:30:17 +08:00
..
adc adc: add missing depends on ADC for controller drivers 2024-03-14 18:20:04 +08:00
ata Prepare v2024.01-rc3 2023-11-20 09:19:50 -05:00
axi axi: fix definition of axi_sandbox_get_emul() 2023-06-01 12:32:03 -04:00
bios_emulator global: Drop common.h inclusion 2023-12-21 08:54:37 -05:00
block blk: host_dev: Fix error code in host_sb_attach_file() 2024-02-06 16:31:07 -05:00
bootcount bootcount: Add driver model I2C driver 2023-10-31 09:09:04 +01:00
bus
button button: add missing ADC dependency for BUTTON_ADC 2024-03-14 18:20:04 +08:00
cache cache: add sifive private L2 cache driver 2023-12-27 17:28:57 +08:00
clk Merge tag 'qcom-next-2024Apr04' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon 2024-04-05 17:23:13 -04:00
core dm: core: Fix address translation in devfdt_get_addr_index() 2024-03-04 10:25:47 -05:00
cpu riscv: don't read riscv, isa in the riscv cpu's get_desc() 2024-04-09 11:30:17 +08:00
crypto crypto/fsl: allow accessing Job Ring from non-TrustZone 2024-03-30 13:59:10 -03:00
ddr global: Drop common.h inclusion 2023-12-21 08:54:37 -05:00
demo
dfu dfu: add CONFIG_DFU_NAME_MAX_SIZE configuration 2023-11-21 15:28:15 +01:00
dma dma: ti: k3-udma: Add DMA PSIL mappings for AM62P and J722S 2024-03-13 10:10:05 -04:00
extcon extcon: add MAX14526 MUIC support 2023-05-02 14:23:58 -04:00
fastboot fastboot: add oem console command support 2024-01-09 14:58:33 +01:00
firmware firmware: psci: Fix bind_smccc_features psci check 2024-03-13 12:40:43 -04:00
fpga arm64: zynqmp: Fix Siva's email address format 2023-10-09 10:25:32 +02:00
fuzz
fwu-mdata FWU: Add FWU metadata access driver for MTD storage regions 2023-06-09 13:52:40 -04:00
gpio Merge tag 'qcom-next-2024Apr04' of https://source.denx.de/u-boot/custodians/u-boot-snapdragon 2024-04-05 17:23:13 -04:00
hwspinlock treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
i2c Merge patch series "ARM: renesas: Rename R-Mobile to Renesas" 2024-03-02 14:30:25 -05:00
input input: avoid NULL dereference 2023-10-11 10:35:24 -04:00
iommu iommu: qcom-smmu: fix debugging 2024-03-22 10:17:34 +01:00
led led: add TI LP5562 LED driver 2023-12-13 11:35:16 -05:00
mailbox treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
memory memory: ti-gpmc: Fix lock up at A53 SPL during NAND boot on AM64-EVM 2024-02-13 15:38:11 -05:00
mfd
misc misc: turris_omnia_mcu: Add support for rng provided by MCU 2024-04-04 10:45:27 +02:00
mmc mmc: cv1800b: Add sdhci driver support for cv1800b SoC 2024-04-09 11:30:10 +08:00
mtd mtd: spi-nor-ids: Add support for ESMT/EON EN25Q80B 2024-02-19 08:19:39 -03:00
mux mux: autoprobe if "idle-states" present in device tree 2024-02-28 19:19:53 -05:00
net net: fec_mxc: Avoid enable regulator failure 2024-03-30 15:12:00 -03:00
nvme nvme: Update nvme_scan_namespace to keep trying on busy 2024-01-18 20:24:13 -05:00
pch x86: Convert some debug statements to use logging 2023-07-17 17:23:14 +08:00
pci pcie_imx: Update header to describe it as a legacy driver 2024-03-24 13:35:59 -03:00
pci_endpoint global: Drop common.h inclusion 2023-12-21 08:54:37 -05:00
phy phy: qcom: Add SNPS femto v2 USB HS phy 2024-04-04 17:46:46 +02:00
pinctrl pinctrl: qcom: pass pin number to get_function_mux callback 2024-04-04 17:46:45 +02:00
power imx8mp: power-domain: Expose high performance PLL clock 2024-03-24 13:35:59 -03:00
pwm treewide: use linux/time.h for time conversion defines 2023-11-16 18:59:58 -05:00
qe qe: Add <asm/ppc.h> on PowerPC 2023-11-07 14:50:51 -05:00
ram Merge tag 'u-boot-rockchip-20240315' of https://source.denx.de/u-boot/custodians/u-boot-rockchip into next 2024-03-15 09:15:31 -04:00
reboot-mode
remoteproc remoteproc: uclass: Add methods to load firmware to rproc and boot rproc 2024-03-22 15:50:28 -04:00
reset reset: imx: Add support for i.MX8MP reset controller 2024-03-24 13:35:59 -03:00
rng Merge tag 'u-boot-rockchip-20240315' of https://source.denx.de/u-boot/custodians/u-boot-rockchip into next 2024-03-15 09:15:31 -04:00
rtc treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
scsi Prepare v2024.01-rc3 2023-11-20 09:19:50 -05:00
serial serial: msm-geni: support livetree 2024-04-04 17:46:47 +02:00
sm drivers: sm: bind child sm devices in the device tree 2023-11-06 09:45:47 +01:00
smem
soc soc: add info to identify the am62p SoC family 2024-03-13 10:10:04 -04:00
sound
spi rockchip: spi: rk_spi: do not write bytes when in read-only mode 2024-03-14 18:19:44 +08:00
spmi spmi: msm: fix register range names 2024-01-16 12:26:54 +00:00
sysinfo sysinfo: Allow displaying more info on startup 2023-11-28 12:53:04 -05:00
sysreset rockchip: include asm/io.h directly in asm/arch-rockchip/hardware.h 2024-03-13 18:15:52 +08:00
tee tee: sandbox: fix spelling errors 2024-03-27 09:29:00 +01:00
thermal thermal: imx_tmu: Fix TMU error on iMX8MQ 2024-03-30 15:11:52 -03:00
timer treewide: Remove clk_free 2024-01-29 22:35:02 -05:00
tpm tpm: remove superfluous check in tpm_tis_send() 2023-11-22 10:03:55 +02:00
ufs Merge patch series "ufs: Add a PCI UFS controller support" 2023-11-27 16:19:09 -05:00
usb usb: udc: dwc3: Fold dwc3_uboot_handle_interrupt into dm_usb_gadget_handle_interrupts 2024-04-02 09:08:07 +02:00
video video: console: Parse UTF-8 character sequences 2024-03-21 06:56:13 +01:00
virtio virtio: fix get_config / set_config for legacy VirtIO targets 2024-03-05 08:37:53 -05:00
w1
w1-eeprom
watchdog drivers: watchdog: add andes atcwdt200 support 2024-02-01 09:08:44 +01:00
xen xen: pvblock: fix the maximum io size in one operation 2023-11-29 09:32:15 -05:00
Kconfig drivers: introduce Secure Monitor uclass 2023-10-15 12:23:48 +02:00
Makefile sunxi: add R528/T113-s3/D1(s) DRAM initialisation code 2023-10-22 23:41:52 +01:00