[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/8] limit passing around of cpu_user_regs


  • To: Jan Beulich <jbeulich@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Thu, 11 Jan 2024 10:52:59 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=XVzDmR+MQOaefvyu+uituOnKQ428yCq7W71q6U5pxzg=; b=idtY+js4po6v6lT3YS8QaxDtLh73CB+hdtuEJJ865MQMxooxMKsB9Wz/RoQmz7QCmv6QeVVQ7pFZkdOcQtJJOkpKPa6tdpB1YuPVPvyahvdxY59wUMGlxfXYT9bh1Itc+r4uARtCPi6YppOpEtGEwauuGV4VP1HGocT26NH9Q78/jXmoHqPMbLOzED6KDQ9AGdJf20Gj3sM1UhZi9uf2OG/6lGipoHtNLbLzbHHYrkUtRu/kgvZR4u9s6oGTiUcnsmD8FoR+EdB4XE2Tlu2jCno6QsUFD9uJiSD5Lyvleh8akLtBsgXsHuMRFvwNNddbwLRUkzNQGPKoq0rld04t6A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mEdJ+TdocBz5GmC9WwzNZ2Mi6Kp3ckRBlurLME5wXagFQf1gi+sb+HlW9qgtk7MuuuyfM3j+QhWlLLwQnRvegiuLrbfHdSdSWnsgzf+7Rz9rY4Qw3Hm3wwHm/EUlX8rCowh2rPa7QUGSMXnLqFcKiZimEBKSeGVYLSll6u/7wxjG6EdUrL0xq3l2WKYgCX1hr7JdpbIZ7oPnql12eAjG9EwQzK+Mep9b5x1+UXKaiLWn3jEGcrYmeE+XMV4v3SDrCEsz5sZQ3hrMc65JHE5sHFh7sYHJDSOo+u3V6uSMzK26MCqV9TwlPNPz+ckKwJDHrljjqwdMY7Uz48/sanx2wQ==
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Thu, 11 Jan 2024 09:53:23 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 11/01/2024 08:31, Jan Beulich wrote:
> 
> 
> Unlike (synchronous) exception handlers, interrupt handlers don't normally
> have a need to know the outer context's register state. Similarly, the vast
> majority of key handlers has no need for such.
> 
> 1: keyhandler: don't pass cpu_user_regs around
> 2: IRQ: generalize [gs]et_irq_regs()
> 3: serial: drop serial_rx_fn's regs parameter
> 4: PV-shim: drop pv_console_rx()'s regs parameter
> 5: serial: drop serial_[rt]x_interrupt()'s regs parameter
> 6: IRQ: drop regs parameter from handler functions
FYI, I did a build test on Arm and there were 2 build errors. Fix below:

diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c 
b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index b5c84c51a20a..da011413c5c0 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -642,7 +642,7 @@ static void ipmmu_domain_irq(struct ipmmu_vmsa_domain 
*domain)
                         domain->d, status, iova);
 }
 
-static void ipmmu_irq(int irq, void *dev, struct cpu_user_regs *regs)
+static void ipmmu_irq(int irq, void *dev)
 {
     struct ipmmu_vmsa_device *mmu = dev;
     unsigned int i;
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c 
b/xen/drivers/passthrough/arm/smmu-v3.c
index f820c5500e08..c3ac6d17d1c8 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -929,7 +929,7 @@ static void arm_smmu_combined_irq_handler(int irq, void 
*dev)
 {
        struct arm_smmu_device *smmu = dev;
 
-       arm_smmu_gerror_handler(irq, dev, regs);
+       arm_smmu_gerror_handler(irq, dev);
 
        tasklet_schedule(&(smmu->combined_irq_tasklet));
 }


> 7: x86/vPMU: drop regs parameter from interrupt functions
> 8: x86/APIC: drop regs parameter from direct vector handler functions
> 
> Jan
> 

~Michal



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.