[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] x86/pv: Rework TRY_LOAD_SEG() to use asm goto()


  • To: Jan Beulich <jbeulich@xxxxxxxx>
  • From: Nicola Vetrini <nicola.vetrini@xxxxxxxxxxx>
  • Date: Mon, 21 Jul 2025 12:34:38 +0200
  • Arc-authentication-results: i=1; bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Arc-message-signature: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; c=relaxed/relaxed; t=1753094078; h=DKIM-Signature:MIME-Version:Date:From:To:Cc:Subject:In-Reply-To: References:Message-ID:X-Sender:Organization:Content-Type: Content-Transfer-Encoding; bh=pw/tbOr+sjAsUvhZj483ZtT7QJWuzil+QSFVFLGvKh4=; b=K1/w7tk3qatSJvePH+vzcPbIsImP2Kkur2KirRHkKlBwg1/G2e/JfWcClpeP6683NZ40 0dtxf9dpTCKTTkjpAeqcC8NEz/d4Fb+mJBmV5oAr73C6TYrTpJnvK8Ggtcf6LRcnNQbGd dq3az+8tzkF5LZBmLbbTHN0xjCn6X463Bjw1SuJ7FqSSuFlxOHn8LS2dbwZRhJ+yggN5r D7eQZXlzxMxSHMoVIfaxvxbTdKToa3tUIlxSX5N1sRTmO7QkN8mr155Cq06U1rBOpGYUz F8WNQTUFcAINvZNmDZ37OZj3Sw0caeQiPHUMwd3p0rB4DnkTYMOhUtAcVYpcjfiL/Ecw2 8XwAOr4ozWhwws8RQ7ozmA4PUnKpl3e7EgPgo/wV6/VhuzQLJAkVQfxLM1ctXNWv2lMRJ 4Smo/ukBWkWzXiFp949b0GO5sLSfKo2mXPWnv6t//5MMge89u4MGMmRRxMAejTDrK2DqJ J4+v+ZZAvgQSTNIGIAzLBWJhLdjrIBxuCjvlB6MN/tYUXzuSfUI9cGflQklnNjg90vTN2 QIeDI8hmZwtkOk6ToMli9C2pJXnGVI3L9M733R7YVRcO1Gs/74LUfvhIhMpKXgMaC9i4/ ruAGRDzhyx9s0Z75sN29G83mNPejohYPlWTdh5VgAauy6992ws9KJ3irJNloIqk=
  • Arc-seal: i=1; d=bugseng.com; s=openarc; a=rsa-sha256; cv=none; t=1753094078; b=oo6ZVt02YpmtI8+sO7p+sqfV9KLLe3zwQXiye+KWKqKA6fDbfaaQjR1XnRco9TsdsPUG h2GLlD0x8ifi3CYh+GNJQkAzwuOFcsbBLcV5BAY7MGvXsA2fP5CriuDwk+9ybsVxGaAnG D88D8THdjpa8finwJLxpahBO0PwlAv4j/U/yBvQ07Ja4IZR5FFHjo2ozDApRkSlH+U2tV FFhU4TWAg9/QD+lZ5ggyp1IhbQz+n5yRj1s5kxoK99ktlcx4BJzg2xskHHREWHtz61OYo G5WJcu0RDN0Tf2EdTftBsfxNmLIsz/OrayLySf2sZ/kmFfMhMXLuMbkmSIUion80pBqWe krVS8RgBI3Krm0pVExoJFFoPmArhCMY2FNGdMg0Kk1Pa0XPH98xJS7EcMVL/hNBtqp5G7 qvsikgVP+W1Fx3kMBAhOSeWoI0qvY+RXfzvi4lNUE5BOZ+OlKCcDplxZVbNdrIbEeVSuY F5b4QOUvjS9/XQlzwOJEFV5n3FYIHr1P+q8TwVS474go7gtdAr+2TnDEI9/mNemoq86C5 Gua8BNzrAZUusOD07c2LNdr0Kq5bdkXFFQZ89UfqFNx+m1zjknx6RqKAuGUZB01SUJjHU 9p4MEpDNMd9f1TiI/ySKgFHKl/DtRYUuuJ9UchgUL5qtMV2m5GDqYy9ioaj1mik=
  • Authentication-results: bugseng.com; arc=none smtp.remote-ip=162.55.131.47
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Mon, 21 Jul 2025 10:34:48 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 2025-07-21 11:25, Jan Beulich wrote:
On 21.07.2025 10:16, Nicola Vetrini wrote:
On 2025-07-21 08:41, Jan Beulich wrote:
On 18.07.2025 22:25, Andrew Cooper wrote:
This moves the exception path to being out-of-line within the
function, rather
than in the .fixup section, which improves backtraces.

Because the macro is used multiple times, the fault label needs
declaring as
local.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
---
CC: Jan Beulich <JBeulich@xxxxxxxx>
CC: Roger Pau Monné <roger.pau@xxxxxxxxxx>

Slightly RFC.  I haven't checked if Eclair will be happy with
__label__ yet.

Even if it is, I guess you'd need to update the list of extensions we
use (docs/misra/C-language-toolchain.rst)?

Only for using the __label__ token in
automation/eclair_analysis/ECLAIR/toolchain.ecl. The extension itself is
already documented in 5590c7e6590d ("eclair: allow and document use of
GCC extension for label addresses")

Except that it's not the address taking that is the point in question here. We have meanwhile gained a number of asm-goto (and for the uses there I'm not even sure they count as "address taking"). It's really the __label__ extended keyword (and the thus possible declaration of a scope-restricted
label) that my remark was about. But yes, toolchain.ecl looks to need a
change, too.


You're right, it needs also section 6.2 "Locally Declared Labels". Both easy to add if needed.

--
Nicola Vetrini, B.Sc.
Software Engineer
BUGSENG (https://bugseng.com)
LinkedIn: https://www.linkedin.com/in/nicola-vetrini-a42471253



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.