From patchwork Wed Dec 18 03:19:15 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 181970 Delivered-To: patch@linaro.org Received: by 2002:a92:3001:0:0:0:0:0 with SMTP id x1csp90600ile; Tue, 17 Dec 2019 19:25:21 -0800 (PST) X-Google-Smtp-Source: APXvYqzTnD9j/uB78uY6wrheEnlzKzoRk2zLPvmVixuI1pMhQzfKaUnBK2sR51tmnBkUSchc/sCP X-Received: by 2002:a37:354:: with SMTP id 81mr357874qkd.276.1576639521573; Tue, 17 Dec 2019 19:25:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1576639521; cv=none; d=google.com; s=arc-20160816; b=VLSatvZuKin8rKmqniTKRUdqkQTACpfK0SuHMsnXXLdGTVcO3DgnfEp2+3KKTrzEe7 KHw/bYcLvNfXX+w5UsRmwnBJovHdB7ZmCy1TNp+hB/v/wgZhYbL7sUw5E5qNu6didree JlsgDeH3HGNr//4PVr7dx3rdsOX39mTeyfepzEYMn/otQ5Es5LI+PFmsrhYGpSDDCcuS hm8tie/j0voiVn24qAJHJyzrniI6X791vPLyUvRHRTY4TQQ1Z6G+bxLdEI1haVGenTqs I2f2Ym/coUvjdulPB+SF3Sca+46L/L5Qz7DtgHp4syv+aFjNL/1UNSh0qR4muy7u4oSd dXLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=h8PHcS1tBBTVD9W0+xFnEcSw+EjWnL99+V49q3i39H0=; b=i5rhMXHwf0V2fjqa6opR4dqwICAncGnfRgfgjKI58ilTYIT863yULVYg+ju/EVOT+/ c7/iECpsJ5Dt883GywObFeZxW0rz9KQaTPz6zEo7V3uxweONcwSoLTAtLNlPCoWlcenq xiaoeOglJnHkoYS1pqrhyPYLHgggumA91/6XaYwIXxp09+WU6hbd8U4nLTycAxkEb5dq pGQYEQv/PmfWH4qLR1tmFL7rpojLgGGuOWFpPyrQ0/FGItZtPc2ORktq5a6uVkDOi8U8 dJ+r+AUFL6rdmD5CEcKvULGBiHMxrutckp2bqRXDm+r+sIYTObDpg9PKiEdQTd50PcOy P02g== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=TiDiSH0C; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id d26si794165qko.68.2019.12.17.19.25.21 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 17 Dec 2019 19:25:21 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=TiDiSH0C; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihPxh-0002u3-42 for patch@linaro.org; Tue, 17 Dec 2019 22:25:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:43999) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ihPs1-00043A-9F for qemu-devel@nongnu.org; Tue, 17 Dec 2019 22:19:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ihPs0-0002fY-28 for qemu-devel@nongnu.org; Tue, 17 Dec 2019 22:19:29 -0500 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]:43050) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ihPrz-0002eT-Sy for qemu-devel@nongnu.org; Tue, 17 Dec 2019 22:19:28 -0500 Received: by mail-pg1-x544.google.com with SMTP id k197so435102pga.10 for ; Tue, 17 Dec 2019 19:19:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=h8PHcS1tBBTVD9W0+xFnEcSw+EjWnL99+V49q3i39H0=; b=TiDiSH0CzvqeeXBY6u5uqYBDzw+ukp20Troi0DWC5YiyN9eps5Gk51TO1dEiYqrALj y+3JWVmb1TKwsyywrqz9TxjdvoJqf7SFodHAdib8JlrLi5flSNaJ80r0+CBfN/6NoqPp +tZq27GLropxlZVQ44Jx/vI186h6KxmxPeGR3aTDxj69vEd60dUYz02S4O3DfR57UpKr 8oplMbNfv0xhBOMI1yRs2RlnKX8/I0Mg1sY8Q0T7DvZHxXsdCqJPIEfKJV+tEcnmhFbg Yws+Od9OPrtaWnS53f9qXtBiybDV3n1h064LITPgWv2qElmK6pbwIu9M5xzgstoNgUNp 6+uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h8PHcS1tBBTVD9W0+xFnEcSw+EjWnL99+V49q3i39H0=; b=Y6xUHWVhZtCUIMmtQV2/HBg73UanmpxrGWvS71ePCvN4pSyjrOdAn+sZk2CWl8QKQk 7GQ1JzImyi8iQynY4hLVz4n2PDprWsOdmagmiTbUBoC0qNy1JVq2AQF1EidXkj8s3XAz KMBv0sQiXwp5ytHczPs1x49RjEymAW3JGVf/z69rQ2TCON1yVDfitPHSB/STw4VfH48+ WefGTBTmNa8ncDBhQSHggOq2zajJNLs2XZJwn/CF97XI80b0uPN9FfMn4lcCCxfmsGNn 7CSxBo48IXaabOZ0oZwoqp3Jo1269vXVL2jFUpoUSsYM0yt28/4v/H/BaHkbsi9O0qRU K/2g== X-Gm-Message-State: APjAAAXPS+wn8wciLfPTtLmks3cu+556Oagghuk4uaDjHmSXzIZ2EFSs lKjFJ0YNeWKOvzhEOgCJHAhJhEQF0aI= X-Received: by 2002:a65:538b:: with SMTP id x11mr273892pgq.395.1576639166549; Tue, 17 Dec 2019 19:19:26 -0800 (PST) Received: from localhost.localdomain ([2605:e000:c74f:dc00:6838:d2b2:17e2:8445]) by smtp.gmail.com with ESMTPSA id k27sm404870pfp.66.2019.12.17.19.19.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Dec 2019 19:19:26 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 2/7] tcg: Remove softmmu code_gen_buffer fixed address Date: Tue, 17 Dec 2019 17:19:15 -1000 Message-Id: <20191218031920.6414-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20191218031920.6414-1-richard.henderson@linaro.org> References: <20191218031920.6414-1-richard.henderson@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::544 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: philmd@redhat.com, i@maskray.me, berrange@redhat.com Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" The commentary talks about "in concert with the addresses assigned in the relevant linker script", except there is no linker script for softmmu, nor has there been for some time. (Do not confuse the user-only linker script editing that was removed in the previous patch, because user-only does not use this code_gen_buffer allocation method.) Signed-off-by: Richard Henderson --- accel/tcg/translate-all.c | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) -- 2.20.1 Reviewed-by: Thomas Huth diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 9f48da9472..88468a1c08 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -1032,47 +1032,20 @@ static inline void *alloc_code_gen_buffer(void) { int prot = PROT_WRITE | PROT_READ | PROT_EXEC; int flags = MAP_PRIVATE | MAP_ANONYMOUS; - uintptr_t start = 0; size_t size = tcg_ctx->code_gen_buffer_size; void *buf; - /* Constrain the position of the buffer based on the host cpu. - Note that these addresses are chosen in concert with the - addresses assigned in the relevant linker script file. */ -# if defined(__PIE__) || defined(__PIC__) - /* Don't bother setting a preferred location if we're building - a position-independent executable. We're more likely to get - an address near the main executable if we let the kernel - choose the address. */ -# elif defined(__x86_64__) && defined(MAP_32BIT) - /* Force the memory down into low memory with the executable. - Leave the choice of exact location with the kernel. */ - flags |= MAP_32BIT; - /* Cannot expect to map more than 800MB in low memory. */ - if (size > 800u * 1024 * 1024) { - tcg_ctx->code_gen_buffer_size = size = 800u * 1024 * 1024; - } -# elif defined(__sparc__) - start = 0x40000000ul; -# elif defined(__s390x__) - start = 0x90000000ul; -# elif defined(__mips__) -# if _MIPS_SIM == _ABI64 - start = 0x128000000ul; -# else - start = 0x08000000ul; -# endif -# endif - - buf = mmap((void *)start, size, prot, flags, -1, 0); + buf = mmap(NULL, size, prot, flags, -1, 0); if (buf == MAP_FAILED) { return NULL; } #ifdef __mips__ if (cross_256mb(buf, size)) { - /* Try again, with the original still mapped, to avoid re-acquiring - that 256mb crossing. This time don't specify an address. */ + /* + * Try again, with the original still mapped, to avoid re-acquiring + * the same 256mb crossing. + */ size_t size2; void *buf2 = mmap(NULL, size, prot, flags, -1, 0); switch ((int)(buf2 != MAP_FAILED)) {