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 X-Spam-Level: X-Spam-Status: No, score=-19.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42685C433F5 for ; Wed, 15 Sep 2021 22:05:28 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 15A1B60F92 for ; Wed, 15 Sep 2021 22:05:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231555AbhIOWGq (ORCPT ); Wed, 15 Sep 2021 18:06:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([216.205.24.124]:37404 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229461AbhIOWGq (ORCPT ); Wed, 15 Sep 2021 18:06:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1631743526; 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=dMp/sI2Rm01zPuZNRVi86nS+PEgZAAga45IqZVfIBjw=; b=AMrqAaDnoVijZPVpu+cNhkqsySprwsIfRrglDY8RHjcr3QvQlY8dvXCXSwLsqXZnkzWQzR wpgmRRSacxImrBnTP+34jAepnxkThQy4tkTPBqzI9ds5XNKVRNjH0p0OxoJZJbzWksC02R JAkuvKiIDv1DfkRJbVp4Tns48PLY9CU= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-221-UjzYHRgKNmKH-3T9J_7ckw-1; Wed, 15 Sep 2021 18:05:25 -0400 X-MC-Unique: UjzYHRgKNmKH-3T9J_7ckw-1 Received: by mail-ed1-f72.google.com with SMTP id z6-20020a50cd06000000b003d2c2e38f1fso3089493edi.1 for ; Wed, 15 Sep 2021 15:05:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=dMp/sI2Rm01zPuZNRVi86nS+PEgZAAga45IqZVfIBjw=; b=LIv6k9pkIHCfCQ2bVH7iNn2QLm4frGIupyNpUk8nt3y/SrCDaq8Ipq22J3ET8Fjia1 z9DxaCMSPIqm/gX3LtxmkAsAZIl14layiRM99P2AW4cmqcyY83PxrwxI1r8YhIIad+6S em+ykHzV4jjiWrAZtEYWQNxF9kfDtvW++BF7+dS9Ahk8nQy2DzCvxBt4jWoCzMZw35kK lVibi4UbesiAPTTM11oyZ8fz62yqgSaGOtOcr7xkLojIQBNgFEBdwli2ttl+hyocU82T hrOI8N0UYa7Q5RwMaBtspxBX2k3b4YhEYu2e7HtVUwSDyMxYmocmw02enOqH7w4WRf/a 0l6w== X-Gm-Message-State: AOAM531mlWtHvKob9Y1AFsQ0Ch8Ut9mJpDSTGZBgNbxqa4r5Lsw3SCdx wyRVooSqMsJSHy9Tzq64L0pSGsun5YklPdW6E0CWIP5uyQ+PfTEaUYXCFf8LWqgL7eEMDyeOq3A rcHRl9QSxxu0A X-Received: by 2002:a05:6402:289b:: with SMTP id eg27mr2606336edb.25.1631743523466; Wed, 15 Sep 2021 15:05:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwAFxCW/oySlfxsQ5AZ0GlEIAFftfmqz/FOcxMikLcmLmH/47igneYFiCf/Wqo8Q5b7US3b5g== X-Received: by 2002:a05:6402:289b:: with SMTP id eg27mr2606296edb.25.1631743523224; Wed, 15 Sep 2021 15:05:23 -0700 (PDT) Received: from ?IPv6:2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e? ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id c2sm542467edk.50.2021.09.15.15.05.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 15 Sep 2021 15:05:22 -0700 (PDT) Subject: Re: [PATCH] target/i386: Include 'hw/i386/apic.h' locally To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= , qemu-devel@nongnu.org Cc: Eduardo Habkost , "Michael S. Tsirkin" , haxm-team@intel.com, Richard Henderson , Colin Xu , Reinoud Zandijk , Sunil Muthuswamy , Wenchao Wang , kvm@vger.kernel.org, Marcel Apfelbaum , Kamil Rytarowski , Roman Bolshakov , Cameron Esfahani References: <20210902152243.386118-1-f4bug@amsat.org> From: Paolo Bonzini Message-ID: Date: Thu, 16 Sep 2021 00:05:18 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: <20210902152243.386118-1-f4bug@amsat.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On 02/09/21 17:22, Philippe Mathieu-Daudé wrote: > Instead of including a sysemu-specific header in "cpu.h" > (which is shared with user-mode emulations), include it > locally when required. > > Signed-off-by: Philippe Mathieu-Daudé > --- > Based-on: <20210902151715.383678-1-f4bug@amsat.org> > "accel/tcg: Restrict TCGCPUOps::cpu_exec_interrupt() to sysemu" Acked-by: Paolo Bonzini Paolo > --- > target/i386/cpu.h | 4 ---- > hw/i386/kvmvapic.c | 1 + > hw/i386/x86.c | 1 + > target/i386/cpu-sysemu.c | 1 + > target/i386/cpu.c | 1 + > target/i386/gdbstub.c | 4 ++++ > target/i386/hax/hax-all.c | 1 + > target/i386/helper.c | 1 + > target/i386/hvf/x86_emu.c | 1 + > target/i386/nvmm/nvmm-all.c | 1 + > target/i386/tcg/seg_helper.c | 4 ++++ > target/i386/tcg/sysemu/misc_helper.c | 1 + > target/i386/whpx/whpx-all.c | 1 + > 13 files changed, 18 insertions(+), 4 deletions(-) > > diff --git a/target/i386/cpu.h b/target/i386/cpu.h > index c7cc65e92d5..eddafd1acd5 100644 > --- a/target/i386/cpu.h > +++ b/target/i386/cpu.h > @@ -2046,10 +2046,6 @@ typedef X86CPU ArchCPU; > #include "exec/cpu-all.h" > #include "svm.h" > > -#if !defined(CONFIG_USER_ONLY) > -#include "hw/i386/apic.h" > -#endif > - > static inline void cpu_get_tb_cpu_state(CPUX86State *env, target_ulong *pc, > target_ulong *cs_base, uint32_t *flags) > { > diff --git a/hw/i386/kvmvapic.c b/hw/i386/kvmvapic.c > index 43f8a8f679e..7333818bdd1 100644 > --- a/hw/i386/kvmvapic.c > +++ b/hw/i386/kvmvapic.c > @@ -16,6 +16,7 @@ > #include "sysemu/hw_accel.h" > #include "sysemu/kvm.h" > #include "sysemu/runstate.h" > +#include "hw/i386/apic.h" > #include "hw/i386/apic_internal.h" > #include "hw/sysbus.h" > #include "hw/boards.h" > diff --git a/hw/i386/x86.c b/hw/i386/x86.c > index 00448ed55aa..e0218f8791f 100644 > --- a/hw/i386/x86.c > +++ b/hw/i386/x86.c > @@ -43,6 +43,7 @@ > #include "target/i386/cpu.h" > #include "hw/i386/topology.h" > #include "hw/i386/fw_cfg.h" > +#include "hw/i386/apic.h" > #include "hw/intc/i8259.h" > #include "hw/rtc/mc146818rtc.h" > > diff --git a/target/i386/cpu-sysemu.c b/target/i386/cpu-sysemu.c > index 1078e3d157f..65709e41903 100644 > --- a/target/i386/cpu-sysemu.c > +++ b/target/i386/cpu-sysemu.c > @@ -30,6 +30,7 @@ > #include "hw/qdev-properties.h" > > #include "exec/address-spaces.h" > +#include "hw/i386/apic.h" > #include "hw/i386/apic_internal.h" > > #include "cpu-internal.h" > diff --git a/target/i386/cpu.c b/target/i386/cpu.c > index 97e250e8760..04f59043804 100644 > --- a/target/i386/cpu.c > +++ b/target/i386/cpu.c > @@ -33,6 +33,7 @@ > #include "standard-headers/asm-x86/kvm_para.h" > #include "hw/qdev-properties.h" > #include "hw/i386/topology.h" > +#include "hw/i386/apic.h" > #ifndef CONFIG_USER_ONLY > #include "exec/address-spaces.h" > #include "hw/boards.h" > diff --git a/target/i386/gdbstub.c b/target/i386/gdbstub.c > index 098a2ad15a9..5438229c1a9 100644 > --- a/target/i386/gdbstub.c > +++ b/target/i386/gdbstub.c > @@ -21,6 +21,10 @@ > #include "cpu.h" > #include "exec/gdbstub.h" > > +#ifndef CONFIG_USER_ONLY > +#include "hw/i386/apic.h" > +#endif > + > #ifdef TARGET_X86_64 > static const int gpr_map[16] = { > R_EAX, R_EBX, R_ECX, R_EDX, R_ESI, R_EDI, R_EBP, R_ESP, > diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c > index bf65ed6fa92..cd89e3233a9 100644 > --- a/target/i386/hax/hax-all.c > +++ b/target/i386/hax/hax-all.c > @@ -32,6 +32,7 @@ > #include "sysemu/reset.h" > #include "sysemu/runstate.h" > #include "hw/boards.h" > +#include "hw/i386/apic.h" > > #include "hax-accel-ops.h" > > diff --git a/target/i386/helper.c b/target/i386/helper.c > index 533b29cb91b..874beda98ae 100644 > --- a/target/i386/helper.c > +++ b/target/i386/helper.c > @@ -26,6 +26,7 @@ > #ifndef CONFIG_USER_ONLY > #include "sysemu/hw_accel.h" > #include "monitor/monitor.h" > +#include "hw/i386/apic.h" > #endif > > void cpu_sync_bndcs_hflags(CPUX86State *env) > diff --git a/target/i386/hvf/x86_emu.c b/target/i386/hvf/x86_emu.c > index 7c8203b21fb..fb3e88959d4 100644 > --- a/target/i386/hvf/x86_emu.c > +++ b/target/i386/hvf/x86_emu.c > @@ -45,6 +45,7 @@ > #include "x86_flags.h" > #include "vmcs.h" > #include "vmx.h" > +#include "hw/i386/apic.h" > > void hvf_handle_io(struct CPUState *cpu, uint16_t port, void *data, > int direction, int size, uint32_t count); > diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c > index 28dee4c5ee3..4c07cfc7194 100644 > --- a/target/i386/nvmm/nvmm-all.c > +++ b/target/i386/nvmm/nvmm-all.c > @@ -22,6 +22,7 @@ > #include "qemu/queue.h" > #include "migration/blocker.h" > #include "strings.h" > +#include "hw/i386/apic.h" > > #include "nvmm-accel-ops.h" > > diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c > index 13c6e6ee62e..71fd2bf8d06 100644 > --- a/target/i386/tcg/seg_helper.c > +++ b/target/i386/tcg/seg_helper.c > @@ -28,6 +28,10 @@ > #include "helper-tcg.h" > #include "seg_helper.h" > > +#ifndef CONFIG_USER_ONLY > +#include "hw/i386/apic.h" > +#endif > + > /* return non zero if error */ > static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr, > uint32_t *e2_ptr, int selector, > diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c > index e7a2ebde813..dbeda8d0b0f 100644 > --- a/target/i386/tcg/sysemu/misc_helper.c > +++ b/target/i386/tcg/sysemu/misc_helper.c > @@ -24,6 +24,7 @@ > #include "exec/cpu_ldst.h" > #include "exec/address-spaces.h" > #include "tcg/helper-tcg.h" > +#include "hw/i386/apic.h" > > void helper_outb(CPUX86State *env, uint32_t port, uint32_t data) > { > diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c > index 3e925b9da70..9ab844fd05d 100644 > --- a/target/i386/whpx/whpx-all.c > +++ b/target/i386/whpx/whpx-all.c > @@ -20,6 +20,7 @@ > #include "qemu/main-loop.h" > #include "hw/boards.h" > #include "hw/i386/ioapic.h" > +#include "hw/i386/apic.h" > #include "hw/i386/apic_internal.h" > #include "qemu/error-report.h" > #include "qapi/error.h" >