From nobody Mon Apr 29 08:59:33 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590414256; cv=none; d=zohomail.com; s=zohoarc; b=YPB30AUP9T7JzaECDVLAN+Gi5/Mbsao8VBHu4pOn16AYOafjxUOT5V2SC0cDKnfTebA1p0OARQPo53DA9qInQkUOdIL54KcOd6GcYX1h/QyZyqEIrS2O1wydM/jnwKMDhRXJVUJD7cg1dlL+EErv8uEWyFE78wDO3D5U7f/1DPM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590414256; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1M1GFbHHMj+MaupwJ/9+115Cq3FYdjazHLDdk6KMsyg=; b=kf94cXCd3EXRpgSTIk2yNWIhC/dnw06t57V3+Eb55I5u1xbeedNNVeoKygegH5307t9K66bmzThKuJKjbUNChHjtUzfLmGJAjg5YGAJkQJ4ZXS+Ca+qpWOOoXKhQWZpCowpy+HCcbQeM9DY/tvx61mjMikkXIGeZIHSXflRKOMI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1590414256080670.7996211547348; Mon, 25 May 2020 06:44:16 -0700 (PDT) Received: from localhost ([::1]:41292 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdDOo-0004pc-Sy for importer@patchew.org; Mon, 25 May 2020 09:44:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44270) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jdDM3-0001tt-6O for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:23 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:25126 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jdDLz-0007Qm-IN for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:22 -0400 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-324-hWG5mvbpPRKZF1s6XbiCbw-1; Mon, 25 May 2020 09:41:16 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 336378014D7; Mon, 25 May 2020 13:41:15 +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 004EC5C241; Mon, 25 May 2020 13:41:02 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 862081753B; Mon, 25 May 2020 15:41:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590414077; 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=1M1GFbHHMj+MaupwJ/9+115Cq3FYdjazHLDdk6KMsyg=; b=WtAXYBuUhi652lJu6JeK/y5McDqMvsIB4k8im7+9AwO9r4ineIEaSiCMHObEHmdTen/IPX 0jn0f1Bhw3URjDWexa8SGsvP7kEIiCKMn8OX9/qaWXh4QRcA3foQ3KnHEzDbs+ltq2JvYT Cz/DfXMZfRhgYa5yFO6WUzBqezV0gJE= X-MC-Unique: hWG5mvbpPRKZF1s6XbiCbw-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 1/3] microvm: use 2G split unconditionally Date: Mon, 25 May 2020 15:40:59 +0200 Message-Id: <20200525134101.24740-2-kraxel@redhat.com> In-Reply-To: <20200525134101.24740-1-kraxel@redhat.com> References: <20200525134101.24740-1-kraxel@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/25 02:40:56 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_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN 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: Eduardo Habkost , Sergio Lopez , "Michael S. Tsirkin" , Gerd Hoffmann , Paolo Bonzini , imammedo@redhat.com, philmd@redhat.com, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-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. So split @ 2G unconditionally. Signed-off-by: Gerd Hoffmann Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Igor Mammedov Acked-by: Paolo Bonzini --- 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..44c08f8a5ab0 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 0x80000000; /* 2G */ 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 08:59:33 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590414170; cv=none; d=zohomail.com; s=zohoarc; b=O4nYnbm8p8KfBrGPuyPrfCeHgRy1C6406lXmH690E+tLJrYma+AwvbO90d9Avv4xbNKBM0IIZlR6prgZlbglloJC7fEv0NY/VkCJbNkDa4cKxiF4pDuIoMxWDkmnXOjnRWe193BEpcufUZIPyiv5ShbeV2on/XQenbhqyva1ipQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590414170; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=HvTWOXwvBJOV02m4Z7iDI6dqR2N3LtVaCQpRRrKg3Jo=; b=Sv+crsA1N+iX7F597nZPkvd8r2qN6c7pRLiocBCywx3wehJ6rcoTGTE4I7EFNtS4qBPMNZ1vO6lAogQ9Gy4CgEKIuwTp0plDBb4/MMw+nGSANMDXaWSGL9xVdiFjKqKQL7nv6sIbfrKtSUlo1dBMr+FNs1JPX930c/bWG7mj6do= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1590414170716643.7427080571375; Mon, 25 May 2020 06:42:50 -0700 (PDT) Received: from localhost ([::1]:36972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdDNR-00036O-5Z for importer@patchew.org; Mon, 25 May 2020 09:42:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44274) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jdDM3-0001tu-6V for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:23 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:29545 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jdDLz-0007Qo-Gg for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:22 -0400 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-30-XD4HMb85N5KQEoAReigzVA-1; Mon, 25 May 2020 09:41:16 -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 A1965801503; Mon, 25 May 2020 13:41:15 +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 06DE8619C0; Mon, 25 May 2020 13:41:03 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 8F5A79DAE; Mon, 25 May 2020 15:41:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590414078; 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=HvTWOXwvBJOV02m4Z7iDI6dqR2N3LtVaCQpRRrKg3Jo=; b=i2jYkl068hnsjLDCPy1oY+mItxSvmNgsMMnWZRNhmUDJd1ZTiPBczcCtYCZB5oHJhiMDar BNnA1x5Z18MvZwndtS2vZpLIESKSPFJLS1wSyUlbglaTKLg6vzxwFS3C0gDqSU6HH+f8CM 8aMI7bBSuGNqckgJDjm4ESKt/beuSwI= X-MC-Unique: XD4HMb85N5KQEoAReigzVA-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 2/3] microvm: drop max-ram-below-4g support Date: Mon, 25 May 2020 15:41:00 +0200 Message-Id: <20200525134101.24740-3-kraxel@redhat.com> In-Reply-To: <20200525134101.24740-1-kraxel@redhat.com> References: <20200525134101.24740-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.120; envelope-from=kraxel@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/25 01:44:10 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.001, RCVD_IN_MSPIKE_WL=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN 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: Eduardo Habkost , Sergio Lopez , "Michael S. Tsirkin" , Gerd Hoffmann , Paolo Bonzini , imammedo@redhat.com, philmd@redhat.com, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-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" Not useful for microvm and allows users to shot themself into the foot (make ram + mmio overlap). Signed-off-by: Gerd Hoffmann Acked-by: Paolo Bonzini Reviewed-by: Igor Mammedov --- hw/i386/microvm.c | 19 ------------------- 1 file changed, 19 deletions(-) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index 44c08f8a5ab0..4b6ec2bbe331 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 0x80000000; /* 2G */ 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 08:59:33 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1590414329; cv=none; d=zohomail.com; s=zohoarc; b=MIUhK19u9UbDf3DXdQkLHo5Dr22a+svygIbVCr7Af+W9koph2e+y2R7AVXJe9dt2f2/XjC4jLScdcI7ItQAtATercCZocFxqk+AWNLPhQVxO7UA/0Ntl/mL7F5KKZjhYegiRJIUS47xc/1OUPLloyyNxYyU+P+CQeaOiPxiajqs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1590414329; h=Content-Type:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To; bh=bpS2BOZ0LWVS2969ISMtwBKsE6ReJZ4pNbaHafyWzog=; b=H7dnm5daZ+Uh6O8jOcjFnzbZnHePES3mEPYD6I03qNluUo+qqctBe1FG+xK3w7/g7eG6AS9TpZ3ckiqidrkLxxq3sCY26V/64nmPDezF9mJaRvFu2qZOxbZNFV7qGFTnaup+6e2xI4gypgWV6gEgJcussRToK72XBLASQRt1o7g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1590414329804583.9508166526902; Mon, 25 May 2020 06:45:29 -0700 (PDT) Received: from localhost ([::1]:43428 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jdDQ0-0005xU-He for importer@patchew.org; Mon, 25 May 2020 09:45:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44298) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jdDM8-0001v0-Ew for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:28 -0400 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:51758 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jdDM4-0007RS-2c for qemu-devel@nongnu.org; Mon, 25 May 2020 09:41:27 -0400 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-336-pfmZHDr2OPKUpjo-XMEjew-1; Mon, 25 May 2020 09:41:19 -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 0D86A18FF660; Mon, 25 May 2020 13:41:18 +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 A88A410013D7; Mon, 25 May 2020 13:41:05 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A06329DAF; Mon, 25 May 2020 15:41:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1590414082; 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=bpS2BOZ0LWVS2969ISMtwBKsE6ReJZ4pNbaHafyWzog=; b=PjEsPDv6A5Lotg0ppJLjH1lscIokAf4TRRTKQY6Klz73uQ5JVZbjFekXEqsVA6AaalOLpk rwTq6dDXdCnB8SKl37PFC+b51kQ9qRmwAULT3bVr5Ett3K/myERLK4iGvgVPpb7CalNVGs PrikkRJGzKCJJ/hA6RNNMPzu9aK7H1Y= X-MC-Unique: pfmZHDr2OPKUpjo-XMEjew-1 From: Gerd Hoffmann To: qemu-devel@nongnu.org Subject: [PATCH 3/3] x86: move max-ram-below-4g to pc Date: Mon, 25 May 2020 15:41:01 +0200 Message-Id: <20200525134101.24740-4-kraxel@redhat.com> In-Reply-To: <20200525134101.24740-1-kraxel@redhat.com> References: <20200525134101.24740-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 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=205.139.110.61; envelope-from=kraxel@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/05/25 02:40:56 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_H2=-0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN 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: Eduardo Habkost , Sergio Lopez , "Michael S. Tsirkin" , Gerd Hoffmann , Paolo Bonzini , imammedo@redhat.com, philmd@redhat.com, Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-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" Move from X86MachineClass to PCMachineClass so it disappears from microvm machine type property list. Signed-off-by: Gerd Hoffmann Acked-by: Paolo Bonzini Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- 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 ------------------------------------------- 6 files changed, 58 insertions(+), 60 deletions(-) diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h index 8d764f965cd3..e6135c34d656 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 2128f3d6fe8b..80a6cac3b56f 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1856,6 +1856,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); @@ -1865,6 +1904,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; @@ -1963,6 +2003,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); --=20 2.18.4