[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] ARM: Drop ThumbEE support
- To: Julien Grall <julien@xxxxxxx>
- From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
- Date: Thu, 4 Dec 2025 07:19:35 +0000
- Accept-language: en-GB, en-US
- Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=xen.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
- Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8rG587oZEWwoxfK1+u71M6Y71itEBhTBhYHZl3XbcZc=; b=IYOyby4r3+3E/yI9BPXNlTeatA27wZMjHoGBpHW7f5/9XfRXiXkkufAatz2WVVYVrQ6OfLiZ4/JsOyUch1vYqdiN1ptbhOUecB4ViTVBxrQ4/AxE/whT8trCyP3o/Lbx9RVwCdxFM8Pp9z7JT4d8UCch3S+aT4RA2DBUpJnXsLw2bgynCUqh24c7QqmF1T00b+ljjiGjfnKTdyaj8Rvpv3E/5DH2dteKQ7Vg7IzKanSQFsSg5J6AbsSMhHcFMh0/lm1wfNjI0gjR5Osa91L134NFTDwpEAUfFNc42OnvG5bpvjRGadKY4hcoZGJhafXugOlCdMNWA/Tx0Jq5vZVM5A==
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8rG587oZEWwoxfK1+u71M6Y71itEBhTBhYHZl3XbcZc=; b=vkUUUJmuYZ0CqfL50zjFzv2gv7DjHfxpx0r4x2vhOjZZ3LMyhN3/BgLaLXgzm1IllreAh7p/xkxAF8I8D/TkH6teDVdEZzGy9zJlXrlhn4N4OSe9lT1TSN12gOgP/Tr/akVhf+PbzQP8KjsiIXo02tpwVUmPWvPS61e2whdTJZFajQGzVHKo8cGVcMzqzL7dUsWv3S8+Y5p80HzCcwxcydqarEC218clQe2UB+LjSvMMf6yG5NeGO/7i33c9NUdAwgLNZCQy/pHBRFjrsUzkR7XhyRWUChREYpJYxn9yXCC5WTWYW2pWvwwjmIFG6eRCUh+91J1IqplJq2LpNRwAHA==
- Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=szNsPoKqarA0xNnpFYZZAgTZ6/jDOxNonbYl+iRDbhqVV0+/wu5Gdnn1B6nO2uwb8N9VS4Rr+fhwuavSAbAaCOlmuqnYUCtHjDAswDGjaF5lNIHdd5qBW5kotelFGpbU7hLZFdeUGbRq/MPNMK/FFT/d101XqB8h7ROIwVzgB2xTl3Az8PSrnXvVbkJYeAXissgLzwgdj1dSPK7s3gmVK4pZ3aSQDIMFU7M5BPR6DlrJiqs5997SXpKpVZ2NFn41OlsCiPsKyqCN33xn5SuAuz00sRcVj4H0ptESnPGAifJfMwRDHgos0W92maWvnjRzppVOu8ObnisTDQ/yBOI1TA==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DZqn+Kt8vblsiypluH97/ODIqs8uwPzcfrBbvNaGBhFkopUFMVS9KUysp+KPk7d8HvIGjXRs4sDPQvYcTWoSYIWPMx3HAWPGfOqY4Dd1nmoEleF6oS0lE+TtKs6eEc4YQewXfr0XLksKJzrHcI5hi/tvguBhq+tHySFIaPqfjeOJValTNWwwuFJX36V40zPhfvLEog8sScDM7hm6B8+0fVY7wadz/1RJtal9zjx8yWnKohynPZV4ezDTOMu4cpWPB1fWMYC3s0kgjohk3kCRv8oObG8JNiJkKAJkfqvpWmGMES/hoVYtAnty8Rs2xUZ5vNvOJlKQllKd91g99V67eQ==
- Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Hans van Kranenburg <hans@xxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <JBeulich@xxxxxxxx>, Maximilian Engelhardt <maxi@xxxxxxxxxxxxx>
- Delivery-date: Thu, 04 Dec 2025 07:21:01 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Nodisclaimer: true
- Thread-index: AQHcZHiHHimnEym6ZUmnz/k7agCZbbUQOtwAgAAHNICAACU0AIAArG6A
- Thread-topic: [PATCH] ARM: Drop ThumbEE support
Hi Andrew and Julien,
R52 which i think is one of the few Arm CPUs that some people are looking at
using
32bit instructions support Thumb-2 but not ThumbEE.
ThumbEE has been deprecated so I think Andrews changes (including the one
that traps any ThumbEE usage which is definitely required) are Ok.
Even on Cortex A15, I am not that sure that many people actually used ThumbEE.
Regards
Bertrand
> On 3 Dec 2025, at 22:02, Julien Grall <julien@xxxxxxx> wrote:
>
> Hi Andrew,
>
> On 03/12/2025 18:49, Andrew Cooper wrote:
>> On 03/12/2025 6:23 pm, Julien Grall wrote:
>>> Hi Andrew,
>>>
>>> On 03/12/2025 17:16, Andrew Cooper wrote:
>>>> to keep it working, but there was apparently no use of ThumbEE
>>>> outside of demo
>>>> code, so simply drop it.
>>>
>>> I am in favor of dropping support for ThumbEE for guest. But I am not
>>> sure I understand this comment.
>> There's no production use of ThumbEE known to ARM.
>
> Interesting. The Arm Arm is less assertive and in fact confusing, the latest
> spec released in 2018 (ARM DDI 0406C.d) has the following:
>
> "
> From the publication of issue C.a of this manual, ARM deprecates any use of
> the ThumbEE instruction set.
>
> [...]
>
> ThumbEE is both the name of the instruction set and the name of the extension
> that provides support for that
> instruction set. The ThumbEE Extension is:
> • Required in implementations of the ARMv7-A profile.
> "
>
> I have also checked the TRM of the Cortex-A15 (one of the Armv7 CPU we used
> to have in the CI before gitlab) and it supports ThumbEE. So I think we need
> to additional diff you sent in this patch.
>
>>> Are you saying there are no processors supporting ThumbEE where Xen
>>> would run? Asking because below, you are removing code to context
>>> switch the ThumbEE registers. But I don't see any code that would
>>> ensure the registers are trapping (i.e. HSTR.TEE is set). So wouldn't
>>> this result to a cross-VM leak on those processors?
>>>
>>> If we really don't want to support CPU where ThumbEE is available,
>>> then we should check that "cpu_has_thumbee" is 0.
>> The registers exist in ARM v7 only. They do not exist in ARM v8.
>> I suppose yes this change would result in a cross-VM leak on hardware
>> supporting ThumbEE.
>> Can HSTR.TTEE be set unilaterally, or does it need gating on
>> cpu_has_thumbee?
>
> From my understanding of the Armv7 specification, the bit doesn't need to be
> gated. The Armv8 specification suggest it is RES0 so in theory it could be
> used in the future. So the diff you sent is correct.
>
>> Is setting HSTR.TTEE sufficient to cause an undefined instruction
>> exception to be thrown back at a guest which goes poking? (I guess this
>> is really "will the default do the right thing")
>
> I believe so. The default behavior in Xen is to inject an undefined exception
> if it can't handle a trap.
>
>> I'll freely admit that I'm out of my depth here, but the build failure
>> does need fixing.
>
> I agree. Do we need to include the fix in 4.19 (I think Jan asked to cut it
> tomorrow)? Thanks for sending the patch!
>
> Cheers,
>
> --
> Julien Grall
|