linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: Darren Hart <darren@os.amperecomputing.com>
Cc: Andrea Righi <andrea.righi@canonical.com>,
	"Jason A. Donenfeld" <Jason@zx2c4.com>,
	Paolo Pisati <paolo.pisati@canonical.com>,
	linux-efi@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: kernel 6.2 stuck at boot (efi_call_rts) on arm64
Date: Sat, 18 Mar 2023 11:35:44 +0100	[thread overview]
Message-ID: <CAMj1kXF8G3G41cPt+5=nB2D_uEaB_iXh6=3ZcTFTHrpsVm5D5g@mail.gmail.com> (raw)
In-Reply-To: <ZBOYBdJR00dOKPSx@fedora>

On Thu, 16 Mar 2023 at 23:28, Darren Hart <darren@os.amperecomputing.com> wrote:
>
> On Thu, Mar 16, 2023 at 07:55:36PM +0100, Ard Biesheuvel wrote:
> > On Thu, 16 Mar 2023 at 18:52, Andrea Righi <andrea.righi@canonical.com> wrote:
...
> > >
> > > Yay! Success! I just tested your latest efi/urgent (with the fixup) and
> > > system completed the boot without any soft lockups.
> > >
> >
> > Thanks for confirming. I'll take that as a tested-by
>
> The solution in the current branch looks like the best approach we have to date
> to address the broadest of affected systems. We could switch the eMAG test to an
> MIDR test I believe (but this won't work for Altra as that would capture all the
> Neoverse v1 cores beyond Altra). I can look into the MIDR test if you think it's
> worthwhile - but since I don't think we can eliminate the SMBIOS string test, it
> doesn't buy us much since we don't need a greedier eMAG test (there aren't more
> of them to match).
>
> Given that some OEM Altra platforms change the processor ID, I don't see a
> better solution currently than adding their the "product name" to the smbios
> string tests unfortunately.
>

Indeed. I spotted a Gigabyte system [0] with a different processor ID,
but with a version we can test for.

So for now, I'll go with

        socid = (u32 *)record->processor_id;
        switch (*socid & 0xffff000f) {
                static char const altra[] = "Ampere(TM) Altra(TM) Processor";
                static char const emag[] = "eMAG";
        default:
                version = efi_get_smbios_string(&record->header, 4,
                                                processor_version);
                if (!version || (strncmp(version, altra, sizeof(altra) - 1) &&
                                 strncmp(version, emag, sizeof(emag) - 1)))
                        break;

                fallthrough;

        case 0x0a160001:        // Altra
        case 0x0a160002:        // Altra Max
                efi_warn("Working around broken SetVirtualAddressMap()\n");
...

which should cover all the affected systems we encountered so far.

I'll push this to linux-next to let it soak for a little bit, and then
send it to Linus somewhere during the week

Thanks,
Ard.


[0] https://pastebin.com/HQLE1yYv

  reply	other threads:[~2023-03-18 10:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-16  7:54 kernel 6.2 stuck at boot (efi_call_rts) on arm64 Andrea Righi
2023-03-16  7:58 ` Ard Biesheuvel
2023-03-16  9:45   ` Andrea Righi
2023-03-16  9:55     ` Ard Biesheuvel
2023-03-16 10:03       ` Andrea Righi
2023-03-16 10:18         ` Ard Biesheuvel
2023-03-16 11:33           ` Andrea Righi
2023-03-16 12:21             ` Ard Biesheuvel
2023-03-16 12:38               ` Ard Biesheuvel
2023-03-16 12:41                 ` Andrea Righi
2023-03-16 12:43                   ` Ard Biesheuvel
2023-03-16 12:49                     ` Andrea Righi
2023-03-16 13:45                       ` Ard Biesheuvel
2023-03-16 13:46                         ` Ard Biesheuvel
2023-03-16 13:50                         ` Andrea Righi
2023-03-16 13:53                           ` Ard Biesheuvel
2023-03-16 13:59                             ` Andrea Righi
2023-03-16 14:06                               ` Ard Biesheuvel
2023-03-16 14:08                                 ` Ard Biesheuvel
2023-03-16 14:25                                   ` Andrea Righi
2023-03-16 17:52                                   ` Andrea Righi
2023-03-16 18:55                                     ` Ard Biesheuvel
2023-03-16 18:57                                       ` Andrea Righi
2023-03-16 22:28                                       ` Darren Hart
2023-03-18 10:35                                         ` Ard Biesheuvel [this message]
2023-03-20 18:00                                           ` Darren Hart
2023-04-13 20:24                                           ` Andrea Righi
2023-04-17 22:05                                             ` Darren Hart
2023-04-18  5:42                                               ` Andrea Righi
2023-03-16  9:45 ` Linux regression tracking #adding (Thorsten Leemhuis)
2023-04-05 12:50   ` Linux regression tracking #update (Thorsten Leemhuis)

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='CAMj1kXF8G3G41cPt+5=nB2D_uEaB_iXh6=3ZcTFTHrpsVm5D5g@mail.gmail.com' \
    --to=ardb@kernel.org \
    --cc=Jason@zx2c4.com \
    --cc=andrea.righi@canonical.com \
    --cc=darren@os.amperecomputing.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=paolo.pisati@canonical.com \
    /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).