[PATCH] microblaze: Fix MB_MANAGER build with older binutils

Karl Mehltretter posted 1 patch 1 month, 2 weeks ago
arch/microblaze/kernel/entry.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] microblaze: Fix MB_MANAGER build with older binutils
Posted by Karl Mehltretter 1 month, 2 weeks ago
Commit 88707ebe77e2 ("microblaze: Add custom break vector handler for mb
manager") added the suspend mnemonic to the MB Manager break handler.

GNU as only learned this mnemonic in binutils 2.42. Linux supports
binutils 2.30, where enabling CONFIG_MB_MANAGER fails:

  arch/microblaze/kernel/entry.S:946: Error: unknown opcode "suspend"

The suspend mnemonic is an alias for mbar 24, and both encode as
0xbb020004. Use the underlying instruction, which GNU as 2.30 already
supports.

Fixes: 88707ebe77e2 ("microblaze: Add custom break vector handler for mb manager")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202310310151.UhB396Qs-lkp@intel.com/
Suggested-by: Michal Simek <monstr@monstr.eu>
Cc: stable@vger.kernel.org
Assisted-by: Codex:gpt-5.6-sol
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
---
 arch/microblaze/kernel/entry.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
index 582d7256d8154..ad44341a5dbc7 100644
--- a/arch/microblaze/kernel/entry.S
+++ b/arch/microblaze/kernel/entry.S
@@ -943,7 +943,7 @@ ret_from_break:
 	mbar	1
 	mbar	2
 	bri	4
-	suspend
+	mbar	24 /* suspend */
 	nop
 #endif
 
-- 
2.53.0
Re: [PATCH] microblaze: Fix MB_MANAGER build with older binutils
Posted by Michal Simek 4 weeks ago

On 8/13/26 04:40, Karl Mehltretter wrote:
> Commit 88707ebe77e2 ("microblaze: Add custom break vector handler for mb
> manager") added the suspend mnemonic to the MB Manager break handler.
> 
> GNU as only learned this mnemonic in binutils 2.42. Linux supports
> binutils 2.30, where enabling CONFIG_MB_MANAGER fails:
> 
>    arch/microblaze/kernel/entry.S:946: Error: unknown opcode "suspend"
> 
> The suspend mnemonic is an alias for mbar 24, and both encode as
> 0xbb020004. Use the underlying instruction, which GNU as 2.30 already
> supports.
> 
> Fixes: 88707ebe77e2 ("microblaze: Add custom break vector handler for mb manager")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202310310151.UhB396Qs-lkp@intel.com/
> Suggested-by: Michal Simek <monstr@monstr.eu>
> Cc: stable@vger.kernel.org
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
> ---
>   arch/microblaze/kernel/entry.S | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/microblaze/kernel/entry.S b/arch/microblaze/kernel/entry.S
> index 582d7256d8154..ad44341a5dbc7 100644
> --- a/arch/microblaze/kernel/entry.S
> +++ b/arch/microblaze/kernel/entry.S
> @@ -943,7 +943,7 @@ ret_from_break:
>   	mbar	1
>   	mbar	2
>   	bri	4
> -	suspend
> +	mbar	24 /* suspend */
>   	nop
>   #endif
>   

Applied.
M

-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs
Re: [PATCH] microblaze: Fix MB_MANAGER build with older binutils
Posted by Karl Mehltretter 1 month ago
On Thu, Aug 13, 2026 at 04:40:26AM +0100, Karl Mehltretter wrote:
> The suspend mnemonic is an alias for mbar 24, and both encode as
> 0xbb020004. Use the underlying instruction, which GNU as 2.30 already
> supports.
> 
> Fixes: 88707ebe77e2 ("microblaze: Add custom break vector handler for mb manager")
> Reported-by: kernel test robot <lkp@intel.com>
> Closes: https://lore.kernel.org/oe-kbuild-all/202310310151.UhB396Qs-lkp@intel.com/
> Suggested-by: Michal Simek <monstr@monstr.eu>
> Cc: stable@vger.kernel.org
> Assisted-by: Codex:gpt-5.6-sol
> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>

Just a friendly ping in case this got missed.

Thanks,
Karl
Re: [PATCH] microblaze: Fix MB_MANAGER build with older binutils
Posted by Michal Simek 1 month ago

On 8/27/26 06:06, Karl Mehltretter wrote:
> On Thu, Aug 13, 2026 at 04:40:26AM +0100, Karl Mehltretter wrote:
>> The suspend mnemonic is an alias for mbar 24, and both encode as
>> 0xbb020004. Use the underlying instruction, which GNU as 2.30 already
>> supports.
>>
>> Fixes: 88707ebe77e2 ("microblaze: Add custom break vector handler for mb manager")
>> Reported-by: kernel test robot <lkp@intel.com>
>> Closes: https://lore.kernel.org/oe-kbuild-all/202310310151.UhB396Qs-lkp@intel.com/
>> Suggested-by: Michal Simek <monstr@monstr.eu>
>> Cc: stable@vger.kernel.org
>> Assisted-by: Codex:gpt-5.6-sol
>> Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
> 
> Just a friendly ping in case this got missed.

will look at it after rc1.

M
-- 
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP/Versal ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal/Versal NET SoCs
TF-A maintainer - Xilinx ZynqMP/Versal/Versal NET SoCs