From patchwork Thu Mar 5 01:04:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 11421007 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 6C5B01395 for ; Thu, 5 Mar 2020 01:07:17 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 42B7C2084E for ; Thu, 5 Mar 2020 01:07:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="KdNLQCu9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 42B7C2084E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:42028 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9eyq-0008K5-EH for patchwork-qemu-devel@patchwork.kernel.org; Wed, 04 Mar 2020 20:07:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39499) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j9ewi-0004Fs-HD for qemu-devel@nongnu.org; Wed, 04 Mar 2020 20:05:05 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j9ewh-0005Ru-Ar for qemu-devel@nongnu.org; Wed, 04 Mar 2020 20:05:04 -0500 Received: from us-smtp-1.mimecast.com ([205.139.110.61]:27096 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j9ewh-0005Ra-74 for qemu-devel@nongnu.org; Wed, 04 Mar 2020 20:05:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1583370302; 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=fUQHY5u6EmUZcs/PU9+tDJ55yHeFQYfslboPGYA34ns=; b=KdNLQCu96CatU9N1m980YNtcqOlE3U+sk7Xl3YLhsLeiVZOvNscyZl+xMW11TEwm8yyUIh +ug1YQcme/qD0lpigwKc/aDL27z+hXAajoToK4rGUDgd0ZrM4a7CYZetNtMHTKOK8KKQtw bQAqFpKE49BWd+e1IOshVg/5NFMcNyM= Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-396-rg6fAo8ZObuf3AErZAN0mg-1; Wed, 04 Mar 2020 20:05:01 -0500 X-MC-Unique: rg6fAo8ZObuf3AErZAN0mg-1 Received: by mail-wr1-f70.google.com with SMTP id q18so1629918wrw.5 for ; Wed, 04 Mar 2020 17:05:01 -0800 (PST) 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=LqA3yPl/c3LrUeLcESiAMq8nwyp7UScHu+TeSWu0joQ=; b=l9zhCiDhwov1997NE35fj3lzYlKpNjP9YN8/FbCaipFhKoFeg+xIfL2iDG75NMgVCQ fwh66mhf3cCrLpZZfLbsIlNu0B8AYW9YiytEAzTrAN2Gt2v8N5z1nyKpRydn0YmSuuld 0734OJ+FiR1a/BoYVLTv9PF/dKRtSpnzIULUG92ttz5sMLZOvPY+w8wdqTWguGdTT1oK yX4hgibZO5RVidvwya1ySYWQFtm5eIcbg2ScjgPC9EbRDSm7ZIdbdHWcSp6InL2PBZlx yXoxOas2VMTjOFfiusaZsxd+iZ8uZahs8bflKr0zDZH3w69a8FdAkwhaU39LfmZyAZoA Xp2A== X-Gm-Message-State: ANhLgQ18/ZPpSayXOMScxhqNBujeO8Fx6pE+W0twpkR9sjgpbHnduyfL 92zcAIUZiyBphztZjGVrpQ5sgMkKvxaVcWy1TsgSunnMcajX71seWqiXmk4huao3E1ohWAEkppN nGrgU+7vsHY+VKdA= X-Received: by 2002:a1c:2504:: with SMTP id l4mr6259424wml.72.1583370299729; Wed, 04 Mar 2020 17:04:59 -0800 (PST) X-Google-Smtp-Source: ADFU+vsStLSEQ4P3ixqLsg5jOfE+knNZffWOwnVpTYXDptRIv35kd+x19v2hzB4MxmdF/78jFpo+5g== X-Received: by 2002:a1c:2504:: with SMTP id l4mr6259406wml.72.1583370299545; Wed, 04 Mar 2020 17:04:59 -0800 (PST) Received: from localhost.localdomain (47.red-88-21-205.staticip.rima-tde.net. [88.21.205.47]) by smtp.gmail.com with ESMTPSA id p17sm39232183wre.89.2020.03.04.17.04.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Mar 2020 17:04:59 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH 2/3] hw/net/e1000: Move macreg[] arrays to .rodata to save 1MiB of .data Date: Thu, 5 Mar 2020 02:04:45 +0100 Message-Id: <20200305010446.17029-3-philmd@redhat.com> X-Mailer: git-send-email 2.21.1 In-Reply-To: <20200305010446.17029-1-philmd@redhat.com> References: <20200305010446.17029-1-philmd@redhat.com> MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 205.139.110.61 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: Dmitry Fleytman , qemu-trivial@nongnu.org, Jason Wang , Christian Schoenebeck , Greg Kurz , Paolo Bonzini , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Each array consumes 256KiB of .data. As we do not reassign entries, we can move it to the .rodata section, and save a total of 1MiB of .data (size reported on x86_64 host). Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Dmitry Fleytman --- hw/net/e1000.c | 4 ++-- hw/net/e1000e_core.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/net/e1000.c b/hw/net/e1000.c index 972d9b5083..9233248c9a 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1151,7 +1151,7 @@ set_ims(E1000State *s, int index, uint32_t val) #define getreg(x) [x] = mac_readreg typedef uint32_t (*readops)(E1000State *, int); -static readops macreg_readops[] = { +static const readops macreg_readops[] = { getreg(PBA), getreg(RCTL), getreg(TDH), getreg(TXDCTL), getreg(WUFC), getreg(TDT), getreg(CTRL), getreg(LEDCTL), getreg(MANC), getreg(MDIC), getreg(SWSM), getreg(STATUS), @@ -1207,7 +1207,7 @@ enum { NREADOPS = ARRAY_SIZE(macreg_readops) }; #define putreg(x) [x] = mac_writereg typedef void (*writeops)(E1000State *, int, uint32_t); -static writeops macreg_writeops[] = { +static const writeops macreg_writeops[] = { putreg(PBA), putreg(EERD), putreg(SWSM), putreg(WUFC), putreg(TDBAL), putreg(TDBAH), putreg(TXDCTL), putreg(RDBAH), putreg(RDBAL), putreg(LEDCTL), putreg(VET), putreg(FCRUC), diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c index 38bdb90114..df957e0c1a 100644 --- a/hw/net/e1000e_core.c +++ b/hw/net/e1000e_core.c @@ -2856,7 +2856,7 @@ e1000e_set_gcr(E1000ECore *core, int index, uint32_t val) #define e1000e_getreg(x) [x] = e1000e_mac_readreg typedef uint32_t (*readops)(E1000ECore *, int); -static readops e1000e_macreg_readops[] = { +static const readops e1000e_macreg_readops[] = { e1000e_getreg(PBA), e1000e_getreg(WUFC), e1000e_getreg(MANC), @@ -3063,7 +3063,7 @@ enum { E1000E_NREADOPS = ARRAY_SIZE(e1000e_macreg_readops) }; #define e1000e_putreg(x) [x] = e1000e_mac_writereg typedef void (*writeops)(E1000ECore *, int, uint32_t); -static writeops e1000e_macreg_writeops[] = { +static const writeops e1000e_macreg_writeops[] = { e1000e_putreg(PBA), e1000e_putreg(SWSM), e1000e_putreg(WUFC),