diff options
author | kamil <kamil@pkgsrc.org> | 2019-02-14 23:17:55 +0000 |
---|---|---|
committer | kamil <kamil@pkgsrc.org> | 2019-02-14 23:17:55 +0000 |
commit | 222ff3dee0583cfe0f18fdb399a391ec2307baa0 (patch) | |
tree | 3cda7850adac0a1e4f059bc7d1c27b38e7d6f53d /emulators | |
parent | 33ff3a88832d40a2ac359b07ecb1fc9358b516f2 (diff) | |
download | pkgsrc-222ff3dee0583cfe0f18fdb399a391ec2307baa0.tar.gz |
haxm: Update to 1.20190214.3bdfd1a39021df9b4dfe69e05a277e4e6456494a
The only upstream change is the merge of all local patches in an improved
version and prevent FPU DNA crash on host.
Diffstat (limited to 'emulators')
-rw-r--r-- | emulators/haxm/Makefile | 8 | ||||
-rw-r--r-- | emulators/haxm/distinfo | 15 | ||||
-rw-r--r-- | emulators/haxm/patches/patch-core_ia32.c | 20 | ||||
-rw-r--r-- | emulators/haxm/patches/patch-core_ia32__ops.asm | 19 | ||||
-rw-r--r-- | emulators/haxm/patches/patch-core_include_ia32.h | 25 | ||||
-rw-r--r-- | emulators/haxm/patches/patch-core_include_vcpu.h | 16 | ||||
-rw-r--r-- | emulators/haxm/patches/patch-core_vcpu.c | 34 |
7 files changed, 8 insertions, 129 deletions
diff --git a/emulators/haxm/Makefile b/emulators/haxm/Makefile index b307bedbc94..22e25aa529a 100644 --- a/emulators/haxm/Makefile +++ b/emulators/haxm/Makefile @@ -1,13 +1,11 @@ -# $NetBSD: Makefile,v 1.5 2019/02/14 20:54:17 nia Exp $ +# $NetBSD: Makefile,v 1.6 2019/02/14 23:17:55 kamil Exp $ GITHUB_PROJECT= haxm -GITHUB_TAG= c072ad9b68e1d558a9fb791511468d10a1a9b319 -DISTNAME= haxm-0.${GITHUB_TAG} +GITHUB_TAG= 3bdfd1a39021df9b4dfe69e05a277e4e6456494a +DISTNAME= haxm-1.20190214.${GITHUB_TAG} CATEGORIES= emulators MASTER_SITES= ${MASTER_SITE_GITHUB:=intel/} -PKGREVISION= 1 - MAINTAINER= kamil@NetBSD.org HOMEPAGE= https://github.com/intel/haxm/ COMMENT= Intel Hardware Accelerated Execution Manager diff --git a/emulators/haxm/distinfo b/emulators/haxm/distinfo index 524f2e7b60d..3580fb0aea6 100644 --- a/emulators/haxm/distinfo +++ b/emulators/haxm/distinfo @@ -1,11 +1,6 @@ -$NetBSD: distinfo,v 1.1 2019/02/13 05:20:15 kamil Exp $ +$NetBSD: distinfo,v 1.2 2019/02/14 23:17:55 kamil Exp $ -SHA1 (haxm-0.c072ad9b68e1d558a9fb791511468d10a1a9b319-c072ad9b68e1d558a9fb791511468d10a1a9b319.tar.gz) = da6fe9b8c98292e8c4ca5f62ad6aa9a4a65c6bb1 -RMD160 (haxm-0.c072ad9b68e1d558a9fb791511468d10a1a9b319-c072ad9b68e1d558a9fb791511468d10a1a9b319.tar.gz) = 6c1248be0b9ee775c9879627bf60d20eb3a94368 -SHA512 (haxm-0.c072ad9b68e1d558a9fb791511468d10a1a9b319-c072ad9b68e1d558a9fb791511468d10a1a9b319.tar.gz) = df8e8b634fea18faa05ae57648dee6500a5b0d93fa081172835e1991ab3ae2b6ad0ad1a99d91d695f0a6656e79744445ff6f6f42947b311bb8245640dd8cff23 -Size (haxm-0.c072ad9b68e1d558a9fb791511468d10a1a9b319-c072ad9b68e1d558a9fb791511468d10a1a9b319.tar.gz) = 233043 bytes -SHA1 (patch-core_ia32.c) = 6252b1b49d5198a9c16aa206cbfc1981c43c9b70 -SHA1 (patch-core_ia32__ops.asm) = ca208e579a39a15f5c62322dcad595b4b0ac4a34 -SHA1 (patch-core_include_ia32.h) = 3195558c44d1d196a7ac89aaa9b1931790395acc -SHA1 (patch-core_include_vcpu.h) = 9b9e020d4e15f9e310ef5d22fa41b2289813394f -SHA1 (patch-core_vcpu.c) = 068a20bf96c797cfd5f4629ce0e5cbb0104995a8 +SHA1 (haxm-1.20190214.3bdfd1a39021df9b4dfe69e05a277e4e6456494a-3bdfd1a39021df9b4dfe69e05a277e4e6456494a.tar.gz) = 456f8ec479838c3b55e9e789b88a0c1dabed986a +RMD160 (haxm-1.20190214.3bdfd1a39021df9b4dfe69e05a277e4e6456494a-3bdfd1a39021df9b4dfe69e05a277e4e6456494a.tar.gz) = a2fca76a36e41f8b8f338752678211098437111d +SHA512 (haxm-1.20190214.3bdfd1a39021df9b4dfe69e05a277e4e6456494a-3bdfd1a39021df9b4dfe69e05a277e4e6456494a.tar.gz) = 0330862f5b85c18fd4f15f76645603ff7ad545aa872ac9ddd58bb6fb53c2b0b3895e8c9b6504370e58c724c4f2c868a684adccc85e719e07c09a3b5460c9dc0f +Size (haxm-1.20190214.3bdfd1a39021df9b4dfe69e05a277e4e6456494a-3bdfd1a39021df9b4dfe69e05a277e4e6456494a.tar.gz) = 233258 bytes diff --git a/emulators/haxm/patches/patch-core_ia32.c b/emulators/haxm/patches/patch-core_ia32.c deleted file mode 100644 index 33e0e0f8848..00000000000 --- a/emulators/haxm/patches/patch-core_ia32.c +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-core_ia32.c,v 1.1 2019/02/13 05:20:15 kamil Exp $ - -Cherry-pick from upstream review: - - Fix FPU DNA exception on NetBSD - https://github.com/intel/haxm/pull/168 - ---- core/ia32.c.orig 2019-02-12 09:24:47.000000000 +0000 -+++ core/ia32.c -@@ -81,6 +81,11 @@ uint64_t ia32_rdtsc(void) - #endif - } - -+void hax_clts(void) -+{ -+ asm_clts(); -+} -+ - void hax_fxinit(void) - { - asm_fxinit(); diff --git a/emulators/haxm/patches/patch-core_ia32__ops.asm b/emulators/haxm/patches/patch-core_ia32__ops.asm deleted file mode 100644 index 01ed0385e1e..00000000000 --- a/emulators/haxm/patches/patch-core_ia32__ops.asm +++ /dev/null @@ -1,19 +0,0 @@ -$NetBSD: patch-core_ia32__ops.asm,v 1.1 2019/02/13 05:20:15 kamil Exp $ - -Cherry-pick from upstream review: - - Fix FPU DNA exception on NetBSD - https://github.com/intel/haxm/pull/168 - ---- core/ia32_ops.asm.orig 2019-02-12 09:24:47.000000000 +0000 -+++ core/ia32_ops.asm -@@ -213,6 +213,10 @@ function asm_enable_irq, 0 - sti - ret - -+function asm_clts, 0 -+ clts -+ ret -+ - function asm_fxinit, 0 - finit - ret diff --git a/emulators/haxm/patches/patch-core_include_ia32.h b/emulators/haxm/patches/patch-core_include_ia32.h deleted file mode 100644 index c5b782a94ad..00000000000 --- a/emulators/haxm/patches/patch-core_include_ia32.h +++ /dev/null @@ -1,25 +0,0 @@ -$NetBSD: patch-core_include_ia32.h,v 1.1 2019/02/13 05:20:15 kamil Exp $ - -Cherry-pick from upstream review: - - Fix FPU DNA exception on NetBSD - https://github.com/intel/haxm/pull/168 - ---- core/include/ia32.h.orig 2019-02-12 09:24:47.000000000 +0000 -+++ core/include/ia32.h -@@ -72,6 +72,7 @@ void ASMCALL set_kernel_fs(uint16_t val) - - void ASMCALL asm_btr(uint8_t *addr, uint bit); - void ASMCALL asm_bts(uint8_t *addr, uint bit); -+void ASMCALL asm_clts(void); - void ASMCALL asm_fxinit(void); - void ASMCALL asm_fxsave(mword *addr); - void ASMCALL asm_fxrstor(mword *addr); -@@ -85,6 +86,8 @@ void ia32_wrmsr(uint32_t reg, uint64_t v - - uint64_t ia32_rdtsc(void); - -+void hax_clts(void); -+ - void hax_fxinit(void); - void hax_fxsave(mword *addr); - void hax_fxrstor(mword *addr); diff --git a/emulators/haxm/patches/patch-core_include_vcpu.h b/emulators/haxm/patches/patch-core_include_vcpu.h deleted file mode 100644 index f9c27d0a914..00000000000 --- a/emulators/haxm/patches/patch-core_include_vcpu.h +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-core_include_vcpu.h,v 1.1 2019/02/13 05:20:15 kamil Exp $ - -Cherry-pick from upstream review: - - Fix FPU DNA exception on NetBSD - https://github.com/intel/haxm/pull/168 - ---- core/include/vcpu.h.orig 2019-02-12 09:24:47.000000000 +0000 -+++ core/include/vcpu.h -@@ -238,6 +238,7 @@ struct vcpu_t { - #ifdef CONFIG_HAX_EPT2 - struct mmio_fetch_cache mmio_fetch; - #endif // CONFIG_HAX_EPT2 -+ int cr0_ts; - }; - - #define vmx(v, field) v->vmx.field diff --git a/emulators/haxm/patches/patch-core_vcpu.c b/emulators/haxm/patches/patch-core_vcpu.c deleted file mode 100644 index e0878e3e13f..00000000000 --- a/emulators/haxm/patches/patch-core_vcpu.c +++ /dev/null @@ -1,34 +0,0 @@ -$NetBSD: patch-core_vcpu.c,v 1.1 2019/02/13 05:20:15 kamil Exp $ - -Cherry-pick from upstream review: - - Fix FPU DNA exception on NetBSD - https://github.com/intel/haxm/pull/168 - ---- core/vcpu.c.orig 2019-02-12 09:24:47.000000000 +0000 -+++ core/vcpu.c -@@ -2041,6 +2041,10 @@ static void vcpu_enter_fpu_state(struct - struct fx_layout *hfx = (struct fx_layout *)hax_page_va(hstate->hfxpage); - struct fx_layout *gfx = (struct fx_layout *)hax_page_va(gstate->gfxpage); - -+ vcpu->cr0_ts = !!(get_cr0() & CR0_TS); -+ -+ hax_clts(); -+ - hax_fxsave((mword *)hfx); - hax_fxrstor((mword *)gfx); - } -@@ -2052,8 +2056,14 @@ static void vcpu_exit_fpu_state(struct v - struct fx_layout *hfx = (struct fx_layout *)hax_page_va(hstate->hfxpage); - struct fx_layout *gfx = (struct fx_layout *)hax_page_va(gstate->gfxpage); - -+ hax_clts(); -+ - hax_fxsave((mword *)gfx); - hax_fxrstor((mword *)hfx); -+ -+ if (vcpu->cr0_ts) { -+ set_cr0(get_cr0() | CR0_TS); -+ } - } - - // Instructions are never longer than 15 bytes: |