From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB83DC54EE9 for ; Tue, 20 Sep 2022 09:03:03 +0000 (UTC) Received: from list by lists.xenproject.org with outflank-mailman.409234.652193 (Exim 4.92) (envelope-from ) id 1oaZ9S-0001Xw-ET; Tue, 20 Sep 2022 09:02:46 +0000 X-Outflank-Mailman: Message body and most headers restored to incoming version Received: by outflank-mailman (output) from mailman id 409234.652193; Tue, 20 Sep 2022 09:02:46 +0000 Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oaZ9S-0001Xp-Av; Tue, 20 Sep 2022 09:02:46 +0000 Received: by outflank-mailman (input) for mailman id 409234; Tue, 20 Sep 2022 09:02:44 +0000 Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50] helo=se1-gles-flk1.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1oaZ9Q-0001Xj-Tb for xen-devel@lists.xenproject.org; Tue, 20 Sep 2022 09:02:44 +0000 Received: from zero.eik.bme.hu (zero.eik.bme.hu [152.66.115.2]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS id fc50774c-38c2-11ed-bad8-01ff208a15ba; Tue, 20 Sep 2022 11:02:43 +0200 (CEST) Received: from zero.eik.bme.hu (blah.eik.bme.hu [152.66.115.182]) by localhost (Postfix) with SMTP id DD37E74633E; Tue, 20 Sep 2022 11:02:41 +0200 (CEST) Received: by zero.eik.bme.hu (Postfix, from userid 432) id 8F6AB74632B; Tue, 20 Sep 2022 11:02:41 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by zero.eik.bme.hu (Postfix) with ESMTP id 8A79C746324; Tue, 20 Sep 2022 11:02:41 +0200 (CEST) X-BeenThere: xen-devel@lists.xenproject.org List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Precedence: list Sender: "Xen-devel" X-Inumbo-ID: fc50774c-38c2-11ed-bad8-01ff208a15ba Date: Tue, 20 Sep 2022 11:02:41 +0200 (CEST) From: BALATON Zoltan To: =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= cc: Bernhard Beschow , qemu-devel@nongnu.org, "Michael S. Tsirkin" , Magnus Damm , Aleksandar Rikalo , Bandan Das , Matthew Rosato , Daniel Henrique Barboza , Sergio Lopez , Alexey Kardashevskiy , Xiaojuan Yang , Cameron Esfahani , Michael Rolnik , Song Gao , Jagannathan Raman , Greg Kurz , Kamil Rytarowski , Peter Xu , Joel Stanley , Alistair Francis , "Dr. David Alan Gilbert" , Paolo Bonzini , haxm-team@intel.com, Roman Bolshakov , Markus Armbruster , Eric Auger , David Gibson , =?ISO-8859-15?Q?Daniel_P=2E_Berrang=E9?= , Christian Borntraeger , =?ISO-8859-15?Q?C=E9dric_Le_Goater?= , Stefan Hajnoczi , qemu-block@nongnu.org, Eduardo Habkost , =?ISO-8859-15?Q?Herv=E9_Poussineau?= , qemu-ppc@nongnu.org, Cornelia Huck , Palmer Dabbelt , Helge Deller , Stefano Stabellini , qemu-riscv@nongnu.org, Stafford Horne , Paul Durrant , Havard Skinnemoen , Elena Ufimtseva , Alexander Graf , Thomas Huth , Alex Williamson , Wenchao Wang , Tony Krowiak , Marcel Apfelbaum , qemu-s390x@nongnu.org, =?ISO-8859-15?Q?Marc-Andr=E9_Lureau?= , Mark Cave-Ayland , Eric Farman , Reinoud Zandijk , Alexander Bulekov , Yanan Wang , "Edgar E. Iglesias" , Gerd Hoffmann , Tyrone Ting , xen-devel@lists.xenproject.org, Yoshinori Sato , John Snow , Richard Henderson , Darren Kenny , kvm@vger.kernel.org, Qiuhao Li , John G Johnson , Bin Meng , Sunil Muthuswamy , Max Filippov , qemu-arm@nongnu.org, Marcelo Tosatti , Peter Maydell , Anthony Perard , Andrew Jeffery , Artyom Tarasenko , Halil Pasic , "Maciej S. Szmigiero" , Jason Wang , David Hildenbrand , Laurent Vivier , Alistair Francis , Jason Herne Subject: Re: [PATCH 9/9] exec/address-spaces: Inline legacy functions In-Reply-To: Message-ID: <7411d60-2bc0-f927-752-56184958c790@eik.bme.hu> References: <20220919231720.163121-1-shentey@gmail.com> <20220919231720.163121-10-shentey@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="3866299591-1050215408-1663664561=:43449" This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --3866299591-1050215408-1663664561=:43449 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8BIT On Tue, 20 Sep 2022, Philippe Mathieu-Daudé via wrote: > On 20/9/22 01:17, Bernhard Beschow wrote: >> The functions just access a global pointer and perform some pointer >> arithmetic on top. Allow the compiler to see through this by inlining. > > I thought about this while reviewing the previous patch, ... > >> Signed-off-by: Bernhard Beschow >> --- >> include/exec/address-spaces.h | 30 ++++++++++++++++++++++++++---- >> softmmu/physmem.c | 28 ---------------------------- >> 2 files changed, 26 insertions(+), 32 deletions(-) >> >> diff --git a/include/exec/address-spaces.h b/include/exec/address-spaces.h >> index b31bd8dcf0..182af27cad 100644 >> --- a/include/exec/address-spaces.h >> +++ b/include/exec/address-spaces.h >> @@ -23,29 +23,51 @@ >> #ifndef CONFIG_USER_ONLY >> +#include "hw/boards.h" > > ... but I'm not a fan of including this header here. It is restricted to > system emulation, but still... Let see what the others think. Had the same thought first if this would break user emulation but I don't know how that works (and this include is withing !CONFIG_USER_ONLY). I've checked in configure now and it seems that softmmu is enabled/disabled with system, which reminded me to a previous conversation where I've suggested renaming softmmu to sysemu as that better shows what it's really used for and maybe the real softmmu part should be split from it but I don't remember the details. If it still works with --enable-user --disable-system then maybe it's OK and only confusing because of misnaming sysemu as softmmu. Reagrds, BALATON Zoltan >> /** >> * Get the root memory region. This is a legacy function, provided for >> * compatibility. Prefer using SysBusState::system_memory directly. >> */ >> -MemoryRegion *get_system_memory(void); >> +inline MemoryRegion *get_system_memory(void) >> +{ >> + assert(current_machine); >> + >> + return ¤t_machine->main_system_bus.system_memory; >> +} >> /** >> * Get the root I/O port region. This is a legacy function, provided for >> * compatibility. Prefer using SysBusState::system_io directly. >> */ >> -MemoryRegion *get_system_io(void); >> +inline MemoryRegion *get_system_io(void) >> +{ >> + assert(current_machine); >> + >> + return ¤t_machine->main_system_bus.system_io; >> +} >> /** >> * Get the root memory address space. This is a legacy function, >> provided for >> * compatibility. Prefer using SysBusState::address_space_memory >> directly. >> */ >> -AddressSpace *get_address_space_memory(void); >> +inline AddressSpace *get_address_space_memory(void) >> +{ >> + assert(current_machine); >> + >> + return ¤t_machine->main_system_bus.address_space_memory; >> +} >> /** >> * Get the root I/O port address space. This is a legacy function, >> provided >> * for compatibility. Prefer using SysBusState::address_space_io >> directly. >> */ >> -AddressSpace *get_address_space_io(void); >> +inline AddressSpace *get_address_space_io(void) >> +{ >> + assert(current_machine); >> + >> + return ¤t_machine->main_system_bus.address_space_io; >> +} >> #endif >> diff --git a/softmmu/physmem.c b/softmmu/physmem.c >> index 07e9a9171c..dce088f55c 100644 >> --- a/softmmu/physmem.c >> +++ b/softmmu/physmem.c >> @@ -2674,34 +2674,6 @@ static void memory_map_init(SysBusState *sysbus) >> address_space_init(&sysbus->address_space_io, system_io, "I/O"); >> } >> -MemoryRegion *get_system_memory(void) >> -{ >> - assert(current_machine); >> - >> - return ¤t_machine->main_system_bus.system_memory; >> -} >> - >> -MemoryRegion *get_system_io(void) >> -{ >> - assert(current_machine); >> - >> - return ¤t_machine->main_system_bus.system_io; >> -} >> - >> -AddressSpace *get_address_space_memory(void) >> -{ >> - assert(current_machine); >> - >> - return ¤t_machine->main_system_bus.address_space_memory; >> -} >> - >> -AddressSpace *get_address_space_io(void) >> -{ >> - assert(current_machine); >> - >> - return ¤t_machine->main_system_bus.address_space_io; >> -} >> - >> static void invalidate_and_set_dirty(MemoryRegion *mr, hwaddr addr, >> hwaddr length) >> { > > > --3866299591-1050215408-1663664561=:43449--