{"id":1447402,"url":"http://patchwork.ozlabs.org/api/patches/1447402/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20210304144651.310037-19-alistair.francis@wdc.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20210304144651.310037-19-alistair.francis@wdc.com>","list_archive_url":null,"date":"2021-03-04T14:46:50","name":"[PULL,v2,18/19] hw/riscv: virt: Limit RAM size in a 32-bit system","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"8b8d26f53f6c8279653832e8ee1d3f0b89795a29","submitter":{"id":74007,"url":"http://patchwork.ozlabs.org/api/people/74007/?format=json","name":"Alistair Francis","email":"alistair.francis@wdc.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20210304144651.310037-19-alistair.francis@wdc.com/mbox/","series":[{"id":232161,"url":"http://patchwork.ozlabs.org/api/series/232161/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=232161","date":"2021-03-04T14:46:33","name":"[PULL,v2,01/19] target/riscv: Declare csr_ops[] with a known size","version":2,"mbox":"http://patchwork.ozlabs.org/series/232161/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1447402/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1447402/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=wdc.com header.i=@wdc.com header.a=rsa-sha256\n header.s=dkim.wdc.com header.b=gGKfrbST;\n\tdkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 4DrvLb6cM2z9sSC\n\tfor <incoming@patchwork.ozlabs.org>; Fri,  5 Mar 2021 02:05:27 +1100 (AEDT)","from localhost ([::1]:39902 helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1lHpXZ-0001KT-Cw\n\tfor incoming@patchwork.ozlabs.org; Thu, 04 Mar 2021 10:05:25 -0500","from eggs.gnu.org ([2001:470:142:3::10]:60526)\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1)\n (envelope-from <prvs=690dc056c=alistair.francis@wdc.com>)\n id 1lHpHg-0002Sy-98\n for qemu-devel@nongnu.org; Thu, 04 Mar 2021 09:49:00 -0500","from esa1.hgst.iphmx.com ([68.232.141.245]:44463)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1)\n (envelope-from <prvs=690dc056c=alistair.francis@wdc.com>)\n id 1lHpHe-0007up-Ht\n for qemu-devel@nongnu.org; Thu, 04 Mar 2021 09:48:59 -0500","from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com)\n ([199.255.45.15])\n by ob1.hgst.iphmx.com with ESMTP; 04 Mar 2021 22:48:27 +0800","from uls-op-cesaip01.wdc.com ([10.248.3.36])\n by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 04 Mar 2021 06:29:41 -0800","from cnf008142.ad.shared (HELO alistair-risc6-laptop.hgst.com)\n ([10.86.48.109])\n by uls-op-cesaip01.wdc.com with ESMTP; 04 Mar 2021 06:48:27 -0800"],"DKIM-Signature":"v=1; a=rsa-sha256; c=simple/simple;\n d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;\n t=1614869338; x=1646405338;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=IP2HN1eQBL39bp3vkwJRHZffXjaUEFOkfWY03vX1wLE=;\n b=gGKfrbSTljaH3lzulgsp+pZSshKw+DDCfm4GkuODDJlOXX9/RRsSucvi\n rbwpa80hqshuP/rMyt4sHnOh0AKOO4JRv1SD8CLxU7z+ey/qLvmphIiti\n OBjfiAWINouHPlU1pkSEKnxYk8j2rJaNrPQ42dbSJR0IpoY6ITg0IVI3E\n XugOT0PngngJhQxkVU890gNp8Be0B6DlbgQcuZsNnpNOSsELtETMKHi0o\n vVfvnM7Pmp0mRFD27pCrST6hOYaZ+xdhNuqaHqLz/nMOngwXGqOW0DqwS\n YDEqaozFwWuEwOZ3RUvaoSTyz+GSWa+0FTZdXiZRanEHBX1Nbvi5dOVgM w==;","IronPort-SDR":["\n xNrB2GaY9TshXkWbC/uwKtPc0XqJlb1QjYg8S1dJT8XQ7thaXqhYfKce3OiD2dwGN+hyhALbZg\n 02vMUmZfjP790S9OdaJqbauFWf2msSW2J5Fythb/rgYJC1bAq8qaYNbH3SRibtZUFVrHU3rvCm\n 25hDBcDJasg56d73NlnJlonjPgXhqo+DumuEwJftRl7AcXufLZC2U60mXvjw8r1g8xj1ibjDLp\n qfN7I5+gGBiJDu7kxHix3qD2liv0E9c/fFOZTDAIqga4yLMYJwxAV/YiAWWuG+XggJrZN/Edm8\n TQE=","\n jTRuk3WEc935SAYBIHabaFYcQSbEHP2DDlrBPfNcexylOTmlnPfaZjrgjIwMvhRIwtBnQPDhV1\n 0r/rUXOYPd6+ZYxpvQNbdkdEG6Zk5KrY4qA5fsvtfVGAGz0PIZCYfa9seHd6zAL8Pd3QRILuj6\n kESgVGxxmDo0PcZV/g9KHbhjjFilymJrri8roTdT5Kxv9YcQJcH7O2y5dz+6qNg/9U3FGdbfHU\n 22NsNORI7WVA18AG5/y4X+TUXEeaeqVfTDSCWhLr2sFWvW87SWmuuZmjsWUNhhwZE+SS+XX/ra\n yqZqiR1eqbAZfYG/OWpedUeW","\n 71LL6ckqlHL5EpqfUTzEj/Akua2z/Baj4MKkvlMePbJhjoDd7FN93/G4j/O6VAAHRgoda0/sy7\n OiX6Sfo+o3489vkSc+vTAYRrBqqiRCU/bx4jHKw5WO8yDQEe8LlvqIVbAX5KG0ndQAJvRjFo+U\n jDDgvZE26V2Y5+SIIKlBvTXrKQADP6eNh3Uyk+yIkxto5AxUYP5YcMwuFfzgQ55tIcJYAzsdw8\n PmM4iOxjHk886gn83ssAvglifUnSwvU/dkGHkESx+Kl5Cw7wTLtMGynLu/PgagG7KR74gWXxcT\n 6LQ="],"X-IronPort-AV":"E=Sophos;i=\"5.81,222,1610380800\"; d=\"scan'208\";a=\"271984434\"","WDCIronportException":"Internal","From":"Alistair Francis <alistair.francis@wdc.com>","To":"peter.maydell@linaro.org","Subject":"[PULL v2 18/19] hw/riscv: virt: Limit RAM size in a 32-bit system","Date":"Thu,  4 Mar 2021 09:46:50 -0500","Message-Id":"<20210304144651.310037-19-alistair.francis@wdc.com>","X-Mailer":"git-send-email 2.30.1","In-Reply-To":"<20210304144651.310037-1-alistair.francis@wdc.com>","References":"<20210304144651.310037-1-alistair.francis@wdc.com>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Received-SPF":"pass client-ip=68.232.141.245;\n envelope-from=prvs=690dc056c=alistair.francis@wdc.com;\n helo=esa1.hgst.iphmx.com","X-Spam_score_int":"-27","X-Spam_score":"-2.8","X-Spam_bar":"--","X-Spam_report":"(-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001,\n 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":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"alistair23@gmail.com, Bin Meng <bin.meng@windriver.com>,\n Alistair Francis <alistair.francis@wdc.com>, qemu-devel@nongnu.org","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n <qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"},"content":"From: Bin Meng <bin.meng@windriver.com>\n\nRV32 supports 34-bit physical address hence the maximum RAM size\nshould be limited. Limit the RAM size to 10 GiB, which leaves\nsome room for PCIe high mmio space.\n\nFor 32-bit host, this is not needed as machine->ram_size cannot\nrepresent a RAM size that big. Use a #if size test to only do\nthe size limitation for the 64-bit host.\n\nSigned-off-by: Bin Meng <bin.meng@windriver.com>\nReviewed-by: Alistair Francis <alistair.francis@wdc.com>\nMessage-id: 20210220144807.819-4-bmeng.cn@gmail.com\nSigned-off-by: Alistair Francis <alistair.francis@wdc.com>\n---\n hw/riscv/virt.c | 10 ++++++++++\n 1 file changed, 10 insertions(+)","diff":"diff --git a/hw/riscv/virt.c b/hw/riscv/virt.c\nindex 1d05bb3ef9..c4b8f455f8 100644\n--- a/hw/riscv/virt.c\n+++ b/hw/riscv/virt.c\n@@ -590,6 +590,16 @@ static void virt_machine_init(MachineState *machine)\n         }\n     }\n \n+    if (riscv_is_32bit(&s->soc[0])) {\n+#if HOST_LONG_BITS == 64\n+        /* limit RAM size in a 32-bit system */\n+        if (machine->ram_size > 10 * GiB) {\n+            machine->ram_size = 10 * GiB;\n+            error_report(\"Limiting RAM size to 10 GiB\");\n+        }\n+#endif\n+    }\n+\n     /* register system main memory (actual RAM) */\n     memory_region_init_ram(main_mem, NULL, \"riscv_virt_board.ram\",\n                            machine->ram_size, &error_fatal);\n","prefixes":["PULL","v2","18/19"]}