From nobody Fri Dec 19 04:28:46 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.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=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1551805844220942.3726040102773; Tue, 5 Mar 2019 09:10:44 -0800 (PST) Received: from localhost ([127.0.0.1]:46084 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1DaS-00013I-4e for importer@patchew.org; Tue, 05 Mar 2019 12:10:40 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54759) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h1DHi-0001i3-Px for qemu-devel@nongnu.org; Tue, 05 Mar 2019 11:51:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h1DHi-00016F-1w for qemu-devel@nongnu.org; Tue, 05 Mar 2019 11:51:18 -0500 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]:33898) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h1DHh-00015G-Q5 for qemu-devel@nongnu.org; Tue, 05 Mar 2019 11:51:17 -0500 Received: by mail-wr1-x42c.google.com with SMTP id f14so10259923wrg.1 for ; Tue, 05 Mar 2019 08:51:17 -0800 (PST) Received: from orth.archaic.org.uk (orth.archaic.org.uk. [81.2.115.148]) by smtp.gmail.com with ESMTPSA id 2sm10071495wrg.89.2019.03.05.08.51.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 05 Mar 2019 08:51:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=NN+6qqsjp4m/0T8dHkNjHqkh9rKKEl1CqKYB6Fqs8bA=; b=NzBnkRMqPOLweqUP8R6EIDNWLzXoEwvx44n5Ap2+1kTMVrySP7jSuh0HkpyPFJw65b CPSHVzvRLzvlLgmCLaK0Baws3RaMXKgT33Qzmp8ao8eCFoCK+SEArRe5QGfFKFYtB42R joexxTu0L76hkpuAXYhpWGrVLn+WmeplmckL1yng1UY6VDO3aQJHKeBQ1BFGH/9GF920 SOa7mFKx0mOO8NwHMKFPZzey2Do48AZ2tkzuthwYHak9X78noCq3Vr9w7qM9TJe1QtYw aU9yYVWW+myB0Oyq/DSTVyzqK3BX+WeSOhTX9pVB1kTZ0NQrigWvGvhMNhRZxfww8yjw eK6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NN+6qqsjp4m/0T8dHkNjHqkh9rKKEl1CqKYB6Fqs8bA=; b=ceXs8GPfZwdJlntkG8uAlu3/0Yz3G6CFZVNEROOQjNQ2D7KDdmvuD75eFK2DZDNnB5 Z0Y1i9lUlyGr4RWFFSdfMZInyN7EXX7jMZdGj24ggMdkbzYcZyV1Elz9Tm1sKZEcxOSN VUEHtCI4PXV1QOW3C9e36kyqWgUA0NqJ0ZcFH8fEhf96yyTQjXE5yvBZ2/JMWLB3ZOKZ FL05DFd7HILw0dJCRqAUjFjhOqKH5QtVJL5WS3KnVhe3Rqot+lszzQGUSQC38SUn3Fdc 6vWJNIOwrygZXoxJw+aWLR9D7UMrzrybCUwPZMMsojk7SSgzhhnRLMnSNZPTl3icnbGF hpUw== X-Gm-Message-State: APjAAAW79BmBE9k2nfvw2Sh5VOLTZ93BirbWpR1uacADPPq7nnDZRk1N 3eXOhoj37vbOmWaKeUCJ6W2xkvmUa00= X-Google-Smtp-Source: APXvYqw3rNWJHPP5Ss8Q+aoIbDEmPDfyvFpneoGJw//a5gFKLiwiUm+gOthfDxxXBjBHfK3/q94Q/g== X-Received: by 2002:a05:6000:14d:: with SMTP id r13mr18191232wrx.231.1551804676601; Tue, 05 Mar 2019 08:51:16 -0800 (PST) From: Peter Maydell To: qemu-devel@nongnu.org Date: Tue, 5 Mar 2019 16:50:49 +0000 Message-Id: <20190305165051.26860-21-peter.maydell@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190305165051.26860-1-peter.maydell@linaro.org> References: <20190305165051.26860-1-peter.maydell@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::42c Subject: [Qemu-devel] [PULL 20/22] hw/arm/virt: Check the VCPU PA range in TCG mode X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" From: Eric Auger We are about to allow the memory map to grow beyond 1TB and potentially overshoot the VCPU AA64MMFR0.PARANGE. In aarch64 mode and when highmem is set, let's check the VCPU PA range is sufficient to address the highest GPA of the memory map. Signed-off-by: Eric Auger Reviewed-by: Igor Mammedov Message-id: 20190304101339.25970-10-eric.auger@redhat.com Signed-off-by: Peter Maydell --- hw/arm/virt.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 3ac6b152f55..d725daefdf8 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -60,6 +60,7 @@ #include "standard-headers/linux/input.h" #include "hw/arm/smmuv3.h" #include "hw/acpi/acpi.h" +#include "target/arm/internals.h" =20 #define DEFINE_VIRT_MACHINE_LATEST(major, minor, latest) \ static void virt_##major##_##minor##_class_init(ObjectClass *oc, \ @@ -1608,6 +1609,22 @@ static void machvirt_init(MachineState *machine) fdt_add_timer_nodes(vms); fdt_add_cpu_nodes(vms); =20 + if (!kvm_enabled()) { + ARMCPU *cpu =3D ARM_CPU(first_cpu); + bool aarch64 =3D object_property_get_bool(OBJECT(cpu), "aarch64", = NULL); + + if (aarch64 && vms->highmem) { + int requested_pa_size, pamax =3D arm_pamax(cpu); + + requested_pa_size =3D 64 - clz64(vms->highest_gpa); + if (pamax < requested_pa_size) { + error_report("VCPU supports less PA bits (%d) than request= ed " + "by the memory map (%d)", pamax, requested_pa_= size); + exit(1); + } + } + } + memory_region_allocate_system_memory(ram, NULL, "mach-virt.ram", machine->ram_size); memory_region_add_subregion(sysmem, vms->memmap[VIRT_MEM].base, ram); --=20 2.20.1