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=-3.5 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS 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 9BAF3C433DF for ; Mon, 19 Oct 2020 07:07:57 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0738A22203 for ; Mon, 19 Oct 2020 07:07:56 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="f4C7hfxn" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0738A22203 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Received: from localhost ([::1]:53860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kUPGu-00009f-1n for qemu-devel@archiver.kernel.org; Mon, 19 Oct 2020 03:07:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45960) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kUPGK-0008Bc-9G for qemu-devel@nongnu.org; Mon, 19 Oct 2020 03:07:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:29602) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1kUPGH-00008L-MK for qemu-devel@nongnu.org; Mon, 19 Oct 2020 03:07:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1603091235; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AfUV+ETDhRALqNaL0JEe7Miu5HIZDZsL2RoLW8VMYho=; b=f4C7hfxnl8VhuvS45PWaV6i03wqXWRoUT3l+bksc97BUI/ej3ZVnVRrhIvoxe4yJAXwQst i54r8/KTF30IOBMcrlu9EqZb20LAGtXDaXf/7k2tqX4cnOhoRo9kHAM5aXjKVrhSHOYz/a suLQwp8YRJF7IWGVmyV4w+UAHDgJ7RY= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-33-I3avSKg9NcWMAa0ywqCXJg-1; Mon, 19 Oct 2020 03:07:13 -0400 X-MC-Unique: I3avSKg9NcWMAa0ywqCXJg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 369D51005504; Mon, 19 Oct 2020 07:07:12 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-112-56.ams2.redhat.com [10.36.112.56]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF5561992D; Mon, 19 Oct 2020 07:07:05 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id CBB4416E31; Mon, 19 Oct 2020 09:07:04 +0200 (CEST) Date: Mon, 19 Oct 2020 09:07:04 +0200 From: Gerd Hoffmann To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Subject: Re: [PATCH 0/4] RfC: microvm: add second ioapic Message-ID: <20201019070704.a2tjfea4sycivmnt@sirius.home.kraxel.org> References: <20201016114328.18835-1-kraxel@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=kraxel@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=216.205.24.124; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/10/19 01:44:30 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Eduardo Habkost , Sergio Lopez , "Michael S. Tsirkin" , qemu-devel@nongnu.org, Paolo Bonzini , Richard Henderson Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On Fri, Oct 16, 2020 at 03:16:20PM +0200, Philippe Mathieu-Daudé wrote: > On 10/16/20 1:43 PM, Gerd Hoffmann wrote: > > Add a second ioapic to microvm. Gives us more IRQ lines we can > > use for virtio-mmio devices. Bump number of possible virtio-mmio > > devices from 8 to 24. > > > > Gerd Hoffmann (4): > > microvm: make number of virtio transports runtime configurable > > microvm: make pcie irq base runtime configurable > > microvm: add second ioapic > > microvm: reconfigure irqs if second ioapic is available > > After looking at Laurent's m68k virt machine, > I wonder if it is possible to use the Goldfish-PIC > with the MicroVM instead (or another Goldfish machine > type). /me updates the WIP microvm blog post ;) Problem with goldfish is that it tries to drag over stuff from the arm world to x86. Specifically device trees. On arm this works reasonable well meanwhile. Firmware and bootloaders have support for using device trees and passing them on in the boot chain, so the linux kernel has a device tree which it can use to figure which hardware is present on the system. On x86 this doesn't work at all, so you'll end up building a custom kernel for the goldfish platform. A stock distro kernel is not going to work. I'm to driving microvm the opposite direction: Add acpi support. That is the standard x86 way to do hardware discovery (for hardware you can't detect in other ways like pci devices). Which in turn allows us to drop microvm-specific quirks (like adding virtio-mmio devices to the kernel command line) when booting linux. So, for microvm this is not going to happen. But feel free to add a goldfish machine type if you want play with that. The microvm merge also cleaned up the x86 code base which in turn should make this relatively easy now. take care, Gerd