From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1D030C433E0 for ; Mon, 1 Mar 2021 15:08:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E393064DEF for ; Mon, 1 Mar 2021 15:08:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236841AbhCAPIk (ORCPT ); Mon, 1 Mar 2021 10:08:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47644 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236690AbhCAPIE (ORCPT ); Mon, 1 Mar 2021 10:08:04 -0500 Received: from sipsolutions.net (s3.sipsolutions.net [IPv6:2a01:4f8:191:4433::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 28987C061756 for ; Mon, 1 Mar 2021 07:07:24 -0800 (PST) Received: by sipsolutions.net with esmtpsa (TLS1.3:ECDHE_X25519__RSA_PSS_RSAE_SHA256__AES_256_GCM:256) (Exim 4.94) (envelope-from ) id 1lGk8j-00AJOK-1u; Mon, 01 Mar 2021 16:07:17 +0100 From: Johannes Berg To: linux-um@lists.infradead.org Cc: Arnd Bergmann , linux-kernel@vger.kernel.org Subject: [PATCH v2 0/8] PCI support for UML Date: Mon, 1 Mar 2021 16:07:00 +0100 Message-Id: <20210301150708.244970-1-johannes@sipsolutions.net> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Changes since v1: - fix a memory leak in the PCI code - fix race in interrupt handling - fix checks in interrupt handling - use asm-generic for fb.h and vga.h - rediff against v5.12-rc1 - export signals_enabled directly Original description: In order to simulate some devices and write tests completely independent of real PCI devices, we continued the development of time-travel and related bits, and are adding PCI support here now. The way it works is that it communicates with the outside (of UML) with virtio, which we previously added using vhost-user, and then offers a PCI bus to the inside system, where normal PCI probing etc. happens, but all config space & IO accesses are forwarded over virtio. To enable that, add lib/logic_iomem, similar to logic_pio but for iomem regions, this way, ioread/iowrite can be redirected over the virtio device. Since currently no official virtio device ID is assigned yet a Kconfig option for that is required to be set to the value you want to use locally for experimentation. Once we have an official value we can change the default (currently -1 which makes it non-functional) or remove the option entirely. johannes