From: Neeraj Upadhyay <Neeraj.Upadhyay@amd.com>
To: Borislav Petkov <bp@alien8.de>
Cc: "Melody (Huibo) Wang" <huibo.wang@amd.com>,
linux-kernel@vger.kernel.org, tglx@linutronix.de,
mingo@redhat.com, dave.hansen@linux.intel.com,
Thomas.Lendacky@amd.com, nikunj@amd.com, Santosh.Shukla@amd.com,
Vasant.Hegde@amd.com, Suravee.Suthikulpanit@amd.com,
David.Kaplan@amd.com, x86@kernel.org, hpa@zytor.com,
peterz@infradead.org, seanjc@google.com, pbonzini@redhat.com,
kvm@vger.kernel.org
Subject: Re: [RFC 01/14] x86/apic: Add new driver for Secure AVIC
Date: Mon, 25 Nov 2024 12:51:36 +0530 [thread overview]
Message-ID: <0042e7cf-764b-4ab9-9c66-0d020fe173e2@amd.com> (raw)
In-Reply-To: <20241121105344.GBZz8ROFlE8Qx2JuLB@fat_crate.local>
On 11/21/2024 4:23 PM, Borislav Petkov wrote:
> On Thu, Nov 21, 2024 at 01:33:29PM +0530, Neeraj Upadhyay wrote:
>> As SAVIC's guest APIC register accesses match x2avic (which uses x2APIC MSR
>> interface in guest), the x2apic common flow need to be executed in the
>> guest.
>
> How much of that "common flow" is actually needed by SAVIC?
>
I see most of that flow required. By removing dependency on CONFIG_X86_X2APIC
and enabling SAVIC, I see below boot issues:
- Crash in register_lapic_address() in below path:
register_lapic_address+0x82/0xe0
early_acpi_boot_init+0xc7/0x160
setup_arch+0x9b2/0xec0
The issue happens as register_lapic_address() tries to setup APIC MMIO,
which applies to XAPIC and not to X2APIC. As SAVIC only supports X2APIC
msr interface, APIC MMIO setup fails.
void __init register_lapic_address(unsigned long address)
{
/* This should only happen once */
WARN_ON_ONCE(mp_lapic_addr);
mp_lapic_addr = address;
if (!x2apic_mode)
apic_set_fixmap(true);
}
- x2apic_enable() (which enables X2APIC in APIC base reg) not being called causes
read_msr_from_hv() to return below error:
Secure AVIC msr (0x803) read returned error (4)
KVM: unknown exit reason 24
- x2apic_set_max_apicid() not being called causes below BUG_ON to happen:
kernel BUG at arch/x86/kernel/apic/io_apic.c:2292!
void __init setup_IO_APIC(void)
{
...
for_each_ioapic(ioapic)
BUG_ON(mp_irqdomain_create(ioapic));
...
}
- Neeraj
next prev parent reply other threads:[~2024-11-25 7:21 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-13 11:36 [RFC 00/14] AMD: Add Secure AVIC Guest Support Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 01/14] x86/apic: Add new driver for Secure AVIC Neeraj Upadhyay
2024-10-08 19:15 ` Borislav Petkov
2024-10-09 1:56 ` Neeraj Upadhyay
2024-10-09 5:23 ` Borislav Petkov
2024-10-09 6:01 ` Neeraj Upadhyay
2024-10-09 10:38 ` Borislav Petkov
2024-10-09 11:00 ` Neeraj Upadhyay
2024-10-09 11:02 ` Borislav Petkov
2024-10-09 12:38 ` Neeraj Upadhyay
2024-10-09 13:15 ` Tom Lendacky
2024-10-09 13:50 ` Neeraj Upadhyay
2024-10-09 10:10 ` Kirill A. Shutemov
2024-10-09 10:42 ` Borislav Petkov
2024-10-09 11:03 ` Kirill A. Shutemov
2024-10-09 11:22 ` Borislav Petkov
2024-10-09 12:12 ` Kirill A. Shutemov
2024-10-09 13:53 ` Borislav Petkov
2024-10-11 7:29 ` Kirill A. Shutemov
2024-11-18 21:45 ` Melody (Huibo) Wang
2024-11-21 5:05 ` Neeraj Upadhyay
2024-11-21 5:41 ` Borislav Petkov
2024-11-21 8:03 ` Neeraj Upadhyay
2024-11-21 10:53 ` Borislav Petkov
2024-11-25 7:21 ` Neeraj Upadhyay [this message]
2024-11-25 10:08 ` Borislav Petkov
2024-11-25 11:16 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 02/14] x86/apic: Initialize Secure AVIC APIC backing page Neeraj Upadhyay
2024-10-09 15:27 ` Dave Hansen
2024-10-09 16:31 ` Neeraj Upadhyay
2024-10-09 17:03 ` Dave Hansen
2024-10-09 17:52 ` Neeraj Upadhyay
2024-10-23 16:30 ` Borislav Petkov
2024-10-24 4:01 ` Neeraj Upadhyay
2024-10-24 11:49 ` Borislav Petkov
2024-10-24 12:31 ` Neeraj Upadhyay
2024-10-24 12:59 ` Borislav Petkov
2024-10-23 16:36 ` Borislav Petkov
2024-10-24 3:24 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 03/14] x86/apic: Populate .read()/.write() callbacks of Secure AVIC driver Neeraj Upadhyay
2024-11-06 18:16 ` Borislav Petkov
2024-11-07 3:32 ` Neeraj Upadhyay
2024-11-07 14:28 ` Borislav Petkov
2024-11-08 8:59 ` Neeraj Upadhyay
2024-11-08 10:48 ` Borislav Petkov
2024-11-08 16:14 ` Neeraj Upadhyay
2024-11-06 19:20 ` Melody (Huibo) Wang
2024-11-07 3:33 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 04/14] x86/apic: Initialize APIC backing page for Secure AVIC Neeraj Upadhyay
2024-11-07 15:28 ` Borislav Petkov
2024-11-08 18:08 ` Neeraj Upadhyay
2024-11-09 16:27 ` Borislav Petkov
2024-11-09 16:51 ` Neeraj Upadhyay
2024-11-11 22:43 ` [sos-linux-ext-patches] " Melody (Huibo) Wang
2024-11-12 3:01 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 05/14] x86/apic: Initialize APIC ID " Neeraj Upadhyay
2024-11-09 20:13 ` [sos-linux-ext-patches] " Melody (Huibo) Wang
2024-11-10 3:55 ` Neeraj Upadhyay
2024-11-10 12:12 ` Borislav Petkov
2024-11-10 15:22 ` Neeraj Upadhyay
2024-11-10 16:34 ` Borislav Petkov
2024-11-11 3:45 ` Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 06/14] x86/apic: Add update_vector callback " Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 07/14] x86/apic: Add support to send IPI " Neeraj Upadhyay
2024-09-13 11:36 ` [RFC 08/14] x86/apic: Support LAPIC timer " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 09/14] x86/sev: Initialize VGIF for secondary VCPUs " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 10/14] x86/apic: Add support to send NMI IPI " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 11/14] x86/apic: Allow NMI to be injected from hypervisor " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 12/14] x86/sev: Enable NMI support " Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 13/14] x86/apic: Enable Secure AVIC in Control MSR Neeraj Upadhyay
2024-09-13 11:37 ` [RFC 14/14] x86/sev: Indicate SEV-SNP guest supports Secure AVIC Neeraj Upadhyay
2024-10-17 8:23 ` [RFC 00/14] AMD: Add Secure AVIC Guest Support Kirill A. Shutemov
2024-10-18 2:33 ` Neeraj Upadhyay
2024-10-18 7:54 ` Kirill A. Shutemov
2024-10-29 9:47 ` Borislav Petkov
2024-10-29 10:24 ` Neeraj Upadhyay
2024-10-29 10:54 ` Borislav Petkov
2024-10-29 11:51 ` Kirill A. Shutemov
2024-10-29 12:15 ` Neeraj Upadhyay
2024-10-29 14:36 ` Kirill A. Shutemov
2024-10-29 15:28 ` Neeraj Upadhyay
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=0042e7cf-764b-4ab9-9c66-0d020fe173e2@amd.com \
--to=neeraj.upadhyay@amd.com \
--cc=David.Kaplan@amd.com \
--cc=Santosh.Shukla@amd.com \
--cc=Suravee.Suthikulpanit@amd.com \
--cc=Thomas.Lendacky@amd.com \
--cc=Vasant.Hegde@amd.com \
--cc=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=huibo.wang@amd.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=nikunj@amd.com \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=seanjc@google.com \
--cc=tglx@linutronix.de \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.