All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] riscv: Exclude ACLINT for TARGET_XILINX_MBV
@ 2026-04-30 11:58 Michal Simek
  2026-05-01 10:33 ` Yao Zi
  0 siblings, 1 reply; 3+ messages in thread
From: Michal Simek @ 2026-04-30 11:58 UTC (permalink / raw)
  To: u-boot, git; +Cc: Leo, Rick Chen, Tom Rini

The Xilinx MicroBlaze V platform does not have an ACLINT (Advanced
Core Local Interruptor) hardware block. The timer functionality is
provided through a different mechanism.

Exclude both RISCV_ACLINT and SPL_RISCV_ACLINT from being implied
for TARGET_XILINX_MBV while keeping the default behavior for other
generic RISC-V targets that do have ACLINT hardware.

   spl/u-boot-spl: all -1382 data -360 rodata -200 text -822

Signed-off-by: Michal Simek <michal.simek@amd.com>
---

 arch/riscv/cpu/generic/Kconfig | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/cpu/generic/Kconfig b/arch/riscv/cpu/generic/Kconfig
index 2baba2299238..8d53c69ba38c 100644
--- a/arch/riscv/cpu/generic/Kconfig
+++ b/arch/riscv/cpu/generic/Kconfig
@@ -10,8 +10,8 @@ config GENERIC_RISCV
 	imply CPU
 	imply CPU_RISCV
 	imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
-	imply RISCV_ACLINT if RISCV_MMODE
-	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE
+	imply RISCV_ACLINT if RISCV_MMODE && !TARGET_XILINX_MBV
+	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE && !TARGET_XILINX_MBV
 	imply CMD_CPU
 	imply SPL_CPU
 	imply SPL_OPENSBI
-- 
2.43.0

base-commit: 0d875f98e9d81b68265ea26c379dae8ce5b1f5a9

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] riscv: Exclude ACLINT for TARGET_XILINX_MBV
  2026-04-30 11:58 [PATCH] riscv: Exclude ACLINT for TARGET_XILINX_MBV Michal Simek
@ 2026-05-01 10:33 ` Yao Zi
  2026-05-04  9:26   ` Michal Simek
  0 siblings, 1 reply; 3+ messages in thread
From: Yao Zi @ 2026-05-01 10:33 UTC (permalink / raw)
  To: Michal Simek, u-boot, git; +Cc: Leo, Rick Chen, Tom Rini

On Thu, Apr 30, 2026 at 01:58:28PM +0200, Michal Simek wrote:
> The Xilinx MicroBlaze V platform does not have an ACLINT (Advanced
> Core Local Interruptor) hardware block. The timer functionality is
> provided through a different mechanism.
> 
> Exclude both RISCV_ACLINT and SPL_RISCV_ACLINT from being implied
> for TARGET_XILINX_MBV while keeping the default behavior for other
> generic RISC-V targets that do have ACLINT hardware.
> 
>    spl/u-boot-spl: all -1382 data -360 rodata -200 text -822
> 
> Signed-off-by: Michal Simek <michal.simek@amd.com>
> ---
> 
>  arch/riscv/cpu/generic/Kconfig | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/riscv/cpu/generic/Kconfig b/arch/riscv/cpu/generic/Kconfig
> index 2baba2299238..8d53c69ba38c 100644
> --- a/arch/riscv/cpu/generic/Kconfig
> +++ b/arch/riscv/cpu/generic/Kconfig
> @@ -10,8 +10,8 @@ config GENERIC_RISCV
>  	imply CPU
>  	imply CPU_RISCV
>  	imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
> -	imply RISCV_ACLINT if RISCV_MMODE
> -	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE
> +	imply RISCV_ACLINT if RISCV_MMODE && !TARGET_XILINX_MBV
> +	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE && !TARGET_XILINX_MBV

Would it be a better idea to make (SPL_)RISCV_ACLINT visible and
override them in your platform defconfigs? This avoids introducing
platform-specific conditions in a "generic" CPU Kconfig.

Regards,
Yao Zi

>  	imply CMD_CPU
>  	imply SPL_CPU
>  	imply SPL_OPENSBI
> -- 
> 2.43.0
> 
> base-commit: 0d875f98e9d81b68265ea26c379dae8ce5b1f5a9

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] riscv: Exclude ACLINT for TARGET_XILINX_MBV
  2026-05-01 10:33 ` Yao Zi
@ 2026-05-04  9:26   ` Michal Simek
  0 siblings, 0 replies; 3+ messages in thread
From: Michal Simek @ 2026-05-04  9:26 UTC (permalink / raw)
  To: Yao Zi, u-boot, git; +Cc: Leo, Rick Chen, Tom Rini



On 5/1/26 12:33, Yao Zi wrote:
> On Thu, Apr 30, 2026 at 01:58:28PM +0200, Michal Simek wrote:
>> The Xilinx MicroBlaze V platform does not have an ACLINT (Advanced
>> Core Local Interruptor) hardware block. The timer functionality is
>> provided through a different mechanism.
>>
>> Exclude both RISCV_ACLINT and SPL_RISCV_ACLINT from being implied
>> for TARGET_XILINX_MBV while keeping the default behavior for other
>> generic RISC-V targets that do have ACLINT hardware.
>>
>>     spl/u-boot-spl: all -1382 data -360 rodata -200 text -822
>>
>> Signed-off-by: Michal Simek <michal.simek@amd.com>
>> ---
>>
>>   arch/riscv/cpu/generic/Kconfig | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/arch/riscv/cpu/generic/Kconfig b/arch/riscv/cpu/generic/Kconfig
>> index 2baba2299238..8d53c69ba38c 100644
>> --- a/arch/riscv/cpu/generic/Kconfig
>> +++ b/arch/riscv/cpu/generic/Kconfig
>> @@ -10,8 +10,8 @@ config GENERIC_RISCV
>>   	imply CPU
>>   	imply CPU_RISCV
>>   	imply RISCV_TIMER if (RISCV_SMODE || SPL_RISCV_SMODE)
>> -	imply RISCV_ACLINT if RISCV_MMODE
>> -	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE
>> +	imply RISCV_ACLINT if RISCV_MMODE && !TARGET_XILINX_MBV
>> +	imply SPL_RISCV_ACLINT if SPL_RISCV_MMODE && !TARGET_XILINX_MBV
> 
> Would it be a better idea to make (SPL_)RISCV_ACLINT visible and
> override them in your platform defconfigs? This avoids introducing
> platform-specific conditions in a "generic" CPU Kconfig.

No issue with it. I sent v2 with this.

Thanks,
Michal

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-04  9:27 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30 11:58 [PATCH] riscv: Exclude ACLINT for TARGET_XILINX_MBV Michal Simek
2026-05-01 10:33 ` Yao Zi
2026-05-04  9:26   ` Michal Simek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.