From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,DKIM_VALID,FREEMAIL_FROM,HTML_MESSAGE,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 901 invoked from network); 7 Nov 2020 15:03:52 -0000 Received: from tb-ob1.topicbox.com (64.147.108.173) by inbox.vuxu.org with ESMTPUTF8; 7 Nov 2020 15:03:52 -0000 Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob1.topicbox.com (Postfix) with ESMTP id 8F47131350 for ; Sat, 7 Nov 2020 10:03:44 -0500 (EST) (envelope-from bounce.mM17cdefbb28d2693788d7a348.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 8C3A351ADC7; Sat, 7 Nov 2020 10:03:44 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=bNvQSQMR header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-vs1-f68.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (body has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1604761424; bh=OSBire5JfHuqGHvj ZKbg+bpLNm/IfddhbedMv5yiWtY=; b=noJr9bfY1jXKvKZZrYyPucwp31Igq5Hv oBs0vci9kQr0aMGsFsvZ2PhMU7n5oXYn3Lab/W1ahalNlp1/kxZakdObRMgsp6H9 y1j3FsfvhislGIkvOe4mo/MWO+Aefix/r7NDamjJA/l+TMzKMDDaFiqPXqvi1xBC HS8l8RJhv8M= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1604761424; b=cmhEaW/5VZb4piqtPnDYNTYmAGT2YpNEJR7KRygQK4Rz+6i0OY 9+AQru1rdHNvXsCRzbwYqoaQqRTV6wqf3Mg6xRl5hRofbPqnk8a6AO8cDhIx4s2D gjTOg8iI22sq94b8hkzaqPatjFBeR7UydSZoEvcWQc3eRyZzAMLqqGFTU= Authentication-Results: topicbox.com; arc=pass; dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=bNvQSQMR header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-vs1-f68.google.com; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (body has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=bNvQSQMR header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.217.68 (mail-vs1-f68.google.com); spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-vs1-f68.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=XKZCMzC8; x-ptr=pass smtp.helo=mail-vs1-f68.google.com policy.ptr=mail-vs1-f68.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h= mime-version:references:in-reply-to:from:date:message-id:subject :to:content-type:list-help:list-id:list-post:list-subscribe :reply-to:content-transfer-encoding:list-unsubscribe; s=dkim-1; bh=36CX1s81N8Jdj1NAQB5yRcSe08H9k89NoCUpUMuyaZs=; b=MS77VkClbYqW qP7mY3221Cu2cLgK1oSo1JKovpjjLtBuox/IK84TaQNDa+SmeVBYcYI5WGBbre81 iBaSYs+iv2DupFUQw2TZJVh2Pk4cdNP73HbvrAq4WGgmm4iwdcUcJuA09fzQll+v 0c36LFYQLlEMgkzb2EiDcNCEFrKnWBo= Received: from tb-mx1.topicbox.com (localhost.local [127.0.0.1]) by tb-mx1.topicbox.com (Postfix) with ESMTP id 81E2271D7B8 for <9fans@9fans.net>; Sat, 7 Nov 2020 10:03:36 -0500 (EST) (envelope-from charles.forsyth@gmail.com) Received: from tb-mx1.topicbox.com (localhost [127.0.0.1]) by tb-mx1.topicbox.com (Authentication Milter) with ESMTP id E29A993A306; Sat, 7 Nov 2020 10:03:36 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1604761416; b=B8kutNqopjnB3Y7hG478lE5bjtkjA+8+XplvmSEtmC7MIvcJCn 8BUcrxBJ6P6v70AE8qdN8wF4y76UBdw3AlbDRIO2dYNoDBn5hLB801YcjwAzh9xZ AXj47lLxdZi2Yadlt9mYsPKYDHgX6XH4I64NNHQM4IioA1rRW3S/hgNVcM91Xsy4 3t4dJKbCA3qQWdXadrjRW9iuOo/c1TU97Gh1i48e9ofuGuy7CmCR08HTO6vzmbOa BF+Jfw1n2yIICP5DL/kVRZmAE5nSkuYjVAVjafnUpd7oZWCAZSp7UB6XFdQvKxot vwodBgeKVrIdBDqLmXqs2XXu/f6Q9QmIbLkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; s=arcseal; t=1604761416; bh=rvth4cYppxNk7GyOC4KYBMgoBoVUorgvFG7YwUkoOPw=; b=yKLWrfRMcLBy hyI3XS1KPO4V4zJoPl9Xrkc36DMZ/hm1dDclC8nmw1JjMze8sL/dhYO0qhSyLpRi cPsGT1nLdJtsmU/fUJzmFWJxi6H2QNmgw6TTyjLhI0Bp6hxcMcizq4p5azeOlcS2 2tAN3IDx1AENOqPSANzaI5RvkqueCzUixcxjvCckta8KCDbnD/srXml6kNaI05A9 Neomjb3fCrf2xsJ0Lc5hrcv6DPJubv6PlGxl6yS3EAkkLkuGB0TNQrLMM916f7bj KRcwbWGrhwuth2dwFFmw/PC0cc4lFw36CtpBrHVorhf+hwPoFKG4xovEa27ZgMyM 8FY21sUCOg== ARC-Authentication-Results: i=1; tb-mx1.topicbox.com; arc=none (no signatures found); bimi=none (Domain is not BIMI enabled); dkim=pass (2048-bit rsa key sha256) header.d=gmail.com header.i=@gmail.com header.b=bNvQSQMR header.a=rsa-sha256 header.s=20161025 x-bits=2048; dmarc=pass policy.published-domain-policy=none policy.published-subdomain-policy=quarantine policy.applied-disposition=none policy.evaluated-disposition=none (p=none,sp=quarantine,d=none,d.eval=none) policy.policy-from=p header.from=gmail.com; iprev=pass smtp.remote-ip=209.85.217.68 (mail-vs1-f68.google.com); spf=pass smtp.mailfrom=charles.forsyth@gmail.com smtp.helo=mail-vs1-f68.google.com; x-aligned-from=pass (Address match); x-google-dkim=pass (2048-bit rsa key) header.d=1e100.net header.i=@1e100.net header.b=XKZCMzC8; x-ptr=pass smtp.helo=mail-vs1-f68.google.com policy.ptr=mail-vs1-f68.google.com; x-return-mx=pass header.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-return-mx=pass smtp.domain=gmail.com policy.is_org=yes (MX Records found: alt3.gmail-smtp-in.l.google.com,gmail-smtp-in.l.google.com,alt4.gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com,alt2.gmail-smtp-in.l.google.com); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedujedruddutddgleeiucdltddurdegudehrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpeggfhgjhfffkffuvfgtsegrtderredttdejnecuhfhrohhmpeevhhgr rhhlvghsucfhohhrshihthhhuceotghhrghrlhgvshdrfhhorhhshihthhesghhmrghilh drtghomheqnecuggftrfgrthhtvghrnhepfeeftefhvefhveetjedthfeifeeiveehjeel vdegvedvgeelgfevtdelgfegieeknecuffhomhgrihhnpehtohhpihgtsghogidrtghomh enucfkphepvddtledrkeehrddvudejrdeikeenucevlhhushhtvghrufhiiigvpedtnecu rfgrrhgrmhepihhnvghtpedvtdelrdekhedrvddujedrieekpdhhvghlohepmhgrihhlqd hvshduqdhfieekrdhgohhoghhlvgdrtghomhdpmhgrihhlfhhrohhmpeeotghhrghrlhgv shdrfhhorhhshihthhesghhmrghilhdrtghomhequcfukfgkgfepledtieeh X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (gmail.com ... _spf.google.com: Sender is authorized to use 'charles.forsyth@gmail.com' in 'mfrom' identity (mechanism 'include:_netblocks.google.com' matched)) receiver=tb-mx1.topicbox.com; identity=mailfrom; envelope-from="charles.forsyth@gmail.com"; helo=mail-vs1-f68.google.com; client-ip=209.85.217.68 Received: from mail-vs1-f68.google.com (mail-vs1-f68.google.com [209.85.217.68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx1.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sat, 7 Nov 2020 10:03:35 -0500 (EST) (envelope-from charles.forsyth@gmail.com) Received: by mail-vs1-f68.google.com with SMTP id y73so2405022vsc.5 for <9fans@9fans.net>; Sat, 07 Nov 2020 07:03:35 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=rvth4cYppxNk7GyOC4KYBMgoBoVUorgvFG7YwUkoOPw=; b=XKZCMzC8jKY7tfWCbK2Fz4UoXV81RVUWG9aA11zZnP1uswNM9FDL3yQuryQRv8noHO GWVOet2bDtw5Twr43X9HMBJtDqEB16KJ8Zi77R3yaCHvuE1mlgy+vsS1UC8DG9pwQ/6E cScu33qU2pTNrdMU0GvmT9VX/47R/XG32JaBdFFYmL6b7Awkno/mnNGBUcjjkk+3sNDO Az7Z0jQp6Oeo1Hsx1rRnWi6QNeMfbDrslGjB8XTvtdzTkl5Dx5uNp9ezvGoywHKP8/9C 32ljwcwCbBBxmmdjsUVXwVLzKf9zD5dcPmfOTx2H2H4cw+dwDBbwHtLjB9IXO+GrH358 x0KA== X-Gm-Message-State: AOAM530QWeYzdGqm3KY6uadAlDwOlIJfWmDoenH++4S+BeEbvSdCYK/c 8vIi1cmyJAAyrT1kAo3yDOMgobyN0pZs8hoB4BGcd3+uLVY= X-Google-Smtp-Source: ABdhPJwCG6Pw0cn4xXXU5STMGngdz5LPa6iMpSTSosnG/1hUHNXvmPlbeyufxs3Irht8gIBGZPw8h9ZJ2lUA8vcWfXI= X-Received: by 2002:a67:7283:: with SMTP id n125mr4297446vsc.20.1604761415122; Sat, 07 Nov 2020 07:03:35 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Charles Forsyth Date: Sat, 7 Nov 2020 15:03:24 +0000 Message-ID: Subject: Re: [9fans] Arm Thumb compiler for Cortex-M To: 9fans <9fans@9fans.net> Content-Type: multipart/alternative; boundary="0000000000001904d005b385a22a" Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 6bdc5e32-210a-11eb-83b8-b69600d2e3c2 Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UYzIyYWM4YWU2MTQ1NmYxMC1NMTdjZGVmYmIyOGQyNjkzNzg4ZDdh?= =?UTF-8?B?MzQ4Pg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: 7bit List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M17cdefbb28d2693788d7a348:1:iktmxjtZTRws6bah-yvA_REgne45vd6kiQFGy2KbS0s --0000000000001904d005b385a22a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable A slight correction (I made it earlier but didn't highlight it): 5a is also used for Thumb code, as "5a -t" to restrict the input to thumb constructions and tag the output as Thumb code (using .t files instead of .5) The thumb mkfile sets AS=3D5a -t Since the Thumb-2 changes aren't supported, and it's the original Thumb, I think that makes the supported architecture Armv6-M in current documentation terms. It looks to me as though it would work on Cortex M0, but I think the thumb mode was only ever used by us on ARM's little Armv7-t Evaluator board, which I can't even find documented now. Normally even that board ran in (normal) ARM32 mode. The Thumb work on it was just a stepping stone for using Thumb mode on a proprietary 3rd party ARM implementation, although even there it was probably experimental. Inferno can run without an MMU. Even given an MMU it sets a fairly flat map across physical memory and the MMU functionality is mainly used to map devices. The os/ks32 directory is a guide to squashing the system down to fit modest if not tiny memory (again, in ARM32 mode). On Sat, Nov 7, 2020 at 2:24 PM Thaddeus Woskowiak wrote: > On Thu, Nov 5, 2020 at 7:12 PM Charles Forsyth > wrote: > > > > There was a 5[ac] variant for Inferno (ta, tc) that produced Thumb code, > and 5l could link Thumb and ARM32 code. > > That wasn't extended once Thumb-2 was issued, since it was different > enough to require a fair amount of work and we had no immediate applicati= on > on the Cortex. > > > > > > On Thu, Nov 5, 2020 at 11:38 PM Thaddeus Woskowiak < > tswoskowiak@gmail.com> wrote: > >> > >> I would like to know if anyone is working on or exists an Arm Thumb > >> compiler so one could use plan 9 to program Arm Cortex M0/3/4/7 > >> microcontrollers directly. I know of Charles Forsyth's xc AVR compiler > >> which is also interesting. Though I have yet to try it out. > >> > >> -taw > > > > 9fans / 9fans / see discussions + participants + delivery options > Permalink >=20 > Charles, Thank you for the information. So Thumb compiling and > assembly is handled by tc and ta respectively while 5l can handle > linking both thumb code and arm 32. >=20 > I guess my next question is: does this mean Inferno can run on certain > Cortex-M micros since it can run MMU-less? (provided enough memory of > course) And has this been done before? ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tc22ac8ae61456f10-M17cde= fbb28d2693788d7a348 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription --0000000000001904d005b385a22a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
A slight correction (I made it earlier but did= n't highlight it): 5a is also used for Thumb code, as "5a -t"= to restrict the input to thumb constructions and tag the output as Thumb c= ode (using .t files instead of .5)
The thumb mkfile sets AS=3D5a -t
Since the Thumb-2 changes aren't supported, and it's the ori= ginal Thumb, I think that makes the supported architecture Armv6-M in curre= nt documentation terms.
It looks to me as though it would work on= Cortex M0, but I think the thumb mode was only ever used by us on ARM'= s little Armv7-t Evaluator board, which I can't even find documented no= w.
Normally even that board ran in (normal) ARM32 mode. The Thumb= work on it was just a stepping stone for using Thumb mode on a proprietary= 3rd party ARM implementation, although even there it was probably experime= ntal.
Inferno can run without an MMU. Even given an MMU it sets a= fairly flat map across physical memory and the MMU functionality is mainly= used to map devices.
The os/ks32 directory is a guide to squashi= ng the system down to fit modest if not tiny memory (again, in ARM32 mode).=

On Sat, Nov 7, 2020 at 2:24 PM Thaddeus Woskowiak <tswoskowiak@gmail.com> wrote:
On Thu, Nov 5, 2020 at = 7:12 PM Charles Forsyth
<charles.= forsyth@gmail.com> wrote:
>
> There was a 5[ac] variant for Inferno (ta, tc) that produced Thumb cod= e, and 5l could link Thumb and ARM32 code.
> That wasn't extended once Thumb-2 was issued, since it was differe= nt enough to require a fair amount of work and we had no immediate applicat= ion on the Cortex.
>
>
> On Thu, Nov 5, 2020 at 11:38 PM Thaddeus Woskowiak <tswoskowiak@gmail.com> w= rote:
>>
>> I would like to know if anyone is working on or exists an Arm Thum= b
>> compiler so one could use plan 9 to program Arm Cortex M0/3/4/7 >> microcontrollers directly. I know of Charles Forsyth's xc AVR = compiler
>> which is also interesting. Though I have yet to try it out.
>>
>> -taw
>
> 9fans / 9fans / see discussions + participants + delivery options Perm= alink

Charles, Thank you for the information. So Thumb compiling and
assembly is handled by tc and ta respectively while 5l can handle
linking both thumb code and arm 32.

I guess my next question is: does this mean Inferno can run on certain
Cortex-M micros since it can run MMU-less? (provided enough memory of
course) And has this been done before?

------------------------------------------
9fans: 9fans
Permalink: https:= //9fans.topicbox.com/groups/9fans/Tc22ac8ae61456f10-M2c24d5ce248578623d7a09= 7a
Delivery options: https://9fans.topicbox.com/gro= ups/9fans/subscription
= --0000000000001904d005b385a22a--