All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alice Ryhl <aliceryhl@google.com>
To: FUJITA Tomonori <fujita.tomonori@gmail.com>
Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org,
	 x86@kernel.org, linux-riscv@lists.infradead.org,
	 linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
	 tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	 dave.hansen@linux.intel.com, peterz@infradead.org,
	hpa@zytor.com,  paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu,  catalin.marinas@arm.com, will@kernel.org,
	chenhuacai@kernel.org,  kernel@xen0n.name,
	tangyouling@loongson.cn, hejinyang@loongson.cn,
	 yangtiezhu@loongson.cn, ojeda@kernel.org, alex.gaynor@gmail.com,
	 boqun.feng@gmail.com, gary@garyguo.net,
	bjorn3_gh@protonmail.com,  benno.lossin@proton.me,
	a.hindborg@kernel.org, tmgross@umich.edu,  dakr@kernel.org
Subject: Re: [PATCH v6 4/4] rust: Add warn_on macro
Date: Fri, 2 May 2025 11:17:21 +0000	[thread overview]
Message-ID: <aBSpwXh0GnuyXyST@google.com> (raw)
In-Reply-To: <20250502094537.231725-5-fujita.tomonori@gmail.com>

On Fri, May 02, 2025 at 06:45:36PM +0900, FUJITA Tomonori wrote:
> Add warn_on macro, uses the BUG/WARN feature (lib/bug.c) via assembly
> for x86_64/arm64/riscv.
> 
> The current Rust code simply wraps BUG() macro but doesn't provide the
> proper debug information. The BUG/WARN feature can only be used from
> assembly.
> 
> This uses the assembly code exported by the C side via ARCH_WARN_ASM
> macro. To avoid duplicating the assembly code, this approach follows
> the same strategy as the static branch code: it generates the assembly
> code for Rust using the C preprocessor at compile time.
> 
> Similarly, ARCH_WARN_REACHABLE is also used at compile time to
> generate the assembly code; objtool's reachable annotation code. It's
> used for only architectures that use objtool.
> 
> For now, Loongarch and arm just use a wrapper for WARN macro.
> 
> UML doesn't use the assembly BUG/WARN feature; just wrapping generic
> BUG/WARN functions implemented in C works.
> 
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>

Reviewed-by: Alice Ryhl <aliceryhl@google.com>


WARNING: multiple messages have this Message-ID (diff)
From: Alice Ryhl <aliceryhl@google.com>
To: FUJITA Tomonori <fujita.tomonori@gmail.com>
Cc: linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org,
	 x86@kernel.org, linux-riscv@lists.infradead.org,
	 linux-arm-kernel@lists.infradead.org, loongarch@lists.linux.dev,
	 tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	 dave.hansen@linux.intel.com, peterz@infradead.org,
	hpa@zytor.com,  paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu,  catalin.marinas@arm.com, will@kernel.org,
	chenhuacai@kernel.org,  kernel@xen0n.name,
	tangyouling@loongson.cn, hejinyang@loongson.cn,
	 yangtiezhu@loongson.cn, ojeda@kernel.org, alex.gaynor@gmail.com,
	 boqun.feng@gmail.com, gary@garyguo.net,
	bjorn3_gh@protonmail.com,  benno.lossin@proton.me,
	a.hindborg@kernel.org, tmgross@umich.edu,  dakr@kernel.org
Subject: Re: [PATCH v6 4/4] rust: Add warn_on macro
Date: Fri, 2 May 2025 11:17:21 +0000	[thread overview]
Message-ID: <aBSpwXh0GnuyXyST@google.com> (raw)
In-Reply-To: <20250502094537.231725-5-fujita.tomonori@gmail.com>

On Fri, May 02, 2025 at 06:45:36PM +0900, FUJITA Tomonori wrote:
> Add warn_on macro, uses the BUG/WARN feature (lib/bug.c) via assembly
> for x86_64/arm64/riscv.
> 
> The current Rust code simply wraps BUG() macro but doesn't provide the
> proper debug information. The BUG/WARN feature can only be used from
> assembly.
> 
> This uses the assembly code exported by the C side via ARCH_WARN_ASM
> macro. To avoid duplicating the assembly code, this approach follows
> the same strategy as the static branch code: it generates the assembly
> code for Rust using the C preprocessor at compile time.
> 
> Similarly, ARCH_WARN_REACHABLE is also used at compile time to
> generate the assembly code; objtool's reachable annotation code. It's
> used for only architectures that use objtool.
> 
> For now, Loongarch and arm just use a wrapper for WARN macro.
> 
> UML doesn't use the assembly BUG/WARN feature; just wrapping generic
> BUG/WARN functions implemented in C works.
> 
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com>

Reviewed-by: Alice Ryhl <aliceryhl@google.com>

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

  reply	other threads:[~2025-05-02 11:35 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-02  9:45 [PATCH v6 0/4] rust: Add bug/warn abstractions FUJITA Tomonori
2025-05-02  9:45 ` FUJITA Tomonori
2025-05-02  9:45 ` [PATCH v6 1/4] x86/bug: Add ARCH_WARN_ASM macro for BUG/WARN asm code sharing with Rust FUJITA Tomonori
2025-05-02  9:45   ` FUJITA Tomonori
2025-05-02  9:45 ` [PATCH v6 2/4] riscv/bug: " FUJITA Tomonori
2025-05-02  9:45   ` FUJITA Tomonori
2025-05-02  9:45 ` [PATCH v6 3/4] arm64/bug: " FUJITA Tomonori
2025-05-02  9:45   ` FUJITA Tomonori
2025-05-02  9:45 ` [PATCH v6 4/4] rust: Add warn_on macro FUJITA Tomonori
2025-05-02  9:45   ` FUJITA Tomonori
2025-05-02 11:17   ` Alice Ryhl [this message]
2025-05-02 11:17     ` Alice Ryhl
2025-06-05  1:56 ` [PATCH v6 0/4] rust: Add bug/warn abstractions Miguel Ojeda
2025-06-05  1:56   ` Miguel Ojeda
2025-06-05  7:20   ` FUJITA Tomonori
2025-06-05  7:20     ` FUJITA Tomonori
2025-07-23  0:48 ` Miguel Ojeda
2025-07-23  0:48   ` Miguel Ojeda
2025-07-23  6:20   ` FUJITA Tomonori
2025-07-23  6:20     ` FUJITA Tomonori
2025-07-23  9:52     ` Miguel Ojeda
2025-07-23  9:52       ` Miguel Ojeda
2025-07-23 13:23       ` FUJITA Tomonori
2025-07-23 13:23         ` FUJITA Tomonori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aBSpwXh0GnuyXyST@google.com \
    --to=aliceryhl@google.com \
    --cc=a.hindborg@kernel.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=dakr@kernel.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=fujita.tomonori@gmail.com \
    --cc=gary@garyguo.net \
    --cc=hejinyang@loongson.cn \
    --cc=hpa@zytor.com \
    --cc=kernel@xen0n.name \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=loongarch@lists.linux.dev \
    --cc=mingo@redhat.com \
    --cc=ojeda@kernel.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=peterz@infradead.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tangyouling@loongson.cn \
    --cc=tglx@linutronix.de \
    --cc=tmgross@umich.edu \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=yangtiezhu@loongson.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.