All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
@ 2017-12-21 20:27 Paolo Bonzini
  2017-12-22 13:47 ` Peter Maydell
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2017-12-21 20:27 UTC (permalink / raw)
  To: qemu-devel

The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:

  Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)

are available in the Git repository at:

  git://github.com/bonzini/qemu.git tags/for-upstream-hvf

for you to fetch changes up to e7c116fa90f3508a7ef5950e9bed5af11d8c192c:

  i386: hvf: cleanup x86_gen.h (2017-12-21 21:24:54 +0100)

----------------------------------------------------------------
Initial support for the HVF accelerator

----------------------------------------------------------------
Paolo Bonzini (10):
      i386: hvf: move all hvf files in the same directory
      i386: hvf: header cleanup
      i386: hvf: unify register enums between HVF and the rest
      i386: hvf: remove more dead emulator code
      i386: hvf: remove ZERO_INIT macro
      i386: hvf: abort on decoding error
      i386: hvf: simplify flag handling
      i386: hvf: remove addr_t
      i386: hvf: remove VM_PANIC from "in"
      i386: hvf: cleanup x86_gen.h

Sergio Andres Gomez Del Real (9):
      apic: add function to apic that will be used by hvf
      i386: hvf: add code base from Google's QEMU repository
      i386: hvf: fix licensing issues; isolate task handling code (GPL v2-only)
      i386: hvf: use new helper functions for put/get xsave
      i386: hvf: implement hvf_get_supported_cpuid
      i386: refactor KVM cpuid code so that it applies to hvf as well
      i386: hvf: implement vga dirty page tracking
      i386: hvf: refactor event injection code for hvf
      i386: hvf: inject General Protection Fault when vmexit through vmcall

 accel/stubs/Makefile.objs     |    1 +
 accel/stubs/hvf-stub.c        |   31 +
 configure                     |   38 +
 cpus.c                        |   86 ++
 hw/intc/apic.c                |   12 +
 include/hw/i386/apic.h        |    1 +
 include/qemu/typedefs.h       |    1 +
 include/qom/cpu.h             |    2 +
 include/sysemu/hvf.h          |  107 ++
 qemu-options.hx               |   10 +-
 target/i386/Makefile.objs     |    1 +
 target/i386/cpu-qom.h         |    4 +-
 target/i386/cpu.c             |   80 +-
 target/i386/cpu.h             |  101 +-
 target/i386/hvf/Makefile.objs |    2 +
 target/i386/hvf/README.md     |    7 +
 target/i386/hvf/hvf-i386.h    |   48 +
 target/i386/hvf/hvf.c         |  959 ++++++++++++++++++
 target/i386/hvf/panic.h       |   45 +
 target/i386/hvf/vmcs.h        |  374 +++++++
 target/i386/hvf/vmx.h         |  222 +++++
 target/i386/hvf/x86.c         |  186 ++++
 target/i386/hvf/x86.h         |  400 ++++++++
 target/i386/hvf/x86_cpuid.c   |  166 ++++
 target/i386/hvf/x86_decode.c  | 2186 +++++++++++++++++++++++++++++++++++++++++
 target/i386/hvf/x86_decode.h  |  323 ++++++
 target/i386/hvf/x86_descr.c   |  125 +++
 target/i386/hvf/x86_descr.h   |   58 ++
 target/i386/hvf/x86_emu.c     | 1483 ++++++++++++++++++++++++++++
 target/i386/hvf/x86_emu.h     |   49 +
 target/i386/hvf/x86_flags.c   |  315 ++++++
 target/i386/hvf/x86_flags.h   |   80 ++
 target/i386/hvf/x86_mmu.c     |  272 +++++
 target/i386/hvf/x86_mmu.h     |   43 +
 target/i386/hvf/x86_task.c    |  192 ++++
 target/i386/hvf/x86_task.h    |   18 +
 target/i386/hvf/x86hvf.c      |  465 +++++++++
 target/i386/hvf/x86hvf.h      |   39 +
 target/i386/kvm.c             |    2 -
 39 files changed, 8475 insertions(+), 59 deletions(-)
 create mode 100644 accel/stubs/hvf-stub.c
 create mode 100644 include/sysemu/hvf.h
 create mode 100644 target/i386/hvf/Makefile.objs
 create mode 100644 target/i386/hvf/README.md
 create mode 100644 target/i386/hvf/hvf-i386.h
 create mode 100644 target/i386/hvf/hvf.c
 create mode 100644 target/i386/hvf/panic.h
 create mode 100644 target/i386/hvf/vmcs.h
 create mode 100644 target/i386/hvf/vmx.h
 create mode 100644 target/i386/hvf/x86.c
 create mode 100644 target/i386/hvf/x86.h
 create mode 100644 target/i386/hvf/x86_cpuid.c
 create mode 100644 target/i386/hvf/x86_decode.c
 create mode 100644 target/i386/hvf/x86_decode.h
 create mode 100644 target/i386/hvf/x86_descr.c
 create mode 100644 target/i386/hvf/x86_descr.h
 create mode 100644 target/i386/hvf/x86_emu.c
 create mode 100644 target/i386/hvf/x86_emu.h
 create mode 100644 target/i386/hvf/x86_flags.c
 create mode 100644 target/i386/hvf/x86_flags.h
 create mode 100644 target/i386/hvf/x86_mmu.c
 create mode 100644 target/i386/hvf/x86_mmu.h
 create mode 100644 target/i386/hvf/x86_task.c
 create mode 100644 target/i386/hvf/x86_task.h
 create mode 100644 target/i386/hvf/x86hvf.c
 create mode 100644 target/i386/hvf/x86hvf.h
-- 
        2.14.3

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-21 20:27 [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework Paolo Bonzini
@ 2017-12-22 13:47 ` Peter Maydell
  2017-12-22 14:03   ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Maydell @ 2017-12-22 13:47 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers

On 21 December 2017 at 20:27, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:
>
>   Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/bonzini/qemu.git tags/for-upstream-hvf
>
> for you to fetch changes up to e7c116fa90f3508a7ef5950e9bed5af11d8c192c:
>
>   i386: hvf: cleanup x86_gen.h (2017-12-21 21:24:54 +0100)
>
> ----------------------------------------------------------------
> Initial support for the HVF accelerator


OSX still doesn't build:

/Users/pm215/src/qemu-for-merges/target/i386/hvf/x86_task.c:23:10:
fatal error: 'x86_cpuid.h' file not found
#include "x86_cpuid.h"
         ^

make -k thinks this is the last compile error, though.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-22 13:47 ` Peter Maydell
@ 2017-12-22 14:03   ` Paolo Bonzini
  0 siblings, 0 replies; 8+ messages in thread
From: Paolo Bonzini @ 2017-12-22 14:03 UTC (permalink / raw)
  To: Peter Maydell; +Cc: QEMU Developers

On 22/12/2017 14:47, Peter Maydell wrote:
> On 21 December 2017 at 20:27, Paolo Bonzini <pbonzini@redhat.com> wrote:
>> The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:
>>
>>   Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)
>>
>> are available in the Git repository at:
>>
>>   git://github.com/bonzini/qemu.git tags/for-upstream-hvf
>>
>> for you to fetch changes up to e7c116fa90f3508a7ef5950e9bed5af11d8c192c:
>>
>>   i386: hvf: cleanup x86_gen.h (2017-12-21 21:24:54 +0100)
>>
>> ----------------------------------------------------------------
>> Initial support for the HVF accelerator
> 
> 
> OSX still doesn't build:
> 
> /Users/pm215/src/qemu-for-merges/target/i386/hvf/x86_task.c:23:10:
> fatal error: 'x86_cpuid.h' file not found
> #include "x86_cpuid.h"
>          ^
> 
> make -k thinks this is the last compile error, though.

Thanks (the errors were the result of some late removal of unused
functions, after a user told me it worked fine for him).  During the
holidays I might try to actually use it on my in-laws' Mac...

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-22 16:52       ` Paolo Bonzini
@ 2017-12-22 17:13         ` Programmingkid
  0 siblings, 0 replies; 8+ messages in thread
From: Programmingkid @ 2017-12-22 17:13 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers, Peter Maydell


> On Dec 22, 2017, at 11:52 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> 
> On 22/12/2017 17:51, Programmingkid wrote:
>> Thanks. When I tried using qemu-system-i386 with the -accel hvf feature I saw this error: accel=hvf: No accelerator found.
>> 
>> I tried to build the qemu-system-x86_64 target but I also saw this error:
>> 
>> /Users/misbah/desktop/qemu/target/i386/hvf/x86_task.c:23:10: fatal error: 
>>      'x86_cpuid.h' file not found
>> #include "x86_cpuid.h"
>>         ^~~~~~~~~~~~~
>> 1 error generated.
> 
> Just remove the line, that's what Peter was complaining about. :)  Also,
> the top two commits in the branch are not included in the pull request.
> 
> Paolo

Excellent job! With this accelerator I was able to watch a youtube video in my Windows XP guest. Without the accelerator youtube isn't even usable.

When I add "-smp 2", Windows XP does not boot. This error message is displayed:

Warning: host doesn't support requested feature: CPUID.80000001H:ECX.svm [bit 2]

In the BSOD, I see this error message: DRIVER_IRQL_NOT_LESS_OR_EQUAL.

I tried experimenting with -cpu pentium3, -cpu pentium, -cpu qemu64, and -cpu core2duo, but none of them changed the error message.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-22 16:51     ` Programmingkid
@ 2017-12-22 16:52       ` Paolo Bonzini
  2017-12-22 17:13         ` Programmingkid
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2017-12-22 16:52 UTC (permalink / raw)
  To: Programmingkid; +Cc: QEMU Developers, Peter Maydell

On 22/12/2017 17:51, Programmingkid wrote:
> Thanks. When I tried using qemu-system-i386 with the -accel hvf feature I saw this error: accel=hvf: No accelerator found.
> 
> I tried to build the qemu-system-x86_64 target but I also saw this error:
> 
> /Users/misbah/desktop/qemu/target/i386/hvf/x86_task.c:23:10: fatal error: 
>       'x86_cpuid.h' file not found
> #include "x86_cpuid.h"
>          ^~~~~~~~~~~~~
> 1 error generated.

Just remove the line, that's what Peter was complaining about. :)  Also,
the top two commits in the branch are not included in the pull request.

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-22 16:42   ` Paolo Bonzini
@ 2017-12-22 16:51     ` Programmingkid
  2017-12-22 16:52       ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: Programmingkid @ 2017-12-22 16:51 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers, Peter Maydell


> On Dec 22, 2017, at 11:42 AM, Paolo Bonzini <pbonzini@redhat.com> wrote:
> 
> On 22/12/2017 17:26, Programmingkid wrote:
>> I was able to clone your git repository and successfully build the hvf branch. The latest commit is this:
>> 
>> commit aabe2a1a77b70efe96c9345f737068a0dcef0281 (HEAD -> hvf, origin/hvf)
>> Author: Paolo Bonzini <pbonzini@redhat.com>
>> Date:   Thu Dec 21 00:10:03 2017 +0100
>> 
>>    i386: hvf: avoid useless exit to the main loop
>> 
>> How do I make QEMU use the hvf feature?
> 
> "-accel hvf".
> 
> Paolo

Thanks. When I tried using qemu-system-i386 with the -accel hvf feature I saw this error: accel=hvf: No accelerator found.

I tried to build the qemu-system-x86_64 target but I also saw this error:

/Users/misbah/desktop/qemu/target/i386/hvf/x86_task.c:23:10: fatal error: 
      'x86_cpuid.h' file not found
#include "x86_cpuid.h"
         ^~~~~~~~~~~~~
1 error generated.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
  2017-12-22 16:26 ` Programmingkid
@ 2017-12-22 16:42   ` Paolo Bonzini
  2017-12-22 16:51     ` Programmingkid
  0 siblings, 1 reply; 8+ messages in thread
From: Paolo Bonzini @ 2017-12-22 16:42 UTC (permalink / raw)
  To: Programmingkid; +Cc: QEMU Developers, Peter Maydell

On 22/12/2017 17:26, Programmingkid wrote:
> I was able to clone your git repository and successfully build the hvf branch. The latest commit is this:
> 
> commit aabe2a1a77b70efe96c9345f737068a0dcef0281 (HEAD -> hvf, origin/hvf)
> Author: Paolo Bonzini <pbonzini@redhat.com>
> Date:   Thu Dec 21 00:10:03 2017 +0100
> 
>     i386: hvf: avoid useless exit to the main loop
> 
> How do I make QEMU use the hvf feature?

"-accel hvf".

Paolo

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework
       [not found] <mailman.13900.1513951820.27992.qemu-devel@nongnu.org>
@ 2017-12-22 16:26 ` Programmingkid
  2017-12-22 16:42   ` Paolo Bonzini
  0 siblings, 1 reply; 8+ messages in thread
From: Programmingkid @ 2017-12-22 16:26 UTC (permalink / raw)
  To: Paolo Bonzini; +Cc: QEMU Developers, Peter Maydell


> On Dec 22, 2017, at 9:10 AM, qemu-devel-request@nongnu.org wrote:
> 
> Message: 16
> Date: Fri, 22 Dec 2017 15:03:04 +0100
> From: Paolo Bonzini <pbonzini@redhat.com>
> To: Peter Maydell <peter.maydell@linaro.org>
> Cc: QEMU Developers <qemu-devel@nongnu.org>
> Subject: Re: [Qemu-devel] [PULL v3 00/19] Initial support for
> 	Hypervisor.framework
> Message-ID: <92df467d-dab6-7ad6-b625-1fa3a724066a@redhat.com>
> Content-Type: text/plain; charset=utf-8
> 
> On 22/12/2017 14:47, Peter Maydell wrote:
>> On 21 December 2017 at 20:27, Paolo Bonzini <pbonzini@redhat.com> wrote:
>>> The following changes since commit 200780a3a3ed067dfb2e0d2210b0ed09e748ba26:
>>> 
>>>  Merge remote-tracking branch 'remotes/armbru/tags/pull-cmdline-2017-12-18-v2' into staging (2017-12-20 13:20:48 +0000)
>>> 
>>> are available in the Git repository at:
>>> 
>>>  git://github.com/bonzini/qemu.git tags/for-upstream-hvf
>>> 
>>> for you to fetch changes up to e7c116fa90f3508a7ef5950e9bed5af11d8c192c:
>>> 
>>>  i386: hvf: cleanup x86_gen.h (2017-12-21 21:24:54 +0100)
>>> 
>>> ----------------------------------------------------------------
>>> Initial support for the HVF accelerator
>> 
>> 
>> OSX still doesn't build:
>> 
>> /Users/pm215/src/qemu-for-merges/target/i386/hvf/x86_task.c:23:10:
>> fatal error: 'x86_cpuid.h' file not found
>> #include "x86_cpuid.h"
>>         ^
>> 
>> make -k thinks this is the last compile error, though.
> 
> Thanks (the errors were the result of some late removal of unused
> functions, after a user told me it worked fine for him).  During the
> holidays I might try to actually use it on my in-laws' Mac...
> 
> Paolo

I was able to clone your git repository and successfully build the hvf branch. The latest commit is this:

commit aabe2a1a77b70efe96c9345f737068a0dcef0281 (HEAD -> hvf, origin/hvf)
Author: Paolo Bonzini <pbonzini@redhat.com>
Date:   Thu Dec 21 00:10:03 2017 +0100

    i386: hvf: avoid useless exit to the main loop

How do I make QEMU use the hvf feature?

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-12-22 17:14 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-21 20:27 [Qemu-devel] [PULL v3 00/19] Initial support for Hypervisor.framework Paolo Bonzini
2017-12-22 13:47 ` Peter Maydell
2017-12-22 14:03   ` Paolo Bonzini
     [not found] <mailman.13900.1513951820.27992.qemu-devel@nongnu.org>
2017-12-22 16:26 ` Programmingkid
2017-12-22 16:42   ` Paolo Bonzini
2017-12-22 16:51     ` Programmingkid
2017-12-22 16:52       ` Paolo Bonzini
2017-12-22 17:13         ` Programmingkid

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.