From patchwork Sat Jul 11 17:07:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235294 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1464582ilg; Sat, 11 Jul 2020 10:07:51 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2RWMuy1KqBjmAHBUhXebiBlLYClopxRbsaAf0CSFfWWt8xRkXWYWYhDneq6W6fE+1Fa3N X-Received: by 2002:a25:73d7:: with SMTP id o206mr109744936ybc.99.1594487270953; Sat, 11 Jul 2020 10:07:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487270; cv=none; d=google.com; s=arc-20160816; b=Nq2qv6U36hr4uYEZH0fC7yuJYrIxrQ95uUAfODAUQ04CFgFsGh3AAT0rPqmcQIp17J jhrSbfbY54W1qkoSH552FJ4ieuubrNQJBGe7Q7Y4pU1S8nH1yfJtJsKXw82O/IZvIbfh 3IDJNV4Kf0RKGDBNK23Rbb5uRqxN4hwgBkSAiUJvS6HFGniEFVClDJeb+hwqaW9gbVnN +q+RCFjZWac6WrwOeymCtq8Fr2okEYXGtOw54mQvVKzcP/Hna/VTP9ljDaVb6srDeXnq bOWWNwRT6+qCg6YysIKcHS9pjyu/HW66vKZWxyFQoa9g/KgA9sWGTO7GKgj83/l7bPcr ETFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=geUpkH2ThEs8zqbxtFpdjObRhrd+cez0VcjEpzmTBhk=; b=o+7pyj+iQaz0+TUVd3EdGV+Eaido9DZaReBY6/zTGIMQsaHOdUJ+70bIJY7FgGK9TU 5cUQfHtC6PXLegZqXcUbkjvBlziyJNpUIv1tsTVc0E1fl4COJ8Kr+CL8BDQFRSC7eN7D dDMZBFSZSO/HCVH8wpsVm+sfhT4Ng2QIe6pdY7oM/UMEU+OnsQdyblQXyCSJEiTOqZ1D sKyTT+sRB3cSGsW7LrlrMzPVsjPsW6eMUtT0Ygzzjld58KFGjnzcwoyxDit6CGne2kdr FJlLy2Ox/oM0PvciUclwO7Fgmlg2FPyXVPfR5ktXxyu1PUEp2JwIxEEbOQJbNT47kd8v 4+Sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WJmgAS3s; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id g16si9396919ybk.54.2020.07.11.10.07.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:07:50 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=WJmgAS3s; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40464 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juIyc-0003NN-CG for patch@linaro.org; Sat, 11 Jul 2020 13:07:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33198) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyR-0003NF-9V for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:39 -0400 Received: from mail-wr1-x42a.google.com ([2a00:1450:4864:20::42a]:44530) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyP-0006hA-1k for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:39 -0400 Received: by mail-wr1-x42a.google.com with SMTP id b6so8968061wrs.11 for ; Sat, 11 Jul 2020 10:07:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=geUpkH2ThEs8zqbxtFpdjObRhrd+cez0VcjEpzmTBhk=; b=WJmgAS3sH3yZuIgGp3tBDoIbCOpxo7v65CqGxrZO0R0XTrQbvE+bx9mTUoMqqUXeYZ epShWfQeSvDp/UyOrD7Ca8vwJovvRdnWvN/v/ddG4501EjeMwu3ZuBL0bndqd0abYGqN DsWKx4vCxmLT8G7BoBIsEWUQ8rQfnH70w0Kn0LXORFy9Qq2AnuLpyudgX2DxykYdv3/K 1rar7SEY+RRu1Eq2gnyuqNxzSF9zvfef5UKkxZ4AbSdL957uGp0OXBTz9kzTraJp1PyO 3BPqAuiMlQf2UnjT4jGX0BTOgi9qZQVLA5Nqsnk+mSCwQw89KUo4/tgDRChzwrF4hslS IkZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=geUpkH2ThEs8zqbxtFpdjObRhrd+cez0VcjEpzmTBhk=; b=Mqo+qKGW2qZZsdm6LFXhSb3U3R2z1p1Qt6B8/iHe+TulMTWwcc1I9HS+HOek6LBLcq lGrLESZzRv33Ntnfa8aol1AsBZPXNFUesdeNmiTWGAX+1HNtQY4zQn5wFqXW3FS6Hai7 GpsE28d48rIyK7ZHgu9xCJSxfzoLE7RvPG6xFxDIadBnoROekkNJ6NYnVi357ztQxljr qPlFdHV++WJuSj1BT0cOn0/xDWgfFdEwhySsY7WgDCjZ/auIsA4idQL4XDCG5uhSSbBv wKfln+hrUKqwa1JTI6Fwdfv7KvfXQ202ujtaEEShJ5c0z3MjHgbN8z1z2Qe96tLltYjE mRQA== X-Gm-Message-State: AOAM5304T3vD/PAW5bjRcjtrlqBIMI63zr5dOYVg030dQyx7nuQ5xOFi kPs0UM4qa2RyeWtgzGjQ6oWN0w== X-Received: by 2002:adf:b312:: with SMTP id j18mr68408528wrd.195.1594487255446; Sat, 11 Jul 2020 10:07:35 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id h84sm15694997wme.22.2020.07.11.10.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:32 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 3A7FC1FF87; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 04/50] tests/vm: Add configuration to basevm.py Date: Sat, 11 Jul 2020 18:07:23 +0100 Message-Id: <20200711170732.26213-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42a; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42a.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , Robert Foley , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Peter Puhov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Robert Foley Added use of a configuration to tests/vm/basevm.py. The configuration provides parameters used to configure a VM. This allows for providing alternate configurations to the VM being created/launched. cpu, machine, memory, and NUMA configuration are all examples of configuration which we might want to vary on the VM being created or launched. This will for example allow for creating an aarch64 vm. Signed-off-by: Robert Foley Reviewed-by: Peter Puhov Reviewed-by: Alex Bennée Signed-off-by: Alex Bennée Message-Id: <20200601211421.1277-3-robert.foley@linaro.org> Message-Id: <20200701135652.1366-7-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/vm/basevm.py b/tests/vm/basevm.py index 5a58e6c393..5ae39ad113 100644 --- a/tests/vm/basevm.py +++ b/tests/vm/basevm.py @@ -29,16 +29,41 @@ import tempfile import shutil import multiprocessing import traceback - -SSH_KEY = open(os.path.join(os.path.dirname(__file__), - "..", "keys", "id_rsa")).read() -SSH_PUB_KEY = open(os.path.join(os.path.dirname(__file__), - "..", "keys", "id_rsa.pub")).read() - +import shlex + +SSH_KEY_FILE = os.path.join(os.path.dirname(__file__), + "..", "keys", "id_rsa") +SSH_PUB_KEY_FILE = os.path.join(os.path.dirname(__file__), + "..", "keys", "id_rsa.pub") + +# This is the standard configuration. +# Any or all of these can be overridden by +# passing in a config argument to the VM constructor. +DEFAULT_CONFIG = { + 'cpu' : "max", + 'machine' : 'pc', + 'guest_user' : "qemu", + 'guest_pass' : "qemupass", + 'root_pass' : "qemupass", + 'ssh_key_file' : SSH_KEY_FILE, + 'ssh_pub_key_file': SSH_PUB_KEY_FILE, + 'memory' : "4G", + 'extra_args' : [], + 'qemu_args' : "", + 'dns' : "", + 'ssh_port' : 0, + 'install_cmds' : "", + 'boot_dev_type' : "block", + 'ssh_timeout' : 1, +} +BOOT_DEVICE = { + 'block' : "-drive file={},if=none,id=drive0,cache=writeback "\ + "-device virtio-blk,drive=drive0,bootindex=0", + 'scsi' : "-device virtio-scsi-device,id=scsi "\ + "-drive file={},format=raw,if=none,id=hd0 "\ + "-device scsi-hd,drive=hd0,bootindex=0", +} class BaseVM(object): - GUEST_USER = "qemu" - GUEST_PASS = "qemupass" - ROOT_PASS = "qemupass" envvars = [ "https_proxy", @@ -57,25 +82,38 @@ class BaseVM(object): poweroff = "poweroff" # enable IPv6 networking ipv6 = True + # This is the timeout on the wait for console bytes. + socket_timeout = 120 # Scale up some timeouts under TCG. # 4 is arbitrary, but greater than 2, # since we found we need to wait more than twice as long. tcg_ssh_timeout_multiplier = 4 - def __init__(self, args): + def __init__(self, args, config=None): self._guest = None self._genisoimage = args.genisoimage self._build_path = args.build_path + # Allow input config to override defaults. + self._config = DEFAULT_CONFIG.copy() + if config != None: + self._config.update(config) + self.validate_ssh_keys() self._tmpdir = os.path.realpath(tempfile.mkdtemp(prefix="vm-test-", suffix=".tmp", dir=".")) atexit.register(shutil.rmtree, self._tmpdir) - - self._ssh_key_file = os.path.join(self._tmpdir, "id_rsa") - open(self._ssh_key_file, "w").write(SSH_KEY) - subprocess.check_call(["chmod", "600", self._ssh_key_file]) - - self._ssh_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub") - open(self._ssh_pub_key_file, "w").write(SSH_PUB_KEY) + # Copy the key files to a temporary directory. + # Also chmod the key file to agree with ssh requirements. + self._config['ssh_key'] = \ + open(self._config['ssh_key_file']).read().rstrip() + self._config['ssh_pub_key'] = \ + open(self._config['ssh_pub_key_file']).read().rstrip() + self._ssh_tmp_key_file = os.path.join(self._tmpdir, "id_rsa") + open(self._ssh_tmp_key_file, "w").write(self._config['ssh_key']) + subprocess.check_call(["chmod", "600", self._ssh_tmp_key_file]) + + self._ssh_tmp_pub_key_file = os.path.join(self._tmpdir, "id_rsa.pub") + open(self._ssh_tmp_pub_key_file, + "w").write(self._config['ssh_pub_key']) self.debug = args.debug self._stderr = sys.stderr @@ -84,11 +122,14 @@ class BaseVM(object): self._stdout = sys.stdout else: self._stdout = self._devnull + netdev = "user,id=vnet,hostfwd=:127.0.0.1:{}-:22" self._args = [ \ - "-nodefaults", "-m", "4G", - "-cpu", "max", - "-netdev", "user,id=vnet,hostfwd=:127.0.0.1:0-:22" + - (",ipv6=no" if not self.ipv6 else ""), + "-nodefaults", "-m", self._config['memory'], + "-cpu", self._config['cpu'], + "-netdev", + netdev.format(self._config['ssh_port']) + + (",ipv6=no" if not self.ipv6 else "") + + (",dns=" + self._config['dns'] if self._config['dns'] else ""), "-device", "virtio-net-pci,netdev=vnet", "-vnc", "127.0.0.1:0,to=20"] if args.jobs and args.jobs > 1: @@ -99,6 +140,55 @@ class BaseVM(object): logging.info("KVM not available, not using -enable-kvm") self._data_args = [] + if self._config['qemu_args'] != None: + qemu_args = self._config['qemu_args'] + qemu_args = qemu_args.replace('\n',' ').replace('\r','') + # shlex groups quoted arguments together + # we need this to keep the quoted args together for when + # the QEMU command is issued later. + args = shlex.split(qemu_args) + self._config['extra_args'] = [] + for arg in args: + if arg: + # Preserve quotes around arguments. + # shlex above takes them out, so add them in. + if " " in arg: + arg = '"{}"'.format(arg) + self._config['extra_args'].append(arg) + + def validate_ssh_keys(self): + """Check to see if the ssh key files exist.""" + if 'ssh_key_file' not in self._config or\ + not os.path.exists(self._config['ssh_key_file']): + raise Exception("ssh key file not found.") + if 'ssh_pub_key_file' not in self._config or\ + not os.path.exists(self._config['ssh_pub_key_file']): + raise Exception("ssh pub key file not found.") + + def wait_boot(self, wait_string=None): + """Wait for the standard string we expect + on completion of a normal boot. + The user can also choose to override with an + alternate string to wait for.""" + if wait_string is None: + if self.login_prompt is None: + raise Exception("self.login_prompt not defined") + wait_string = self.login_prompt + # Intentionally bump up the default timeout under TCG, + # since the console wait below takes longer. + timeout = self.socket_timeout + if not kvm_available(self.arch): + timeout *= 8 + self.console_init(timeout=timeout) + self.console_wait(wait_string) + + def __getattr__(self, name): + # Support direct access to config by key. + # for example, access self._config['cpu'] by self.cpu + if name.lower() in self._config.keys(): + return self._config[name.lower()] + return object.__getattribute__(self, name) + def _download_with_cache(self, url, sha256sum=None, sha512sum=None): def check_sha256sum(fname): if not sha256sum: @@ -130,8 +220,9 @@ class BaseVM(object): "-t", "-o", "StrictHostKeyChecking=no", "-o", "UserKnownHostsFile=" + os.devnull, - "-o", "ConnectTimeout=1", - "-p", self.ssh_port, "-i", self._ssh_key_file] + "-o", + "ConnectTimeout={}".format(self._config["ssh_timeout"]), + "-p", self.ssh_port, "-i", self._ssh_tmp_key_file] # If not in debug mode, set ssh to quiet mode to # avoid printing the results of commands. if not self.debug: @@ -180,14 +271,14 @@ class BaseVM(object): "virtio-blk,drive=%s,serial=%s,bootindex=1" % (name, name)] def boot(self, img, extra_args=[]): - args = self._args + [ - "-drive", "file=%s,if=none,id=drive0,cache=writeback" % img, - "-device", "virtio-blk,drive=drive0,bootindex=0"] - args += self._data_args + extra_args + boot_dev = BOOT_DEVICE[self._config['boot_dev_type']] + boot_params = boot_dev.format(img) + args = self._args + boot_params.split(' ') + args += self._data_args + extra_args + self._config['extra_args'] logging.debug("QEMU args: %s", " ".join(args)) qemu_path = get_qemu_path(self.arch, self._build_path) guest = QEMUMachine(binary=qemu_path, args=args) - guest.set_machine('pc') + guest.set_machine(self._config['machine']) guest.set_console() try: guest.launch() @@ -301,7 +392,8 @@ class BaseVM(object): self.console_send(command) def console_ssh_init(self, prompt, user, pw): - sshkey_cmd = "echo '%s' > .ssh/authorized_keys\n" % SSH_PUB_KEY.rstrip() + sshkey_cmd = "echo '%s' > .ssh/authorized_keys\n" \ + % self._config['ssh_pub_key'].rstrip() self.console_wait_send("login:", "%s\n" % user) self.console_wait_send("Password:", "%s\n" % pw) self.console_wait_send(prompt, "mkdir .ssh\n") @@ -360,23 +452,23 @@ class BaseVM(object): "local-hostname: {}-guest\n".format(name)]) mdata.close() udata = open(os.path.join(cidir, "user-data"), "w") - print("guest user:pw {}:{}".format(self.GUEST_USER, - self.GUEST_PASS)) + print("guest user:pw {}:{}".format(self._config['guest_user'], + self._config['guest_pass'])) udata.writelines(["#cloud-config\n", "chpasswd:\n", " list: |\n", - " root:%s\n" % self.ROOT_PASS, - " %s:%s\n" % (self.GUEST_USER, - self.GUEST_PASS), + " root:%s\n" % self._config['root_pass'], + " %s:%s\n" % (self._config['guest_user'], + self._config['guest_pass']), " expire: False\n", "users:\n", - " - name: %s\n" % self.GUEST_USER, + " - name: %s\n" % self._config['guest_user'], " sudo: ALL=(ALL) NOPASSWD:ALL\n", " ssh-authorized-keys:\n", - " - %s\n" % SSH_PUB_KEY, + " - %s\n" % self._config['ssh_pub_key'], " - name: root\n", " ssh-authorized-keys:\n", - " - %s\n" % SSH_PUB_KEY, + " - %s\n" % self._config['ssh_pub_key'], "locale: en_US.UTF-8\n"]) proxy = os.environ.get("http_proxy") if not proxy is None: @@ -447,15 +539,17 @@ def parse_args(vmcls): parser.disable_interspersed_args() return parser.parse_args() -def main(vmcls): +def main(vmcls, config=None): try: + if config == None: + config = DEFAULT_CONFIG args, argv = parse_args(vmcls) if not argv and not args.build_qemu and not args.build_image: print("Nothing to do?") return 1 logging.basicConfig(level=(logging.DEBUG if args.debug else logging.WARN)) - vm = vmcls(args) + vm = vmcls(args, config=config) if args.build_image: if os.path.exists(args.image) and not args.force: sys.stderr.writelines(["Image file exists: %s\n" % args.image, From patchwork Sat Jul 11 17:07:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235298 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1465501ilg; Sat, 11 Jul 2020 10:09:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8pgVSi4BNq3gpOQzPs/sWslvYaXxGbv8TQGOTuBzdjqlTgh11yuQ4gCYoMsFIeH4NxKaw X-Received: by 2002:a25:b127:: with SMTP id g39mr69569396ybj.426.1594487360539; Sat, 11 Jul 2020 10:09:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487360; cv=none; d=google.com; s=arc-20160816; b=Ko798tggLJO802c6zl8bZlAyfKVF6dCo+t34+6Ni3OYyjhur8coCclU5P/ZB0XyYEl uJsAuKzQleBuDhS1iheJIky9cI8WKdWNevJK8oL0+kO8GhS8F+H3JQ0G9RQ7oJT9DxQx STljoyMPvREgwP/p7ptsLhNS95zXSuiL2k/uxhz08EFVGAfdcv71kFu05Cnksia+jNY3 C+dWJngE0qHMAtCYX+IKmiFN9PZP1M1a+doGtJySBWhqhwuGLIWY9lOU4dJHOX+8Y3AM 9MX2mcUB16gVvmGrbVflb9OZx5PyG+RpL3QyQYbgur850njNvAU7gAboH6oOF2jAXHt0 AxeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=OO5QET4LtmEfAVYxPO2I8IFA0YsWV4r+MxTZRfSVWs0=; b=xq5HIFYTZ4xfUsHA0XoDaiPbFAQyVw38L+/XWqJZaC0jQik3+O6P5YTyi7NbLZ9Bg5 tO9pXBRrvSnfDxIHYlNMw8zq5PMaRwCf9kPvBMCuFVE3XYCDfZflduXlXlgHt8H1d0LV pzC/cW/1x0kNvmsKzUhAH6xdsaoBtduqctm3SioJ/iGdg6tdWZ+YKgqEWO0+MdV5CIbX GgXsfxQ95bbtDHzSNy4DBZuZv9vXURY8TVUklY2OZYelU5tf68gZyJz3jHlWqSxjXo1l W1neGKgRXI4bQjGTOPzDvQDXCusgAbreNO+F0e3LtHUMOHLCX8yaPjFxkralkx26g4g1 xqZA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=UNd4SAMg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id l131si8667378ybc.259.2020.07.11.10.09.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:09:20 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=UNd4SAMg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ04-0006iE-1O for patch@linaro.org; Sat, 11 Jul 2020 13:09:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33210) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyS-0003NM-8E for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:40 -0400 Received: from mail-wr1-x444.google.com ([2a00:1450:4864:20::444]:46581) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyQ-0006hI-Az for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:39 -0400 Received: by mail-wr1-x444.google.com with SMTP id r12so8945832wrj.13 for ; Sat, 11 Jul 2020 10:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=OO5QET4LtmEfAVYxPO2I8IFA0YsWV4r+MxTZRfSVWs0=; b=UNd4SAMgmNKE4lxa3rqbPw26qbXY7peJGpfCyPDQLTQHNgydfzOD0Tl/m3JBkKOJpc AdPq/quto9L4pFuWf/oQ8UH43vPadSywzZSrPWLbhpy+m7GA5OeJD+Rm5hyRVSsbllYl On2SizG4QZl4NZRe8Y2WEYiZ0UTC+5GwuEl2vCD25yt9grK2BsJoEx7O2lF6VgX5mp7D PRoPAZSRw4EPkPFW3pZuyckOqAbXQRmvYWEKo1PaGKJ4sOrU/wkEanEvGXT2TmRwpgo6 GnVmKI2roWaS05lBPZaXY4IkHqBCI4oL6erxC758i+VJKbqNemuUudAVao+lPHJ7D3N0 ke5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OO5QET4LtmEfAVYxPO2I8IFA0YsWV4r+MxTZRfSVWs0=; b=e82oE2qj8c9vUogXp77P2BW+cMPCKCaUQrVNfFBkCBC088TxGi+8yiHqFvlo6s0fUC fjSZsGDjiJKXlKMyahddWdad8H0lp7Pka3KABrF3NVF1WYpnuNmUwef42OJ4tFJkjYei jbhSIRdB9IM4Hqxa6L+zknwgAfw5Lph74LQ6nwpddwR8ue3XB1PZ8Zt0OtvDirMY6T0t pXwnsXfcjkLHInWU6UVIFCSg0i2e1dwGFQg9h89qsABTqrMbfAvBtvt2S1lxLrtZzzzV nChTLVTGdIl2PgPdPOyGCmMEAAma/m6V6CbXNpuLzorLcj0Q02SDE0uSzdHq8lIvh9bq A3HQ== X-Gm-Message-State: AOAM530FvCqADDgloURlsSiGqfzPVthEqz7Xm43cq7L+xsDKkPWf286P LeMh+gOHVYisytzMCtmOjot7aQ== X-Received: by 2002:adf:eec8:: with SMTP id a8mr73665988wrp.421.1594487256562; Sat, 11 Jul 2020 10:07:36 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id 65sm17571494wre.6.2020.07.11.10.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:32 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 514111FF8C; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 42/50] docs/devel: convert and update MTTCG design document Date: Sat, 11 Jul 2020 18:07:24 +0100 Message-Id: <20200711170732.26213-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::444; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x444.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Do a light conversion to .rst and clean-up some of the language at the start now MTTCG has been merged for a while. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Message-Id: <20200709141327.14631-2-alex.bennee@linaro.org> -- 2.20.1 diff --git a/docs/devel/index.rst b/docs/devel/index.rst index bb8238c5d6..4ecaea3643 100644 --- a/docs/devel/index.rst +++ b/docs/devel/index.rst @@ -23,6 +23,7 @@ Contents: decodetree secure-coding-practices tcg + multi-thread-tcg tcg-plugins bitops reset diff --git a/docs/devel/multi-thread-tcg.txt b/docs/devel/multi-thread-tcg.rst similarity index 90% rename from docs/devel/multi-thread-tcg.txt rename to docs/devel/multi-thread-tcg.rst index 3c85ac0eab..42158b77c7 100644 --- a/docs/devel/multi-thread-tcg.txt +++ b/docs/devel/multi-thread-tcg.rst @@ -1,15 +1,17 @@ -Copyright (c) 2015-2016 Linaro Ltd. +.. + Copyright (c) 2015-2020 Linaro Ltd. -This work is licensed under the terms of the GNU GPL, version 2 or -later. See the COPYING file in the top-level directory. + This work is licensed under the terms of the GNU GPL, version 2 or + later. See the COPYING file in the top-level directory. Introduction ============ -This document outlines the design for multi-threaded TCG system-mode -emulation. The current user-mode emulation mirrors the thread -structure of the translated executable. Some of the work will be -applicable to both system and linux-user emulation. +This document outlines the design for multi-threaded TCG (a.k.a MTTCG) +system-mode emulation. user-mode emulation has always mirrored the +thread structure of the translated executable although some of the +changes done for MTTCG system emulation have improved the stability of +linux-user emulation. The original system-mode TCG implementation was single threaded and dealt with multiple CPUs with simple round-robin scheduling. This @@ -21,9 +23,18 @@ vCPU Scheduling =============== We introduce a new running mode where each vCPU will run on its own -user-space thread. This will be enabled by default for all FE/BE -combinations that have had the required work done to support this -safely. +user-space thread. This is enabled by default for all FE/BE +combinations where the host memory model is able to accommodate the +guest (TCG_GUEST_DEFAULT_MO & ~TCG_TARGET_DEFAULT_MO is zero) and the +guest has had the required work done to support this safely +(TARGET_SUPPORTS_MTTCG). + +System emulation will fall back to the original round robin approach +if: + +* forced by --accel tcg,thread=single +* enabling --icount mode +* 64 bit guests on 32 bit hosts (TCG_OVERSIZED_GUEST) In the general case of running translated code there should be no inter-vCPU dependencies and all vCPUs should be able to run at full @@ -61,7 +72,9 @@ have their block-to-block jumps patched. Global TCG State ---------------- -### User-mode emulation +User-mode emulation +~~~~~~~~~~~~~~~~~~~ + We need to protect the entire code generation cycle including any post generation patching of the translated code. This also implies a shared translation buffer which contains code running on all cores. Any @@ -78,9 +91,11 @@ patching. Code generation is serialised with mmap_lock(). -### !User-mode emulation +!User-mode emulation +~~~~~~~~~~~~~~~~~~~~ + Each vCPU has its own TCG context and associated TCG region, thereby -requiring no locking. +requiring no locking during translation. Translation Blocks ------------------ @@ -92,6 +107,7 @@ including: - debugging operations (breakpoint insertion/removal) - some CPU helper functions + - linux-user spawning it's first thread This is done with the async_safe_run_on_cpu() mechanism to ensure all vCPUs are quiescent when changes are being made to shared global @@ -250,8 +266,10 @@ to enforce a particular ordering of memory operations from the point of view of external observers (e.g. another processor core). They can apply to any memory operations as well as just loads or stores. -The Linux kernel has an excellent write-up on the various forms of -memory barrier and the guarantees they can provide [1]. +The Linux kernel has an excellent `write-up +` +on the various forms of memory barrier and the guarantees they can +provide. Barriers are often wrapped around synchronisation primitives to provide explicit memory ordering semantics. However they can be used @@ -352,7 +370,3 @@ an exclusive lock which ensures all emulation is serialised. While the atomic helpers look good enough for now there may be a need to look at solutions that can more closely model the guest architectures semantics. - -========== - -[1] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/memory-barriers.txt From patchwork Sat Jul 11 17:07:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235297 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1464875ilg; Sat, 11 Jul 2020 10:08:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzaEMGc9lDVAID38Z9l448Qrpa/UACBBPivZsyRqvx7UaGLNtTgsZBpnw3NOVU1XrxZ39KQ X-Received: by 2002:a25:81c2:: with SMTP id n2mr97502098ybm.520.1594487298945; Sat, 11 Jul 2020 10:08:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487298; cv=none; d=google.com; s=arc-20160816; b=VRxETdX1pkoQNFSiIl39dwJqSKct4mruSiTx/CYC3PrsLYmL5f7CuZ69gvRcDHuMJk 4z0YZKqjjHOdcULLNtXxs18rGyQ/uxhVauKR7qRGqjGyhjTxorCf7EGZjzYTERBQDypE I9AVg5oPqEQap7wzvXjv0F1RD+wt68TS895H56U5WFpCIPC99DOJUWS/Qe51VziqMLn3 4ckS5A6zAF2Zp0UyVOOmdNJPoZMWi/yzNyqEA7qfn0You0nSNF8d95kFZFVvKgFpP3NU zZuvb8d36fuFxzbpHo6stJEawcHD4OVcmPZnYILyN2Cub6d2QUUc9Yif3ZwdQytpXcvU 6kpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=GlUgvngOZnRX3GgJ1xL0C8Uj1g/LwLg5JPDA/WlWH+w=; b=jYKxjbtwLb6yKGuWlkSwcam6uQHd89a1Uqw4ZgdcPYGa1mmY2MZSR1YcFfH/uUcxIM KLh03ds5rUOBi4FPkfSHtJGNDbNJqG0tMpIlpDQgBLA1/otaYf1SGnLSLgk8Nfwq1Yf/ vERxiqdO+GFB/jq6WPLYd/BRpasHQX3ksMqhgijBO80i0GCgY7MKsMxJQAokmLExNzCU 4Y7+hFNLIQXDQOA7dfqwtzb9V1JPJhY1ScXIzLQWEejE+s+lpvhykoLm7O6tCkhq0r6m 1U/rsexqkGHh9qKYpxesR9vmDVxzqcmb04NsAGI+DsHsFSfl2yI4ZvljhI6fkyzMY6GJ LMoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=RnPerTqm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id l12si12796163ybt.242.2020.07.11.10.08.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:08:18 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=RnPerTqm; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:40642 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juIz4-0003SW-8f for patch@linaro.org; Sat, 11 Jul 2020 13:08:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33216) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyS-0003OO-Ux for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:40 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]:37235) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyR-0006hO-0E for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:40 -0400 Received: by mail-wr1-x434.google.com with SMTP id a6so8983389wrm.4 for ; Sat, 11 Jul 2020 10:07:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GlUgvngOZnRX3GgJ1xL0C8Uj1g/LwLg5JPDA/WlWH+w=; b=RnPerTqm3aHrkXW+4VWK2Ac7jngKyC9bnsEq+1MloYKVxdzRnCoWWpyuHaFqy5SyXp Asg+dyXwdeptZ5C5JnPooDg5FHZWm+OseYqulHCpl7io/DxJCqczBvBTp7809XvNmu3V AZxf13OjpeZFTmE3RkXV5Sw8HkEfhh3ZawRm1egMzURdCk4Dfxy53w6bZBkSMRRusYE2 LAoQggCJtqXUG4Cs3aqNqwkjBHiqdfkjwHnX1xEcDn82/FChf6/I6DWApuONasXf8rN5 JPLT/r5fgYCebENoj1FoAP826+Z0V7VPmM1QtN4WmcnFdYlrGe//tUmFnHMfICzYHGpJ FMyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=GlUgvngOZnRX3GgJ1xL0C8Uj1g/LwLg5JPDA/WlWH+w=; b=oXx1qDZ4Stfu1DOzCwC6UO0mMNMEbKmmzwRgtwsTOyE1QsA7EoCN/QaNciEcU8mx6n Ch+gtpGV8j5me2iKjH11KWShBUqisjb/tOGVUQ109NyqOt1QGFgHoAThdgQtUtRZ9I9a p0j2KsI5ogB1WwMbQ8siflFY6tWRwlA8LJqc1/PTKD6MQQy3j2n+OjV2Ejt0zT30xMeR xIAlzALk/z3zavjnPGax9C6ZmNihUgpRw5gx5hfaf1uC6l1wKUkPjcU+Vpama/wU2biu igxht4vgh4ujFMBM9DALJbGBGhjVecs5t+aJGAkZujDiWfMhII/BYi3u+9W5zNM8kHAb 5kJg== X-Gm-Message-State: AOAM53067aa9aBjLOLs3fxN4T0nlSWlndV7Fz0CLWWV0NZXZc8Faar/G 8bUXLvmt/djXehmMpi5kEOwkLA== X-Received: by 2002:adf:c3c7:: with SMTP id d7mr70401426wrg.51.1594487257607; Sat, 11 Jul 2020 10:07:37 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id v12sm15239745wrt.31.2020.07.11.10.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:32 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 676101FF8F; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 43/50] docs/devel: add some notes on tcg-icount for developers Date: Sat, 11 Jul 2020 18:07:25 +0100 Message-Id: <20200711170732.26213-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x434.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Richard Henderson , =?utf-8?q?Alex_Benn?= =?utf-8?b?w6ll?= , qemu-devel@nongnu.org, Pavel Dovgalyuk , Paolo Bonzini Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This attempts to bring together my understanding of the requirements for icount behaviour into one reference document for our developer notes. Signed-off-by: Alex Bennée Reviewed-by: Richard Henderson Cc: Paolo Bonzini Cc: Pavel Dovgalyuk Cc: Peter Maydell Message-Id: <20200709141327.14631-3-alex.bennee@linaro.org> -- 2.20.1 diff --git a/docs/devel/index.rst b/docs/devel/index.rst index 4ecaea3643..ae6eac7c9c 100644 --- a/docs/devel/index.rst +++ b/docs/devel/index.rst @@ -23,6 +23,7 @@ Contents: decodetree secure-coding-practices tcg + tcg-icount multi-thread-tcg tcg-plugins bitops diff --git a/docs/devel/tcg-icount.rst b/docs/devel/tcg-icount.rst new file mode 100644 index 0000000000..8d67b6c076 --- /dev/null +++ b/docs/devel/tcg-icount.rst @@ -0,0 +1,97 @@ +.. + Copyright (c) 2020, Linaro Limited + Written by Alex Bennée + + +======================== +TCG Instruction Counting +======================== + +TCG has long supported a feature known as icount which allows for +instruction counting during execution. This should not be confused +with cycle accurate emulation - QEMU does not attempt to emulate how +long an instruction would take on real hardware. That is a job for +other more detailed (and slower) tools that simulate the rest of a +micro-architecture. + +This feature is only available for system emulation and is +incompatible with multi-threaded TCG. It can be used to better align +execution time with wall-clock time so a "slow" device doesn't run too +fast on modern hardware. It can also provides for a degree of +deterministic execution and is an essential part of the record/replay +support in QEMU. + +Core Concepts +============= + +At its heart icount is simply a count of executed instructions which +is stored in the TimersState of QEMU's timer sub-system. The number of +executed instructions can then be used to calculate QEMU_CLOCK_VIRTUAL +which represents the amount of elapsed time in the system since +execution started. Depending on the icount mode this may either be a +fixed number of ns per instruction or adjusted as execution continues +to keep wall clock time and virtual time in sync. + +To be able to calculate the number of executed instructions the +translator starts by allocating a budget of instructions to be +executed. The budget of instructions is limited by how long it will be +until the next timer will expire. We store this budget as part of a +vCPU icount_decr field which shared with the machinery for handling +cpu_exit(). The whole field is checked at the start of every +translated block and will cause a return to the outer loop to deal +with whatever caused the exit. + +In the case of icount, before the flag is checked we subtract the +number of instructions the translation block would execute. If this +would cause the instruction budget to go negative we exit the main +loop and regenerate a new translation block with exactly the right +number of instructions to take the budget to 0 meaning whatever timer +was due to expire will expire exactly when we exit the main run loop. + +Dealing with MMIO +----------------- + +While we can adjust the instruction budget for known events like timer +expiry we cannot do the same for MMIO. Every load/store we execute +might potentially trigger an I/O event, at which point we will need an +up to date and accurate reading of the icount number. + +To deal with this case, when an I/O access is made we: + + - restore un-executed instructions to the icount budget + - re-compile a single [1]_ instruction block for the current PC + - exit the cpu loop and execute the re-compiled block + +The new block is created with the CF_LAST_IO compile flag which +ensures the final instruction translation starts with a call to +gen_io_start() so we don't enter a perpetual loop constantly +recompiling a single instruction block. For translators using the +common translator_loop this is done automatically. + +.. [1] sometimes two instructions if dealing with delay slots + +Other I/O operations +-------------------- + +MMIO isn't the only type of operation for which we might need a +correct and accurate clock. IO port instructions and accesses to +system registers are the common examples here. These instructions have +to be handled by the individual translators which have the knowledge +of which operations are I/O operations. + +When the translator is handling an instruction of this kind: + +* it must call gen_io_start() if icount is enabled, at some + point before the generation of the code which actually does + the I/O, using a code fragment similar to: + +.. code:: c + + if (tb_cflags(s->base.tb) & CF_USE_ICOUNT) { + gen_io_start(); + } + +* it must end the TB immediately after this instruction + +Note that some older front-ends call a "gen_io_end()" function: +this is obsolete and should not be used. From patchwork Sat Jul 11 17:07:26 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235300 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1465689ilg; Sat, 11 Jul 2020 10:09:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxU35jLt+LJuUQblFnteIyJU4LjJlQyDbgGX5fLTaRr5EP+m5jbzdrTWy6LHzg4G26eL6AC X-Received: by 2002:a25:1689:: with SMTP id 131mr16428076ybw.519.1594487382085; Sat, 11 Jul 2020 10:09:42 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487382; cv=none; d=google.com; s=arc-20160816; b=z8H1o9BlNctnZyVu/lwqyFXP7jCeHHxRNVYwphqohGgTor3UWxefDQ6Xoerxnqao2D PMmATP22vWnl8B+X0609c7D3z1EfQpR6To7HQw+URhm5QeMryHRKcFxC/fdGpZNrU4Z4 /m3Z3mcguyesGKEEYfbosYt7IajhRpls0tetmK7hAzfwhR+Fn7p23NyDBQ9cbsK6iZnk NcwDZC1DDTaTMc7PMj6QDxSEc39HlwGsduA67MGN/ODFqw9kuyqMUvP3//VwB8mIzwTK jPv8ulmQDnPPI8b0mKV9EzgHicN+++s1SKwbbyeYGZHkrGz7XTpdcKgEvzulfTXmqCpe aM9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=QZgACP9mcgOL9A6hGvRHJisqOakSnkvmaCw7DGKHJB4=; b=BZ3NzwfNmz03CJa5ava0mKl3QLKLQnl9IyLZ0z4ik0E6YGFJKxp/vGB9e9cKd+tsbA /XhJGdIs3u8N66HmVEvIDAA+UccxLm/QMDZMXG4VGkXVc3HiRnlZaXEQMuvlaCl4hV2M KHsmD49oQ8HwNKtlE2y2H7uEDDkRo/pDsyUWajUjEXr9G+oCMkChE/cAmSRSJKMAB6J2 GE5yssDg/bTKvpH6xdFzEDUyrBr00adnBjhxwYjPuqTzsIOlX5whNV0krtaWB/fzexFH cjprzFTxWFOHUFFt7Gt8gVV/XxhHlRONTZSo8U7KClIp5IVASgTfGZX5UseuVfF4hC0Z i2jQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=ybIsQBRg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id u18si2164071ybd.357.2020.07.11.10.09.42 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:09:42 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=ybIsQBRg; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:48678 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ0P-0006iF-Ip for patch@linaro.org; Sat, 11 Jul 2020 13:09:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33226) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyU-0003Qs-8e for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:42 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:37237) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyS-0006hd-NL for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:41 -0400 Received: by mail-wr1-x436.google.com with SMTP id a6so8983416wrm.4 for ; Sat, 11 Jul 2020 10:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QZgACP9mcgOL9A6hGvRHJisqOakSnkvmaCw7DGKHJB4=; b=ybIsQBRgp71vot6Tcww53CagwK95DArefenBsVpoKA3c4qFUdhBEnMnYFusxgBZkB4 QxN+pQQo+qBoQFyVssUzbI56K4QNRg7aT+Qn73CjKKxt321K3pITpYPkL2QvbJgjZ09p wwDw0h2XNfFxItbBE/eVYzhMgd7TJEUYKbcahgWwXQMomvf+3LXTL+4UX8jPBe76m/U6 3DGCuJ/4iHkMRxf1oPQVk6ixp1c2rWvnvmL6/pg1hcq0SSnkdXgj5cXnyLsTgU8M/Vfy qRn0NIrHnaZ6ItRPIZT35lkiZTdVLBUEmx+Lcys0ILEj31wwLqXJgr5mgCxM91hAz/VR lfZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QZgACP9mcgOL9A6hGvRHJisqOakSnkvmaCw7DGKHJB4=; b=tj9rcnzS/88VHgaDb2ZhGeoIVJ16hEgna8CIszaeBp7XDuhLKOEOqenp0uvM0hm69t JLHVr/mk/T65qWP0uq3o6vB8RpSM0t7FyovkfJUMTES8e0X7m7H1KtK76TWOiy955KhJ wLGrad3YCGW9H4a9LOwvLFlSqFS6b2Ll9HVj5VhWf+ZUEeU20rTmczQAV5bRhExVKRzu AAEjFQ0pBCXXV7+UAROmWYusZroN7QrHAtVuU1oxhGM2c2snvOMoPgJet4dNEuCaQdte qx+B30eMzhjye8w+/xK43DR85rwlmwtyngDWIHCuhp9yY4rvqUXzyxgue90c/otbNjQz ADxw== X-Gm-Message-State: AOAM530gpaahRBrInI+IYG6vBn70RbW9yA8R7zCKCPqMpbCvXmAq+BeQ cWwHnrWziUpqrHWo/9H6ZXXAXQ== X-Received: by 2002:adf:e850:: with SMTP id d16mr75672889wrn.426.1594487259405; Sat, 11 Jul 2020 10:07:39 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id g144sm28904932wme.2.2020.07.11.10.07.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:36 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 7CF761FF90; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 44/50] docs: Add to gdbstub documentation the PhyMemMode Date: Sat, 11 Jul 2020 18:07:26 +0100 Message-Id: <20200711170732.26213-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Jon Doron Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Jon Doron The PhyMemMode gdb extension command was missing from the gdb.rst document. Signed-off-by: Jon Doron Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200601171609.1665397-1-arilou@gmail.com> Message-Id: <20200709141327.14631-4-alex.bennee@linaro.org> -- 2.20.1 diff --git a/docs/system/gdb.rst b/docs/system/gdb.rst index a40145fcf8..abda961e2b 100644 --- a/docs/system/gdb.rst +++ b/docs/system/gdb.rst @@ -87,3 +87,23 @@ three commands you can query and set the single step behavior: (gdb) maintenance packet Qqemu.sstep=0x5 sending: "qemu.sstep=0x5" received: "OK" + + +Another feature that QEMU gdbstub provides is to toggle the memory GDB +works with, by default GDB will show the current process memory respecting +the virtual address translation. + +If you want to examine/change the physical memory you can set the gdbstub +to work with the physical memory rather with the virtual one. + +The memory mode can be checked by sending the following command: + +``maintenance packet qqemu.PhyMemMode`` + This will return either 0 or 1, 1 indicates you are currently in the + physical memory mode. + +``maintenance packet Qqemu.PhyMemMode:1`` + This will change the memory mode to physical memory. + +``maintenance packet Qqemu.PhyMemMode:0`` + This will change it back to normal memory mode. From patchwork Sat Jul 11 17:07:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235302 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1466540ilg; Sat, 11 Jul 2020 10:11:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy2LOKO7LpzUpwS7qBvzTRqWZB8Qyp9b9ZIGmWvsjiV6cQ5utHIbu24jkcFDrbAMQQn8kLp X-Received: by 2002:a25:c606:: with SMTP id k6mr73586142ybf.0.1594487466513; Sat, 11 Jul 2020 10:11:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487466; cv=none; d=google.com; s=arc-20160816; b=eKc9yCelQhbIB7hhryOr4dUQocmN5gD/LtHLIJn6mDjNcyxqA4YIYVoM1GWpMpf7U7 1V8rD44mI3qIVgMmgQx5gYUbUxCuF+UgMoN8l54/yAFrokvmNFvFDFjGiMhufReaKclo ppEWp1sUniZm7pjs6XRlndAge7PmJyTc7TqwodE9uHRpzOFQroRDApmw7f9W0D0rei72 AJnBZHbkFbAoda7S8wetKBmDdBxZYXd53h3Pb7mXSjIiTkSnYjGZmqCFAH+RFJSY/Nuu MUHtw3s4OeWx3fw6bUXZuNo9y4jh/UQFN+BHJbolFCNXQJ8Y3xT9J7k0citqQbKjzcFs Emrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=E9CuosGjk9g394MPaOCwB+YyiSzHRQhNU7g8s+eLFcU=; b=sFsw/wPfDD2IymfZ98yudOKVkHcYGjB381Jrn2tSetAPREwsHXwZtzyc7Xvc6XIWMa 2BdD6zN+hGbnmt5lAAYJ5qAmdrD/F1VgFR64wR3SFJkWuQxoc9kWgtJjeVvM9lLkRapq Nk/eHFxz1rRFT/yNRyg+OlKG10vS1Z76oMAB5gCDJlGC9xZ0XQO0GPn6/PVsOYYMa3KI 3SOrSxFBNfZUNkRK9co3doKCkA+Q5qZdiLCUglK4UQfFHt+ibyFg0F9NdabwKkJypH1H v9bnBtSy2ZXrw5Am0ZH1TnnB1CAKRh8lQ1pYxm7I8EWAVHLsIlBQ5iMVc+QHdYhp79ie 1+fQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=FB5ldr8o; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id c5si8771972ybn.72.2020.07.11.10.11.06 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:11:06 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=FB5ldr8o; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:55836 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ1m-0001AW-2E for patch@linaro.org; Sat, 11 Jul 2020 13:11:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33244) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyW-0003Uq-3h for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:44 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:40540) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyU-0006ho-DU for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:43 -0400 Received: by mail-wm1-x344.google.com with SMTP id f139so8926268wmf.5 for ; Sat, 11 Jul 2020 10:07:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=E9CuosGjk9g394MPaOCwB+YyiSzHRQhNU7g8s+eLFcU=; b=FB5ldr8osz/TSX0u/QFjRhnpH0+caCl5rAhip61Uuth6uGTdVdVV6J4iewPPBbxaUc hpaVH52rzxRgCukPcmqICXXelHyibjwSr9EjORG/x9WIhYxgnM/x0N3B7lcu9VF5DpX5 76967JUM87Zy0YBfGtCNtQ0VgGTSpCdjrhbtyY/vUZJgSGA8/RmhZGvJPjPshNtSlarV MRzOxMgoShLkr4a5qRplWp6cZ1K+C/0tJe794U1Iee+vD8i5jJsBir4GPhTEVFuwzVfv VhFXiwpnKUXlO2twc8qaUutFNZcuXFxQXJCpKuM+C4GzXb65mqLR4NB+2g93FgCEfUFU n59Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E9CuosGjk9g394MPaOCwB+YyiSzHRQhNU7g8s+eLFcU=; b=NOCeISqLDKDKPmQc32MzLZO6oBgJhW6Ke11rgvFUHMitkupHLkeYhv1g214evrDQHz 2ACtE+Tu6CVhIjlORqc4kdtdv/RLKnohdNDwuYMK6c1v/pELz+6cBnZzvX9Ui9TKlvgb LxGRX9cRuqLjp2/PEGuD7r8Ja8fBMYDKRYAXEpvOm/YU83z1Hh9emDxwzOBnp6Y632ev b3hfD7N/RQnHyo0US98xqPmBNpHvGsc+MEJyKe2w6NwdSR4MUAWX1K7y7pS1gxUs/eS1 wwvSc7SHe11AhNx8plSi5I9exnSqmCB8xmQpGaFCd9xwvQyAzULAI9Esqgzy/FFcLz4d LnvA== X-Gm-Message-State: AOAM532hq09Ha75uUbovFC8g8kWT/wLB9vick0XtbaEOdNw57SxnU1EZ XJReH9x12JcFplmaagGlXd6NvA== X-Received: by 2002:a1c:6a13:: with SMTP id f19mr11473311wmc.106.1594487261113; Sat, 11 Jul 2020 10:07:41 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id a15sm17558674wrh.54.2020.07.11.10.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 91BF91FF91; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 45/50] tests/docker: fall back more gracefully when pull fails Date: Sat, 11 Jul 2020 18:07:27 +0100 Message-Id: <20200711170732.26213-6-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x344.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" I only spotted this in the small window between my testing with my registry while waiting for the gitlab PR to go in. As we pre-pull the registry image we know if that fails there isn't any point attempting to use the cache. Fall back to the way we used to do it at that point. Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Message-Id: <20200709141327.14631-12-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 9684f07bde..2d67bbd15a 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -306,13 +306,14 @@ class Docker(object): checksum = _text_checksum(_dockerfile_preprocess(dockerfile)) if registry is not None: - dockerfile = dockerfile.replace("FROM qemu/", - "FROM %s/qemu/" % - (registry)) # see if we can fetch a cache copy, may fail... pull_args = ["pull", "%s/%s" % (registry, tag)] - self._do(pull_args, quiet=quiet) - + if self._do(pull_args, quiet=quiet) == 0: + dockerfile = dockerfile.replace("FROM qemu/", + "FROM %s/qemu/" % + (registry)) + else: + registry = None tmp_df = tempfile.NamedTemporaryFile(mode="w+t", encoding='utf-8', From patchwork Sat Jul 11 17:07:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235303 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1467117ilg; Sat, 11 Jul 2020 10:12:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxc4A9OflbE/7DQj5U1R2aQnh9YX+Dvy5P3dy0A+O31TUR+oz5QG4otZnjZCtlBtG7gnGun X-Received: by 2002:a25:bbd2:: with SMTP id c18mr59938312ybk.495.1594487525855; Sat, 11 Jul 2020 10:12:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487525; cv=none; d=google.com; s=arc-20160816; b=zXdsBBg7IX0OjBUBQYwd1cUzjyvmPumcCFZNNNN07XMzcEGNj4Cr35ubzWSUwl+iGV qywv+Jf2qFKIVD6iDmY5SprlGtGbEAs2SmjYASkaRPhz69ugUpyxrAA3lZgEL4u02pb5 XEiiKvqCstpucddUNMUI/gG6LqoS+9fboe1LGt2WXnUD0Sk9QdQEkfLLViIB+Fra/9HC c1gdjTHKNp3x4TCaV2BFSVLVy/hzA7cv2Dqe+sHZfPoLA7d2sluIFdcQ6ZXJLYVGa5xE vwkqC1w8XA+fecmu2FCKozpthAtt3e32SRLc4iKowvXDxfW6+auw/sP9kzblnMT9zloT yVyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=hPhTqz5FqxPdoao+KBnHV5n1AZ1vgALGZMoVskPrMRs=; b=RXkWeqLMwoWpg5rJ/1OEWIJgizILqJVg4aDVWMKtLscOtqWLDsqvjY9b2pi66KWHfc uW1eQc+zQxH9coyVkoeN2sc+T02Q3LjmiarznyX78hWj3+Ip8M7LIXCvXbesYWB9qIsM hLUM4Edn7CWbIKCHOB01aYhoy4kuXEiijTbO0MW5udJVTTQO3G8P1TxxjywivSjlhRzC vZxBMchfw1TmdBS0TszKGhXBwvtUxCZOycdjVkV/iDQAKqdhmX7l07opkVS38JXks99Z 7N2ky9S/1KfzSfHm9etW3OYBvaqrIbkrN+6rLruxL9oPazmtP2oHx4r2wYBZC6Yy3qc2 iUmg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=h4ie+uru; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id 17si5657355ybf.206.2020.07.11.10.12.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:12:05 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=h4ie+uru; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:60310 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ2j-00032v-CD for patch@linaro.org; Sat, 11 Jul 2020 13:12:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyX-0003XQ-Bi for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:45 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:54762) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyV-0006hw-JC for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:45 -0400 Received: by mail-wm1-x336.google.com with SMTP id o8so9175267wmh.4 for ; Sat, 11 Jul 2020 10:07:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hPhTqz5FqxPdoao+KBnHV5n1AZ1vgALGZMoVskPrMRs=; b=h4ie+urup1BHAsTSD+wImw+6d8SO2ZceeoYnBQKzsP3vdFiflRGvgU2giLcag2ttJu F8L4kbsEEXasoeDht5XlBdx6W6WhDAfc07ELH7FrmJ5MYBcZK6zlmD7KDL+QyriokvLi 21z6LxqhWyd9raNbxQQkpn4pATk1cdcx2Q3/Q5zWx8tJ4i+XwFZuSfxnTkhaLYnu9YN9 WTe0+W/vl4IdgZC9s+9bpSOXvxtyDtfhggvGlUf2py0m84WaF0SbuN/xGkaf808cjTV3 9yubS56R1u6oNtu39DcnloCgPR7G/LNFoQnC5ki6+24/VcQiL4KMz/OulpWTZtC17OZ9 IQaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hPhTqz5FqxPdoao+KBnHV5n1AZ1vgALGZMoVskPrMRs=; b=JyXD9RNuLkXtc9gm6mO74eqS65wsHdt0L18Kl2TGs4qVCBjSpDU/ssKO7WdLJq4BsC frnSLCxDk1rryeB39nPFoGLNujQS1edX1L6etnqGiGFXmAQiE+jmZzkt/FdCIAUWAm6O 2YRMCYVGps99oUYrSkezm4n8AHN5wer+wZeXB8l2oFVJsKWljjSxXmuxQ2Xn8zwm3HPI Zg+w0t+H1WlZ7GQgpPA+hbcDERyMscdO/vCyTOYkcQI9ZmXCnr3El9zM+rNaKeZzZO4x 0GRHygHWXqDlmWW/dDKm9hTh68KixfdS5r8WIqGiSjLn0pv+XRJbo3X8Hyc/68lv6Teu PLGw== X-Gm-Message-State: AOAM532bGncDJWacAlWo8Ol2+ZVz3/2QbsBBoP9qXFn8c7+fD8PeCHju Ip95oaW5zOAHsltlJ30qidP+rA== X-Received: by 2002:a1c:48c5:: with SMTP id v188mr10552024wma.58.1594487262220; Sat, 11 Jul 2020 10:07:42 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id j6sm16042566wro.25.2020.07.11.10.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id A902C1FF92; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 46/50] tests/docker: update toolchain set in debian-xtensa-cross Date: Sat, 11 Jul 2020 18:07:28 +0100 Message-Id: <20200711170732.26213-7-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x336.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Fam Zheng , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= , Max Filippov , =?utf-8?q?Philippe_Mathieu-Daud?= =?utf-8?b?w6k=?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Max Filippov Switch to the prebuilt xtensa toolchains release 2020.07. Drop csp toolchain as the csp core is not a part of QEMU. Add de233_fpu and dsp3400 toolchains to enable DFPU and FPU2000 tests. Signed-off-by: Max Filippov Signed-off-by: Alex Bennée Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé [AJB: fix path in configure.sh] Signed-off-by: Alex Bennée Message-Id: <20200708082347.27318-1-jcmvbkbc@gmail.com> Message-Id: <20200709141327.14631-13-alex.bennee@linaro.org> -- 2.20.1 diff --git a/tests/docker/dockerfiles/debian-xtensa-cross.docker b/tests/docker/dockerfiles/debian-xtensa-cross.docker index beb73f46ba..ba4148299c 100644 --- a/tests/docker/dockerfiles/debian-xtensa-cross.docker +++ b/tests/docker/dockerfiles/debian-xtensa-cross.docker @@ -18,12 +18,12 @@ RUN apt-get update && \ git \ python3-minimal -ENV CPU_LIST csp dc232b dc233c -ENV TOOLCHAIN_RELEASE 2018.02 +ENV CPU_LIST dc232b dc233c de233_fpu dsp3400 +ENV TOOLCHAIN_RELEASE 2020.07 RUN for cpu in $CPU_LIST; do \ curl -#SL http://github.com/foss-xtensa/toolchain/releases/download/$TOOLCHAIN_RELEASE/x86_64-$TOOLCHAIN_RELEASE-xtensa-$cpu-elf.tar.gz \ | tar -xzC /opt; \ done -ENV PATH $PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-csp-elf/bin +ENV PATH $PATH:/opt/$TOOLCHAIN_RELEASE/xtensa-dc232b-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dc233c-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-de233_fpu-elf/bin:/opt/$TOOLCHAIN_RELEASE/xtensa-dsp3400-elf/bin diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh index 37e49736ca..102578caa5 100755 --- a/tests/tcg/configure.sh +++ b/tests/tcg/configure.sh @@ -182,7 +182,7 @@ for target in $target_list; do container_image=debian-xtensa-cross # default to the dc232b cpu - container_cross_cc=/opt/2018.02/xtensa-dc232b-elf/bin/xtensa-dc232b-elf-gcc + container_cross_cc=/opt/2020.07/xtensa-dc232b-elf/bin/xtensa-dc232b-elf-gcc ;; esac From patchwork Sat Jul 11 17:07:29 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235295 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1464684ilg; Sat, 11 Jul 2020 10:07:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzMzfsPyrdIKC9shkDCSWM9gLsq2svbryXbNIbVqzDDX9pIVlXT0B4e6YmQjS3ecjhdT3Y7 X-Received: by 2002:a25:aa2d:: with SMTP id s42mr61206016ybi.496.1594487279488; Sat, 11 Jul 2020 10:07:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487279; cv=none; d=google.com; s=arc-20160816; b=WXOSBF3i+KHeylIVB+Nuo/arPmVUbtG4jnXbgB37wFVqA6rwRSiVLxzZoVvXqXYrC4 rGkGdSINVtE8n0ghHFT94NBZVYnsy04uBeysCyuhGQTTOJDlBvVaktirrHmVsZEvrDBI Gxq1apbnm++AxHMsSUtPfrONRoFOri6Z2A1Q4lqMYsyoTSPB6nWvFc9k1j5FAofaiBup +9Yyqxs/M7KU1u1l4qYytHDtKA5pfGF+nFUgwuj2Fy/83Ao/vVcOkXfDuwD5AGSe7GGR Ga11388hrkXA5MNHP67b2qmMcugepHVUYywtI9ZYTTmaXSYwGqX3jTzDaiN+ByEle5Kj vQOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=P6PJzzzQNrSC5tAYpYn2kGTEbKawbCEqTeNv8SlAYQ0=; b=BxfBI/ptN3Nq97gksO/I7BADXPEbH0JU6x5GkCtYzjssvG8NTvTnaEy4qx5bvobZHV coA+WlVG5823hoeBKbOtWO2Ao7gVduV/OBjPCR4eekXHWweFEkBFgSZLVVjqrm5gtYym iXfpCYAodcl5Ha3ItWxRSX6QcLUAFAzM1B4EnMaCWyOrkXKxEy7nn2QzhoHEFtrAhSM5 6snZ8nfzt6iaMeWYqxbv5TDjr3u7ISm9HM1uVdagGCEnmACLunKAJ3F0JNSU+/Gr86zX IoU6jwCVdQT9ClhqME+EwHaY1oUc0N3+NH9b2YL/Xc3nnru1WNKOb4jg1I0yAzDwcuc1 9qyg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=RjpP83qd; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id n68si9068631ybf.148.2020.07.11.10.07.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:07:59 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=RjpP83qd; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:41070 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juIyk-0003dU-Or for patch@linaro.org; Sat, 11 Jul 2020 13:07:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33278) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyY-0003Zo-AS for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:46 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]:40718) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyW-0006i4-PI for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:46 -0400 Received: by mail-wm1-x333.google.com with SMTP id f139so8926323wmf.5 for ; Sat, 11 Jul 2020 10:07:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=P6PJzzzQNrSC5tAYpYn2kGTEbKawbCEqTeNv8SlAYQ0=; b=RjpP83qder6zD01uFcnQCzUjtlgSVBU+2ABDGdV+dfajSRdmgoqIMxGw88rK9HZ6pc fhmXA8jUz5GMRk8oFyanuBfmakKUK/JEAD6FgEWSNOtPWsk1G251d1/eqXGcgl3TjKIA vFs6H/9wT4EwOp9GAkJJuQiyPv42E3ChIVVx6bqCWmFYrbszfPGPXWd9qD2bejwn3RLG 1a8PU/JsctXq7TE6hAOoq7ic9U48lz1i9bu6dkt18HT8G91hroOUEWPgFxao0vIjCpfU fjLCXJM0VdAh387rM/ZzAS1U6MTIryzSLhzNoxOb1Iq7tUvKHIUVTNtk0YF2tipa120f 7+YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=P6PJzzzQNrSC5tAYpYn2kGTEbKawbCEqTeNv8SlAYQ0=; b=bNtLkm9N3K8xEuwOJzvxEpgp/1EjBrSJLMN7Y0NRcKEiN/VHjciRhK7OR6Qba2WmXR 63/uLRxA6srvtPNpsx/36aNwa3w7rlLHSjW1G1thI6DGxP8sxoeXBCdK9XP2MIBJbE+E HxYQQm7O/+6QgH21KeLOyCmr82siNfCoc2H/9Q6f5cBPKATII59snUXLDrE5wFmdoQUC S3cij0HquN35x/j8Dl4cVWWHJaaaTxy2fTcJUd/gcAaLzpXbmXbENWjn7Cw5mOhzUnyN 0R04TseZlHC+rFC20O+9N7n55BtwHlOYbJUuMCZWhPi78pYYQAVoE74AwiEb+3/i1lKG P6Pw== X-Gm-Message-State: AOAM530DaPdBhGWMMtDIkP+fZ2Fn+1Ef1GL/xxluMV2docBuBCPHVLPW kt2T9ewlAz5KsSL9VeXN1CFkcw== X-Received: by 2002:a05:600c:218f:: with SMTP id e15mr10399380wme.187.1594487263417; Sat, 11 Jul 2020 10:07:43 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id c206sm15510000wmf.36.2020.07.11.10.07.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id BEDE71FF93; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 47/50] .cirrus.yml: add bash to the brew packages Date: Sat, 11 Jul 2020 18:07:29 +0100 Message-Id: <20200711170732.26213-8-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x333.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ed Maste , Li-Wen Hsu , =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Max Reitz Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Like the sed we include earlier we want something more recent for iotests to work. Fixes: 57ee95ed Cc: Max Reitz Signed-off-by: Alex Bennée Message-Id: <20200710182238.10675-1-alex.bennee@linaro.org> -- 2.20.1 diff --git a/.cirrus.yml b/.cirrus.yml index 69342ae031..f287d23c5b 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -20,7 +20,7 @@ macos_task: osx_instance: image: mojave-base install_script: - - brew install pkg-config python gnu-sed glib pixman make sdl2 + - brew install pkg-config python gnu-sed glib pixman make sdl2 bash script: - mkdir build - cd build @@ -33,7 +33,7 @@ macos_xcode_task: # this is an alias for the latest Xcode image: mojave-xcode install_script: - - brew install pkg-config gnu-sed glib pixman make sdl2 + - brew install pkg-config gnu-sed glib pixman make sdl2 bash script: - mkdir build - cd build From patchwork Sat Jul 11 17:07:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235299 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1465546ilg; Sat, 11 Jul 2020 10:09:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxwpJvmSTQ+GgjNrYsR/1hjDH0pN7A0HoZEe6boaWY8i9LapKDSzXaSpLUf3niVyJbViXr4 X-Received: by 2002:a25:1008:: with SMTP id 8mr2731215ybq.237.1594487365756; Sat, 11 Jul 2020 10:09:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487365; cv=none; d=google.com; s=arc-20160816; b=R+Y7BKSz4zatxu/dfaPMy4TaWbynhwUtiJ+G+N7jbVgfIapCzHHDvIECndzZC4MPQB 10s9yNn5AK3w7cHN1L+B+7GUcSWR5LwO83eeK2/EHA7aX/J5HajycYnZ3XzS9MxJ2336 7T5lMpos5XIEzQkUiVo64v1Rb/taDpp7E4Cge9mUjqZs/Oc4H/+U1nZoxq0ajWg6eCvH PKGL72pw76Xdvehbx7lKaoXeU2LTuILoyEfbsm+whnPZnhfh14a14ot2D0mybfW1pagU kqngMt0aaKtF1Yu4KZnagKkh36vn/sCCE/Eq/92+0HtKvYIIPTfdJ3Ekoq6Kz8Qb1djR JONA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=Y5Y/xG6+n8aPwS0ktxj8u/ALjUogUq9BxYjunfv0mhM=; b=euzDgz/u4DhUXl5kR4beaTxoH6afN624Gko+wG4mLTSm+NU8TXRww4EJnEBoXDLNH1 D8cXqcdReZgWf57uP3KK8IscmsDXgB7nqDyRg7r+dgn5VrjfeEEjmbfbHcvhX5IwOG+4 CoWpExWCNs3NHYU4wz/94tPpU9AAVZ+4bNHqjMtBRf+8fZTTRsVTAskQoIZ15Zg7PEvC Y9Ne+000kiOgjn92xNeyqSGN3Mxzg2kQJu5lrH1Znum1C3vbZPxQH9U/9PA6LZGDBNrb ykn2Q6pYF46hptvOHk3HTM++Tbo1ylKWGim1DEOYOWuV2DWL6bA1BReIRIpeSsrdTSQy F7OA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=qX29BUqV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id e6si830400ybi.146.2020.07.11.10.09.25 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:09:25 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=qX29BUqV; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:49366 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ09-000709-AF for patch@linaro.org; Sat, 11 Jul 2020 13:09:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33290) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyZ-0003be-5b for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:47 -0400 Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]:37227) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyX-0006iB-L5 for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:46 -0400 Received: by mail-wr1-x42b.google.com with SMTP id a6so8983536wrm.4 for ; Sat, 11 Jul 2020 10:07:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Y5Y/xG6+n8aPwS0ktxj8u/ALjUogUq9BxYjunfv0mhM=; b=qX29BUqVf9EXuHAogC3T9QkifcXWXg8j74TR4kL6f4safv8eZqfAZGruR/dD1CDD5y IdBSCP79Cm8/isUt0WX7Iz6kkc4KyhBWRKD8reU5PsNGLnrwd3CgfBdfoUD7Y4JWh3h4 8TlGt7KAFE35l933YP0TLTlY3OQzWiMWKL1vDiXZxlq7Hp3IPeuh04sH4bYALeUQ3nh6 w6b1NYpMKvnsDNZ5YCv0osYjm+UrPv/SuQD6cVKOXaBqbCLViZhvLx3OZi8xQhsCz9bX yM17rMHPET8/b/u7rMqc8h9Lm++QAz7/TY/MPhqoG6zSqKp+ovtOj5D5YLL+FA+wZvTL 6tWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Y5Y/xG6+n8aPwS0ktxj8u/ALjUogUq9BxYjunfv0mhM=; b=CekxRinTG7Nt/SE1D+n+UG+XGsRSnLkdbkwwPWKDW7en0HWfDmkacOrz1AuJNJzLUd U/U6ry6hV9En11HlS6HJ0qHQVojS4hFkSPy49J9sU8ukRASiJqux6ErVztLmNGvQxrzW Zhr+OC3vLzQ1aPBb9FIxdnbjGF9yN1lXFr1vxczyXIHr/0Psb5/TH224Y18QSlPsKwFp nkPTAc/W5cGe9SuHIBg4AkH3flrNWENgzb8QSX6QbpxckN0HI3YwfjpWXyWrbqHXo8QD U5sPi2h6oJeD1JiSDpeWJZaWMmui+sRbjKO+wq8RERRN4a3gQC+6jN40HPr6/5rDQZ5k DwgQ== X-Gm-Message-State: AOAM532nadtjRw4Gw7z9eGknJVv0TxJK2ddovApzS61kU+mVelPQmBOk E0B9fE23PMiONbpGQVZiQZMPqQ== X-Received: by 2002:a5d:444e:: with SMTP id x14mr69454737wrr.279.1594487264268; Sat, 11 Jul 2020 10:07:44 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id k126sm15922244wme.17.2020.07.11.10.07.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:37 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id D40881FF96; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 48/50] tests: fix "make check-qtest" for modular builds Date: Sat, 11 Jul 2020 18:07:30 +0100 Message-Id: <20200711170732.26213-9-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x42b.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Laurent Vivier , Thomas Huth , qemu-devel@nongnu.org, Gerd Hoffmann , Paolo Bonzini , =?utf-8?q?Alex_Benn=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Gerd Hoffmann Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Message-Id: <20200710203652.9708-2-kraxel@redhat.com> -- 2.20.1 diff --git a/tests/qtest/Makefile.include b/tests/qtest/Makefile.include index 98af2c2d93..6a0276fd42 100644 --- a/tests/qtest/Makefile.include +++ b/tests/qtest/Makefile.include @@ -277,6 +277,7 @@ tests/qtest/tco-test$(EXESUF): tests/qtest/tco-test.o $(libqos-pc-obj-y) tests/qtest/virtio-ccw-test$(EXESUF): tests/qtest/virtio-ccw-test.o tests/qtest/display-vga-test$(EXESUF): tests/qtest/display-vga-test.o tests/qtest/qom-test$(EXESUF): tests/qtest/qom-test.o +tests/qtest/modules-test$(EXESUF): tests/qtest/modules-test.o tests/qtest/test-hmp$(EXESUF): tests/qtest/test-hmp.o tests/qtest/machine-none-test$(EXESUF): tests/qtest/machine-none-test.o tests/qtest/device-plug-test$(EXESUF): tests/qtest/device-plug-test.o From patchwork Sat Jul 11 17:07:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235304 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1467777ilg; Sat, 11 Jul 2020 10:13:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2ZeUe4OGlFMzU+/tieln+Lo+xitulk02rHM1DJEjaYovWt+xOdkNzZ83wAjt3P/ysd2M7 X-Received: by 2002:a25:4143:: with SMTP id o64mr39074291yba.226.1594487596443; Sat, 11 Jul 2020 10:13:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487596; cv=none; d=google.com; s=arc-20160816; b=bPmZlEmyPkfVn6DyDOFOh6h0YgchSLamunWrqv88CKxXvAi+D6C839IVTCHjydn/y8 h+fP+ZaqMnaTvZ6EFNq8LdEBF2DZPHCd14IyWhhBYBeM2P6PcC/j41jg2xE/hHbI7ixJ hgthTAYC48yEdDquHf5h1EtzWwFTNl6JSoLn2ro6eHl+6qVGLX4JJXOeV8BuKsTGqyMh joKCl60ia/2Fx2HuQV5R3N8bWct6kPpyD1+2sGn6nZ2FAu7YJsBTUBto5/iznH0DT2IL aAup+HF1BlnAqNS/WsfdpnhlhKIOj1E3kmHg8p46n5aexic8ZDJJ1ye9eqSzAT83TdmE 0J3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=x+AzDxkpTb7rSHxhkwf/D/VC9fOGKV8MMi1S7eP7yLg=; b=PJbI8eccEVmmgYXXLlDAN+QyTbeXj3cxlV3v/mkPwwouxO6GkYAg02Hkpdac5xukJn wN5kQXb7knmeHiHjrPt0KzlvfKUDDtiqNNdPOco5ruGS9WMZKdnEmL7sSzfMwIbb6m3F 4e3e4qHJSLE5ynWlKdTIb0M0ZXnYexB4KurZYnFNHTVWil6JxFS4m31OBH2U9NinffdJ 10oEJlrBZmsbcFjNMH0pOVxTz7q1E6/tRFX9a2Bl3BrWgDMIQdfKMHV4aQNDsWtuwLXg f6Tf3FDXuFVY909ogxU3HKpyOEWLV5iC136GYXp9fH/Hkzv5cAJgEOugApmyvpQpx3vp C6AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=b0ISBmmw; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id p3si8353368ybl.18.2020.07.11.10.13.16 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:13:16 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=b0ISBmmw; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:34196 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ3r-0003vL-Vp for patch@linaro.org; Sat, 11 Jul 2020 13:13:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33304) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIya-0003df-10 for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:48 -0400 Received: from mail-wr1-x436.google.com ([2a00:1450:4864:20::436]:42232) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyY-0006iJ-FF for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:47 -0400 Received: by mail-wr1-x436.google.com with SMTP id o11so8994954wrv.9 for ; Sat, 11 Jul 2020 10:07:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=x+AzDxkpTb7rSHxhkwf/D/VC9fOGKV8MMi1S7eP7yLg=; b=b0ISBmmwSLHrsPPL8Pgxic/FKa1pjNeLJAiyx9UMIUumR40K1+hRk+mDCTI02YdqUP BvwmQAVyLV/hGU5A9vnC/QcdpO+QDPDXgjWXCy6Fesi7BIJzSyL2CPNe/k6PTjYj299U PFOuu9fWX7bk7y0cDGVcw/Uy4ksxD9FmpTTpPgPsEsDbABAnxnW3719DUTtpXAPTwout oDIXee6bDZQjasYdC11N/XUNhIiF3cqj/lEKsihhWWhFbh2I88zxZ/bAQmeVP2k1sT0f uP/FiMeiUB0rHriAYeXz9kVfWDTQRIlj6kqHP20oTBrYHRWE1vWhFrL3oGS94U+tqOKT bv0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=x+AzDxkpTb7rSHxhkwf/D/VC9fOGKV8MMi1S7eP7yLg=; b=SdX2NRNXr8ZhRn6TA/9gjoBNkLpKokib0MTKHqrCv/1+VwBHhzO3ADsOO6C9fxz6vQ JfRiTh98J0G52f8ADj7mUhJCRH6SoTTWXvz1lBIl9g+xemPqEibTIhwCpes9gk0UjKmD tkvgJyqYZ3U7ed+EmXku9UXIgcUD6xUVvqC6ZpgLqgyKLhkMxxqoI9HHNF+avcO2SlXs RLbFqQh+pjl9r8ObwLS1ei7PEkrFrMoTNefW2GUWAnOeG1LjfzrFmmYvkekXpCA/tYPr VD72svGBqf0vBXmkfr/HZDOxG9U5XRE3rIKrTV0UokyVYX4/FPAp80py2NwCUMpBgO8z 5SGg== X-Gm-Message-State: AOAM531wf030wcUNOLTEgGvIABfFa4eHzBQGGr3ldIVwPRlwTMcjw00Z Pq9kbZkkU+MRFhsTqUQ9BuBZlg== X-Received: by 2002:a5d:60c7:: with SMTP id x7mr68124856wrt.138.1594487265195; Sat, 11 Jul 2020 10:07:45 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id i6sm3838854wrp.92.2020.07.11.10.07.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id EA7AA1FF98; Sat, 11 Jul 2020 18:07:32 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 49/50] Revert "vga: build virtio-gpu as module" Date: Sat, 11 Jul 2020 18:07:31 +0100 Message-Id: <20200711170732.26213-10-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::436; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x436.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?utf-8?q?Alex_Benn=C3=A9e?= , qemu-devel@nongnu.org, Gerd Hoffmann Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Gerd Hoffmann This reverts commit 8d5a24c83dba90b08ef163bbf166d6dfbad9019b. Compiling all virtio-gpu objects into a single module isn't a good plan because the individual objects have different CONFIG_* dependencies. Leads to module load failures on s390x due to vga support being disabled, which in turn breaks '-device virtio-gpu-device' (flagged by travis ci). So back to the drawing board for modular virtio-gpu ... Signed-off-by: Gerd Hoffmann Signed-off-by: Alex Bennée Message-Id: <20200710203652.9708-3-kraxel@redhat.com> -- 2.20.1 diff --git a/util/module.c b/util/module.c index 32b0547b82..90e9bd42c6 100644 --- a/util/module.c +++ b/util/module.c @@ -266,12 +266,6 @@ static struct { { "usb-redir", "hw-", "usb-redirect" }, { "qxl-vga", "hw-", "display-qxl" }, { "qxl", "hw-", "display-qxl" }, - { "virtio-gpu-device", "hw-", "display-virtio-gpu" }, - { "virtio-gpu-pci", "hw-", "display-virtio-gpu" }, - { "virtio-vga", "hw-", "display-virtio-gpu" }, - { "vhost-user-gpu-device", "hw-", "display-virtio-gpu" }, - { "vhost-user-gpu-pci", "hw-", "display-virtio-gpu" }, - { "vhost-user-vga", "hw-", "display-virtio-gpu" }, { "chardev-braille", "chardev-", "baum" }, }; diff --git a/hw/display/Makefile.objs b/hw/display/Makefile.objs index e907f3182b..d619594ad4 100644 --- a/hw/display/Makefile.objs +++ b/hw/display/Makefile.objs @@ -49,19 +49,16 @@ common-obj-m += qxl.mo qxl.mo-objs = qxl.o qxl-logger.o qxl-render.o endif -ifeq ($(CONFIG_VIRTIO_GPU),y) -common-obj-m += virtio-gpu.mo -virtio-gpu-obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o -virtio-gpu-obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o -virtio-gpu-obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o -virtio-gpu-obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o -virtio-gpu-obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o -virtio-gpu-obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o -virtio-gpu.mo-objs := $(virtio-gpu-obj-y) -virtio-gpu.mo-cflags := $(VIRGL_CFLAGS) -virtio-gpu.mo-libs := $(VIRGL_LIBS) -endif - +common-obj-$(CONFIG_VIRTIO_GPU) += virtio-gpu-base.o virtio-gpu.o virtio-gpu-3d.o +common-obj-$(CONFIG_VHOST_USER_GPU) += vhost-user-gpu.o +common-obj-$(call land,$(CONFIG_VIRTIO_GPU),$(CONFIG_VIRTIO_PCI)) += virtio-gpu-pci.o +common-obj-$(call land,$(CONFIG_VHOST_USER_GPU),$(CONFIG_VIRTIO_PCI)) += vhost-user-gpu-pci.o +common-obj-$(CONFIG_VIRTIO_VGA) += virtio-vga.o +common-obj-$(CONFIG_VHOST_USER_VGA) += vhost-user-vga.o +virtio-gpu.o-cflags := $(VIRGL_CFLAGS) +virtio-gpu.o-libs += $(VIRGL_LIBS) +virtio-gpu-3d.o-cflags := $(VIRGL_CFLAGS) +virtio-gpu-3d.o-libs += $(VIRGL_LIBS) common-obj-$(CONFIG_DPCD) += dpcd.o common-obj-$(CONFIG_XLNX_ZYNQMP_ARM) += xlnx_dp.o From patchwork Sat Jul 11 17:07:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 235301 Delivered-To: patch@linaro.org Received: by 2002:a92:d244:0:0:0:0:0 with SMTP id v4csp1466525ilg; Sat, 11 Jul 2020 10:11:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzk6mIHMMWo44JWrljSCfwZCLF3r3Ao0pT0j8/4rz2IaZsLi5NRw5jPceZvmVgTGwqUn3bA X-Received: by 2002:a25:850b:: with SMTP id w11mr115543258ybk.291.1594487465382; Sat, 11 Jul 2020 10:11:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594487465; cv=none; d=google.com; s=arc-20160816; b=rHVbJnX34xxK+V/yj2w8WlcGsMGadIiiCGEQGZRmEyDFtHBB3Uu2zfy7t40W37gD2s wxHteWInR4chscOgu2uaAXZSkrwT3spHGSCuo0xgukb8EVhIrj1zxJ+0pQtXmyyKLwt+ w5zNueUTtvcTVsGOO82cOsKBRxu5ltHrBfZp4L+J77n2MmwiRdSGsYa4rXEVxVXCbiUo H0o7CoFrbC45ikSQWKXFTroA+patYdnfiVMYWWz0uPQ1xwTFm5a6GjhqsV8bd/s8DQ9Q G6/C9F0Zsh433yvHiFIMzHyx+1/Ry6Xs/BHoaAUrb0IQwB+WDt2Za5hThX005fw633/Y BtWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:to:from :dkim-signature; bh=N9pWgPRrMQtmlCPNVCa0u01plYw7J8rYdGK8hUoBrLA=; b=V1Z5orcmghc4RIoDDCeDIwPFJlBSUBHKnwzjBp8MVhgjZ/1R0NQG/qPItBTBGhdaRY a/TC4tRJsKtVSbCIe0PTNIRUovfjozmMqRMf+/dVQuvw4m7GipXyOrOoXhdmfkAePCrv vclB4kdfDB+2wMsanTLijmBF3IwbguivzcD7GRGKGG7VameyjDUDvIhascr0V68k5JoP kpqhQXuSK37clv9c+TdAIR4o4gGaNeseINRnZeQnfRyxor0bWyKV8KHGzwBJrBHU2SN1 EHa+/yTc3pXevOkNqcVVaOyccqsixKprhb7zb1v7QlU5Uhc1qXa15ycrKJfkTg6B0inI czhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=SiA8FQ4q; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id h188si8653146ybh.300.2020.07.11.10.11.05 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sat, 11 Jul 2020 10:11:05 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=SiA8FQ4q; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:55760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1juJ1k-000193-Sj for patch@linaro.org; Sat, 11 Jul 2020 13:11:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:33334) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1juIyc-0003kT-IS for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:50 -0400 Received: from mail-wr1-x430.google.com ([2a00:1450:4864:20::430]:36136) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1juIyZ-0006iS-Kn for qemu-devel@nongnu.org; Sat, 11 Jul 2020 13:07:50 -0400 Received: by mail-wr1-x430.google.com with SMTP id k6so8996901wrn.3 for ; Sat, 11 Jul 2020 10:07:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=N9pWgPRrMQtmlCPNVCa0u01plYw7J8rYdGK8hUoBrLA=; b=SiA8FQ4qychO1UKKOn0LczdZciGJd+vb8zXIdbUHid0Lwat5lccNZkA7/ctx1C0Si4 CJIzwLJzpos7TFStuEkgVo52vzH1FI02QzjOWHa/ZHsIZb5B1WVqMjrKsC/SUGkSW+p3 EIA85HPmr9Xed3tSY5vuRISEMQB5b/EYGHqbE6KT48nWpd76Rhr1TRXQaIWFJfZXF4Ut e8UC3GSsc8QlUc86vRtAx0plT8R1VpOEoGCSX8KkS+Z0TWw0ChLf5rIZofyGmBHZqC7x C7drqewhgZXF5En5xzrZljPsn7sum53ZCXokdx8aFrrA0wNLnl8TgpYrBn1CqcVzTIlP kNzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=N9pWgPRrMQtmlCPNVCa0u01plYw7J8rYdGK8hUoBrLA=; b=dXo3lX8qTZgt/jc6rWpD+6B2oTfNkF7s/Vu62xuukLpkcBrRfieXFaHXXr9uW7f37g 8h+EirrCYXc+jONzKB7ukj3br55wPITtZN/BQIksw7Q/QE/waUBRXtABWUgJhPEvn1Li jLFZVY3M729waUGV2a3ImQMhpo/EqnY+R4AjI0xyt8EDFb/U/duOgCT4U5spPLQvf+85 Q/ymFuCj2OPWHqtvRXFpSEfEBbgqqg4PwQ10CFNuoyHaFQyWBgGH4EfMODBTKaLd/H8Z IVb5kNBxi8zh8+SbBImE8Hc1SaFmpqb3uyzmCFXeMIac1QAoDpJLOmgJ63ombwW3bLHU H/JA== X-Gm-Message-State: AOAM532M7qt0Sqj/wpiLJixfd9vW1elTgIV630EdVALh6hGekzJFzkvk m4YtLPg5PUfugGTRW8dT0BCbDQ== X-Received: by 2002:a05:6000:1cf:: with SMTP id t15mr78356432wrx.180.1594487266306; Sat, 11 Jul 2020 10:07:46 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id m16sm16930795wro.0.2020.07.11.10.07.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 11 Jul 2020 10:07:39 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 0BAB91FF99; Sat, 11 Jul 2020 18:07:33 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: peter.maydell@linaro.org Subject: [PULL v2 50/50] iotests: Set LC_ALL=C for sort Date: Sat, 11 Jul 2020 18:07:32 +0100 Message-Id: <20200711170732.26213-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200711170732.26213-1-alex.bennee@linaro.org> References: <20200711170732.26213-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::430; envelope-from=alex.bennee@linaro.org; helo=mail-wr1-x430.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Kevin Wolf , "open list:Block layer core" , qemu-devel@nongnu.org, Max Reitz , John Snow , =?utf-8?q?Alex_Ben?= =?utf-8?q?n=C3=A9e?= Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" From: Max Reitz Otherwise the result is basically unpredictable. (Note that the precise environment variable to control sorting order is LC_COLLATE, but LC_ALL overrides LC_COLLATE, and we do not want the sorting order to be messed up if LC_ALL is set in the environment.) Reported-by: John Snow Signed-off-by: Max Reitz Reviewed-by: Eric Blake Signed-off-by: Alex Bennée Message-Id: <20200710163253.381630-3-mreitz@redhat.com> -- 2.20.1 diff --git a/tests/qemu-iotests/common.filter b/tests/qemu-iotests/common.filter index d967adc59a..c9f978abce 100644 --- a/tests/qemu-iotests/common.filter +++ b/tests/qemu-iotests/common.filter @@ -186,7 +186,7 @@ _filter_img_create() -e 's/^\(data_file\)/3-\1/' \ -e 's/^\(encryption\)/4-\1/' \ -e 's/^\(preallocation\)/8-\1/' \ - | sort \ + | LC_ALL=C sort \ | $SED -e 's/^[0-9]-//' \ | tr '\n\0' ' \n' \ | $SED -e 's/^ *$//' -e 's/ *$//'