[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[XTF PATCH v1 11/15] x86: export per-vCPU IDTR initialization
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: dmukhin@xxxxxxxx
- Date: Wed, 4 Nov 2026 17:38:13 -0800
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 205.220.161.53) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=ford.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=ford.com; dkim=pass (signature was verified) header.d=saarlouis.ford.com; dkim=pass (signature was verified) header.d=ford.com; arc=none (0)
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ICni6QafSI0sZgyeoJf0rlSYN5mlAf+VMp/I2BHcwlQ=; b=nWZDy0JLxnl0m8IXUBZ+DW5mY4gj1brH1zWu1mOE2WeNRZ0iz+1QRpnRmbOuIxBMZNyKcjoeW2Ww4rLIRgRfX4QnIglDe0EYIKfjcTupQJsljfLqHVIMWFGxnL6vOVMayhpRkjqthJR1pQRGMZvVMpwyJxPTBONzsBWF57HhhcxeXA5yfaXP8G7IkrATrtVKm6sDqB8t+eu4Ax2IIax6XImVXYcjMrOisrV+ecw5VMeiUXWVBSbcOexiok4ZCCusF0Gn+pYg4Nu/KkDNIFDknfU5G9zqCiSHKAAwkHONBEjwx9RxOYDjf39qesbLZ+IeijD0cgZEvRpFBv/8Xct3Rw==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rSoiKLAaZmhPJHu24O26VeBqTWs2LSObiEmvnVa3RSEL634lgQHnfBsHz7gqg+NrMBc8Olhws//2aij/RrdZoOjC8ynSn6As7B0/MGpzl5ykcQlUiNKbSZyO2nf9lnmiOeontdLyf7ZEGFPEymj0jEO0EYD2J+Mkmd0h5dMohtCQUGE4Wb+TQPz6bvzZF5UIBnl+OnvB9v7psS6FxuClbZHxi93G25GF8wokhI52vtFm03qmTp5jFazI0UClYiKkgAEokSBkYGn+PvVuG9MItMKrQdhY1pcnend7jTWX4dws5usefKrqbv6e4CZ6+qbwmoFYpYX2vfYEV5NTaxHw4w==
- Authentication-results: eu.smtp.expurgate.cloud; dkim=pass header.s=ppford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Content-Type:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=selector2-azureford-onmicrosoft-com header.d=azureford.onmicrosoft.com header.i="@azureford.onmicrosoft.com" header.h="From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck"; dkim=pass header.s=ppserprodsaar header.d=saarlouis.ford.com header.i="@saarlouis.ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"; dkim=pass header.s=ppfserpocford header.d=ford.com header.i="@ford.com" header.h="Cc:Content-Transfer-Encoding:Date:From:In-Reply-To:Message-ID:MIME-Version:References:Subject:To"
- Cc: andrew.cooper3@xxxxxxxxxx, anthony.perard@xxxxxxxxxx, jbeulich@xxxxxxxx, julien@xxxxxxx, michal.orzel@xxxxxxx, roger@xxxxxxxxxxxxxx, sstabellini@xxxxxxxxxx, dmukhin@xxxxxxx, Denis Mukhin <dmukhin@xxxxxxxx>
- Delivery-date: Thu, 05 Nov 2026 01:39:04 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
- Pser-m365-app: SER-APP
From: Denis Mukhin <dmukhin@xxxxxxxx>
Signed-off-by: Denis Mukhin <dmukhin@xxxxxxxx>
---
arch/x86/hvm/traps.c | 7 ++++++-
arch/x86/include/arch/idt.h | 7 +++++++
2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/arch/x86/hvm/traps.c b/arch/x86/hvm/traps.c
index ad7b8cbc3dda..dc7d617b80c5 100644
--- a/arch/x86/hvm/traps.c
+++ b/arch/x86/hvm/traps.c
@@ -70,6 +70,11 @@ static env_tss tss_DF __aligned(16) =
.iopb = X86_TSS_INVALID_IO_BITMAP,
};
+void xtf_load_idt(void)
+{
+ lidt(&idt_ptr);
+}
+
int xtf_set_idte(unsigned int vector, const struct xtf_idte *idte)
{
pack_intr_gate(&idt[vector], idte->cs, idte->addr, idte->dpl, 0);
@@ -116,7 +121,7 @@ void arch_init_traps(void)
pack_intr_gate(&idt[X86_VEC_RET2KERN],
__KERN_CS, _u(&entry_ret_to_kernel), 3, 0);
- lidt(&idt_ptr);
+ xtf_load_idt();
pack_tss_desc(&gdt[GDTE_TSS], &tss);
ltr(GDTE_TSS * 8);
diff --git a/arch/x86/include/arch/idt.h b/arch/x86/include/arch/idt.h
index 02955d54bae4..b54dbec830f0 100644
--- a/arch/x86/include/arch/idt.h
+++ b/arch/x86/include/arch/idt.h
@@ -29,6 +29,13 @@ struct xtf_idte
unsigned int cs, dpl;
};
+
+/**
+ * Load per-vCPU IDTR.
+ */
+void xtf_load_idt(void);
+
+
/**
* Set up an IDT Entry, in a guest agnostic way.
*
--
2.55.0
|