Cover Letter Detail
Show a cover letter.
GET /api/covers/806333/?format=api
{ "id": 806333, "url": "http://patchwork.ozlabs.org/api/covers/806333/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170828015654.2530-1-Sergio.G.DelReal@gmail.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170828015654.2530-1-Sergio.G.DelReal@gmail.com>", "list_archive_url": null, "date": "2017-08-28T01:56:40", "name": "[00/14] add support for Hypervisor.framework in QEMU", "submitter": { "id": 70675, "url": "http://patchwork.ozlabs.org/api/people/70675/?format=api", "name": "Sergio Andres Gomez Del Real", "email": "sergio.g.delreal@gmail.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170828015654.2530-1-Sergio.G.DelReal@gmail.com/mbox/", "series": [ { "id": 56, "url": "http://patchwork.ozlabs.org/api/series/56/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=56", "date": "2017-08-28T01:56:40", "name": "add support for Hypervisor.framework in QEMU", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/56/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/806333/comments/", "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org", "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"rEz9BDSF\"; dkim-atps=neutral" ], "Received": [ "from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xgZfY4R0bz9sNw\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 28 Aug 2017 11:57:56 +1000 (AEST)", "from localhost ([::1]:36495 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dm9JH-0004lL-EL\n\tfor incoming@patchwork.ozlabs.org; Sun, 27 Aug 2017 21:57:51 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:41959)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <sergio.g.delreal@gmail.com>) id 1dm9Ig-0004l2-WD\n\tfor qemu-devel@nongnu.org; Sun, 27 Aug 2017 21:57:16 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <sergio.g.delreal@gmail.com>) id 1dm9Id-0000qA-UJ\n\tfor qemu-devel@nongnu.org; Sun, 27 Aug 2017 21:57:15 -0400", "from mail-vk0-x22d.google.com ([2607:f8b0:400c:c05::22d]:37521)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)\n\t(Exim 4.71) (envelope-from <sergio.g.delreal@gmail.com>)\n\tid 1dm9Id-0000pw-P4\n\tfor qemu-devel@nongnu.org; Sun, 27 Aug 2017 21:57:11 -0400", "by mail-vk0-x22d.google.com with SMTP id q189so12098036vke.4\n\tfor <qemu-devel@nongnu.org>; Sun, 27 Aug 2017 18:57:11 -0700 (PDT)", "from localhost.localdomain ([191.109.6.191])\n\tby smtp.gmail.com with ESMTPSA id\n\ty12sm2696824uad.22.2017.08.27.18.57.09\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tSun, 27 Aug 2017 18:57:09 -0700 (PDT)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;\n\th=from:to:cc:subject:date:message-id;\n\tbh=Kw7RxbVjufYD4shIk/CypF0r5uA51utRc50XCB8qt7Q=;\n\tb=rEz9BDSFuncm8X2gKaMIkpkagxgAWjgalM/6brZW19Gc9F5ZOg7hKR/NjG3gr0RUGy\n\tX5gxPEzxE3AtKhPTVjGRzfp7pF8hIivrz30l+ha+SZZYFE3ZdjTaTSDEWOeIYfJA7rlU\n\tIzNs3QdRQ+5SovXu5Cb7PyGeL17I99bilkgWeMPQ+RRA00YFR8zFtD+b2UGIjM5I2CHI\n\tSsMp1s9cBS6CVTSgIx0IsO0AIpBxyVZvWWPJd9ZtiU/EHwYLbOudlPd3W8CEJycK4j4w\n\tfZ/XHJFHVTijqQZwn4jLwt/Oor5L1VC5BHimznWNGQ+Fn5g6l7F0J7Qs525BzTcjJYve\n\tC9HQ==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id;\n\tbh=Kw7RxbVjufYD4shIk/CypF0r5uA51utRc50XCB8qt7Q=;\n\tb=eMhT14/fOtSt83WL2Rd3/rNluirHE9bbHWbsm/UIgCOcasNiL6Tq8Txyh2ZUgj04Ca\n\tKGgUqBwRhPecvtvjCpqo3srhJxJyHpJF+wXxClgeUBNOI6btdO5LEyfG6VnHz/M5RL/E\n\t0bGWm5BpWjTI8j7OWtgVhtpQOT9WvxJYDGM/kyYpqLUbml6mDMjBuYTv78ckM9IT+WOx\n\tbaqhakgS1/Mi+CimiBRZVdPe2TgCvGWf6uROU9F2UnU0n0DHCpEn/fIipoiTeLhBGVJS\n\tHUMRzayNiDXSP2xGgUS0W2FTUIc6BPI5H3cL1IGkk6gFGwWeLi7vL2ppg0rFtc6XdzYe\n\tUiXg==", "X-Gm-Message-State": "AHYfb5jVwpK5VDOJb41oXVaa+RMzvM9fgOuRbIR/i+C43tPlKX4Qa6kk\n\t38TARMkM0KbeEnAZ", "X-Received": "by 10.31.212.5 with SMTP id l5mr3486594vkg.73.1503885430829;\n\tSun, 27 Aug 2017 18:57:10 -0700 (PDT)", "From": "Sergio Andres Gomez Del Real <sergio.g.delreal@gmail.com>", "X-Google-Original-From": "Sergio Andres Gomez Del Real\n\t<Sergio.G.DelReal@gmail.com>", "To": "qemu-devel@nongnu.org", "Date": "Sun, 27 Aug 2017 20:56:40 -0500", "Message-Id": "<20170828015654.2530-1-Sergio.G.DelReal@gmail.com>", "X-Mailer": "git-send-email 2.11.0", "X-detected-operating-system": "by eggs.gnu.org: Genre and OS details not\n\trecognized.", "X-Received-From": "2607:f8b0:400c:c05::22d", "Subject": "[Qemu-devel] [PATCH 00/14] add support for Hypervisor.framework in\n\tQEMU", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.21", "Precedence": "list", "List-Id": "<qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<http://lists.nongnu.org/archive/html/qemu-devel/>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Cc": "Sergio Andres Gomez Del Real <Sergio.G.DelReal@gmail.com>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>" }, "content": "The following patchset adds to QEMU the supporting for macOS's native\nhypervisor, Hypervisor.framework (hvf). The code base is taken from\nGoogle's Android emulator at\nhttps://android.googlesource.com/platform/external/qemu/+/emu-master-dev.\n\nApart from general code refactoring, some additional features were implemented:\nretrieve the set of features supported by host cpu and hvf (cpuid);\ndirty page tracking for VGA memory area; reimplementation of the event\ninjection mechanism to allow injection of exceptions during vmexits, which is\nexemplified by the injection of a GP fault when the guest vmexits due to\nexecution of the vmcall instruction; changing the emulator's use of CPUState\nstructure in favor of CPUX86State, so as to in the future remove data structures\nthat are uselessly specific to hvf and unified some of the state between kvm/tcg\nand hvf.\nSome features initially planned to implement that didn't make it include:\npage fault handling in the emulator and implementing the dummy_signal to handle\nthe SIG_IPI signal without race conditions. Hopefully these can be implemented\nin the near future.\n\nSergio Andres Gomez Del Real (14):\n hvf: add support for Hypervisor.framework in the configure script\n hvf: add code base from Google's QEMU repository\n hvf: add conditional macros around hvf code in cpus.c\n hvf: add fields to CPUState and CPUX86State; add definitions\n hvf: use new helper functions for put/get xsave\n hvf: add compilation rules to Makefile.objs\n hvf: run hvf code through checkpatch.pl and fix style issues\n apic: add function to apic that will be used by hvf\n hvf: implement hvf_get_supported_cpuid\n hvf: refactor cpuid code\n hvf: implement vga dirty page tracking\n hvf: move fields from CPUState to CPUX86State\n hvf: refactor event injection code for hvf\n hvf: inject General Protection Fault when vmexit through vmcall\n\n configure | 32 +\n cpus.c | 107 +-\n hw/intc/apic.c | 11 +\n include/hw/i386/apic.h | 1 +\n include/qom/cpu.h | 2 +\n include/sysemu/hvf.h | 106 ++\n qemu-options.hx | 20 +-\n target/i386/Makefile.objs | 1 +\n target/i386/cpu-qom.h | 4 +-\n target/i386/cpu.c | 111 +-\n target/i386/cpu.h | 30 +\n target/i386/hvf-all.c | 1123 ++++++++++++++++++\n target/i386/hvf-i386.h | 48 +\n target/i386/hvf-utils/Makefile.objs | 1 +\n target/i386/hvf-utils/README.md | 7 +\n target/i386/hvf-utils/vmcs.h | 371 ++++++\n target/i386/hvf-utils/vmx.h | 222 ++++\n target/i386/hvf-utils/x86.c | 184 +++\n target/i386/hvf-utils/x86.h | 476 ++++++++\n target/i386/hvf-utils/x86_cpuid.c | 417 +++++++\n target/i386/hvf-utils/x86_cpuid.h | 52 +\n target/i386/hvf-utils/x86_decode.c | 2186 +++++++++++++++++++++++++++++++++++\n target/i386/hvf-utils/x86_decode.h | 325 ++++++\n target/i386/hvf-utils/x86_descr.c | 124 ++\n target/i386/hvf-utils/x86_descr.h | 55 +\n target/i386/hvf-utils/x86_emu.c | 1536 ++++++++++++++++++++++++\n target/i386/hvf-utils/x86_emu.h | 32 +\n target/i386/hvf-utils/x86_flags.c | 333 ++++++\n target/i386/hvf-utils/x86_flags.h | 243 ++++\n target/i386/hvf-utils/x86_gen.h | 36 +\n target/i386/hvf-utils/x86_mmu.c | 273 +++++\n target/i386/hvf-utils/x86_mmu.h | 28 +\n target/i386/hvf-utils/x86hvf.c | 463 ++++++++\n target/i386/hvf-utils/x86hvf.h | 22 +\n target/i386/kvm.c | 2 -\n vl.c | 7 +\n 36 files changed, 8957 insertions(+), 34 deletions(-)\n create mode 100644 include/sysemu/hvf.h\n create mode 100644 target/i386/hvf-all.c\n create mode 100644 target/i386/hvf-i386.h\n create mode 100644 target/i386/hvf-utils/Makefile.objs\n create mode 100644 target/i386/hvf-utils/README.md\n create mode 100644 target/i386/hvf-utils/vmcs.h\n create mode 100644 target/i386/hvf-utils/vmx.h\n create mode 100644 target/i386/hvf-utils/x86.c\n create mode 100644 target/i386/hvf-utils/x86.h\n create mode 100644 target/i386/hvf-utils/x86_cpuid.c\n create mode 100644 target/i386/hvf-utils/x86_cpuid.h\n create mode 100644 target/i386/hvf-utils/x86_decode.c\n create mode 100644 target/i386/hvf-utils/x86_decode.h\n create mode 100644 target/i386/hvf-utils/x86_descr.c\n create mode 100644 target/i386/hvf-utils/x86_descr.h\n create mode 100644 target/i386/hvf-utils/x86_emu.c\n create mode 100644 target/i386/hvf-utils/x86_emu.h\n create mode 100644 target/i386/hvf-utils/x86_flags.c\n create mode 100644 target/i386/hvf-utils/x86_flags.h\n create mode 100644 target/i386/hvf-utils/x86_gen.h\n create mode 100644 target/i386/hvf-utils/x86_mmu.c\n create mode 100644 target/i386/hvf-utils/x86_mmu.h\n create mode 100644 target/i386/hvf-utils/x86hvf.c\n create mode 100644 target/i386/hvf-utils/x86hvf.h" }