qemu: Update to 7.0.0
This commit is contained in:
parent
6b168a0d73
commit
54527f58a8
|
@ -15,23 +15,45 @@ diff -uNr qemu-5.2.0/include/qapi/util.h qemu-5.2.0.mod/include/qapi/util.h
|
||||||
diff -uNr qemu-5.2.0/meson.build qemu-5.2.0.mod/meson.build
|
diff -uNr qemu-5.2.0/meson.build qemu-5.2.0.mod/meson.build
|
||||||
--- qemu-5.2.0/meson.build 2020-12-08 18:59:44.000000000 +0200
|
--- qemu-5.2.0/meson.build 2020-12-08 18:59:44.000000000 +0200
|
||||||
+++ qemu-5.2.0.mod/meson.build 2020-12-09 17:18:04.165911853 +0200
|
+++ qemu-5.2.0.mod/meson.build 2020-12-09 17:18:04.165911853 +0200
|
||||||
@@ -94,11 +94,11 @@
|
@@ -185,38 +185,6 @@
|
||||||
|
|
||||||
# Specify linker-script with add_project_link_arguments so that it is not placed
|
# Specify linker-script with add_project_link_arguments so that it is not placed
|
||||||
# within a linker --start-group/--end-group pair
|
# within a linker --start-group/--end-group pair
|
||||||
-if 'CONFIG_FUZZ' in config_host
|
-if get_option('fuzzing')
|
||||||
- add_project_link_arguments(['-Wl,-T,',
|
- add_project_link_arguments(['-Wl,-T,',
|
||||||
- (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
- (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
-
|
||||||
|
- # Specify a filter to only instrument code that is directly related to
|
||||||
|
- # virtual-devices.
|
||||||
|
- configure_file(output: 'instrumentation-filter',
|
||||||
|
- input: 'scripts/oss-fuzz/instrumentation-filter-template',
|
||||||
|
- copy: true)
|
||||||
|
- add_global_arguments(
|
||||||
|
- cc.get_supported_arguments('-fsanitize-coverage-allowlist=instrumentation-filter'),
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
-
|
||||||
|
- if get_option('fuzzing_engine') == ''
|
||||||
|
- # Add CFLAGS to tell clang to add fuzzer-related instrumentation to all the
|
||||||
|
- # compiled code. To build non-fuzzer binaries with --enable-fuzzing, link
|
||||||
|
- # everything with fsanitize=fuzzer-no-link. Otherwise, the linker will be
|
||||||
|
- # unable to bind the fuzzer-related callbacks added by instrumentation.
|
||||||
|
- add_global_arguments('-fsanitize=fuzzer-no-link',
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
- add_global_link_arguments('-fsanitize=fuzzer-no-link',
|
||||||
- native: false, language: ['c', 'cpp', 'objc'])
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
- # For the actual fuzzer binaries, we need to link against the libfuzzer
|
||||||
|
- # library. They need to be configurable, to support OSS-Fuzz
|
||||||
|
- fuzz_exe_ldflags = ['-fsanitize=fuzzer']
|
||||||
|
- else
|
||||||
|
- # LIB_FUZZING_ENGINE was set; assume we are running on OSS-Fuzz, and
|
||||||
|
- # the needed CFLAGS have already been provided
|
||||||
|
- fuzz_exe_ldflags = get_option('fuzzing_engine').split()
|
||||||
|
- endif
|
||||||
-endif
|
-endif
|
||||||
+#if 'CONFIG_FUZZ' in config_host
|
|
||||||
+# add_project_link_arguments(['-Wl,-T,',
|
|
||||||
+# (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
|
||||||
+# native: false, language: ['c', 'cpp', 'objc'])
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
add_project_arguments(config_host['QEMU_CFLAGS'].split(),
|
add_global_arguments(qemu_cflags, native: false, language: ['c'])
|
||||||
native: false, language: ['c', 'objc'])
|
add_global_arguments(qemu_cxxflags, native: false, language: ['cpp'])
|
||||||
@@ -1575,8 +1575,8 @@
|
@@ -1575,8 +1575,8 @@
|
||||||
specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
|
specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
diff -uNr qemu-6.1.0/meson.build qemu-6.1.0.mod/meson.build
|
diff -uNr qemu-6.1.0/meson.build qemu-6.1.0.mod/meson.build
|
||||||
--- qemu-6.1.0/meson.build 2021-08-25 21:20:39.873631512 +0300
|
--- qemu-6.1.0/meson.build 2021-08-25 21:20:39.873631512 +0300
|
||||||
+++ qemu-6.1.0.mod/meson.build 2021-08-25 21:21:35.135670419 +0300
|
+++ qemu-6.1.0.mod/meson.build 2021-08-25 21:21:35.135670419 +0300
|
||||||
@@ -1411,11 +1411,6 @@
|
@@ -1785,10 +1785,6 @@
|
||||||
#include <sys/mman.h>
|
return 0;
|
||||||
#include <stddef.h>
|
}''', dependencies: threads))
|
||||||
int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }'''))
|
|
||||||
-config_host_data.set('CONFIG_SIGNALFD', cc.links(gnu_source_prefix + '''
|
-config_host_data.set('CONFIG_SIGNALFD', cc.links(gnu_source_prefix + '''
|
||||||
- #include <unistd.h>
|
- #include <sys/signalfd.h>
|
||||||
- #include <sys/syscall.h>
|
- #include <stddef.h>
|
||||||
- #include <signal.h>
|
- int main(void) { return signalfd(-1, NULL, SFD_CLOEXEC); }'''))
|
||||||
- int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }'''))
|
|
||||||
config_host_data.set('CONFIG_SPLICE', cc.links(gnu_source_prefix + '''
|
config_host_data.set('CONFIG_SPLICE', cc.links(gnu_source_prefix + '''
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
--- qemu-6.1.0/target/i386/tcg/sysemu/excp_helper.c
|
|
||||||
+++ qemu-6.1.0/target/i386/tcg/sysemu/excp_helper.c
|
|
||||||
@@ -94,15 +94,6 @@ static int mmu_translate(CPUState *cs, hwaddr addr, MMUTranslateFunc get_hphys_f
|
|
||||||
bool la57 = pg_mode & PG_MODE_LA57;
|
|
||||||
uint64_t pml5e_addr, pml5e;
|
|
||||||
uint64_t pml4e_addr, pml4e;
|
|
||||||
- int32_t sext;
|
|
||||||
-
|
|
||||||
- /* test virtual address sign extension */
|
|
||||||
- sext = la57 ? (int64_t)addr >> 56 : (int64_t)addr >> 47;
|
|
||||||
- if (get_hphys_func && sext != 0 && sext != -1) {
|
|
||||||
- env->error_code = 0;
|
|
||||||
- cs->exception_index = EXCP0D_GPF;
|
|
||||||
- return 1;
|
|
||||||
- }
|
|
||||||
|
|
||||||
if (la57) {
|
|
||||||
pml5e_addr = ((cr3 & ~0xfff) +
|
|
||||||
@@ -423,6 +414,18 @@ static int handle_mmu_fault(CPUState *cs, vaddr addr, int size,
|
|
||||||
page_size = 4096;
|
|
||||||
} else {
|
|
||||||
pg_mode = get_pg_mode(env);
|
|
||||||
+ if (pg_mode & PG_MODE_LMA) {
|
|
||||||
+ int32_t sext;
|
|
||||||
+
|
|
||||||
+ /* test virtual address sign extension */
|
|
||||||
+ sext = (int64_t)addr >> (pg_mode & PG_MODE_LA57 ? 56 : 47);
|
|
||||||
+ if (sext != 0 && sext != -1) {
|
|
||||||
+ env->error_code = 0;
|
|
||||||
+ cs->exception_index = EXCP0D_GPF;
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
error_code = mmu_translate(cs, addr, get_hphys, env->cr[3], is_write1,
|
|
||||||
mmu_idx, pg_mode,
|
|
||||||
&paddr, &page_size, &prot);
|
|
|
@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.qemu.org
|
||||||
TERMUX_PKG_DESCRIPTION="A generic and open source machine emulator and virtualizer (headless)"
|
TERMUX_PKG_DESCRIPTION="A generic and open source machine emulator and virtualizer (headless)"
|
||||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||||
TERMUX_PKG_MAINTAINER="@termux"
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
TERMUX_PKG_VERSION=1:6.1.0
|
TERMUX_PKG_VERSION=1:7.0.0
|
||||||
TERMUX_PKG_REVISION=11
|
|
||||||
TERMUX_PKG_SRCURL=https://download.qemu.org/qemu-${TERMUX_PKG_VERSION:2}.tar.xz
|
TERMUX_PKG_SRCURL=https://download.qemu.org/qemu-${TERMUX_PKG_VERSION:2}.tar.xz
|
||||||
TERMUX_PKG_SHA256=eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96
|
TERMUX_PKG_SHA256=f6b375c7951f728402798b0baabb2d86478ca53d44cedbefabbe1c46bf46f839
|
||||||
TERMUX_PKG_DEPENDS="glib, libbz2, libc++, libcurl, libgnutls, libiconv, libjpeg-turbo, liblzo, libnettle, libnfs, libpixman, libpng, libspice-server, libssh, libusb, libusbredir, ncurses, pulseaudio, qemu-common, resolv-conf, zlib, zstd"
|
TERMUX_PKG_DEPENDS="glib, libbz2, libc++, libcurl, libgnutls, libiconv, libjpeg-turbo, liblzo, libnettle, libnfs, libpixman, libpng, libspice-server, libssh, libusb, libusbredir, ncurses, pulseaudio, qemu-common, resolv-conf, zlib, zstd"
|
||||||
|
|
||||||
# Required by configuration script, but I can't find any binary that uses it.
|
# Required by configuration script, but I can't find any binary that uses it.
|
||||||
|
@ -95,7 +94,6 @@ termux_step_configure() {
|
||||||
--disable-lzfse \
|
--disable-lzfse \
|
||||||
--disable-seccomp \
|
--disable-seccomp \
|
||||||
--enable-libssh \
|
--enable-libssh \
|
||||||
--enable-libxml2 \
|
|
||||||
--enable-bochs \
|
--enable-bochs \
|
||||||
--enable-cloop \
|
--enable-cloop \
|
||||||
--enable-dmg \
|
--enable-dmg \
|
||||||
|
|
|
@ -15,23 +15,45 @@ diff -uNr qemu-5.2.0/include/qapi/util.h qemu-5.2.0.mod/include/qapi/util.h
|
||||||
diff -uNr qemu-5.2.0/meson.build qemu-5.2.0.mod/meson.build
|
diff -uNr qemu-5.2.0/meson.build qemu-5.2.0.mod/meson.build
|
||||||
--- qemu-5.2.0/meson.build 2020-12-08 18:59:44.000000000 +0200
|
--- qemu-5.2.0/meson.build 2020-12-08 18:59:44.000000000 +0200
|
||||||
+++ qemu-5.2.0.mod/meson.build 2020-12-09 17:18:04.165911853 +0200
|
+++ qemu-5.2.0.mod/meson.build 2020-12-09 17:18:04.165911853 +0200
|
||||||
@@ -94,11 +94,11 @@
|
@@ -185,38 +185,6 @@
|
||||||
|
|
||||||
# Specify linker-script with add_project_link_arguments so that it is not placed
|
# Specify linker-script with add_project_link_arguments so that it is not placed
|
||||||
# within a linker --start-group/--end-group pair
|
# within a linker --start-group/--end-group pair
|
||||||
-if 'CONFIG_FUZZ' in config_host
|
-if get_option('fuzzing')
|
||||||
- add_project_link_arguments(['-Wl,-T,',
|
- add_project_link_arguments(['-Wl,-T,',
|
||||||
- (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
- (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
-
|
||||||
|
- # Specify a filter to only instrument code that is directly related to
|
||||||
|
- # virtual-devices.
|
||||||
|
- configure_file(output: 'instrumentation-filter',
|
||||||
|
- input: 'scripts/oss-fuzz/instrumentation-filter-template',
|
||||||
|
- copy: true)
|
||||||
|
- add_global_arguments(
|
||||||
|
- cc.get_supported_arguments('-fsanitize-coverage-allowlist=instrumentation-filter'),
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
-
|
||||||
|
- if get_option('fuzzing_engine') == ''
|
||||||
|
- # Add CFLAGS to tell clang to add fuzzer-related instrumentation to all the
|
||||||
|
- # compiled code. To build non-fuzzer binaries with --enable-fuzzing, link
|
||||||
|
- # everything with fsanitize=fuzzer-no-link. Otherwise, the linker will be
|
||||||
|
- # unable to bind the fuzzer-related callbacks added by instrumentation.
|
||||||
|
- add_global_arguments('-fsanitize=fuzzer-no-link',
|
||||||
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
- add_global_link_arguments('-fsanitize=fuzzer-no-link',
|
||||||
- native: false, language: ['c', 'cpp', 'objc'])
|
- native: false, language: ['c', 'cpp', 'objc'])
|
||||||
|
- # For the actual fuzzer binaries, we need to link against the libfuzzer
|
||||||
|
- # library. They need to be configurable, to support OSS-Fuzz
|
||||||
|
- fuzz_exe_ldflags = ['-fsanitize=fuzzer']
|
||||||
|
- else
|
||||||
|
- # LIB_FUZZING_ENGINE was set; assume we are running on OSS-Fuzz, and
|
||||||
|
- # the needed CFLAGS have already been provided
|
||||||
|
- fuzz_exe_ldflags = get_option('fuzzing_engine').split()
|
||||||
|
- endif
|
||||||
-endif
|
-endif
|
||||||
+#if 'CONFIG_FUZZ' in config_host
|
|
||||||
+# add_project_link_arguments(['-Wl,-T,',
|
|
||||||
+# (meson.current_source_dir() / 'tests/qtest/fuzz/fork_fuzz.ld')],
|
|
||||||
+# native: false, language: ['c', 'cpp', 'objc'])
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
add_project_arguments(config_host['QEMU_CFLAGS'].split(),
|
add_global_arguments(qemu_cflags, native: false, language: ['c'])
|
||||||
native: false, language: ['c', 'objc'])
|
add_global_arguments(qemu_cxxflags, native: false, language: ['cpp'])
|
||||||
@@ -1575,8 +1575,8 @@
|
@@ -1575,8 +1575,8 @@
|
||||||
specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
|
specific_ss.add_all(when: 'CONFIG_LINUX_USER', if_true: linux_user_ss)
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
diff -uNr qemu-6.1.0/meson.build qemu-6.1.0.mod/meson.build
|
diff -uNr qemu-6.1.0/meson.build qemu-6.1.0.mod/meson.build
|
||||||
--- qemu-6.1.0/meson.build 2021-08-25 21:20:39.873631512 +0300
|
--- qemu-6.1.0/meson.build 2021-08-25 21:20:39.873631512 +0300
|
||||||
+++ qemu-6.1.0.mod/meson.build 2021-08-25 21:21:35.135670419 +0300
|
+++ qemu-6.1.0.mod/meson.build 2021-08-25 21:21:35.135670419 +0300
|
||||||
@@ -1411,11 +1411,6 @@
|
@@ -1785,10 +1785,6 @@
|
||||||
#include <sys/mman.h>
|
return 0;
|
||||||
#include <stddef.h>
|
}''', dependencies: threads))
|
||||||
int main(void) { return posix_madvise(NULL, 0, POSIX_MADV_DONTNEED); }'''))
|
|
||||||
-config_host_data.set('CONFIG_SIGNALFD', cc.links(gnu_source_prefix + '''
|
-config_host_data.set('CONFIG_SIGNALFD', cc.links(gnu_source_prefix + '''
|
||||||
- #include <unistd.h>
|
- #include <sys/signalfd.h>
|
||||||
- #include <sys/syscall.h>
|
- #include <stddef.h>
|
||||||
- #include <signal.h>
|
- int main(void) { return signalfd(-1, NULL, SFD_CLOEXEC); }'''))
|
||||||
- int main(void) { return syscall(SYS_signalfd, -1, NULL, _NSIG / 8); }'''))
|
|
||||||
config_host_data.set('CONFIG_SPLICE', cc.links(gnu_source_prefix + '''
|
config_host_data.set('CONFIG_SPLICE', cc.links(gnu_source_prefix + '''
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
|
@ -1,37 +0,0 @@
|
||||||
--- qemu-6.1.0/target/i386/tcg/sysemu/excp_helper.c
|
|
||||||
+++ qemu-6.1.0/target/i386/tcg/sysemu/excp_helper.c
|
|
||||||
@@ -94,15 +94,6 @@ static int mmu_translate(CPUState *cs, hwaddr addr, MMUTranslateFunc get_hphys_f
|
|
||||||
bool la57 = pg_mode & PG_MODE_LA57;
|
|
||||||
uint64_t pml5e_addr, pml5e;
|
|
||||||
uint64_t pml4e_addr, pml4e;
|
|
||||||
- int32_t sext;
|
|
||||||
-
|
|
||||||
- /* test virtual address sign extension */
|
|
||||||
- sext = la57 ? (int64_t)addr >> 56 : (int64_t)addr >> 47;
|
|
||||||
- if (get_hphys_func && sext != 0 && sext != -1) {
|
|
||||||
- env->error_code = 0;
|
|
||||||
- cs->exception_index = EXCP0D_GPF;
|
|
||||||
- return 1;
|
|
||||||
- }
|
|
||||||
|
|
||||||
if (la57) {
|
|
||||||
pml5e_addr = ((cr3 & ~0xfff) +
|
|
||||||
@@ -423,6 +414,18 @@ static int handle_mmu_fault(CPUState *cs, vaddr addr, int size,
|
|
||||||
page_size = 4096;
|
|
||||||
} else {
|
|
||||||
pg_mode = get_pg_mode(env);
|
|
||||||
+ if (pg_mode & PG_MODE_LMA) {
|
|
||||||
+ int32_t sext;
|
|
||||||
+
|
|
||||||
+ /* test virtual address sign extension */
|
|
||||||
+ sext = (int64_t)addr >> (pg_mode & PG_MODE_LA57 ? 56 : 47);
|
|
||||||
+ if (sext != 0 && sext != -1) {
|
|
||||||
+ env->error_code = 0;
|
|
||||||
+ cs->exception_index = EXCP0D_GPF;
|
|
||||||
+ return 1;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
error_code = mmu_translate(cs, addr, get_hphys, env->cr[3], is_write1,
|
|
||||||
mmu_idx, pg_mode,
|
|
||||||
&paddr, &page_size, &prot);
|
|
|
@ -2,10 +2,9 @@ TERMUX_PKG_HOMEPAGE=https://www.qemu.org
|
||||||
TERMUX_PKG_DESCRIPTION="A generic and open source machine emulator and virtualizer"
|
TERMUX_PKG_DESCRIPTION="A generic and open source machine emulator and virtualizer"
|
||||||
TERMUX_PKG_LICENSE="GPL-2.0"
|
TERMUX_PKG_LICENSE="GPL-2.0"
|
||||||
TERMUX_PKG_MAINTAINER="@termux"
|
TERMUX_PKG_MAINTAINER="@termux"
|
||||||
TERMUX_PKG_VERSION=1:6.1.0
|
TERMUX_PKG_VERSION=1:7.0.0
|
||||||
TERMUX_PKG_REVISION=10
|
|
||||||
TERMUX_PKG_SRCURL=https://download.qemu.org/qemu-${TERMUX_PKG_VERSION:2}.tar.xz
|
TERMUX_PKG_SRCURL=https://download.qemu.org/qemu-${TERMUX_PKG_VERSION:2}.tar.xz
|
||||||
TERMUX_PKG_SHA256=eebc089db3414bbeedf1e464beda0a7515aad30f73261abc246c9b27503a3c96
|
TERMUX_PKG_SHA256=f6b375c7951f728402798b0baabb2d86478ca53d44cedbefabbe1c46bf46f839
|
||||||
TERMUX_PKG_DEPENDS="glib, gtk3, libbz2, libc++, libcurl, libgnutls, libiconv, libjpeg-turbo, liblzo, libnettle, libnfs, libpixman, libpng, libspice-server, libssh, libusb, libusbredir, libx11, ncurses, pulseaudio, qemu-common, resolv-conf, sdl2, sdl2-image, zlib, zstd"
|
TERMUX_PKG_DEPENDS="glib, gtk3, libbz2, libc++, libcurl, libgnutls, libiconv, libjpeg-turbo, liblzo, libnettle, libnfs, libpixman, libpng, libspice-server, libssh, libusb, libusbredir, libx11, ncurses, pulseaudio, qemu-common, resolv-conf, sdl2, sdl2-image, zlib, zstd"
|
||||||
|
|
||||||
# Required by configuration script, but I can't find any binary that uses it.
|
# Required by configuration script, but I can't find any binary that uses it.
|
||||||
|
@ -108,7 +107,6 @@ termux_step_configure() {
|
||||||
--disable-lzfse \
|
--disable-lzfse \
|
||||||
--disable-seccomp \
|
--disable-seccomp \
|
||||||
--enable-libssh \
|
--enable-libssh \
|
||||||
--enable-libxml2 \
|
|
||||||
--enable-bochs \
|
--enable-bochs \
|
||||||
--enable-cloop \
|
--enable-cloop \
|
||||||
--enable-dmg \
|
--enable-dmg \
|
||||||
|
|
Loading…
Reference in New Issue