Merge remote-tracking branch 'up/master' into master-riscv64
Signed-off-by: David Abdurachmanov <david.abdurachmanov@gmail.com>
This commit is contained in:
commit
7dafb6b5a6
4
.gitignore
vendored
4
.gitignore
vendored
@ -22,3 +22,7 @@
|
|||||||
/qemu-2.12.0-rc2.tar.xz
|
/qemu-2.12.0-rc2.tar.xz
|
||||||
/qemu-2.12.0-rc3.tar.xz
|
/qemu-2.12.0-rc3.tar.xz
|
||||||
/qemu-2.12.0.tar.xz
|
/qemu-2.12.0.tar.xz
|
||||||
|
/qemu-3.0.0-rc3.tar.xz
|
||||||
|
/qemu-3.0.0.tar.xz
|
||||||
|
/qemu-3.1.0-rc1.tar.xz
|
||||||
|
/qemu-3.1.0.tar.xz
|
||||||
|
32
0001-Remove-problematic-evdev-86-key-from-en-us-keymap.patch
Normal file
32
0001-Remove-problematic-evdev-86-key-from-en-us-keymap.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
From 2c25ad161d7714f15b1951c69c50844ea81f4186 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Williamson <awilliam@redhat.com>
|
||||||
|
Date: Wed, 20 Dec 2017 15:43:07 -0800
|
||||||
|
Subject: [PATCH] Remove problematic 'evdev 86' key from en-us keymap
|
||||||
|
|
||||||
|
This causes LP#1738283. Gerd will have to come up with a better
|
||||||
|
fix, but just hacking out the problematic key definition should
|
||||||
|
work for now.
|
||||||
|
---
|
||||||
|
pc-bios/keymaps/en-us | 6 ------
|
||||||
|
1 file changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/pc-bios/keymaps/en-us b/pc-bios/keymaps/en-us
|
||||||
|
index a70e03adc0..e518a9dc35 100644
|
||||||
|
--- a/pc-bios/keymaps/en-us
|
||||||
|
+++ b/pc-bios/keymaps/en-us
|
||||||
|
@@ -343,12 +343,6 @@ KP_Decimal 0x53 numlock
|
||||||
|
|
||||||
|
# evdev 85 (0x55): no evdev -> QKeyCode mapping (xkb keysym NoSymbol)
|
||||||
|
|
||||||
|
-# evdev 86 (0x56), QKeyCode "less", number 0x56
|
||||||
|
-less 0x56
|
||||||
|
-greater 0x56 shift
|
||||||
|
-bar 0x56 altgr
|
||||||
|
-brokenbar 0x56 shift altgr
|
||||||
|
-
|
||||||
|
# evdev 87 (0x57), QKeyCode "f11", number 0x57
|
||||||
|
F11 0x57
|
||||||
|
|
||||||
|
--
|
||||||
|
2.15.1
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
# KVM S390 VM creation fails without this set
|
|
||||||
# https://www.mail-archive.com/kvm@vger.kernel.org/msg115576.html
|
|
||||||
vm.allocate_pgste = 1
|
|
14
ksm.service
14
ksm.service
@ -1,14 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Kernel Samepage Merging
|
|
||||||
ConditionPathExists=/sys/kernel/mm/ksm
|
|
||||||
ConditionVirtualization=no
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=oneshot
|
|
||||||
RemainAfterExit=yes
|
|
||||||
EnvironmentFile=-/etc/sysconfig/ksm
|
|
||||||
ExecStart=/usr/libexec/ksmctl start
|
|
||||||
ExecStop=/usr/libexec/ksmctl stop
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
@ -1,4 +0,0 @@
|
|||||||
# The maximum number of unswappable kernel pages
|
|
||||||
# which may be allocated by ksm (0 for unlimited)
|
|
||||||
# If unset, defaults to half of total memory
|
|
||||||
# KSM_MAX_KERNEL_PAGES=
|
|
77
ksmctl.c
77
ksmctl.c
@ -1,77 +0,0 @@
|
|||||||
/* Start/stop KSM, for systemd.
|
|
||||||
* Copyright (C) 2009, 2011 Red Hat, Inc.
|
|
||||||
* Written by Paolo Bonzini <pbonzini@redhat.com>.
|
|
||||||
* Based on the original sysvinit script by Dan Kenigsberg <danken@redhat.com>
|
|
||||||
* This file is distributed under the GNU General Public License, version 2
|
|
||||||
* or later. */
|
|
||||||
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <limits.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#define KSM_MAX_KERNEL_PAGES_FILE "/sys/kernel/mm/ksm/max_kernel_pages"
|
|
||||||
#define KSM_RUN_FILE "/sys/kernel/mm/ksm/run"
|
|
||||||
|
|
||||||
char *program_name;
|
|
||||||
|
|
||||||
int usage(void)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "Usage: %s {start|stop}\n", program_name);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int write_value(uint64_t value, char *filename)
|
|
||||||
{
|
|
||||||
FILE *fp;
|
|
||||||
if (!(fp = fopen(filename, "w")) ||
|
|
||||||
fprintf(fp, "%llu\n", (unsigned long long) value) == EOF ||
|
|
||||||
fflush(fp) == EOF ||
|
|
||||||
fclose(fp) == EOF)
|
|
||||||
return 1;
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint64_t ksm_max_kernel_pages()
|
|
||||||
{
|
|
||||||
char *var = getenv("KSM_MAX_KERNEL_PAGES");
|
|
||||||
char *endptr;
|
|
||||||
uint64_t value;
|
|
||||||
if (var && *var) {
|
|
||||||
value = strtoll(var, &endptr, 0);
|
|
||||||
if (value < LLONG_MAX && !*endptr)
|
|
||||||
return value;
|
|
||||||
}
|
|
||||||
/* Unless KSM_MAX_KERNEL_PAGES is set, let KSM munch up to half of
|
|
||||||
* total memory. */
|
|
||||||
return sysconf(_SC_PHYS_PAGES) / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
int start(void)
|
|
||||||
{
|
|
||||||
if (access(KSM_MAX_KERNEL_PAGES_FILE, R_OK) >= 0)
|
|
||||||
write_value(ksm_max_kernel_pages(), KSM_MAX_KERNEL_PAGES_FILE);
|
|
||||||
return write_value(1, KSM_RUN_FILE);
|
|
||||||
}
|
|
||||||
|
|
||||||
int stop(void)
|
|
||||||
{
|
|
||||||
return write_value(0, KSM_RUN_FILE);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
|
||||||
{
|
|
||||||
program_name = argv[0];
|
|
||||||
if (argc < 2) {
|
|
||||||
return usage();
|
|
||||||
} else if (!strcmp(argv[1], "start")) {
|
|
||||||
return start();
|
|
||||||
} else if (!strcmp(argv[1], "stop")) {
|
|
||||||
return stop();
|
|
||||||
} else {
|
|
||||||
return usage();
|
|
||||||
}
|
|
||||||
}
|
|
139
ksmtuned
139
ksmtuned
@ -1,139 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright 2009 Red Hat, Inc. and/or its affiliates.
|
|
||||||
# Released under the GPL
|
|
||||||
#
|
|
||||||
# Author: Dan Kenigsberg <danken@redhat.com>
|
|
||||||
#
|
|
||||||
# ksmtuned - a simple script that controls whether (and with what vigor) ksm
|
|
||||||
# should search for duplicated pages.
|
|
||||||
#
|
|
||||||
# starts ksm when memory commited to qemu processes exceeds a threshold, and
|
|
||||||
# make ksm work harder and harder untill memory load falls below that
|
|
||||||
# threshold.
|
|
||||||
#
|
|
||||||
# send SIGUSR1 to this process right after a new qemu process is started, or
|
|
||||||
# following its death, to retune ksm accordingly
|
|
||||||
#
|
|
||||||
# needs testing and ironing. contact danken@redhat.com if something breaks.
|
|
||||||
|
|
||||||
if [ -f /etc/ksmtuned.conf ]; then
|
|
||||||
. /etc/ksmtuned.conf
|
|
||||||
fi
|
|
||||||
|
|
||||||
debug() {
|
|
||||||
if [ -n "$DEBUG" ]; then
|
|
||||||
s="`/bin/date`: $*"
|
|
||||||
[ -n "$LOGFILE" ] && echo "$s" >> "$LOGFILE" || echo "$s"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
KSM_MONITOR_INTERVAL=${KSM_MONITOR_INTERVAL:-60}
|
|
||||||
KSM_NPAGES_BOOST=${KSM_NPAGES_BOOST:-300}
|
|
||||||
KSM_NPAGES_DECAY=${KSM_NPAGES_DECAY:--50}
|
|
||||||
|
|
||||||
KSM_NPAGES_MIN=${KSM_NPAGES_MIN:-64}
|
|
||||||
KSM_NPAGES_MAX=${KSM_NPAGES_MAX:-1250}
|
|
||||||
# millisecond sleep between ksm scans for 16Gb server. Smaller servers sleep
|
|
||||||
# more, bigger sleep less.
|
|
||||||
KSM_SLEEP_MSEC=${KSM_SLEEP_MSEC:-10}
|
|
||||||
|
|
||||||
KSM_THRES_COEF=${KSM_THRES_COEF:-20}
|
|
||||||
KSM_THRES_CONST=${KSM_THRES_CONST:-2048}
|
|
||||||
|
|
||||||
total=`awk '/^MemTotal:/ {print $2}' /proc/meminfo`
|
|
||||||
debug total $total
|
|
||||||
|
|
||||||
npages=0
|
|
||||||
sleep=$[KSM_SLEEP_MSEC * 16 * 1024 * 1024 / total]
|
|
||||||
[ $sleep -le 10 ] && sleep=10
|
|
||||||
debug sleep $sleep
|
|
||||||
thres=$[total * KSM_THRES_COEF / 100]
|
|
||||||
if [ $KSM_THRES_CONST -gt $thres ]; then
|
|
||||||
thres=$KSM_THRES_CONST
|
|
||||||
fi
|
|
||||||
debug thres $thres
|
|
||||||
|
|
||||||
KSMCTL () {
|
|
||||||
case x$1 in
|
|
||||||
xstop)
|
|
||||||
echo 0 > /sys/kernel/mm/ksm/run
|
|
||||||
;;
|
|
||||||
xstart)
|
|
||||||
echo $2 > /sys/kernel/mm/ksm/pages_to_scan
|
|
||||||
echo $3 > /sys/kernel/mm/ksm/sleep_millisecs
|
|
||||||
echo 1 > /sys/kernel/mm/ksm/run
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
committed_memory () {
|
|
||||||
# calculate how much memory is committed to running qemu processes
|
|
||||||
local pidlist
|
|
||||||
pidlist=$(pgrep -d ' ' -- '^qemu(-(kvm|system-.+)|:.{1,11})$')
|
|
||||||
if [ -n "$pidlist" ]; then
|
|
||||||
ps -p "$pidlist" -o rsz=
|
|
||||||
fi | awk '{ sum += $1 }; END { print 0+sum }'
|
|
||||||
}
|
|
||||||
|
|
||||||
free_memory () {
|
|
||||||
awk '/^(MemFree|Buffers|Cached):/ {free += $2}; END {print free}' \
|
|
||||||
/proc/meminfo
|
|
||||||
}
|
|
||||||
|
|
||||||
increase_npages() {
|
|
||||||
local delta
|
|
||||||
delta=${1:-0}
|
|
||||||
npages=$[npages + delta]
|
|
||||||
if [ $npages -lt $KSM_NPAGES_MIN ]; then
|
|
||||||
npages=$KSM_NPAGES_MIN
|
|
||||||
elif [ $npages -gt $KSM_NPAGES_MAX ]; then
|
|
||||||
npages=$KSM_NPAGES_MAX
|
|
||||||
fi
|
|
||||||
echo $npages
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
adjust () {
|
|
||||||
local free committed
|
|
||||||
free=`free_memory`
|
|
||||||
committed=`committed_memory`
|
|
||||||
debug committed $committed free $free
|
|
||||||
if [ $[committed + thres] -lt $total -a $free -gt $thres ]; then
|
|
||||||
KSMCTL stop
|
|
||||||
debug "$[committed + thres] < $total and free > $thres, stop ksm"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
debug "$[committed + thres] > $total, start ksm"
|
|
||||||
if [ $free -lt $thres ]; then
|
|
||||||
npages=`increase_npages $KSM_NPAGES_BOOST`
|
|
||||||
debug "$free < $thres, boost"
|
|
||||||
else
|
|
||||||
npages=`increase_npages $KSM_NPAGES_DECAY`
|
|
||||||
debug "$free > $thres, decay"
|
|
||||||
fi
|
|
||||||
KSMCTL start $npages $sleep
|
|
||||||
debug "KSMCTL start $npages $sleep"
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
function nothing () {
|
|
||||||
:
|
|
||||||
}
|
|
||||||
|
|
||||||
loop () {
|
|
||||||
trap nothing SIGUSR1
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
sleep $KSM_MONITOR_INTERVAL &
|
|
||||||
wait $!
|
|
||||||
adjust
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
PIDFILE=${PIDFILE-/var/run/ksmtune.pid}
|
|
||||||
if touch "$PIDFILE"; then
|
|
||||||
loop &
|
|
||||||
echo $! > "$PIDFILE"
|
|
||||||
fi
|
|
@ -1,21 +0,0 @@
|
|||||||
# Configuration file for ksmtuned.
|
|
||||||
|
|
||||||
# How long ksmtuned should sleep between tuning adjustments
|
|
||||||
# KSM_MONITOR_INTERVAL=60
|
|
||||||
|
|
||||||
# Millisecond sleep between ksm scans for 16Gb server.
|
|
||||||
# Smaller servers sleep more, bigger sleep less.
|
|
||||||
# KSM_SLEEP_MSEC=10
|
|
||||||
|
|
||||||
# KSM_NPAGES_BOOST=300
|
|
||||||
# KSM_NPAGES_DECAY=-50
|
|
||||||
# KSM_NPAGES_MIN=64
|
|
||||||
# KSM_NPAGES_MAX=1250
|
|
||||||
|
|
||||||
# KSM_THRES_COEF=20
|
|
||||||
# KSM_THRES_CONST=2048
|
|
||||||
|
|
||||||
# uncomment the following if you want ksmtuned debug info
|
|
||||||
|
|
||||||
# LOGFILE=/var/log/ksmtuned
|
|
||||||
# DEBUG=1
|
|
@ -1,13 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=Kernel Samepage Merging (KSM) Tuning Daemon
|
|
||||||
After=ksm.service
|
|
||||||
Requires=ksm.service
|
|
||||||
ConditionVirtualization=no
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/sbin/ksmtuned
|
|
||||||
ExecReload=/bin/kill -USR1 $MAINPID
|
|
||||||
Type=forking
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
187
qemu.spec
187
qemu.spec
@ -77,6 +77,13 @@
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# All modules should be listed here.
|
# All modules should be listed here.
|
||||||
|
%ifarch %{ix86} %{arm}
|
||||||
|
%define with_block_rbd 0
|
||||||
|
%else
|
||||||
|
%define with_block_rbd 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{with_block_rbd}
|
||||||
%global requires_all_modules \
|
%global requires_all_modules \
|
||||||
Requires: %{name}-block-curl = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-block-curl = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-block-dmg = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-block-dmg = %{epoch}:%{version}-%{release} \
|
||||||
@ -84,6 +91,7 @@ Requires: %{name}-block-gluster = %{epoch}:%{version}-%{release} \
|
|||||||
Requires: %{name}-block-iscsi = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-block-iscsi = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-block-nfs = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-block-nfs = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-block-rbd = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-audio-alsa = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-audio-alsa = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-audio-oss = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-audio-oss = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-audio-pa = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-audio-pa = %{epoch}:%{version}-%{release} \
|
||||||
@ -91,10 +99,25 @@ Requires: %{name}-audio-sdl = %{epoch}:%{version}-%{release} \
|
|||||||
Requires: %{name}-ui-curses = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-ui-curses = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-ui-gtk = %{epoch}:%{version}-%{release} \
|
Requires: %{name}-ui-gtk = %{epoch}:%{version}-%{release} \
|
||||||
Requires: %{name}-ui-sdl = %{epoch}:%{version}-%{release}
|
Requires: %{name}-ui-sdl = %{epoch}:%{version}-%{release}
|
||||||
|
%else
|
||||||
|
%global requires_all_modules \
|
||||||
|
Requires: %{name}-block-curl = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-dmg = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-gluster = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-iscsi = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-nfs = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-block-ssh = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-audio-alsa = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-audio-oss = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-audio-pa = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-audio-sdl = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-ui-curses = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-ui-gtk = %{epoch}:%{version}-%{release} \
|
||||||
|
Requires: %{name}-ui-sdl = %{epoch}:%{version}-%{release}
|
||||||
|
%endif
|
||||||
|
|
||||||
# Release candidate version tracking
|
# Release candidate version tracking
|
||||||
#global rcver rc3
|
# global rcver rc1
|
||||||
%if 0%{?rcver:1}
|
%if 0%{?rcver:1}
|
||||||
%global rcrel .%{rcver}
|
%global rcrel .%{rcver}
|
||||||
%global rcstr -%{rcver}
|
%global rcstr -%{rcver}
|
||||||
@ -103,21 +126,14 @@ Requires: %{name}-ui-sdl = %{epoch}:%{version}-%{release}
|
|||||||
|
|
||||||
Summary: QEMU is a FAST! processor emulator
|
Summary: QEMU is a FAST! processor emulator
|
||||||
Name: qemu
|
Name: qemu
|
||||||
Version: 2.12.0
|
Version: 3.1.0
|
||||||
Release: 1%{?rcrel}.2.riscv64%{?dist}
|
Release: 4%{?rcrel}.0.riscv64%{?dist}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
License: GPLv2 and BSD and MIT and CC-BY
|
License: GPLv2 and BSD and MIT and CC-BY
|
||||||
URL: http://www.qemu.org/
|
URL: http://www.qemu.org/
|
||||||
|
|
||||||
Source0: http://wiki.qemu-project.org/download/%{name}-%{version}%{?rcstr}.tar.xz
|
Source0: http://wiki.qemu-project.org/download/%{name}-%{version}%{?rcstr}.tar.xz
|
||||||
|
|
||||||
# KSM control scripts
|
|
||||||
Source4: ksm.service
|
|
||||||
Source5: ksm.sysconfig
|
|
||||||
Source6: ksmctl.c
|
|
||||||
Source7: ksmtuned.service
|
|
||||||
Source8: ksmtuned
|
|
||||||
Source9: ksmtuned.conf
|
|
||||||
# guest agent service
|
# guest agent service
|
||||||
Source10: qemu-guest-agent.service
|
Source10: qemu-guest-agent.service
|
||||||
Source17: qemu-ga.sysconfig
|
Source17: qemu-ga.sysconfig
|
||||||
@ -130,12 +146,15 @@ Source13: qemu-kvm.sh
|
|||||||
# PR manager service
|
# PR manager service
|
||||||
Source14: qemu-pr-helper.service
|
Source14: qemu-pr-helper.service
|
||||||
Source15: qemu-pr-helper.socket
|
Source15: qemu-pr-helper.socket
|
||||||
# /etc/modprobe.d/kvm.conf
|
# /etc/modprobe.d/kvm.conf, for x86
|
||||||
Source20: kvm.conf
|
Source20: kvm-x86.modprobe.conf
|
||||||
# /etc/sysctl.d/50-kvm-s390x.conf
|
|
||||||
Source21: 50-kvm-s390x.conf
|
|
||||||
# /etc/security/limits.d/95-kvm-ppc64-memlock.conf
|
# /etc/security/limits.d/95-kvm-ppc64-memlock.conf
|
||||||
Source22: 95-kvm-ppc64-memlock.conf
|
Source21: 95-kvm-ppc64-memlock.conf
|
||||||
|
|
||||||
|
# Good ol' keymap 86 still messin with us
|
||||||
|
Patch0: 0001-Remove-problematic-evdev-86-key-from-en-us-keymap.patch
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# riscv backend
|
# riscv backend
|
||||||
# Source: https://github.com/riscv/riscv-qemu/commit/0805ad337785f0cce29ecf162bad9e1c477051f3.patch
|
# Source: https://github.com/riscv/riscv-qemu/commit/0805ad337785f0cce29ecf162bad9e1c477051f3.patch
|
||||||
@ -203,9 +222,11 @@ BuildRequires: libseccomp-devel >= 2.3.0
|
|||||||
%endif
|
%endif
|
||||||
# For network block driver
|
# For network block driver
|
||||||
BuildRequires: libcurl-devel
|
BuildRequires: libcurl-devel
|
||||||
|
%if %{with_block_rbd}
|
||||||
# For rbd block driver
|
# For rbd block driver
|
||||||
BuildRequires: librados2-devel
|
BuildRequires: librados2-devel
|
||||||
BuildRequires: librbd1-devel
|
BuildRequires: librbd1-devel
|
||||||
|
%endif
|
||||||
# We need both because the 'stap' binary is probed for by configure
|
# We need both because the 'stap' binary is probed for by configure
|
||||||
BuildRequires: systemtap
|
BuildRequires: systemtap
|
||||||
BuildRequires: systemtap-sdt-devel
|
BuildRequires: systemtap-sdt-devel
|
||||||
@ -263,6 +284,12 @@ BuildRequires: capstone-devel
|
|||||||
BuildRequires: libxml2-devel
|
BuildRequires: libxml2-devel
|
||||||
# python scripts in the build process
|
# python scripts in the build process
|
||||||
BuildRequires: python3
|
BuildRequires: python3
|
||||||
|
%ifarch x86_64
|
||||||
|
# qemu 3.1: Used for nvdimm
|
||||||
|
BuildRequires: libpmem-devel
|
||||||
|
%endif
|
||||||
|
# qemu 3.1: Used for qemu-ga
|
||||||
|
BuildRequires: libudev-devel
|
||||||
|
|
||||||
BuildRequires: glibc-static pcre-static glib2-static zlib-static
|
BuildRequires: glibc-static pcre-static glib2-static zlib-static
|
||||||
# if -pthread is used GCC SPEC will add --as-needed -latomic --no-as-needed for linker
|
# if -pthread is used GCC SPEC will add --as-needed -latomic --no-as-needed for linker
|
||||||
@ -330,17 +357,6 @@ Requires(postun): systemd-units
|
|||||||
This package provides the common files needed by all QEMU targets
|
This package provides the common files needed by all QEMU targets
|
||||||
|
|
||||||
|
|
||||||
%package -n ksm
|
|
||||||
Summary: Kernel Samepage Merging services
|
|
||||||
Requires(post): systemd-units
|
|
||||||
Requires(postun): systemd-units
|
|
||||||
%description -n ksm
|
|
||||||
Kernel Samepage Merging (KSM) is a memory-saving de-duplication feature,
|
|
||||||
that merges anonymous (private) pages (not pagecache ones).
|
|
||||||
|
|
||||||
This package provides service files for disabling and tuning KSM.
|
|
||||||
|
|
||||||
|
|
||||||
%package guest-agent
|
%package guest-agent
|
||||||
Summary: QEMU guest agent
|
Summary: QEMU guest agent
|
||||||
Requires(post): systemd-units
|
Requires(post): systemd-units
|
||||||
@ -412,6 +428,7 @@ This package provides the additional NFS block driver for QEMU.
|
|||||||
Install this package if you want to access remote NFS storage.
|
Install this package if you want to access remote NFS storage.
|
||||||
|
|
||||||
|
|
||||||
|
%if %{with_block_rbd}
|
||||||
%package block-rbd
|
%package block-rbd
|
||||||
Summary: QEMU Ceph/RBD block driver
|
Summary: QEMU Ceph/RBD block driver
|
||||||
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-common%{?_isa} = %{epoch}:%{version}-%{release}
|
||||||
@ -420,7 +437,7 @@ This package provides the additional Ceph/RBD block driver for QEMU.
|
|||||||
|
|
||||||
Install this package if you want to access remote Ceph volumes
|
Install this package if you want to access remote Ceph volumes
|
||||||
using the rbd protocol.
|
using the rbd protocol.
|
||||||
|
%endif
|
||||||
|
|
||||||
%package block-ssh
|
%package block-ssh
|
||||||
Summary: QEMU SSH block driver
|
Summary: QEMU SSH block driver
|
||||||
@ -884,9 +901,9 @@ run_configure() {
|
|||||||
--prefix=%{_prefix} \
|
--prefix=%{_prefix} \
|
||||||
--libdir=%{_libdir} \
|
--libdir=%{_libdir} \
|
||||||
--sysconfdir=%{_sysconfdir} \
|
--sysconfdir=%{_sysconfdir} \
|
||||||
--interp-prefix=%{_prefix}/qemu-%%M \
|
|
||||||
--localstatedir=%{_localstatedir} \
|
--localstatedir=%{_localstatedir} \
|
||||||
--libexecdir=%{_libexecdir} \
|
--libexecdir=%{_libexecdir} \
|
||||||
|
--interp-prefix=%{_prefix}/qemu-%%M \
|
||||||
--with-pkgversion=%{name}-%{version}-%{release} \
|
--with-pkgversion=%{name}-%{version}-%{release} \
|
||||||
--disable-strip \
|
--disable-strip \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
@ -920,7 +937,6 @@ run_configure \
|
|||||||
--enable-mpath \
|
--enable-mpath \
|
||||||
%{spiceflag} \
|
%{spiceflag} \
|
||||||
--with-sdlabi="2.0" \
|
--with-sdlabi="2.0" \
|
||||||
--with-gtkabi="3.0"
|
|
||||||
|
|
||||||
echo "config-host.mak contents:"
|
echo "config-host.mak contents:"
|
||||||
echo "==="
|
echo "==="
|
||||||
@ -955,15 +971,15 @@ run_configure \
|
|||||||
--disable-brlapi \
|
--disable-brlapi \
|
||||||
--disable-mpath \
|
--disable-mpath \
|
||||||
--disable-libnfs \
|
--disable-libnfs \
|
||||||
--disable-capstone
|
--disable-capstone \
|
||||||
|
--disable-xen \
|
||||||
|
--disable-rdma
|
||||||
|
|
||||||
make V=1 %{?_smp_mflags} $buildldflags
|
make V=1 %{?_smp_mflags} $buildldflags
|
||||||
|
|
||||||
popd
|
popd
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
gcc %{_sourcedir}/ksmctl.c $RPM_OPT_FLAGS $RPM_LD_FLAGS -o ksmctl
|
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
|
|
||||||
@ -974,19 +990,9 @@ mkdir -p %{buildroot}%{_udevdir}
|
|||||||
mkdir -p %{buildroot}%{_unitdir}
|
mkdir -p %{buildroot}%{_unitdir}
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/qemu
|
mkdir -p %{buildroot}%{_sysconfdir}/qemu
|
||||||
|
|
||||||
install -D -p -m 0644 %{_sourcedir}/ksm.service %{buildroot}%{_unitdir}
|
|
||||||
install -D -p -m 0644 %{_sourcedir}/ksm.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/ksm
|
|
||||||
install -D -p -m 0755 ksmctl %{buildroot}%{_libexecdir}/ksmctl
|
|
||||||
|
|
||||||
install -D -p -m 0644 %{_sourcedir}/ksmtuned.service %{buildroot}%{_unitdir}
|
|
||||||
install -D -p -m 0755 %{_sourcedir}/ksmtuned %{buildroot}%{_sbindir}/ksmtuned
|
|
||||||
install -D -p -m 0644 %{_sourcedir}/ksmtuned.conf %{buildroot}%{_sysconfdir}/ksmtuned.conf
|
|
||||||
|
|
||||||
install -D -p -m 0644 %{_sourcedir}/kvm.conf %{buildroot}%{_sysconfdir}/modprobe.d/kvm.conf
|
|
||||||
|
|
||||||
# Install qemu-guest-agent service and udev rules
|
# Install qemu-guest-agent service and udev rules
|
||||||
install -m 0644 %{_sourcedir}/qemu-guest-agent.service %{buildroot}%{_unitdir}
|
install -p -m 0644 %{_sourcedir}/qemu-guest-agent.service %{buildroot}%{_unitdir}
|
||||||
install -m 0644 %{_sourcedir}/qemu-ga.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/qemu-ga
|
install -D -p -m 0644 %{_sourcedir}/qemu-ga.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/qemu-ga
|
||||||
install -m 0644 %{_sourcedir}/99-qemu-guest-agent.rules %{buildroot}%{_udevdir}
|
install -m 0644 %{_sourcedir}/99-qemu-guest-agent.rules %{buildroot}%{_udevdir}
|
||||||
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/qemu-ga/fsfreeze-hook.d
|
mkdir -p %{buildroot}%{_sysconfdir}/qemu-ga/fsfreeze-hook.d
|
||||||
@ -999,11 +1005,6 @@ touch %{buildroot}%{_localstatedir}/log/qga-fsfreeze-hook.log
|
|||||||
install -m 0644 %{_sourcedir}/qemu-pr-helper.service %{buildroot}%{_unitdir}
|
install -m 0644 %{_sourcedir}/qemu-pr-helper.service %{buildroot}%{_unitdir}
|
||||||
install -m 0644 %{_sourcedir}/qemu-pr-helper.socket %{buildroot}%{_unitdir}
|
install -m 0644 %{_sourcedir}/qemu-pr-helper.socket %{buildroot}%{_unitdir}
|
||||||
|
|
||||||
%ifarch s390x
|
|
||||||
install -d %{buildroot}%{_sysconfdir}/sysctl.d
|
|
||||||
install -m 0644 %{_sourcedir}/50-kvm-s390x.conf %{buildroot}%{_sysconfdir}/sysctl.d
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%ifarch %{power64}
|
%ifarch %{power64}
|
||||||
install -d %{buildroot}%{_sysconfdir}/security/limits.d
|
install -d %{buildroot}%{_sysconfdir}/security/limits.d
|
||||||
install -m 0644 %{_sourcedir}/95-kvm-ppc64-memlock.conf %{buildroot}%{_sysconfdir}/security/limits.d
|
install -m 0644 %{_sourcedir}/95-kvm-ppc64-memlock.conf %{buildroot}%{_sysconfdir}/security/limits.d
|
||||||
@ -1053,6 +1054,7 @@ done
|
|||||||
%if 0%{?need_qemu_kvm}
|
%if 0%{?need_qemu_kvm}
|
||||||
install -m 0755 %{_sourcedir}/qemu-kvm.sh %{buildroot}%{_bindir}/qemu-kvm
|
install -m 0755 %{_sourcedir}/qemu-kvm.sh %{buildroot}%{_bindir}/qemu-kvm
|
||||||
ln -sf qemu.1.gz %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
ln -sf qemu.1.gz %{buildroot}%{_mandir}/man1/qemu-kvm.1.gz
|
||||||
|
install -D -p -m 0644 %{_sourcedir}/kvm-x86.modprobe.conf %{buildroot}%{_sysconfdir}/modprobe.d/kvm.conf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
install -D -p -m 0644 qemu.sasl %{buildroot}%{_sysconfdir}/sasl2/qemu.conf
|
install -D -p -m 0644 qemu.sasl %{buildroot}%{_sysconfdir}/sasl2/qemu.conf
|
||||||
@ -1175,15 +1177,6 @@ qemu-sanity-check --qemu=%{?hostqemu} ||:
|
|||||||
popd
|
popd
|
||||||
|
|
||||||
|
|
||||||
%if %{have_kvm}
|
|
||||||
%post %{kvm_package}
|
|
||||||
|
|
||||||
%ifarch s390x
|
|
||||||
%sysctl_apply 50-kvm-s390x.conf
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%post common
|
%post common
|
||||||
getent group kvm >/dev/null || groupadd -g 36 -r kvm
|
getent group kvm >/dev/null || groupadd -g 36 -r kvm
|
||||||
getent group qemu >/dev/null || groupadd -g 107 -r qemu
|
getent group qemu >/dev/null || groupadd -g 107 -r qemu
|
||||||
@ -1192,17 +1185,6 @@ getent passwd qemu >/dev/null || \
|
|||||||
-c "qemu user" qemu
|
-c "qemu user" qemu
|
||||||
|
|
||||||
|
|
||||||
%post -n ksm
|
|
||||||
%systemd_post ksm.service
|
|
||||||
%systemd_post ksmtuned.service
|
|
||||||
%preun -n ksm
|
|
||||||
%systemd_preun ksm.service
|
|
||||||
%systemd_preun ksmtuned.service
|
|
||||||
%postun -n ksm
|
|
||||||
%systemd_postun_with_restart ksm.service
|
|
||||||
%systemd_postun_with_restart ksmtuned.service
|
|
||||||
|
|
||||||
|
|
||||||
%post user-binfmt
|
%post user-binfmt
|
||||||
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
/bin/systemctl --system try-restart systemd-binfmt.service &>/dev/null || :
|
||||||
%postun user-binfmt
|
%postun user-binfmt
|
||||||
@ -1271,30 +1253,22 @@ getent passwd qemu >/dev/null || \
|
|||||||
%{_mandir}/man1/qemu.1*
|
%{_mandir}/man1/qemu.1*
|
||||||
%{_mandir}/man1/virtfs-proxy-helper.1*
|
%{_mandir}/man1/virtfs-proxy-helper.1*
|
||||||
%{_mandir}/man7/qemu-block-drivers.7*
|
%{_mandir}/man7/qemu-block-drivers.7*
|
||||||
|
%{_mandir}/man7/qemu-cpu-models.7*
|
||||||
%{_mandir}/man7/qemu-ga-ref.7*
|
%{_mandir}/man7/qemu-ga-ref.7*
|
||||||
%{_mandir}/man7/qemu-qmp-ref.7*
|
%{_mandir}/man7/qemu-qmp-ref.7*
|
||||||
%{_bindir}/virtfs-proxy-helper
|
%{_bindir}/virtfs-proxy-helper
|
||||||
|
%{_bindir}/qemu-edid
|
||||||
%{_bindir}/qemu-keymap
|
%{_bindir}/qemu-keymap
|
||||||
%{_bindir}/qemu-pr-helper
|
%{_bindir}/qemu-pr-helper
|
||||||
%{_unitdir}/qemu-pr-helper.service
|
%{_unitdir}/qemu-pr-helper.service
|
||||||
%{_unitdir}/qemu-pr-helper.socket
|
%{_unitdir}/qemu-pr-helper.socket
|
||||||
%attr(4755, root, root) %{_libexecdir}/qemu-bridge-helper
|
%attr(4755, root, root) %{_libexecdir}/qemu-bridge-helper
|
||||||
%config(noreplace) %{_sysconfdir}/sasl2/qemu.conf
|
%config(noreplace) %{_sysconfdir}/sasl2/qemu.conf
|
||||||
%config(noreplace) %{_sysconfdir}/modprobe.d/kvm.conf
|
|
||||||
%dir %{_sysconfdir}/qemu
|
%dir %{_sysconfdir}/qemu
|
||||||
%config(noreplace) %{_sysconfdir}/qemu/bridge.conf
|
%config(noreplace) %{_sysconfdir}/qemu/bridge.conf
|
||||||
%dir %{_libdir}/qemu
|
%dir %{_libdir}/qemu
|
||||||
|
|
||||||
|
|
||||||
%files -n ksm
|
|
||||||
%{_libexecdir}/ksmctl
|
|
||||||
%{_sbindir}/ksmtuned
|
|
||||||
%{_unitdir}/ksmtuned.service
|
|
||||||
%{_unitdir}/ksm.service
|
|
||||||
%config(noreplace) %{_sysconfdir}/ksmtuned.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/ksm
|
|
||||||
|
|
||||||
|
|
||||||
%files guest-agent
|
%files guest-agent
|
||||||
%{_bindir}/qemu-ga
|
%{_bindir}/qemu-ga
|
||||||
%{_mandir}/man8/qemu-ga.8*
|
%{_mandir}/man8/qemu-ga.8*
|
||||||
@ -1323,8 +1297,10 @@ getent passwd qemu >/dev/null || \
|
|||||||
%{_libdir}/qemu/block-iscsi.so
|
%{_libdir}/qemu/block-iscsi.so
|
||||||
%files block-nfs
|
%files block-nfs
|
||||||
%{_libdir}/qemu/block-nfs.so
|
%{_libdir}/qemu/block-nfs.so
|
||||||
|
%if %{with_block_rbd}
|
||||||
%files block-rbd
|
%files block-rbd
|
||||||
%{_libdir}/qemu/block-rbd.so
|
%{_libdir}/qemu/block-rbd.so
|
||||||
|
%endif
|
||||||
%files block-ssh
|
%files block-ssh
|
||||||
%{_libdir}/qemu/block-ssh.so
|
%{_libdir}/qemu/block-ssh.so
|
||||||
|
|
||||||
@ -1581,11 +1557,9 @@ getent passwd qemu >/dev/null || \
|
|||||||
%files system-ppc-core
|
%files system-ppc-core
|
||||||
%{_bindir}/qemu-system-ppc
|
%{_bindir}/qemu-system-ppc
|
||||||
%{_bindir}/qemu-system-ppc64
|
%{_bindir}/qemu-system-ppc64
|
||||||
%{_bindir}/qemu-system-ppcemb
|
|
||||||
%{_datadir}/systemtap/tapset/qemu-system-ppc*.stp
|
%{_datadir}/systemtap/tapset/qemu-system-ppc*.stp
|
||||||
%{_mandir}/man1/qemu-system-ppc.1*
|
%{_mandir}/man1/qemu-system-ppc.1*
|
||||||
%{_mandir}/man1/qemu-system-ppc64.1*
|
%{_mandir}/man1/qemu-system-ppc64.1*
|
||||||
%{_mandir}/man1/qemu-system-ppcemb.1*
|
|
||||||
%{_datadir}/%{name}/bamboo.dtb
|
%{_datadir}/%{name}/bamboo.dtb
|
||||||
%{_datadir}/%{name}/canyonlands.dtb
|
%{_datadir}/%{name}/canyonlands.dtb
|
||||||
%{_datadir}/%{name}/ppc_rom.bin
|
%{_datadir}/%{name}/ppc_rom.bin
|
||||||
@ -1614,9 +1588,6 @@ getent passwd qemu >/dev/null || \
|
|||||||
%{_mandir}/man1/qemu-system-s390x.1*
|
%{_mandir}/man1/qemu-system-s390x.1*
|
||||||
%{_datadir}/%{name}/s390-ccw.img
|
%{_datadir}/%{name}/s390-ccw.img
|
||||||
%{_datadir}/%{name}/s390-netboot.img
|
%{_datadir}/%{name}/s390-netboot.img
|
||||||
%ifarch s390x
|
|
||||||
%{_sysconfdir}/sysctl.d/50-kvm-s390x.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%files system-sh4
|
%files system-sh4
|
||||||
@ -1671,6 +1642,7 @@ getent passwd qemu >/dev/null || \
|
|||||||
%if 0%{?need_qemu_kvm}
|
%if 0%{?need_qemu_kvm}
|
||||||
%{_bindir}/qemu-kvm
|
%{_bindir}/qemu-kvm
|
||||||
%{_mandir}/man1/qemu-kvm.1*
|
%{_mandir}/man1/qemu-kvm.1*
|
||||||
|
%config(noreplace) %{_sysconfdir}/modprobe.d/kvm.conf
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
@ -1684,14 +1656,47 @@ getent passwd qemu >/dev/null || \
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu May 10 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 2:2.12.0-1.2.riscv64
|
* Mon Jan 21 2019 David Abdurachmanov <david.abdurachmanov@gmail.com> - 2:3.1.0-4.0.riscv64
|
||||||
- Re-enable systemtap (stap) for riscv64
|
- Enable support for RISC-V (riscv64)
|
||||||
|
|
||||||
* Thu May 10 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 2:2.12.0-1.1.riscv64
|
* Sat Jan 12 2019 Richard W.M. Jones <rjones@redhat.com> - 2:3.1.0-4
|
||||||
- Add BuildRequires: libatomic-static for riscv64
|
- Remove temporary patch and rebuild against fixed capstone.
|
||||||
|
|
||||||
* Wed May 09 2018 David Abdurachmanov <david.abdurachmanov@gmail.com> - 2:2.12.0-1.0.riscv64
|
* Fri Jan 11 2019 Richard W.M. Jones <rjones@redhat.com> - 2:3.1.0-3
|
||||||
- Enable riscv64 as host
|
- Rebuild for unannounced libcapstone soname bump from 3 to 4.
|
||||||
|
- Add a temporary patch to fix capstone header location.
|
||||||
|
|
||||||
|
* Tue Dec 18 2018 Adam Williamson <awilliam@redhat.com> - 2:3.1.0-1.1
|
||||||
|
- Restore patch to drop phantom 86 key from en-us keymap (bz #1658676)
|
||||||
|
|
||||||
|
* Tue Dec 11 2018 Cole Robinson <crobinso@redhat.com> - 2:3.1.0-1
|
||||||
|
- Rebase to qemu-3.1.0 GA
|
||||||
|
|
||||||
|
* Mon Dec 10 2018 Daniel P. Berrangé <berrange@redhat.com> - 2:3.1.0-0.2.rc1
|
||||||
|
- Disable RBD on 32-bit arches
|
||||||
|
|
||||||
|
* Thu Nov 15 2018 Cole Robinson <crobinso@redhat.com> - 2:3.1.0-0.1.rc1
|
||||||
|
- Rebase to qemu-3.1.0-rc1
|
||||||
|
|
||||||
|
* Wed Aug 15 2018 Cole Robinson <crobinso@redhat.com> - 2:3.0.0-1
|
||||||
|
- Rebase to qemu-3.0.0 GA
|
||||||
|
|
||||||
|
* Mon Aug 13 2018 Cole Robinson <crobinso@redhat.com> - 2:3.0.0-0.2.rc3
|
||||||
|
- Drop ksm package, moved to ksmtuned srpm
|
||||||
|
|
||||||
|
* Tue Jul 31 2018 Cole Robinson <crobinso@redhat.com> - 2:3.0.0-0.1.rc3
|
||||||
|
- Rebase to qemu-3.0.0-rc3
|
||||||
|
- Drop now unneeded s390x conf (bz #1609706)
|
||||||
|
- Only install modprobe kvm.conf on x86 (bz #1517989)
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Peter Robinson <pbrobinson@fedoraproject.org> 2:2.12.0-4
|
||||||
|
- Rebuild for Xen 4.11
|
||||||
|
|
||||||
|
* Mon Jun 18 2018 Daniel P. Berrangé <berrange@redhat.com> - 2:2.12.0-3
|
||||||
|
- New CPU features for speculative store bypass (CVE-2018-3639)
|
||||||
|
|
||||||
|
* Tue Jun 05 2018 Cole Robinson <crobinso@redhat.com> - 2:2.12.0-2
|
||||||
|
- Fix qxl memslot_get_virt crashes (bz #1565354)
|
||||||
|
|
||||||
* Mon Apr 30 2018 Cole Robinson <crobinso@redhat.com> - 2:2.12.0-1
|
* Mon Apr 30 2018 Cole Robinson <crobinso@redhat.com> - 2:2.12.0-1
|
||||||
- Update to qemu-2.12.0 GA
|
- Update to qemu-2.12.0 GA
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (qemu-2.12.0.tar.xz) = dda057c52cf5fe460b029448049266ace061d21fb5f1cf71a6a37f67b3b7fc3350f6712bf22803fc38fa91f0bd438896ba01b5817b3b94ba9b6925aeaae053b7
|
SHA512 (qemu-3.1.0.tar.xz) = 7e8dae823937cfac2f0c60406bd3bdcb89df40313dab2a4bed327d5198f7fcc68ac8b31e44692caa09299cc71256ee0b8c17e4f49f78ada8043d424f5daf82fe
|
||||||
|
Loading…
x
Reference in New Issue
Block a user