target/i386: Add Intel HAX files
commite1023837f8d0e4c470f6c4a3bf643971b2bca5be
authorVincent Palatin <vpalatin@chromium.org>
Tue, 27 Sep 2016 10:49:53 +0000 (27 12:49 +0200)
committerVincent Palatin <vpalatin@chromium.org>
Tue, 10 Jan 2017 10:25:30 +0000 (10 11:25 +0100)
tree2c1911eeb942ddad6c37f85a2f7886d1da31c779
parentf5c3cffe8d520011df1c2e5437bb814989b48332
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>
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]