Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2329055rdg; Mon, 16 Oct 2023 00:12:48 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEr291wzxSyQvbtidgO0mdhxYiAzGT7aEZmi2RVO1x/qEaK/5nUzbNL5a3mZf4IpMndzcPf X-Received: by 2002:a81:4402:0:b0:5a7:b1d9:70cb with SMTP id r2-20020a814402000000b005a7b1d970cbmr19389405ywa.2.1697440368312; Mon, 16 Oct 2023 00:12:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697440368; cv=none; d=google.com; s=arc-20160816; b=Co/lMQGIca/vm8mR3Kqa7H58atO6IW+AzSSWfDjQtDrg7IQamGITCl4e/4FtDW/ytc hNHvdVo9SRndT5VJrPGlJYvVvtd8AGwMqcNP+FzVYRagzDhKeWdf+GC/1g866PFBRMWU ZvMZ1+X9igqdotlSR/OAyaqfS78L7HjX55zf6UZkob/uOGfEEMTqsIjqbj8f4pabod8n ofZMELL1NQ2r/99q3/2K14//AyCatR9mGxZvAUc9F3gKZ/E5U9OnPCAPUP86OWaPVhmr rJfpHCxmOEnFif0r8S4sHHC/TLFcSp0B+ewCeujYYl4NNXExe4rdWCEhkJeBXrn3oNzc FTXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=d9BgW3N7fBm3L3q4onC3IgvyssbSs3COoJlmjYvy67c=; fh=6hfx9ERsXIfaOltVsVwqx44tWFaR8JJ+JUSzuZI0WTQ=; b=mM3zlkkCmDJiHbbFk60t+TVHyBbgb36TMThkNNMtpuwxPpJI1+BKNfoNM+Py2ps4Y6 1B+i94GN0rSK/+9FdJYyaBHNysfBKuMcWjFQakZB3Ttb/jLvP0yzvMOEj41f0YMUYsBf c+8mV5oiEXzs7Pniq9+qui+0ZKHT64hc0te5QlUJVHF7VtsTHVS5BvjFpBD/W9oAvrRI GlRn5ynIaBz5rPlrefY22DUmeqZQygTAP/14c5GgmAd1oCSMRVm85op7m2CkoiaMzZzi uxoj8rcvjzGBfJBNfllJEk+kcEvcTKLfbK8QCU6QJvJpDKu9yj+MBVtHrngt55rNX4sj hHQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bT3qysYz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [23.128.96.33]) by mx.google.com with ESMTPS id j63-20020a638042000000b005aaab9e7bcfsi7549300pgd.388.2023.10.16.00.12.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 00:12:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) client-ip=23.128.96.33; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=bT3qysYz; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.33 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 66313807C5C7; Mon, 16 Oct 2023 00:11:54 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229478AbjJPHLr (ORCPT + 99 others); Mon, 16 Oct 2023 03:11:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51368 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231474AbjJPHLp (ORCPT ); Mon, 16 Oct 2023 03:11:45 -0400 Received: from mail-pf1-x434.google.com (mail-pf1-x434.google.com [IPv6:2607:f8b0:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4F0BDF3 for ; Mon, 16 Oct 2023 00:11:42 -0700 (PDT) Received: by mail-pf1-x434.google.com with SMTP id d2e1a72fcca58-6ba172c5f3dso1049640b3a.0 for ; Mon, 16 Oct 2023 00:11:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1697440301; x=1698045101; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=d9BgW3N7fBm3L3q4onC3IgvyssbSs3COoJlmjYvy67c=; b=bT3qysYzQd5hmcVvZhTsiZwIB/iZooHSpkXl/sAJurRrCZWG81NR4I+NwA9uRUsnCD 880bWXswVCZQSmV79CRs0OGxXBD1ZHc169Ni0HhnOW68D9V9JIS120QBUWvvvHmM09lJ D6E4HwsJyFA0xAHeYjPyJR8TLbgiu+DE9iGUmTieOF1zVCQJcdB38XpffSKCKcH5ZpKP JOy1MjgcrSL6wYf4eCp8+kQrJdvOQtO8AnjkPCTQKTGWI0ced8SLRmAboSsCiYa/AKfo /Ag9fkxQcATaU7vm7Gtt6mMXPpB8Z8FSZfAqOPXcdr/gUfjAtWaC6PVlBt6cpgco7BpJ Nthg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1697440301; x=1698045101; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=d9BgW3N7fBm3L3q4onC3IgvyssbSs3COoJlmjYvy67c=; b=LvpNmL9VwsVNxQDrXpdMSBTn80561THUt30dB3bRx5F1Cd/IME+XnrkDe7X/LmjCnD rjGnG6nbodp0ux3ys1q51m22gq7MUwmlVtrFUgCIqv4Ey3fDdqxGI1WidNEwG6P+k3mF z19vsRrUzB3ujrE9fhv1rfA0VrsTd9i9aiVqydBCH/DDumWofwUT8t1EwxCXh4GwfyIu VWuSOiOaye4AfqXnEUd//tS0ymi5R04Vpny0X44YbfLzpgNn5Bnmos1kDZZ+cSe4fYEk TmzaiInTOpOt5SgMhXrVC6N6wMwCp/Zh+rDnCMEowAAOV2TTk+tvrJyCwzYbdx6mePPo GENg== X-Gm-Message-State: AOJu0YwePdrpCVn66YwG2HJ1+Fqw+NeMilGsz1F/bPj6lx8+2Uwrs9V8 TYmrU+dsMXdzbvv34tp6oQ/NDQ== X-Received: by 2002:a05:6a20:244f:b0:152:be08:b013 with SMTP id t15-20020a056a20244f00b00152be08b013mr34042875pzc.42.1697440301401; Mon, 16 Oct 2023 00:11:41 -0700 (PDT) Received: from localhost ([122.172.80.14]) by smtp.gmail.com with ESMTPSA id lb18-20020a17090b4a5200b002636dfcc6f5sm4069757pjb.3.2023.10.16.00.11.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 00:11:40 -0700 (PDT) From: Viresh Kumar To: Juergen Gross , Oleksandr Tyshchenko , Stefano Stabellini , Viresh Kumar Cc: Vincent Guittot , =?UTF-8?q?Alex=20Benn=C3=A9e?= , stratos-dev@op-lists.linaro.org, Erik Schilling , Manos Pitsidianakis , Mathieu Poirier , Arnd Bergmann , linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org Subject: [PATCH V4 0/4] xen: privcmd: Add ioeventfd and fix irqfd support Date: Mon, 16 Oct 2023 12:41:23 +0530 Message-Id: X-Mailer: git-send-email 2.31.1.272.g89b43f80a514 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 16 Oct 2023 00:11:54 -0700 (PDT) Hello, Now that irqfd support (backend to guest interrupt) is already merged, this series solves the other part of the problem, i.e. ioeventfd (guest to backend interrupt). More details inside the commits. Arnd reported few issues with the ioctl macro usage and argument's layout, fixed them for irqfd too, which was added recently. -- Viresh V3->V4: - Use __u64 for indirect pointers in an ioctl command's arguments. - Use u64_to_user_ptr() in kernel driver to access the same. - Use _IOW() macro instead of the internal one: _IOC(). V2->V3: - Remove explicit barriers and depend on spin lock instead to take care of it. - Move check for empty ioeventfds list to privcmd_ioeventfd_deassign(), which could earlier call ioreq_free() even when the list wasn't empty and so we returned without printing a warning in v1 earlier. V2 implemented it incorrectly. V1->V2: - Increment irq_info refcnt only for valid info. - Use u64 type for addr. - Add comments for use of barriers. - Use spin lock instead of mutex as we need to use them in irq handler. - Add a warning when kioreq is getting freed and ioeventfds list isn't empty. - Use struct_size(). - Validate number of vcpus as well. Viresh Kumar (4): xen: Make struct privcmd_irqfd's layout architecture independent xen: irqfd: Use _IOW instead of the internal _IOC() macro xen: evtchn: Allow shared registration of IRQ handers xen: privcmd: Add support for ioeventfd drivers/xen/Kconfig | 8 +- drivers/xen/events/events_base.c | 3 +- drivers/xen/evtchn.c | 2 +- drivers/xen/privcmd.c | 407 +++++++++++++++++++++++++++++- include/uapi/xen/privcmd.h | 22 +- include/xen/interface/hvm/ioreq.h | 51 ++++ 6 files changed, 482 insertions(+), 11 deletions(-) create mode 100644 include/xen/interface/hvm/ioreq.h -- 2.31.1.272.g89b43f80a514