From nobody Mon Jul 15 18:23:48 2024 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WN9ZT4d4Jz5RQSG for ; Mon, 15 Jul 2024 18:24:01 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Received: from mail-oo1-xc2a.google.com (mail-oo1-xc2a.google.com [IPv6:2607:f8b0:4864:20::c2a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WN9ZT1YP7z4Mt2 for ; Mon, 15 Jul 2024 18:24:01 +0000 (UTC) (envelope-from wlosh@bsdimp.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-oo1-xc2a.google.com with SMTP id 006d021491bc7-5ce88a4531fso1194413eaf.0 for ; Mon, 15 Jul 2024 11:24:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20230601.gappssmtp.com; s=20230601; t=1721067840; x=1721672640; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=+FeK4rsYc3PvyuiwoL3i9ECQcZPHLPXmxK+rGOvob1c=; b=DEknPNOToIGYbcLi/Uo0+PxW5pDlrQZQrdvxQ8RhvsyLhm4fDM6zzXFFPHiE4bjGxV ISuekCf1AAAxoQ23W8jIRTQeEoCD3Xj05qdLs3dNusKcNHs8nEM2GCTuTUyn6zwa2kA6 ScAmdtE4HR30c+2S1VaGYYdVxSJghS3qC99xiouyA/ju9RGfHOS703aJfs6xsJJLD0Dk 0srJ7I5KcE8bumEZHQ0Dx9uHP8M3gDZmtYpTBkx2IvTI42z8+ZTebBDgJiNeLu9rZxs1 WrYgCqFlTQMC5aE3VFcpP2ZaYHNLeHaDFdm1dYgnD4FOc2XrgGP9+Oka7RgoU0Wy/3zf MVMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721067840; x=1721672640; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=+FeK4rsYc3PvyuiwoL3i9ECQcZPHLPXmxK+rGOvob1c=; b=YpQTv3UvsdirUystv9t/Q9YN1FTl26S03gKCV0dkSH2qQNiXzc+sZba2BI28qCdU6a lg4IwXkanliHQ7bwewWPhZ2yMD8QbZqYCZFSgN/E5uGCy9zXhhtCeeVu1QuDFibi0kQN IIePJCZkNkXvvtbMLbOzl03I9Twc9O6utlchBOmt5nQ6bTHf/xCX0ksoBIpBeMFqUGzV CAqBzySV10ns01pTmbmwk+fOWWtaFd76MgxO7Kkalm0CoFeLdX/pQzi7BcyXuThSzH4P sv1Fp5vitvUpJ5PJTX7C7oheCd0kE1WS5sIr0z+GLe6okGSIroF9oLWY2YfnuoiWwLnF UduA== X-Forwarded-Encrypted: i=1; AJvYcCUzjnm6iaD+7FrQ4pSCOGtKEYTgpiZmZzkX3d2yO6sWDFokbN77kRgjxFWO62GhUOPXMZAbBK6Ml3BeN8xI3ZTyXPNa9xpuXy4uDHzDuKPLMQ== X-Gm-Message-State: AOJu0YzNR9gFsbCfH4RcoJ5gSSxrqw3TNlpNLICek1NXw7h1LuayCI9W CqqnO6kE35dKdfLv3fBMMWK73IN5RwB0mpdnRp7lCDcTv0UknKptaZKeNFKy+vN2GWMWnX9e/T7 l0mDwEvX+3OVYon/8vcrkit+KrDK4o9yhUGsSy6J2F8oP6ppf2f4= X-Google-Smtp-Source: AGHT+IEjqP8FeQ4Qxmnj7S3na/9H22DqmiiKj7zi2t9NBco/eQaqEkBI35wQ0T24tY8uziwi0l8NQb/OteauYVGL08U= X-Received: by 2002:a05:6871:b20:b0:250:70bb:1a97 with SMTP id 586e51a60fabf-260ba5785d7mr27692fac.24.1721067839928; Mon, 15 Jul 2024 11:23:59 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202407140600.46E60JKl047510@gitrepo.freebsd.org> In-Reply-To: From: Warner Losh Date: Mon, 15 Jul 2024 12:23:48 -0600 Message-ID: Subject: Re: git: 60f098f84119 - main - arch: Update to remove armv6 To: Ed Maste Cc: Warner Losh , src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000003bde24061d4d550a" X-Spamd-Bar: ---- X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Queue-Id: 4WN9ZT1YP7z4Mt2 --0000000000003bde24061d4d550a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Jul 15, 2024 at 7:03=E2=80=AFAM Ed Maste wrote= : > On Sun, 14 Jul 2024 at 02:00, Warner Losh wrote: > > > > .Dv aarch64 > > will support execution of > > -.Dv armv6 > > -or > > .Dv armv7 > > binaries if the CPU implements > > .Dv AArch32 > > -execution state, however older arm binaries aren't supported. > > +execution state, however older arm binaries are not supported by > > +.Fx . > > Do older 32-bit Arm userland binaries actually not work? Would > "support execution of 32-bit Arm binaries if the CPU implements the > AArch32 execution state" be accurate? > armv7 works. armv6 likely works since they are quite similar to armv7. The only difference is in userland APIs. armv4 and v5 do not work if they used RAS (atomics). We don't implement the kernel part of RAS anymore, so those cannot work today. So nothing threaded will work. Some non-threaded things might work, but I don't think anybody has tested it, or seen if there's other, currently unknown, issues. So if you want to run an armv7 binary AND the CPU implements aarch32 execution states, then you will succeed. if armv6 and aarch64 it may work, but isn't supported. Otherwise, it won't work (though some trivial examples of armv4/armv5 might work). So I omitted the edge case details: armv6 likely will work, but is unsupported. armv4 and armv5 binaries generally won't work, though some restricted cases might work. In both of these cases, if they don't work or break in the future, we don't care (as a project). Clear as mud, eh? Warner --0000000000003bde24061d4d550a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Mon, Jul 15, 2024 at 7:03=E2=80=AF= AM Ed Maste <emaste@freebsd.org> wrote:
On = Sun, 14 Jul 2024 at 02:00, Warner Losh <imp@freebsd.org> wrote:
>
>=C2=A0 .Dv aarch64
>=C2=A0 will support execution of
> -.Dv armv6
> -or
>=C2=A0 .Dv armv7
>=C2=A0 binaries if the CPU implements
>=C2=A0 .Dv AArch32
> -execution state, however older arm binaries aren't supported.
> +execution state, however older arm binaries are not supported by
> +.Fx .

Do older 32-bit Arm userland binaries actually not work? Would
"support execution of 32-bit Arm binaries if the CPU implements the AArch32 execution state" be accurate?

<= div>armv7 works.

armv6 likely works since they are= quite similar to armv7. The only difference is in userland APIs.

armv4 and v5 do not work if they used RAS (atomics). We don= 't implement the kernel part of RAS anymore, so those cannot work today= . So nothing threaded will work. Some non-threaded things might work, but I= don't think anybody has tested it, or seen if there's other, curre= ntly unknown, issues.

So if you want to run an arm= v7 binary AND the CPU implements aarch32 execution states, then you will su= cceed. if armv6 and aarch64 it may work, but isn't supported. Otherwise= , it won't work (though some trivial examples of armv4/armv5 might work= ).

So I omitted the edge case details: armv6 likel= y will work, but is unsupported. armv4 and armv5 binaries generally won'= ;t work, though some restricted cases might work. In both of these cases, i= f they don't work or break in the future, we don't care (as a proje= ct).

Clear as mud, eh?

Wa= rner
--0000000000003bde24061d4d550a--