From nobody Fri Nov 14 01:00:11 2025 Delivered-To: importer@patchew.org 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; Authentication-Results: mx.zohomail.com; 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 ARC-Seal: i=1; a=rsa-sha256; t=1583766908; cv=none; d=zohomail.com; s=zohoarc; b=dRGlXPfdBoB8pgRYULXNBBV4KajJElFkFPU/zEDKRXtPHaKz16CeYp88URbBuAsDid1oyqbuyZHAY29/sX6ma77BDJocSh0EIDLeJztMZl2PqELoVTWgDIa0PkJtuwFuFdv4uF4CElYNLEbQwpyf1RUux0sAUfs5oq8VM9tVt68= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1583766908; 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=gFHJ/caioJYEsdFKexB2t+njXKrUVoYYDKsCjot+OEk=; b=LQQx+qKkjBRCGvRSNopkkta3y8+5usPayKdEz7NabopkFq8jOzMxESvgEy3geluXlF7stCCQoAPSKKdKhC/GgHlLEzZZpswjssmeFSO7j755e0pYiL1hYCVQdo4jmePmIYSp5KC8+sHoQJHjaXWBFLezXXgJ3t1SM3YCxwEyhjE= ARC-Authentication-Results: i=1; mx.zohomail.com; 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1583766908688812.4421268820433; Mon, 9 Mar 2020 08:15:08 -0700 (PDT) Received: from localhost ([::1]:44630 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBK7X-0007sG-JK for importer@patchew.org; Mon, 09 Mar 2020 11:15:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33245) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBK2O-0007Zh-0Z for qemu-devel@nongnu.org; Mon, 09 Mar 2020 11:09:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jBK2M-0007dE-RC for qemu-devel@nongnu.org; Mon, 09 Mar 2020 11:09:47 -0400 Received: from mout.kundenserver.de ([217.72.192.73]:53871) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jBK2D-0007WR-9J; Mon, 09 Mar 2020 11:09:37 -0400 Received: from localhost.localdomain ([82.252.135.106]) by mrelayeu.kundenserver.de (mreue109 [212.227.15.183]) with ESMTPSA (Nemesis) id 1Mn2eH-1jaW6g006p-00k9D7; Mon, 09 Mar 2020 16:08:57 +0100 From: Laurent Vivier To: qemu-devel@nongnu.org Subject: [PULL 06/33] hw/net/e1000: Move macreg[] arrays to .rodata to save 1MiB of .data Date: Mon, 9 Mar 2020 16:08:10 +0100 Message-Id: <20200309150837.3193387-7-laurent@vivier.eu> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200309150837.3193387-1-laurent@vivier.eu> References: <20200309150837.3193387-1-laurent@vivier.eu> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:YyRFb0QVs++UPBSB53XqpVLXEQfKS7K49GB3cL3acP1AOQCExY9 TtdIBd7g6SYuGpmv+dOlPNbhE9xHYum80NKXyqzLvjt5TeDJjumfiIcTQaljmqKILkU1BG+ wH2s8w6MW46GmtE95JFraQoQJO4p3m2sizdf+NfwkVNXh6mNEB8AnOMaKl3C75q0EF+yjHk tb0b4IEA7aZfHvmNXFgnA== X-UI-Out-Filterresults: notjunk:1;V03:K0:zw3fgSlGvOE=:J5jVvWgMih5r6yNQLJ9g9J fBY3mZLV18RGoCgNp1nhVCsuewAU6Yfc9uSNeaf0qCvZDUYzprYb5rxxByBW8W8622rryJ3qX AJSgatMlFwhd8TWv0h7sbcq9y56Pw6qYXUCVAv7LkaECS3dEpdfMi85mOkLcG4Ni2bHfd9neA J54tvsxY0JH2+ZUOxUmo4WyR3Hwa0+GRKjtvGd33GeNG/0a+sZjbDHtVLPs8aWXDp7G1d09w8 asJCG/wA45+q+F+jYlVj9/geDlh1TlwV0w6NileQESE1motDTbeE0U5THfrURLKo00ECZ1l8b S0CMaDBpYEQhyWSMhw5oB8yWJibAFafiYoLxoRUIzjcv4/pU+j4X4G0YOWR+zr72arng4R9/8 4Xpb67IDaHGcYN1zOxp9oKWNVOyG1DjVAo2S2lgmWVxt2VlT2k9C4qbCtp63uxHU7ThCLjgZK ivCzhaBc2v0QmAoXlEpJQ0azzQT2ztnNypfp+7Z0Tu/uOFLHG13PBAxdeDCzG0JhRm0UgI2Ck iXNRMriIOmhNsqQb7jJtCtbS+PJ5Ea/EyuaLbJGDAuoGaaRm0ALuD81F08y5rtWPU1rBCe4In A5uRtHGiJH0s78dFePJTItdKMtreZRMbYtnUAlE3n525BknXIScqJJI0QnwJC56Bqp5w3jgOe BLOxG6jsAOhf5rdSWgAOmvIk1tbs9xX6AlwvSB3qnnJQcfyB+6WGW4V/WpYq2lLqPe8m4my7+ X5lLgqv0yySiTYD+9yMUL2R8SyB5DcHeDfQTD8A4QkmYIl21q3BgsHST4uaPNx+VaVZ4ieRmb xuq9u4FXMGNqKhBKsTCz0+cDSXooLeReOfv3pG8D8xh3ZtgAf/Xp/aNeYbYUJAa/BPLbTIS X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.72.192.73 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: Fam Zheng , Peter Maydell , Dmitry Fleytman , "Michael S. Tsirkin" , Jason Wang , Christian Schoenebeck , Gerd Hoffmann , "Edgar E. Iglesias" , qemu-block@nongnu.org, qemu-trivial@nongnu.org, Helge Deller , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Stefano Garzarella , Eduardo Habkost , Michael Tokarev , Alistair Francis , Greg Kurz , "Dr. David Alan Gilbert" , qemu-arm@nongnu.org, Paolo Bonzini , John Snow , Richard Henderson , Kevin Wolf , =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Igor Mitsyanko , Laurent Vivier , Max Reitz , Aleksandar Markovic , Igor Mammedov , Aurelien Jarno Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" From: Philippe Mathieu-Daud=C3=A9 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=C3=A9 Acked-by: Paolo Bonzini Reviewed-by: Dmitry Fleytman Reviewed-by: Stefano Garzarella Message-Id: <20200305010446.17029-3-philmd@redhat.com> Signed-off-by: Laurent Vivier --- 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 972d9b508399..9233248c9af0 100644 --- a/hw/net/e1000.c +++ b/hw/net/e1000.c @@ -1151,7 +1151,7 @@ set_ims(E1000State *s, int index, uint32_t val) =20 #define getreg(x) [x] =3D mac_readreg typedef uint32_t (*readops)(E1000State *, int); -static readops macreg_readops[] =3D { +static const readops macreg_readops[] =3D { 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 =3D ARRAY_SIZE(macreg_readops) }; =20 #define putreg(x) [x] =3D mac_writereg typedef void (*writeops)(E1000State *, int, uint32_t); -static writeops macreg_writeops[] =3D { +static const writeops macreg_writeops[] =3D { 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 38bdb90114c6..df957e0c1a09 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) =20 #define e1000e_getreg(x) [x] =3D e1000e_mac_readreg typedef uint32_t (*readops)(E1000ECore *, int); -static readops e1000e_macreg_readops[] =3D { +static const readops e1000e_macreg_readops[] =3D { e1000e_getreg(PBA), e1000e_getreg(WUFC), e1000e_getreg(MANC), @@ -3063,7 +3063,7 @@ enum { E1000E_NREADOPS =3D ARRAY_SIZE(e1000e_macreg_r= eadops) }; =20 #define e1000e_putreg(x) [x] =3D e1000e_mac_writereg typedef void (*writeops)(E1000ECore *, int, uint32_t); -static writeops e1000e_macreg_writeops[] =3D { +static const writeops e1000e_macreg_writeops[] =3D { e1000e_putreg(PBA), e1000e_putreg(SWSM), e1000e_putreg(WUFC), --=20 2.24.1