From nobody Mon Apr 29 16:48:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590738033; cv=none; d=zohomail.com; s=zohoarc; b=elOlFV9lhcG0klpZTMK2agu05gTjY4dd15/+xbKPQbey5HIIlxrkHxXo0zJMwvvfjGVKBEQbAzGDu0s2bWPZo/u9q9rVniZiwJokm93sQdyPxy2yr/xWUT6+QwqCNPeCGMjaOd8rkRmmF+D8cmJind0BDr3mIC+B5UwAVulecTw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590738033; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FEpeW4hSXWUgbGj7HHo1jY8yfFQRooPvNkXyo34CA7s=; b=VLPBwaDKUC9NXi/MIrRnO1Sea6odPw3Wh82KvDSW8fXwpxuOM/w/dulGQzkJQiopBidlKZBgjIW4Z1t8vc56ycXOvCDgs0tOv7bjbUQR+02FVPEiwY2zOrs6ATCZeCo9rgQI+FGn0PCzvQjR9v9tewXOTHXR6ILAcYJKzQtdN90= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 159073803391250.63505562914395; Fri, 29 May 2020 00:40:33 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZcn-0007Ke-GZ; Fri, 29 May 2020 07:40:17 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZcn-0007KY-5T for xen-devel@lists.xenproject.org; Fri, 29 May 2020 07:40:17 +0000 Received: from us-smtp-delivery-1.mimecast.com (unknown [205.139.110.120]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id a184ad9e-a17f-11ea-a877-12813bfff9fa; Fri, 29 May 2020 07:40:13 +0000 (UTC) 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-116-Q409k48zNK-msMJjsPcrfg-1; Fri, 29 May 2020 03:40:11 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 30E79107ACCA; Fri, 29 May 2020 07:40:10 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6935A6298C; Fri, 29 May 2020 07:39:58 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 3BB719DAD; Fri, 29 May 2020 09:39:57 +0200 (CEST) X-Inumbo-ID: a184ad9e-a17f-11ea-a877-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590738013; 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=FEpeW4hSXWUgbGj7HHo1jY8yfFQRooPvNkXyo34CA7s=; b=AClKcPqWlP5ohZSc4nTz35uVT1gx7Xd9QRO3Th2ZxfP9Xbm5ouirnqcBBJ2Mx5eFKkt+ER Ti/lT8e/FcXBCbZ9Z8ZuTW/y9VojnR1Bo+iJA3ATK/0w+Gs+k9DZEfsMDafKeVdf50LbmV sZliqI0mRVn3aVnZzsbILje1f8Ddc8Q= X-MC-Unique: Q409k48zNK-msMJjsPcrfg-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v3 1/4] microvm: use 3G split unconditionally Date: Fri, 29 May 2020 09:39:54 +0200 Message-Id: <20200529073957.8018-2-kraxel@redhat.com> In-Reply-To: <20200529073957.8018-1-kraxel@redhat.com> References: <20200529073957.8018-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Eduardo Habkost , Sergio Lopez , Paul Durrant , "Michael S. Tsirkin" , imammedo@redhat.com, Gerd Hoffmann , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , philmd@redhat.com, Richard Henderson Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Looks like the logic was copied over from q35. q35 does this for backward compatibility, there is no reason to do this on microvm though. Also microvm doesn't need much mmio space, 1G is more than enough. Using an mmio window smaller than 1G is bad for gigabyte alignment and hugepages though. So split @ 3G unconditionally. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Igor Mammedov Acked-by: Paolo Bonzini Acked-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin --- hw/i386/microvm.c | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 937db10ae6a5..44f940813b07 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -170,23 +170,9 @@ static void microvm_memory_init(MicrovmMachineState *m= ms) MemoryRegion *ram_below_4g, *ram_above_4g; MemoryRegion *system_memory =3D get_system_memory(); FWCfgState *fw_cfg; - ram_addr_t lowmem; + ram_addr_t lowmem =3D 0xc0000000; /* 3G */ int i; =20 - /* - * Check whether RAM fits below 4G (leaving 1/2 GByte for IO memory - * and 256 Mbytes for PCI Express Enhanced Configuration Access Mapping - * also known as MMCFG). - * If it doesn't, we need to split it in chunks below and above 4G. - * In any case, try to make sure that guest addresses aligned at - * 1G boundaries get mapped to host addresses aligned at 1G boundaries. - */ - if (machine->ram_size >=3D 0xb0000000) { - lowmem =3D 0x80000000; - } else { - lowmem =3D 0xb0000000; - } - /* * Handle the machine opt max-ram-below-4g. It is basically doing * min(qemu limit, user limit). --=20 2.18.4 From nobody Mon Apr 29 16:48:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590738034; cv=none; d=zohomail.com; s=zohoarc; b=kkmJMpcnlR+SKSPqDl63Wlouqbzpl6CcuJXcnhefAinoJnvjcs3c0GkSpZVSBr2IV6ZcwVyhqaRYCaiKN+dRqSjbSi7j/Kod85D05L71KvR4bQzaY50TdMo1b/9fHI5rzVJp+FXaUSk3QJXVXb6Pk812W994sTue93MSgwLj9v0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590738034; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=4iqwU8K1xw7zSdeBIG54ZrsqaU3AB+FYUp1ncUWCyLA=; b=N15uGySPRyTD5jZXMNp+HL/5HozqoIldJ0wE5Z/WcWdVVx7/Xh3qfboaQ/divj6qveTmG+URuYTgFJCzbpq/5rZhUNY2uFScrdLAxO3Er+0+I5AxLP2597c/NtKv+PZ77pbiSa51w1ECrBjFHBL62OoHRG3Oxih0o8ZeIRdkq/8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1590738034234361.6046769390566; Fri, 29 May 2020 00:40:34 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZcs-0007MH-Oe; Fri, 29 May 2020 07:40:22 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZcs-0007M0-5k for xen-devel@lists.xenproject.org; Fri, 29 May 2020 07:40:22 +0000 Received: from us-smtp-1.mimecast.com (unknown [207.211.31.81]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id a1ef532c-a17f-11ea-a877-12813bfff9fa; Fri, 29 May 2020 07:40:13 +0000 (UTC) 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-471-Lmzt2jhAOjaXj-0gVVTj-g-1; Fri, 29 May 2020 03:40:11 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4272C461; Fri, 29 May 2020 07:40:10 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6EBAA60C05; Fri, 29 May 2020 07:39:58 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 44EB19DAE; Fri, 29 May 2020 09:39:57 +0200 (CEST) X-Inumbo-ID: a1ef532c-a17f-11ea-a877-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590738013; 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=4iqwU8K1xw7zSdeBIG54ZrsqaU3AB+FYUp1ncUWCyLA=; b=EcPIUYH0SZNAl1A5UfewodZ8bSbbiYcK59EymKOhYcDh/0M7ys0OyE4HxHn+vZvo7mRe5p To1FOrpwFYS1ux7y1zpsCllU9TjfDAiE8mDB/lqegPfIR3YixWlZy3Wwgnyrm28D2PuO+i Z50PuKPOOpA6nxJFLWpGc1c9Qy9S1fw= X-MC-Unique: Lmzt2jhAOjaXj-0gVVTj-g-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v3 2/4] microvm: drop max-ram-below-4g support Date: Fri, 29 May 2020 09:39:55 +0200 Message-Id: <20200529073957.8018-3-kraxel@redhat.com> In-Reply-To: <20200529073957.8018-1-kraxel@redhat.com> References: <20200529073957.8018-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Eduardo Habkost , Sergio Lopez , Paul Durrant , "Michael S. Tsirkin" , imammedo@redhat.com, Gerd Hoffmann , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , philmd@redhat.com, Richard Henderson Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Not useful for microvm and allows users to shoot themself into the foot (make ram + mmio overlap). Signed-off-by: Gerd Hoffmann Reviewed-by: Igor Mammedov Acked-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin --- hw/i386/microvm.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 44f940813b07..5e931975a06d 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -173,25 +173,6 @@ static void microvm_memory_init(MicrovmMachineState *m= ms) ram_addr_t lowmem =3D 0xc0000000; /* 3G */ int i; =20 - /* - * Handle the machine opt max-ram-below-4g. It is basically doing - * min(qemu limit, user limit). - */ - if (!x86ms->max_ram_below_4g) { - x86ms->max_ram_below_4g =3D 4 * GiB; - } - if (lowmem > x86ms->max_ram_below_4g) { - lowmem =3D x86ms->max_ram_below_4g; - if (machine->ram_size - lowmem > lowmem && - lowmem & (1 * GiB - 1)) { - warn_report("There is possibly poor performance as the ram siz= e " - " (0x%" PRIx64 ") is more then twice the size of" - " max-ram-below-4g (%"PRIu64") and" - " max-ram-below-4g is not a multiple of 1G.", - (uint64_t)machine->ram_size, x86ms->max_ram_below_= 4g); - } - } - if (machine->ram_size > lowmem) { x86ms->above_4g_mem_size =3D machine->ram_size - lowmem; x86ms->below_4g_mem_size =3D lowmem; --=20 2.18.4 From nobody Mon Apr 29 16:48:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590738034; cv=none; d=zohomail.com; s=zohoarc; b=YMtQguTekpAXY7rssxgHAkQK4/P9eOFa3HA79oZ6wmxHEcYmc44cxX4oU+OM6dF8bOZal1KZFLiTNlZJDFzrwzEDkW8J/CtnZYT/GoltP4N7G9HNrnqVdDW/oWazCrPynaWVaVWFqHR8P+6Rqo9IJGY7VLqlfsjHRFI6cO3pprw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590738034; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=gb5GkJLhKQmpKKUOPuJsTnckJHtFKjaTwf/g8nYkDxc=; b=WgQNY9Khfh7joAXD4a9L43jfHou+hDJlmWMDABdXrCHrhMc+0qmJeRGXy/Fn9zj+CYOGDjXpyXAdDvElh1NBn7iskn2ybT3V1pA7lcR9KoZdlHZiwdTvj4XBlBYw/jZM//f2vT1vxsWF+cen5hw7q5iYqdZaXkacLe9ZsIWxips= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1590738034206741.6656450947828; Fri, 29 May 2020 00:40:34 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZcm-0007K5-8S; Fri, 29 May 2020 07:40:16 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZck-0007Jv-EB for xen-devel@lists.xenproject.org; Fri, 29 May 2020 07:40:14 +0000 Received: from us-smtp-1.mimecast.com (unknown [205.139.110.120]) by us1-rack-iad1.inumbo.com (Halon) with ESMTP id a1c888fa-a17f-11ea-9dbe-bc764e2007e4; Fri, 29 May 2020 07:40:13 +0000 (UTC) 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-334-Zz3F4r-EMV2AXkdZs1hcTA-1; Fri, 29 May 2020 03:40:09 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0866F100A8ED; Fri, 29 May 2020 07:40:08 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 79CD810013C2; Fri, 29 May 2020 07:39:58 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 57E439DAF; Fri, 29 May 2020 09:39:57 +0200 (CEST) X-Inumbo-ID: a1c888fa-a17f-11ea-9dbe-bc764e2007e4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590738013; 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=gb5GkJLhKQmpKKUOPuJsTnckJHtFKjaTwf/g8nYkDxc=; b=J8BmK2T+MjMPfspS3k28eb3fDnJqlXzVO9XwgZL/4am6vhRpt3JfhmGC1cPodSqi8udt8o 0Ed0k9xZni22K6cNu0Kt+de/aRcKUB8GHCLQagmh963qSWcNlCxfbj4jiZFU0gwIfJSfM4 JBinHyW+3k84MPVa81Lijgq/FWpPeHI= X-MC-Unique: Zz3F4r-EMV2AXkdZs1hcTA-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v3 3/4] x86: move max-ram-below-4g to pc Date: Fri, 29 May 2020 09:39:56 +0200 Message-Id: <20200529073957.8018-4-kraxel@redhat.com> In-Reply-To: <20200529073957.8018-1-kraxel@redhat.com> References: <20200529073957.8018-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Eduardo Habkost , Sergio Lopez , Paul Durrant , "Michael S. Tsirkin" , imammedo@redhat.com, Gerd Hoffmann , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , philmd@redhat.com, Richard Henderson Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Move from X86MachineClass to PCMachineClass so it disappears from microvm machine type property list. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daud=C3=A9 Acked-by: Paolo Bonzini Acked-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin Reviewed-by: Paul Durrant --- include/hw/i386/pc.h | 2 ++ include/hw/i386/x86.h | 4 ---- hw/i386/pc.c | 46 +++++++++++++++++++++++++++++++++++++++++++ hw/i386/pc_piix.c | 10 +++++----- hw/i386/pc_q35.c | 10 +++++----- hw/i386/x86.c | 46 ------------------------------------------- hw/i386/xen/xen-hvm.c | 2 +- 7 files changed, 59 insertions(+), 61 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 5e3b19ab78fc..dce1273c7dad 100644 --- a/include/hw/i386/pc.h +++ b/include/hw/i386/pc.h @@ -35,6 +35,7 @@ struct PCMachineState { PFlashCFI01 *flash[2]; =20 /* Configuration options: */ + uint64_t max_ram_below_4g; OnOffAuto vmport; =20 bool acpi_build_enabled; @@ -51,6 +52,7 @@ struct PCMachineState { }; =20 #define PC_MACHINE_ACPI_DEVICE_PROP "acpi-device" +#define PC_MACHINE_MAX_RAM_BELOW_4G "max-ram-below-4g" #define PC_MACHINE_DEVMEM_REGION_SIZE "device-memory-region-size" #define PC_MACHINE_VMPORT "vmport" #define PC_MACHINE_SMBUS "smbus" diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h index b52285481687..b79f24e28545 100644 --- a/include/hw/i386/x86.h +++ b/include/hw/i386/x86.h @@ -51,9 +51,6 @@ typedef struct { qemu_irq *gsi; GMappedFile *initrd_mapped_file; =20 - /* Configuration options: */ - uint64_t max_ram_below_4g; - /* RAM information (sizes, addresses, configuration): */ ram_addr_t below_4g_mem_size, above_4g_mem_size; =20 @@ -82,7 +79,6 @@ typedef struct { AddressSpace *ioapic_as; } X86MachineState; =20 -#define X86_MACHINE_MAX_RAM_BELOW_4G "max-ram-below-4g" #define X86_MACHINE_SMM "smm" #define X86_MACHINE_ACPI "acpi" =20 diff --git a/hw/i386/pc.c b/hw/i386/pc.c index c5db7be6d8b1..6d6f6decb32c 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1831,6 +1831,45 @@ static void pc_machine_set_pit(Object *obj, bool val= ue, Error **errp) pcms->pit_enabled =3D value; } =20 +static void pc_machine_get_max_ram_below_4g(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + uint64_t value =3D pcms->max_ram_below_4g; + + visit_type_size(v, name, &value, errp); +} + +static void pc_machine_set_max_ram_below_4g(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + PCMachineState *pcms =3D PC_MACHINE(obj); + Error *error =3D NULL; + uint64_t value; + + visit_type_size(v, name, &value, &error); + if (error) { + error_propagate(errp, error); + return; + } + if (value > 4 * GiB) { + error_setg(&error, + "Machine option 'max-ram-below-4g=3D%"PRIu64 + "' expects size less than or equal to 4G", value); + error_propagate(errp, error); + return; + } + + if (value < 1 * MiB) { + warn_report("Only %" PRIu64 " bytes of RAM below the 4GiB boundary= ," + "BIOS may not work with less than 1MiB", value); + } + + pcms->max_ram_below_4g =3D value; +} + static void pc_machine_initfn(Object *obj) { PCMachineState *pcms =3D PC_MACHINE(obj); @@ -1840,6 +1879,7 @@ static void pc_machine_initfn(Object *obj) #else pcms->vmport =3D ON_OFF_AUTO_OFF; #endif /* CONFIG_VMPORT */ + pcms->max_ram_below_4g =3D 0; /* use default */ /* acpi build is enabled by default if machine supports it */ pcms->acpi_build_enabled =3D PC_MACHINE_GET_CLASS(pcms)->has_acpi_buil= d; pcms->smbus_enabled =3D true; @@ -1938,6 +1978,12 @@ static void pc_machine_class_init(ObjectClass *oc, v= oid *data) mc->numa_mem_supported =3D true; mc->default_ram_id =3D "pc.ram"; =20 + object_class_property_add(oc, PC_MACHINE_MAX_RAM_BELOW_4G, "size", + pc_machine_get_max_ram_below_4g, pc_machine_set_max_ram_below_4g, + NULL, NULL); + object_class_property_set_description(oc, PC_MACHINE_MAX_RAM_BELOW_4G, + "Maximum ram below the 4G boundary (32bit boundary)"); + object_class_property_add(oc, PC_MACHINE_DEVMEM_REGION_SIZE, "int", pc_machine_get_device_memory_region_size, NULL, NULL, NULL); diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c index f66e1d73ce0b..503c35f7bf4c 100644 --- a/hw/i386/pc_piix.c +++ b/hw/i386/pc_piix.c @@ -127,11 +127,11 @@ static void pc_init1(MachineState *machine, if (xen_enabled()) { xen_hvm_init(pcms, &ram_memory); } else { - if (!x86ms->max_ram_below_4g) { - x86ms->max_ram_below_4g =3D 0xe0000000; /* default: 3.5G */ + if (!pcms->max_ram_below_4g) { + pcms->max_ram_below_4g =3D 0xe0000000; /* default: 3.5G */ } - lowmem =3D x86ms->max_ram_below_4g; - if (machine->ram_size >=3D x86ms->max_ram_below_4g) { + lowmem =3D pcms->max_ram_below_4g; + if (machine->ram_size >=3D pcms->max_ram_below_4g) { if (pcmc->gigabyte_align) { if (lowmem > 0xc0000000) { lowmem =3D 0xc0000000; @@ -140,7 +140,7 @@ static void pc_init1(MachineState *machine, warn_report("Large machine and max_ram_below_4g " "(%" PRIu64 ") not a multiple of 1G; " "possible bad performance.", - x86ms->max_ram_below_4g); + pcms->max_ram_below_4g); } } } diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c index 4ba8ac8774e4..90e8fb2cb737 100644 --- a/hw/i386/pc_q35.c +++ b/hw/i386/pc_q35.c @@ -154,18 +154,18 @@ static void pc_q35_init(MachineState *machine) /* Handle the machine opt max-ram-below-4g. It is basically doing * min(qemu limit, user limit). */ - if (!x86ms->max_ram_below_4g) { - x86ms->max_ram_below_4g =3D 4 * GiB; + if (!pcms->max_ram_below_4g) { + pcms->max_ram_below_4g =3D 4 * GiB; } - if (lowmem > x86ms->max_ram_below_4g) { - lowmem =3D x86ms->max_ram_below_4g; + if (lowmem > pcms->max_ram_below_4g) { + lowmem =3D pcms->max_ram_below_4g; if (machine->ram_size - lowmem > lowmem && lowmem & (1 * GiB - 1)) { warn_report("There is possibly poor performance as the ram siz= e " " (0x%" PRIx64 ") is more then twice the size of" " max-ram-below-4g (%"PRIu64") and" " max-ram-below-4g is not a multiple of 1G.", - (uint64_t)machine->ram_size, x86ms->max_ram_below_= 4g); + (uint64_t)machine->ram_size, pcms->max_ram_below_4= g); } } =20 diff --git a/hw/i386/x86.c b/hw/i386/x86.c index 7a3bc7ab6639..49884e5c1597 100644 --- a/hw/i386/x86.c +++ b/hw/i386/x86.c @@ -846,45 +846,6 @@ void x86_bios_rom_init(MemoryRegion *rom_memory, bool = isapc_ram_fw) bios); } =20 -static void x86_machine_get_max_ram_below_4g(Object *obj, Visitor *v, - const char *name, void *opaqu= e, - Error **errp) -{ - X86MachineState *x86ms =3D X86_MACHINE(obj); - uint64_t value =3D x86ms->max_ram_below_4g; - - visit_type_size(v, name, &value, errp); -} - -static void x86_machine_set_max_ram_below_4g(Object *obj, Visitor *v, - const char *name, void *opaqu= e, - Error **errp) -{ - X86MachineState *x86ms =3D X86_MACHINE(obj); - Error *error =3D NULL; - uint64_t value; - - visit_type_size(v, name, &value, &error); - if (error) { - error_propagate(errp, error); - return; - } - if (value > 4 * GiB) { - error_setg(&error, - "Machine option 'max-ram-below-4g=3D%"PRIu64 - "' expects size less than or equal to 4G", value); - error_propagate(errp, error); - return; - } - - if (value < 1 * MiB) { - warn_report("Only %" PRIu64 " bytes of RAM below the 4GiB boundary= ," - "BIOS may not work with less than 1MiB", value); - } - - x86ms->max_ram_below_4g =3D value; -} - bool x86_machine_is_smm_enabled(X86MachineState *x86ms) { bool smm_available =3D false; @@ -958,7 +919,6 @@ static void x86_machine_initfn(Object *obj) =20 x86ms->smm =3D ON_OFF_AUTO_AUTO; x86ms->acpi =3D ON_OFF_AUTO_AUTO; - x86ms->max_ram_below_4g =3D 0; /* use default */ x86ms->smp_dies =3D 1; =20 x86ms->apicid_from_cpu_idx =3D x86_apicid_from_cpu_idx; @@ -980,12 +940,6 @@ static void x86_machine_class_init(ObjectClass *oc, vo= id *data) x86mc->save_tsc_khz =3D true; nc->nmi_monitor_handler =3D x86_nmi; =20 - object_class_property_add(oc, X86_MACHINE_MAX_RAM_BELOW_4G, "size", - x86_machine_get_max_ram_below_4g, x86_machine_set_max_ram_below_4g, - NULL, NULL); - object_class_property_set_description(oc, X86_MACHINE_MAX_RAM_BELOW_4G, - "Maximum ram below the 4G boundary (32bit boundary)"); - object_class_property_add(oc, X86_MACHINE_SMM, "OnOffAuto", x86_machine_get_smm, x86_machine_set_smm, NULL, NULL); diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c index 82ece6b9e739..d6f4674418e9 100644 --- a/hw/i386/xen/xen-hvm.c +++ b/hw/i386/xen/xen-hvm.c @@ -203,7 +203,7 @@ static void xen_ram_init(PCMachineState *pcms, ram_addr_t block_len; uint64_t user_lowmem =3D object_property_get_uint(qdev_get_machine(), - X86_MACHINE_MAX_RAM_BELOW_4G, + PC_MACHINE_MAX_RAM_BELOW_4G, &error_abort); =20 /* Handle the machine opt max-ram-below-4g. It is basically doing --=20 2.18.4 From nobody Mon Apr 29 16:48:19 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590738034; cv=none; d=zohomail.com; s=zohoarc; b=Lz3eFXXpFgqnZ1IBr3S0Gv/X1OCPpdPeW9gjEmbSAinzw2kZnHFnrA3u87HYZO2eAT6P4ZDXRsyxEGmuy1jtE07fWW4hBlumA8h2SU1RhxrQg/9XVTpjrZe7LEwqZIxOjCd2ZwreEaFfsSyjRxEK+RGJN92EyPHVVre0C4bd2X8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590738034; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=ssGDGVmdYGoZoZzLhx8dAk7n43EOoBPZwcr8nrwVXFM=; b=YET0pRzn4JUd2v1pmCKE1gU29bMm7Gns4Vp0mddUXo2kQA8yCgrLBRwrGW6BmTi9q/SeOM7K6r8G4JrU0lTLdTUnsiL9BGSVf5bvDDY1WNwtEvcxXSKRrYIScd7Fp8VTvzkTsQqvBR+4UTHKfnFDgL8guGm/tZpuP8mMy0lmQ+o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1590738034425567.4659022805837; Fri, 29 May 2020 00:40:34 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZck-0007Jp-0o; Fri, 29 May 2020 07:40:14 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jeZci-0007Jk-Ah for xen-devel@lists.xenproject.org; Fri, 29 May 2020 07:40:12 +0000 Received: from us-smtp-1.mimecast.com (unknown [205.139.110.61]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTP id a02a850c-a17f-11ea-a877-12813bfff9fa; Fri, 29 May 2020 07:40:10 +0000 (UTC) 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-218-9Zu2jfIcPd2yPb2z-z5D6w-1; Fri, 29 May 2020 03:40:08 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 98693107ACF2; Fri, 29 May 2020 07:40:07 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-113-50.ams2.redhat.com [10.36.113.50]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7FDFE10013DB; Fri, 29 May 2020 07:39:58 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 6100F9DB0; Fri, 29 May 2020 09:39:57 +0200 (CEST) X-Inumbo-ID: a02a850c-a17f-11ea-a877-12813bfff9fa DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590738010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:content-type:content-type:in-reply-to:in-reply-to: references:references; bh=ssGDGVmdYGoZoZzLhx8dAk7n43EOoBPZwcr8nrwVXFM=; b=BSwN0RYN/l0QxejSfnU1qCsKqZczhSsM5ek7vW28DsJabwLtrAi/IUcfpeaCOr799dxeEC yBgXc+byZ9uoSZZSB61ewFdPvVZZvWa66FVzTjY46Zj/YT5KbiaBKsIukkqD0O5RJI5oHg bcFLObFkUyZ1ucS4Uk7ZbKMUqEhRTJE= X-MC-Unique: 9Zu2jfIcPd2yPb2z-z5D6w-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH v3 4/4] microvm: move virtio base to 0xfeb00000 Date: Fri, 29 May 2020 09:39:57 +0200 Message-Id: <20200529073957.8018-5-kraxel@redhat.com> In-Reply-To: <20200529073957.8018-1-kraxel@redhat.com> References: <20200529073957.8018-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Stefano Stabellini , Eduardo Habkost , Sergio Lopez , Paul Durrant , "Michael S. Tsirkin" , imammedo@redhat.com, Gerd Hoffmann , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Anthony Perard , Paolo Bonzini , philmd@redhat.com, Richard Henderson Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Place virtio-mmio devices near the other mmio regions, next ioapic is at @ 0xfec00000. Signed-off-by: Gerd Hoffmann Acked-by: Michael S. Tsirkin Reviewed-by: Michael S. Tsirkin --- include/hw/i386/microvm.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/hw/i386/microvm.h b/include/hw/i386/microvm.h index ba68d1f22bb3..fd34b78e0d2a 100644 --- a/include/hw/i386/microvm.h +++ b/include/hw/i386/microvm.h @@ -26,7 +26,7 @@ #include "hw/i386/x86.h" =20 /* Platform virtio definitions */ -#define VIRTIO_MMIO_BASE 0xc0000000 +#define VIRTIO_MMIO_BASE 0xfeb00000 #define VIRTIO_IRQ_BASE 5 #define VIRTIO_NUM_TRANSPORTS 8 #define VIRTIO_CMDLINE_MAXLEN 64 --=20 2.18.4