qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v6 08/11] accel: extend AccelState and AccelClass to user-mode


From: Claudio Fontana
Subject: Re: [RFC v6 08/11] accel: extend AccelState and AccelClass to user-mode
Date: Tue, 12 Jan 2021 10:23:48 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0

On 1/11/21 7:43 PM, Claudio Fontana wrote:
> Hi Richard,
> 
> happy new year,
> 
> this change of mine breaks with --enable-debug, after your changes related to 
> "splitrw" in tcg/,
> I am a bit at a loss at what could be going wrong.. any hints?
> 
> I am getting assertion failures with --enable-debug in make check-tcg,
> 
> in particular in tcg/tcg.c:768
> 
> #ifdef CONFIG_DEBUG_TCG
> const void *tcg_splitwx_to_rx(void *rw)
> {
>     /* Pass NULL pointers unchanged. */
>     if (rw) {
>         g_assert(in_code_gen_buffer(rw)); /* <=== HERE */
>         rw += tcg_splitwx_diff;
>     }
>     return rw;
> }
> 
> any hints?

Nevermind, I now noticed the new parameter, which needs to be false for USER 
MODE.

Thanks,

Claudio

> 
> Thanks,
> 
> Claudio
> 
> 
> On 11/26/20 11:32 PM, Claudio Fontana wrote:
>> Signed-off-by: Claudio Fontana <cfontana@suse.de>
>> ---
>>  MAINTAINERS                        |  2 +-
>>  accel/accel-common.c               | 50 ++++++++++++++++++++++++++++++
>>  accel/{accel.c => accel-softmmu.c} | 27 ++--------------
>>  accel/accel-user.c                 | 24 ++++++++++++++
>>  accel/meson.build                  |  4 ++-
>>  accel/qtest/qtest.c                |  2 +-
>>  accel/tcg/meson.build              |  2 +-
>>  accel/tcg/tcg-all.c                |  7 ++++-
>>  accel/xen/xen-all.c                |  2 +-
>>  bsd-user/main.c                    |  7 +++--
>>  include/hw/boards.h                |  2 +-
>>  include/{sysemu => qemu}/accel.h   | 14 +++++----
>>  include/sysemu/hvf.h               |  2 +-
>>  include/sysemu/kvm.h               |  2 +-
>>  include/sysemu/kvm_int.h           |  2 +-
>>  linux-user/main.c                  |  7 +++--
>>  softmmu/memory.c                   |  2 +-
>>  softmmu/qtest.c                    |  2 +-
>>  softmmu/vl.c                       |  2 +-
>>  target/i386/hax/hax-all.c          |  2 +-
>>  target/i386/hvf/hvf-i386.h         |  2 +-
>>  target/i386/hvf/hvf.c              |  2 +-
>>  target/i386/hvf/x86_task.c         |  2 +-
>>  target/i386/whpx/whpx-all.c        |  2 +-
>>  24 files changed, 119 insertions(+), 53 deletions(-)
>>  create mode 100644 accel/accel-common.c
>>  rename accel/{accel.c => accel-softmmu.c} (75%)
>>  create mode 100644 accel/accel-user.c
>>  rename include/{sysemu => qemu}/accel.h (95%)
>>
>> diff --git a/MAINTAINERS b/MAINTAINERS
>> index e892dd2220..d7c212843c 100644
>> --- a/MAINTAINERS
>> +++ b/MAINTAINERS
>> @@ -433,7 +433,7 @@ Overall
>>  M: Richard Henderson <richard.henderson@linaro.org>
>>  R: Paolo Bonzini <pbonzini@redhat.com>
>>  S: Maintained
>> -F: include/sysemu/accel.h
>> +F: include/qemu/accel.h
>>  F: accel/accel.c
>>  F: accel/Makefile.objs
>>  F: accel/stubs/Makefile.objs
>> diff --git a/accel/accel-common.c b/accel/accel-common.c
>> new file mode 100644
>> index 0000000000..ddec8cb5ae
>> --- /dev/null
>> +++ b/accel/accel-common.c
>> @@ -0,0 +1,50 @@
>> +/*
>> + * QEMU accel class, components common to system emulation and user mode
>> + *
>> + * Copyright (c) 2003-2008 Fabrice Bellard
>> + * Copyright (c) 2014 Red Hat Inc.
>> + *
>> + * Permission is hereby granted, free of charge, to any person obtaining a 
>> copy
>> + * of this software and associated documentation files (the "Software"), to 
>> deal
>> + * in the Software without restriction, including without limitation the 
>> rights
>> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
>> + * copies of the Software, and to permit persons to whom the Software is
>> + * furnished to do so, subject to the following conditions:
>> + *
>> + * The above copyright notice and this permission notice shall be included 
>> in
>> + * all copies or substantial portions of the Software.
>> + *
>> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 
>> OR
>> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
>> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 
>> OTHER
>> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
>> FROM,
>> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>> + * THE SOFTWARE.
>> + */
>> +
>> +#include "qemu/osdep.h"
>> +#include "qemu/accel.h"
>> +
>> +static const TypeInfo accel_type = {
>> +    .name = TYPE_ACCEL,
>> +    .parent = TYPE_OBJECT,
>> +    .class_size = sizeof(AccelClass),
>> +    .instance_size = sizeof(AccelState),
>> +};
>> +
>> +/* Lookup AccelClass from opt_name. Returns NULL if not found */
>> +AccelClass *accel_find(const char *opt_name)
>> +{
>> +    char *class_name = g_strdup_printf(ACCEL_CLASS_NAME("%s"), opt_name);
>> +    AccelClass *ac = ACCEL_CLASS(object_class_by_name(class_name));
>> +    g_free(class_name);
>> +    return ac;
>> +}
>> +
>> +static void register_accel_types(void)
>> +{
>> +    type_register_static(&accel_type);
>> +}
>> +
>> +type_init(register_accel_types);
>> diff --git a/accel/accel.c b/accel/accel-softmmu.c
>> similarity index 75%
>> rename from accel/accel.c
>> rename to accel/accel-softmmu.c
>> index cb555e3b06..f89da8f9d1 100644
>> --- a/accel/accel.c
>> +++ b/accel/accel-softmmu.c
>> @@ -1,5 +1,5 @@
>>  /*
>> - * QEMU System Emulator, accelerator interfaces
>> + * QEMU accel class, system emulation components
>>   *
>>   * Copyright (c) 2003-2008 Fabrice Bellard
>>   * Copyright (c) 2014 Red Hat Inc.
>> @@ -24,28 +24,12 @@
>>   */
>>  
>>  #include "qemu/osdep.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "hw/boards.h"
>>  #include "sysemu/arch_init.h"
>>  #include "sysemu/sysemu.h"
>>  #include "qom/object.h"
>>  
>> -static const TypeInfo accel_type = {
>> -    .name = TYPE_ACCEL,
>> -    .parent = TYPE_OBJECT,
>> -    .class_size = sizeof(AccelClass),
>> -    .instance_size = sizeof(AccelState),
>> -};
>> -
>> -/* Lookup AccelClass from opt_name. Returns NULL if not found */
>> -AccelClass *accel_find(const char *opt_name)
>> -{
>> -    char *class_name = g_strdup_printf(ACCEL_CLASS_NAME("%s"), opt_name);
>> -    AccelClass *ac = ACCEL_CLASS(object_class_by_name(class_name));
>> -    g_free(class_name);
>> -    return ac;
>> -}
>> -
>>  int accel_init_machine(AccelState *accel, MachineState *ms)
>>  {
>>      AccelClass *acc = ACCEL_GET_CLASS(accel);
>> @@ -76,10 +60,3 @@ void accel_setup_post(MachineState *ms)
>>          acc->setup_post(ms, accel);
>>      }
>>  }
>> -
>> -static void register_accel_types(void)
>> -{
>> -    type_register_static(&accel_type);
>> -}
>> -
>> -type_init(register_accel_types);
>> diff --git a/accel/accel-user.c b/accel/accel-user.c
>> new file mode 100644
>> index 0000000000..26bdda6236
>> --- /dev/null
>> +++ b/accel/accel-user.c
>> @@ -0,0 +1,24 @@
>> +/*
>> + * QEMU accel class, user-mode components
>> + *
>> + * Copyright 2020 SUSE LLC
>> + *
>> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
>> + * See the COPYING file in the top-level directory.
>> + */
>> +
>> +#include "qemu/osdep.h"
>> +#include "qemu/accel.h"
>> +
>> +AccelState *current_accel(void)
>> +{
>> +    static AccelState *accel;
>> +
>> +    if (!accel) {
>> +        AccelClass *ac = accel_find("tcg");
>> +
>> +        g_assert(ac != NULL);
>> +        accel = ACCEL(object_new_with_class(OBJECT_CLASS(ac)));
>> +    }
>> +    return accel;
>> +}
>> diff --git a/accel/meson.build b/accel/meson.build
>> index b26cca227a..b44ba30c86 100644
>> --- a/accel/meson.build
>> +++ b/accel/meson.build
>> @@ -1,4 +1,6 @@
>> -softmmu_ss.add(files('accel.c'))
>> +specific_ss.add(files('accel-common.c'))
>> +softmmu_ss.add(files('accel-softmmu.c'))
>> +user_ss.add(files('accel-user.c'))
>>  
>>  subdir('qtest')
>>  subdir('kvm')
>> diff --git a/accel/qtest/qtest.c b/accel/qtest/qtest.c
>> index b282cea5cf..b4e731cb2b 100644
>> --- a/accel/qtest/qtest.c
>> +++ b/accel/qtest/qtest.c
>> @@ -17,7 +17,7 @@
>>  #include "qemu/module.h"
>>  #include "qemu/option.h"
>>  #include "qemu/config-file.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/qtest.h"
>>  #include "sysemu/cpus.h"
>>  #include "sysemu/cpu-timers.h"
>> diff --git a/accel/tcg/meson.build b/accel/tcg/meson.build
>> index f39aab0a0c..424d9bb1fc 100644
>> --- a/accel/tcg/meson.build
>> +++ b/accel/tcg/meson.build
>> @@ -1,5 +1,6 @@
>>  tcg_ss = ss.source_set()
>>  tcg_ss.add(files(
>> +  'tcg-all.c',
>>    'cpu-exec-common.c',
>>    'cpu-exec.c',
>>    'tcg-runtime-gvec.c',
>> @@ -13,7 +14,6 @@ tcg_ss.add(when: 'CONFIG_PLUGIN', if_true: 
>> [files('plugin-gen.c'), libdl])
>>  specific_ss.add_all(when: 'CONFIG_TCG', if_true: tcg_ss)
>>  
>>  specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: files(
>> -  'tcg-all.c',
>>    'cputlb.c',
>>    'tcg-cpus.c',
>>    'tcg-cpus-mttcg.c',
>> diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
>> index 1ac0b76515..dcbc6970da 100644
>> --- a/accel/tcg/tcg-all.c
>> +++ b/accel/tcg/tcg-all.c
>> @@ -30,9 +30,12 @@
>>  #include "tcg/tcg.h"
>>  #include "qapi/error.h"
>>  #include "qemu/error-report.h"
>> -#include "hw/boards.h"
>> +#include "qemu/accel.h"
>>  #include "qapi/qapi-builtin-visit.h"
>> +
>> +#ifndef CONFIG_USER_ONLY
>>  #include "tcg-cpus.h"
>> +#endif /* CONFIG_USER_ONLY */
>>  
>>  struct TCGState {
>>      AccelState parent_obj;
>> @@ -110,6 +113,7 @@ static int tcg_init(MachineState *ms)
>>       */
>>      tcg_region_init();
>>  
>> +#ifndef CONFIG_USER_ONLY
>>      if (mttcg_enabled) {
>>          cpus_register_accel(&tcg_cpus_mttcg);
>>      } else if (icount_enabled()) {
>> @@ -117,6 +121,7 @@ static int tcg_init(MachineState *ms)
>>      } else {
>>          cpus_register_accel(&tcg_cpus_rr);
>>      }
>> +#endif /* CONFIG_USER_ONLY */
>>      return 0;
>>  }
>>  
>> diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
>> index 878a4089d9..594aaf6b49 100644
>> --- a/accel/xen/xen-all.c
>> +++ b/accel/xen/xen-all.c
>> @@ -15,7 +15,7 @@
>>  #include "hw/xen/xen-legacy-backend.h"
>>  #include "hw/xen/xen_pt.h"
>>  #include "chardev/char.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/cpus.h"
>>  #include "sysemu/xen.h"
>>  #include "sysemu/runstate.h"
>> diff --git a/bsd-user/main.c b/bsd-user/main.c
>> index 0a918e8f74..ec1f9d80a4 100644
>> --- a/bsd-user/main.c
>> +++ b/bsd-user/main.c
>> @@ -20,6 +20,7 @@
>>  #include "qemu/osdep.h"
>>  #include "qemu-common.h"
>>  #include "qemu/units.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/tcg.h"
>>  #include "qemu-version.h"
>>  #include <machine/trap.h>
>> @@ -908,8 +909,11 @@ int main(int argc, char **argv)
>>      }
>>  
>>      /* init tcg before creating CPUs and to get qemu_host_page_size */
>> -    tcg_exec_init(0);
>> +    {
>> +        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
>>  
>> +        ac->init_machine(NULL);
>> +    }
>>      cpu_type = parse_cpu_option(cpu_model);
>>      cpu = cpu_create(cpu_type);
>>      env = cpu->env_ptr;
>> @@ -988,7 +992,6 @@ int main(int argc, char **argv)
>>         generating the prologue until now so that the prologue can take
>>         the real value of GUEST_BASE into account.  */
>>      tcg_prologue_init(tcg_ctx);
>> -    tcg_region_init();
>>  
>>      /* build Task State */
>>      memset(ts, 0, sizeof(TaskState));
>> diff --git a/include/hw/boards.h b/include/hw/boards.h
>> index a49e3a6b44..b754504afe 100644
>> --- a/include/hw/boards.h
>> +++ b/include/hw/boards.h
>> @@ -6,7 +6,7 @@
>>  #include "exec/memory.h"
>>  #include "sysemu/hostmem.h"
>>  #include "sysemu/blockdev.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "qapi/qapi-types-machine.h"
>>  #include "qemu/module.h"
>>  #include "qom/object.h"
>> diff --git a/include/sysemu/accel.h b/include/qemu/accel.h
>> similarity index 95%
>> rename from include/sysemu/accel.h
>> rename to include/qemu/accel.h
>> index e08b8ab8fa..fac4a18703 100644
>> --- a/include/sysemu/accel.h
>> +++ b/include/qemu/accel.h
>> @@ -20,8 +20,8 @@
>>   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
>>   * THE SOFTWARE.
>>   */
>> -#ifndef HW_ACCEL_H
>> -#define HW_ACCEL_H
>> +#ifndef QEMU_ACCEL_H
>> +#define QEMU_ACCEL_H
>>  
>>  #include "qom/object.h"
>>  #include "exec/hwaddr.h"
>> @@ -37,8 +37,8 @@ typedef struct AccelClass {
>>      /*< public >*/
>>  
>>      const char *name;
>> -#ifndef CONFIG_USER_ONLY
>>      int (*init_machine)(MachineState *ms);
>> +#ifndef CONFIG_USER_ONLY
>>      void (*setup_post)(MachineState *ms, AccelState *accel);
>>      bool (*has_memory)(MachineState *ms, AddressSpace *as,
>>                         hwaddr start_addr, hwaddr size);
>> @@ -67,11 +67,13 @@ typedef struct AccelClass {
>>      OBJECT_GET_CLASS(AccelClass, (obj), TYPE_ACCEL)
>>  
>>  AccelClass *accel_find(const char *opt_name);
>> +AccelState *current_accel(void);
>> +
>> +#ifndef CONFIG_USER_ONLY
>>  int accel_init_machine(AccelState *accel, MachineState *ms);
>>  
>>  /* Called just before os_setup_post (ie just before drop OS privs) */
>>  void accel_setup_post(MachineState *ms);
>> +#endif /* !CONFIG_USER_ONLY */
>>  
>> -AccelState *current_accel(void);
>> -
>> -#endif
>> +#endif /* QEMU_ACCEL_H */
>> diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
>> index f893768df9..c98636bc81 100644
>> --- a/include/sysemu/hvf.h
>> +++ b/include/sysemu/hvf.h
>> @@ -13,7 +13,7 @@
>>  #ifndef HVF_H
>>  #define HVF_H
>>  
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "qom/object.h"
>>  
>>  #ifdef CONFIG_HVF
>> diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
>> index bb5d5cf497..739682f3c3 100644
>> --- a/include/sysemu/kvm.h
>> +++ b/include/sysemu/kvm.h
>> @@ -17,7 +17,7 @@
>>  #include "qemu/queue.h"
>>  #include "hw/core/cpu.h"
>>  #include "exec/memattrs.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "qom/object.h"
>>  
>>  #ifdef NEED_CPU_H
>> diff --git a/include/sysemu/kvm_int.h b/include/sysemu/kvm_int.h
>> index 65740806da..ccb8869f01 100644
>> --- a/include/sysemu/kvm_int.h
>> +++ b/include/sysemu/kvm_int.h
>> @@ -10,7 +10,7 @@
>>  #define QEMU_KVM_INT_H
>>  
>>  #include "exec/memory.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/kvm.h"
>>  
>>  typedef struct KVMSlot
>> diff --git a/linux-user/main.c b/linux-user/main.c
>> index 24d1eb73ad..1825d2b835 100644
>> --- a/linux-user/main.c
>> +++ b/linux-user/main.c
>> @@ -20,6 +20,7 @@
>>  #include "qemu/osdep.h"
>>  #include "qemu-common.h"
>>  #include "qemu/units.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/tcg.h"
>>  #include "qemu-version.h"
>>  #include <sys/syscall.h>
>> @@ -703,8 +704,11 @@ int main(int argc, char **argv, char **envp)
>>      cpu_type = parse_cpu_option(cpu_model);
>>  
>>      /* init tcg before creating CPUs and to get qemu_host_page_size */
>> -    tcg_exec_init(0);
>> +    {
>> +        AccelClass *ac = ACCEL_GET_CLASS(current_accel());
>>  
>> +        ac->init_machine(NULL);
>> +    }
>>      cpu = cpu_create(cpu_type);
>>      env = cpu->env_ptr;
>>      cpu_reset(cpu);
>> @@ -846,7 +850,6 @@ int main(int argc, char **argv, char **envp)
>>         generating the prologue until now so that the prologue can take
>>         the real value of GUEST_BASE into account.  */
>>      tcg_prologue_init(tcg_ctx);
>> -    tcg_region_init();
>>  
>>      target_cpu_copy_regs(env, regs);
>>  
>> diff --git a/softmmu/memory.c b/softmmu/memory.c
>> index aa393f1bb0..92c8b4fc1f 100644
>> --- a/softmmu/memory.c
>> +++ b/softmmu/memory.c
>> @@ -32,7 +32,7 @@
>>  #include "sysemu/kvm.h"
>>  #include "sysemu/runstate.h"
>>  #include "sysemu/tcg.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "hw/boards.h"
>>  #include "migration/vmstate.h"
>>  
>> diff --git a/softmmu/qtest.c b/softmmu/qtest.c
>> index 7965dc9a16..130c366615 100644
>> --- a/softmmu/qtest.c
>> +++ b/softmmu/qtest.c
>> @@ -20,7 +20,7 @@
>>  #include "exec/ioport.h"
>>  #include "exec/memory.h"
>>  #include "hw/irq.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/cpu-timers.h"
>>  #include "qemu/config-file.h"
>>  #include "qemu/option.h"
>> diff --git a/softmmu/vl.c b/softmmu/vl.c
>> index e6e0ad5a92..bc20c526d2 100644
>> --- a/softmmu/vl.c
>> +++ b/softmmu/vl.c
>> @@ -40,7 +40,7 @@
>>  
>>  #include "qemu/error-report.h"
>>  #include "qemu/sockets.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "hw/usb.h"
>>  #include "hw/isa/isa.h"
>>  #include "hw/scsi/scsi.h"
>> diff --git a/target/i386/hax/hax-all.c b/target/i386/hax/hax-all.c
>> index fecfe8cd6e..d7f4bb44a7 100644
>> --- a/target/i386/hax/hax-all.c
>> +++ b/target/i386/hax/hax-all.c
>> @@ -28,7 +28,7 @@
>>  #include "exec/address-spaces.h"
>>  
>>  #include "qemu-common.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/reset.h"
>>  #include "sysemu/runstate.h"
>>  #include "hw/boards.h"
>> diff --git a/target/i386/hvf/hvf-i386.h b/target/i386/hvf/hvf-i386.h
>> index e0edffd077..50b914fd67 100644
>> --- a/target/i386/hvf/hvf-i386.h
>> +++ b/target/i386/hvf/hvf-i386.h
>> @@ -16,7 +16,7 @@
>>  #ifndef HVF_I386_H
>>  #define HVF_I386_H
>>  
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/hvf.h"
>>  #include "cpu.h"
>>  #include "x86.h"
>> diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
>> index ed9356565c..ffc9efa40f 100644
>> --- a/target/i386/hvf/hvf.c
>> +++ b/target/i386/hvf/hvf.c
>> @@ -69,7 +69,7 @@
>>  #include "exec/address-spaces.h"
>>  #include "hw/i386/apic_internal.h"
>>  #include "qemu/main-loop.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "target/i386/cpu.h"
>>  
>>  #include "hvf-cpus.h"
>> diff --git a/target/i386/hvf/x86_task.c b/target/i386/hvf/x86_task.c
>> index 6f04478b3a..d66dfd7669 100644
>> --- a/target/i386/hvf/x86_task.c
>> +++ b/target/i386/hvf/x86_task.c
>> @@ -28,7 +28,7 @@
>>  
>>  #include "hw/i386/apic_internal.h"
>>  #include "qemu/main-loop.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "target/i386/cpu.h"
>>  
>>  // TODO: taskswitch handling
>> diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
>> index f4f3e33eac..ee6b606194 100644
>> --- a/target/i386/whpx/whpx-all.c
>> +++ b/target/i386/whpx/whpx-all.c
>> @@ -13,7 +13,7 @@
>>  #include "exec/address-spaces.h"
>>  #include "exec/ioport.h"
>>  #include "qemu-common.h"
>> -#include "sysemu/accel.h"
>> +#include "qemu/accel.h"
>>  #include "sysemu/whpx.h"
>>  #include "sysemu/cpus.h"
>>  #include "sysemu/runstate.h"
>>
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]