From owner-freebsd-arm@freebsd.org Fri Feb 28 14:30:31 2020 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id B3C9C264103 for ; Fri, 28 Feb 2020 14:30:31 +0000 (UTC) (envelope-from maciphone2@googlemail.com) Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48TX524ddVz4RjT for ; Fri, 28 Feb 2020 14:30:30 +0000 (UTC) (envelope-from maciphone2@googlemail.com) Received: by mail-wr1-x442.google.com with SMTP id x7so3221158wrr.0 for ; Fri, 28 Feb 2020 06:30:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:date:references:to:in-reply-to:message-id; bh=CGWGQQLExdLgWiJtzF1gg/q1QzHHqGOAox2F4yOh7jU=; b=EyFcCKmRQGa7vBJ4Z8p/Q/z0AFAYLJYma8MXuCzGfK3wAXv31f1a6vAcwK2C7iJm22 SvD89CBrAFiZk5HsVvty30BzzUj1VDs6HI6QfGo7vCvcky/N3+Eo+4aEZA25yBx0T4BJ FkarVZK4qdABhryH58UOIXoTbAbsPMqEEYIVeL0FAbcyFrQKLjtLULn7IA5J9oVvBThe tJsrcntN4dUgvK+k1fhVnQ/RJBpOKypTujEbRoIkmMIYE2a/DRwyu4nWgO5/GiBe1p+e C5y9KkCaeDRHUr3pdzMQBJDESshG5O/pTtSOnnmvh1usP+o3/jClJZJU2EH4c3NNpe+s 1lKQ== X-Gm-Message-State: APjAAAW94ppTKiy/fSMbOixGvhVXifVMkgRq0OtXWZ1RytBaH/oz7rMA ZrnmZy6YlFzL0TmWu2LtDsZt+FpP X-Google-Smtp-Source: APXvYqyxETclR4+tWxKCZgvkN9XooThAc13FgF528JW2k+PB9O61X7EsiOgEj+rKq0P/XkBsyhHOTA== X-Received: by 2002:adf:f9cd:: with SMTP id w13mr844912wrr.406.1582900229056; Fri, 28 Feb 2020 06:30:29 -0800 (PST) Received: from [192.168.1.167] ([46.114.108.219]) by smtp.googlemail.com with ESMTPSA id d4sm2305329wmb.48.2020.02.28.06.30.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Feb 2020 06:30:28 -0800 (PST) From: =?utf-8?Q?Klaus_K=C3=BCchemann?= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: Re: Points to ponder Re: Showstoppers for RPI3 Date: Fri, 28 Feb 2020 15:30:26 +0100 References: <11951E01-EC13-4FBB-938A-AEB5700C4281@yahoo.com> <20200226052045.GA79939@www.zefox.net> <04e8e290e5d7bb810f76ece4ff33d6e1006e63cd.camel@freebsd.org> <280455B5-E201-494F-A4EB-2426A12B7E2C@googlemail.com> <20200226235908.GD22189@lonesome.com> <5AD91C8A-F4A2-4C53-9D03-CB83EDAC9C0A@gromit.dlib.vt.edu> <20200228010924.GA87999@www.zefox.net> To: Greg V , freebsd-arm@freebsd.org In-Reply-To: Message-Id: X-Mailer: Apple Mail (2.3608.60.0.2.5) X-Rspamd-Queue-Id: 48TX524ddVz4RjT X-Spamd-Bar: -- X-Spamd-Result: default: False [-2.50 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2a00:1450:4000::/36]; FREEMAIL_FROM(0.00)[googlemail.com]; MV_CASE(0.50)[]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[googlemail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[googlemail.com,quarantine]; RECEIVED_SPAMHAUS_PBL(0.00)[219.108.114.46.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[googlemail.com]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[googlemail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[googlemail.com:s=20161025]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arm@freebsd.org]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[2.4.4.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.5.4.1.0.0.a.2.list.dnswl.org : 127.0.5.0]; IP_SCORE(0.00)[ip: (2.56), ipnet: 2a00:1450::/32(-2.41), asn: 15169(-1.67), country: US(-0.05)]; RCVD_TLS_ALL(0.00)[] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Porting FreeBSD to ARM processors." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Feb 2020 14:30:31 -0000 > Am 28.02.2020 um 12:03 schrieb Greg V : > It's funny to hear massive cost estimates for something that's been = hobbyist/volunteer work a lot of the time :) Hi Greg, ol`hobbyist , (.. just kidding ), I am very happy to hear that things and approaches are moving in the = right direction. good description you give here, thanks. > Greg V > The most hardcore kind of new platform is when there's a new ISA like = RISC-V.. I have an HFunleashed available, but didn=E2=80=99t find the time to = work more on it,=20 A bit tricky to format the uSD-card... afaik a loader is needed. See you in the Wiki when time comes=E2=80=A6 > Greg V > Nobody has paid for this kind of support for e.g. Rockchip on FreeBSD. impertinence that nobody pays for it ;-) > Greg V > Pretty much nobody wants to write drivers for obscure interrupt = controllers and stuff=E2=80=A6... > Speaking of which, I just got a Pi4 in the mail. I'll try it out soon. = Might look into porting NetBSD's Ethernet driver or something. Yep, there is much more support for brcm-hw available=20 In e.g. OpenBSD than most people know, some NEtBSD-drivers come from = OpenBSD and vice versa=E2=80=A6 And there=E2=80=99s u-boot. But as you described very nice: It all goes into the right direction here: More open mind to look around what=E2=80=99s already available and could = be adopted or extended=20 Instead of reinventing the wheel. > Greg V ...(or run with crappy unaccelerated graphics via EFI = framebuffer or a display-only driver). I think that's good enough for a = non-mainstream OS :) =E2=80=A6, I just got a Pi4 in the = mail=E2=80=A6=E2=80=A6=E2=80=A6=E2=80=A6. Non mainstream OS ? =E2=80=A6. impertinence :-) lol (=E2=80=A6 just = kidding) You will be amazed when you plug your rpi4 to HDMI: it works=E2=80=A6 While you will ask yourself where to plug your keyboard/mouse .. but no problem for hobbyists : just take your soldering iron an plug a = PS/2 Auxiliary Port ;-). Ha Ha=20 Best Regards Klaus=20 > Speaking of which, I just got a Pi4 in the mail. I'll try it out soon. = Might look into porting NetBSD's Ethernet driver or something. > Am 28.02.2020 um 12:03 schrieb Greg V : >=20 >=20 > It's funny to hear massive cost estimates for something that's been = hobbyist/volunteer work a lot of the time :) >=20 > "New platform" is a very abstract term, isn't it? >=20 > The most hardcore kind of new platform is when there's a new ISA like = RISC-V.. >=20 > For new arm64 SBSA/SBBR standard hardware, it's just like with amd64: = try it, fix any bugs exposed by new HW (e.g. for Ampere eMAG we needed = to save one more register when calling EFI services, and to read more = ACPI parameters of the PCIe controller), add quirks as required (e.g. = Arm N1 SDP dev system shipped with busted PCIe which required a semi = custom driver). Just maybe a bit more bugs because the platform is = younger. >=20 > For embedded arm boards, there's a lot of variety in how much weird = custom stuff there is on each SoC. With Allwinner, Rockchip, Amlogic = etc., most controllers are either standard (XHCI, SDHCI) or reused = between most of them (Synopsys DesignWare for SD, USB2, Ethernet), and = all the board support code is is some wrappers around that, plus = power/clock management per SoC vendor. Nobody has paid for this kind of = support for e.g. Rockchip on FreeBSD. >=20 > The Raspberry Pi 3 and older were a big outlier: pretty much = *everything* there was a custom Broadcom thing, including (WTF) a custom = interrupt controller instead of the ARM GIC. That was expensive to = support. Pretty much nobody wants to write drivers for obscure interrupt = controllers and stuff. >=20 > Now with the Pi 4, it's a much more sensible SoC, and there is UEFI = firmware that presents it as an ACPI system with fully generic = descriptions for the basic stuff and even USB 3 (XHCI). This is = basically already supported for free. Of course that's not Full=E2=84=A2 = support but it's enough for a server, for an arm64 build/test box.. >=20 > Speaking of which, I just got a Pi4 in the mail. I'll try it out soon. = Might look into porting NetBSD's Ethernet driver or something. >=20 >> Better explanation is at http://www.zefox.net/~fbsd/showstoppers >=20 >> GUI support appears to hinge on VideoCore >=20 > Linux has all the graphics drivers, we just port them. But supporting = embedded GPUs is quite a challenge. Well, it's not something very = clever, but something very very tedious. For PCIe devices, we have glue = in LinuxKPI, but for FDT, I'm not sure we even *could* implement the = Linux API for FDT on top of ours. So you could manually convert the = drivers to our API, but that's way too much of boring work. >=20 > Also, manu@ went in an.. interesting direction with this: writing a = new display output driver for allwinner from scratch, on top of a = different port of the KMS/DRM layer than the one we use for desktop. = That kinda complicates things I guess. >=20 > So right now we only have proper graphics on PCIe GPUs from AMD and = Intel, and systems that can't use these cards can only be headless (or = run with crappy unaccelerated graphics via EFI framebuffer or a = display-only driver). I think that's good enough for a non-mainstream OS = :) >=20 > _______________________________________________ > freebsd-arm@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arm > To unsubscribe, send any mail to "freebsd-arm-unsubscribe@freebsd.org"