From patchwork Tue Mar 5 22:09:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 778054 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:47:b0:33e:474f:8c56 with SMTP id k7csp13502wrx; Tue, 5 Mar 2024 14:10:52 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWTO/ruEtSTuZ1t3ewXZf9PkBYh+xIhaH/2988a19H0PHwtxzHIW2SR6tni/O6nkxrR4kfRhovSdeM53EAQp50B X-Google-Smtp-Source: AGHT+IFD7CyIij4UqbaSuTgQ8+qJLFxgmuV7cWnxFn8X6n/aZ6AVn+sBcx0AfMODUEWy+y5/3I6/ X-Received: by 2002:a05:620a:22a3:b0:788:363e:8d08 with SMTP id p3-20020a05620a22a300b00788363e8d08mr3823192qkh.38.1709676652409; Tue, 05 Mar 2024 14:10:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1709676652; cv=none; d=google.com; s=arc-20160816; b=y6jU+1ww2q4TTkHX690DusEe3nQRPdLrTAokERfU2U3g2Hsc9h8V9lROvNi8Xjuufl kbD1tqphbPMI4Hx/wlTB/i2NR1m83BDAP0JfYUJ+bH9ni2ZY+/JeDMDf41rUxIrR7lWN TOsVPWKbKVRnaCWdDBsqFa7yzOG53x6flT91i/dILKko6Fzl/I6uA20vvnSYIGSuvoZf a1XTEpTpEJNaXPFkqcM5haV7sOutLA2ytflgixpZLPJOtSEgmCoW0RuMZeCDgjnIHkZ2 IFWh97/cNRKl8qwc220zBNBoMbFPdGwinXHQNbj9HlwQ2+gk9hAltb8nQuYEteirnSmC 56jw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=NA02dbuxxBM8ntdJrTwv09KJLy37CKMl6WZVwFBG2SM=; fh=kEGtYlwZYjtLG3jCDb1HHuODxHSfMXDTVnLVpt9tybw=; b=dKeZkGzBLFanSJhlcRcCq5JtXPCj1PWNALEGgMO48AZ/rAUMw/+oqvt/H9ZO6+0zw3 xEofJAWsgVsSD0G/Ci0hD1F++urgvCDjPJkKe1nWl9xm1HiYzPD/nnpsDstwzOw44JWR QWHKVQGh+lm1/P/I1lapJH3ASHBVgV1ivvQPkoi+tmXP8AuXqMMnqWKrXIXNNkxdNVFU j01ItW5NrTtHzLzPlKuDwsOd77gVkUVBFGu3xt2XpHeLcD3v0nz0iv1mviqi++ySL/xO 4LobhGmux01wGNa1nkLmSWF74aAeyOefoW+MYyNe4B10U98BQeSIEZwhNGyOrIU+VSas q1XQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=MoDVaA7F; 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=pass (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 wm1-20020a05620a580100b00788248a8818si6416389qkn.170.2024.03.05.14.10.52 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Mar 2024 14:10:52 -0800 (PST) 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=pass header.i=@linaro.org header.s=google header.b=MoDVaA7F; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rhcyp-00079U-W7; Tue, 05 Mar 2024 17:09:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rhcyo-00079K-Hd for qemu-devel@nongnu.org; Tue, 05 Mar 2024 17:09:46 -0500 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rhcym-0000jG-GW for qemu-devel@nongnu.org; Tue, 05 Mar 2024 17:09:46 -0500 Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-a3ed9cae56fso39457866b.1 for ; Tue, 05 Mar 2024 14:09:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1709676582; x=1710281382; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=NA02dbuxxBM8ntdJrTwv09KJLy37CKMl6WZVwFBG2SM=; b=MoDVaA7F6DmKHtez05wuYe2TYOUxAfiA+gfocGXLadGuGGuPkhrpgqhZ2+xFIlZTcL o3LNopuJU/bIU7ui0jx+zBDkBWmqJeio0ozbXuSq2irj3EKxZJK1hKDSXhhlORe9QoNL 3mxaZoX3BzaBaGBqTYiShXkXqkSeTRGCk1yaSBDJU62tad7NnOSSwtu0TFUT1haYXiLT xmXeMhOG0HmNFGh41b+5o1epNjry/iee6rX2VQVlP3ZYLiBGnFctK+N2u0xV/OoniAqV XGSEWXUvm2qZo8qndHcqeqzNJcLQa+vj2OkeqzejVyW//tJjzlQuJuh0xPXkyY2//STE OzQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709676582; x=1710281382; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=NA02dbuxxBM8ntdJrTwv09KJLy37CKMl6WZVwFBG2SM=; b=BAUNR+WhM111uoIapfNSHd1993g203TRT+iSi+ExXsuZebQVCduAiqmUjrTfgxlclh Rop2zRcJzRcHHUlf0fghzdwNLqxfQ4G1l+AnMOlZaw95mLLawz5qDjQ3hT4euxvb6FJa +U9Fnt+M4yC2W9Re8+8eiIFsIqjzzOe9O2cBa7FomnO05it4UIgW74Tevev2wmKaoKzF 4Njr9jh9bj40UiYtqxyYw45L0pnX5JAA5fHVeDjo7ZmHnuUOxmlVcR/KtEwxdKQm/B4N UA9Y06+ZYS+SA0ZG5qdmxjninS2G0Jp8aDsuqG1tCODQpExITuZlZuKGoUWkINOjb4w7 JKXA== X-Gm-Message-State: AOJu0YyYzL64Uqa3StEzuboXVuN8YhwOy3j0xbWOb/ngSJPjr6pAQ0Yq ap4x6HKPJBRcPIBfvY+rpTvCorhvMhxFc5i5r8Ot/ib2pXbF3oJDqDJ33xuZPSzUlAjkDV9snzY 0lMI= X-Received: by 2002:a17:906:b59:b0:a45:1ff5:9f3a with SMTP id v25-20020a1709060b5900b00a451ff59f3amr3970025ejg.33.1709676582100; Tue, 05 Mar 2024 14:09:42 -0800 (PST) Received: from m1x-phil.lan ([176.187.210.193]) by smtp.gmail.com with ESMTPSA id s7-20020a170906a18700b00a44ba5557c1sm4801965ejy.131.2024.03.05.14.09.40 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 05 Mar 2024 14:09:41 -0800 (PST) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Laurent Vivier , Markus Armbruster , Paolo Bonzini , Beraldo Leal , Eric Blake , Marcel Apfelbaum , =?utf-8?q?Alex_Benn=C3=A9e?= , Eduardo Habkost , =?utf-8?q?Marc-Andr=C3=A9_Lureau?= , =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= , Thomas Huth , Manos Pitsidianakis , Wainer dos Santos Moschetta , Michael Tokarev , Yanan Wang , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PATCH v4 0/2] target: New binary to prototype heterogeneous machines Date: Tue, 5 Mar 2024 23:09:36 +0100 Message-ID: <20240305220938.85410-1-philmd@linaro.org> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::62c; envelope-from=philmd@linaro.org; helo=mail-ej1-x62c.google.com 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, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org Since v3: - Rename binary (Manos, danpb, mjt, armbru) - Protect distros with complicated ./configure option (danpb) - Do not install (Manos) Since v2: - Run check-qtest instead of check-unit in CI (Alex) Almost 2 years later we got hundreds of cleanups patches merged, so we can get this patch in. Building the 'any' target has to be explictly requested in ./configure target-list argument. This binary will be use to rework QEMU startup code, paving the way toward dynamic machines. It might also allow experimenting with multiple TCG target frontends and possibly prototyping concurrent HW/SW accelerations. The corresponding CI jobs takes <3min!!! https://gitlab.com/philmd/qemu/-/jobs/6177909577 Duration: 2 minutes 50 seconds v1: https://lore.kernel.org/qemu-devel/20220215002658.60678-1-f4bug@amsat.org/ v2: https://lore.kernel.org/qemu-devel/20240209152945.25727-1-philmd@linaro.org/ Philippe Mathieu-Daudé (2): meson: Make qemu-system binary installation optional target: Add system emulation aiming to target any architecture configure | 6 ++++++ configs/devices/any-softmmu/default.mak | 9 +++++++++ configs/targets/any-softmmu.mak | 3 +++ meson.build | 25 ++++++++++++++++++------- qapi/machine.json | 2 +- include/sysemu/arch_init.h | 1 + target/any/cpu-param.h | 13 +++++++++++++ target/any/cpu-qom.h | 12 ++++++++++++ target/any/cpu.h | 24 ++++++++++++++++++++++++ .gitlab-ci.d/buildtest.yml | 21 +++++++++++++++++++++ hw/any/meson.build | 5 +++++ hw/meson.build | 1 + meson_options.txt | 3 +++ scripts/meson-buildoptions.sh | 5 +++++ target/Kconfig | 1 + target/any/Kconfig | 4 ++++ target/any/meson.build | 7 +++++++ target/meson.build | 1 + tests/qtest/meson.build | 6 +++++- 19 files changed, 140 insertions(+), 9 deletions(-) create mode 100644 configs/devices/any-softmmu/default.mak create mode 100644 configs/targets/any-softmmu.mak create mode 100644 target/any/cpu-param.h create mode 100644 target/any/cpu-qom.h create mode 100644 target/any/cpu.h create mode 100644 hw/any/meson.build create mode 100644 target/any/Kconfig create mode 100644 target/any/meson.build