linux-arch.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: WANG Xuerui <kernel@xen0n.name>
To: Xi Ruoyao <xry111@xry111.site>, WANG Xuerui <kernel@xen0n.name>,
	Ard Biesheuvel <ardb@kernel.org>,
	Huacai Chen <chenhuacai@loongson.cn>
Cc: linux-arch@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, Xuefeng Li <lixuefeng@loongson.cn>,
	Yanteng Si <siyanteng@loongson.cn>,
	Huacai Chen <chenhuacai@gmail.com>, Guo Ren <guoren@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Stephen Rothwell <sfr@canb.auug.org.au>,
	linux-efi@vger.kernel.org, WANG Xuerui <git@xen0n.name>,
	Yun Liu <liuyun@loongson.cn>, Jonathan Corbet <corbet@lwn.net>,
	Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	David Airlie <airlied@linux.ie>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: Steps forward for the LoongArch UEFI bringup patch? (was: Re: [PATCH V14 11/24] LoongArch: Add boot and setup routines)
Date: Fri, 3 Jun 2022 17:48:05 +0800	[thread overview]
Message-ID: <f7b53d2b-759c-bc5b-e2ed-a251b879f450@xen0n.name> (raw)
In-Reply-To: <dab96b787bef91240c719ea1a100396350135f99.camel@xry111.site>

On 6/3/22 17:32, Xi Ruoyao wrote:
> On Thu, 2022-06-02 at 22:09 +0800, WANG Xuerui wrote:
>
>> For this, I don't know if Huacai should really just leave those
>> modification in the downstream fork to keep the upstream Linux clean of
>> such hacks, because to some degree dealing with such notoriety is life,
>> it seems to me. I think at this point Huacai would cooperate and tweak
>> the patch to get rid of the SVAM and other nonstandard bits as much as
>> possible, and I'll help him where necessary too.
> To me any new firmware for PC-like platforms should implement UEFI.  For
> embedded platforms device tree support will be added later.
>
> For those guys impossible or unwilling to upgrade the firmware, it may
> be possible to implement a compatibility layer and the booting procedure
> will be like:
>
> old firmware -> bootloongarch.efi -> customized u-boot -> bootloongarch64.efi (grub) -> efi stub (kernel)
>                  --------- compatibility layer --------    ^^^^^^^^ normal UEFI compatible stuff ^^^^^^^^^
>
> new firmware -> bootloongarch64.efi (grub) -> efi stub (kernel)
>
> The old firmware route would be similar to the booting procedure of
> Asahi Linux.  I think this can be implemented because it's already
> implemented on M1 even while Apple is almost completely uncooperative.

This is a bit off-topic (we're basically hurrying up to get the port 
into v5.19-rc1 and discussing ways to achieve that), but yeah 
definitely. I've had the same idea right after knowing the LoongArch 
firmware would also have "new-world" variant, then I contacted some 
firmware engineers working on LoongArch boards, I think they agreed on 
the approach overall.

However, making the kernel itself capable of booting on both BPI and 
new-world UEFI firmware flavors may have its merits after all; one 
scenario I could come up with is that user reboots and upgrades their 
firmware, *before* updating their old-world kernel, and bang! system 
soft-bricked. All such cases involve old-world distros that already 
deviate a little bit from vanilla upstream code, so such BPI support 
needn't be mainlined for avoiding this scenario.

>
> Just my 2 cents. I know almost nothing about booting.
That's fine, we all know nothing in the beginning ;-)

  reply	other threads:[~2022-06-03  9:48 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-02 11:51 [PATCH V14 00/24] arch: Add basic LoongArch support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 01/24] irqchip: Adjust Kconfig for Loongson Huacai Chen
2022-06-02 13:25   ` Marc Zyngier
2022-06-02 16:34   ` Randy Dunlap
2022-06-03  5:04     ` Huacai Chen
2022-06-02 11:51 ` [PATCH V14 02/24] irqchip/loongson-liointc: Fix build error for LoongArch Huacai Chen
2022-06-02 13:24   ` Marc Zyngier
2022-06-02 11:51 ` [PATCH V14 03/24] Documentation: LoongArch: Add basic documentations Huacai Chen
2022-06-03  1:45   ` Bagas Sanjaya
2022-06-03  5:27     ` Huacai Chen
2022-06-03  7:35       ` Bagas Sanjaya
2022-06-03 13:01         ` Huacai Chen
2022-06-02 11:51 ` [PATCH V14 04/24] Documentation/zh_CN: Add basic LoongArch documentations Huacai Chen
2022-06-02 11:51 ` [PATCH V14 05/24] LoongArch: Add ELF-related definitions Huacai Chen
2022-06-02 11:51 ` [PATCH V14 06/24] LoongArch: Add writecombine support for drm Huacai Chen
2022-06-02 11:51 ` [PATCH V14 07/24] LoongArch: Add build infrastructure Huacai Chen
2022-06-02 11:51 ` [PATCH V14 08/24] LoongArch: Add CPU definition headers Huacai Chen
2022-06-02 11:51 ` [PATCH V14 09/24] LoongArch: Add atomic/locking headers Huacai Chen
2022-06-02 11:51 ` [PATCH V14 10/24] LoongArch: Add other common headers Huacai Chen
2022-06-02 11:51 ` [PATCH V14 11/24] LoongArch: Add boot and setup routines Huacai Chen
2022-06-02 14:09   ` Steps forward for the LoongArch UEFI bringup patch? (was: Re: [PATCH V14 11/24] LoongArch: Add boot and setup routines) WANG Xuerui
2022-06-02 16:14     ` Ard Biesheuvel
2022-06-02 16:29       ` Arnd Bergmann
2022-06-03  5:13         ` Huacai Chen
2022-06-03  9:32     ` Xi Ruoyao
2022-06-03  9:48       ` WANG Xuerui [this message]
2022-06-03 10:08         ` Arnd Bergmann
2022-06-02 11:51 ` [PATCH V14 12/24] LoongArch: Add exception/interrupt handling Huacai Chen
2022-06-02 11:51 ` [PATCH V14 13/24] LoongArch: Add process management Huacai Chen
2022-06-02 11:51 ` [PATCH V14 14/24] LoongArch: Add memory management Huacai Chen
2022-06-02 11:51 ` [PATCH V14 15/24] LoongArch: Add system call support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 16/24] LoongArch: Add signal handling support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 17/24] LoongArch: Add ELF and module support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 18/24] LoongArch: Add misc common routines Huacai Chen
2022-06-02 11:51 ` [PATCH V14 19/24] LoongArch: Add some library functions Huacai Chen
2022-06-02 11:51 ` [PATCH V14 20/24] LoongArch: Add VDSO and VSYSCALL support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 21/24] LoongArch: Add multi-processor (SMP) support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 22/24] LoongArch: Add Non-Uniform Memory Access (NUMA) support Huacai Chen
2022-06-02 11:51 ` [PATCH V14 23/24] LoongArch: Add Loongson-3 default config file Huacai Chen
2022-06-02 11:51 ` [PATCH V14 24/24] MAINTAINERS: Add maintainer information for LoongArch Huacai Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f7b53d2b-759c-bc5b-e2ed-a251b879f450@xen0n.name \
    --to=kernel@xen0n.name \
    --cc=airlied@linux.ie \
    --cc=akpm@linux-foundation.org \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=chenhuacai@gmail.com \
    --cc=chenhuacai@loongson.cn \
    --cc=corbet@lwn.net \
    --cc=git@xen0n.name \
    --cc=guoren@kernel.org \
    --cc=jiaxun.yang@flygoat.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liuyun@loongson.cn \
    --cc=lixuefeng@loongson.cn \
    --cc=luto@kernel.org \
    --cc=peterz@infradead.org \
    --cc=sfr@canb.auug.org.au \
    --cc=siyanteng@loongson.cn \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=xry111@xry111.site \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).