target/i386: Add Intel HAX files
commit47c1c8c12f6c8b3c6e0da7bbd93fd4e1724cf114
authorVincent Palatin <vpalatin@chromium.org>
Tue, 10 Jan 2017 10:59:56 +0000 (10 11:59 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Jan 2017 21:07:46 +0000 (19 22:07 +0100)
tree35e5d65fc2cd74b6ef9d4a3953f7d2c554c71c46
parentb39466269b9b3c29b0c31c1320aa519f376b750f
target/i386: Add Intel HAX files

That's a forward port of the core HAX interface code from the
emu-2.2-release branch in the external/qemu-android repository as used by
the Android emulator.

The original commit was "target/i386: Add Intel HAX to android emulator"
saying:
"""
  Backport of 2b3098ff27bab079caab9b46b58546b5036f5c0c
  from studio-1.4-dev into emu-master-dev

    Intel HAX (harware acceleration) will enhance android emulator performance
    in Windows and Mac OS X in the systems powered by Intel processors with
    "Intel Hardware Accelerated Execution Manager" package installed when
    user runs android emulator with Intel target.

Signed-off-by: David Chou <david.j.chou@intel.com>
"""

It has been modified to build and run along with the current code base.
The formatting has been fixed to go through scripts/checkpatch.pl,
and the DPRINTF macros have been updated to get the instanciations checked by
the compiler.

The FPU registers saving/restoring has been updated to match the current
QEMU registers layout.

The implementation has been simplified by doing the following modifications:
- removing the code for supporting the hardware without Unrestricted Guest (UG)
  mode (including all the code to fallback on TCG emulation).
- not including the Darwin support (which is not yet debugged/tested).
- simplifying the initialization by removing the leftovers from the Android
  specific code, then trimming down the remaining logic.
- removing the unused MemoryListener callbacks.

Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
Message-Id: <e1023837f8d0e4c470f6c4a3bf643971b2bca5be.1484045952.git.vpalatin@chromium.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hax-stub.c [new file with mode: 0644]
include/sysemu/hax.h [new file with mode: 0644]
target/i386/hax-all.c [new file with mode: 0644]
target/i386/hax-i386.h [new file with mode: 0644]
target/i386/hax-interface.h [new file with mode: 0644]
target/i386/hax-mem.c [new file with mode: 0644]
target/i386/hax-windows.c [new file with mode: 0644]
target/i386/hax-windows.h [new file with mode: 0644]