From patchwork Sat Mar 15 14:25:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 14018044 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 76D43C28B28 for ; Sat, 15 Mar 2025 14:28:11 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ttSUC-0005RA-Ld; Sat, 15 Mar 2025 10:27:36 -0400 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 1ttSTz-0005NS-Ph for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:27 -0400 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ttSTx-0003of-C6 for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:23 -0400 Received: by mail-wm1-x336.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so3979995e9.1 for ; Sat, 15 Mar 2025 07:27:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1742048838; x=1742653638; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=scYAFHQt+yZLnJPuXsDZJw8jiztjZtxUpNqeXfeVN2s=; b=bAWnFepQ293569oD4k7tgXaOYTMM/w78cDPqJigle5KUO7bFgT0e0pcXVnfnyd/Aqp I3qM2v7mKilPnGZ7/K3Kd4AVcIRo47CjXMg8QPAZz6ugtqRdYKVud7Pj+yAgBim5+zap 2Y7kBVEoJrnJqXCysIYdoSRn8c4bikwWaBLHA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742048838; x=1742653638; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=scYAFHQt+yZLnJPuXsDZJw8jiztjZtxUpNqeXfeVN2s=; b=ulIiagk9Cd1Ten8wr9q4IbL1gGRSMH7BU7Yb89D+HlRBhuNfLegylbTzZmVDUBn9bK Xq99AJxq2c4w114hTLenaUQCXj9UkD+ETac9GhRpVmoVqIWT+dK3Dt7NQrWTiZmi5k6F vD+y+clGj2GxHFnnHUZWYHkMctvz+O8C5UX2qKovNLIABRRUfxO4PDJLuu9QYgNPvS5G Rvs8R/Q8mrJbxsjEv2CYkwq1P+2ULeMxpxRowGb7BHWB0RYYSeN0mVAsnbrcPGevJCaK sw/oeS6cey6jTUz+EUL+PwV2t8gzH4ghfpv3s6KA6jzeXZ0ZnPT0ACBLOVdYLSW06cHG F3zQ== X-Forwarded-Encrypted: i=1; AJvYcCU/d6OMclukCIRngBVV2Sz3faYM6dUpwFSNXGme52zQZ+/qaVbHgKkF3gegrrbPG/UW2XLoyPH3jp8c@nongnu.org X-Gm-Message-State: AOJu0Yx4ntxmg78A29/yU+VFS92sFpBg4HFSM+/dGqYhSew+70dS1WqY Vz3ImpiOhbyGQAKDURbxFVkjaPNRN2nkPaHdv+nixGlGQWg8xBRIvhYzC49MNg== X-Gm-Gg: ASbGncu4CUbX49S1oAj0eBBZdMB91YqGmYzQ1Dp4tJQSS56nFJwGsGWZiTQ4kPZREJc iJq+F8iV//FZu8zLS7MbemY+Izoxv4bZGFDJjU+yR0WZc51nJzUgjZGfp9f+9CxkuZnW8eAf/Be WmsWt9POqd7q7Hvq0myJFERyiwio62ezj9fmm+Ha/hqXicV82zBlBZTEaceFz+Dh9qgzmNrLDID 5Y5toND64IZUHKThw4LhH1myThY+rqh2TucX4zfJ7hR4v4/R01LkJHqAAwhXvj3QMVDKahRApsj SlU3NrXLRTdpiwP4RT9Ijo5FbyTa7Al7ZbmBQYVe9A== X-Google-Smtp-Source: AGHT+IEUCaKWAXmD2dNfZFSctlqBx4wImhFblMcdOlpmkUTq5sOMZbTFX+xqYzEO3A7bzTBWlWcLtA== X-Received: by 2002:a05:600c:3c9e:b0:43d:8ea:8d7a with SMTP id 5b1f17b1804b1-43d1ecd2a18mr75871985e9.28.1742048838153; Sat, 15 Mar 2025 07:27:18 -0700 (PDT) Received: from chromium.org ([169.155.233.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d1fe29386sm52105055e9.17.2025.03.15.07.27.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Mar 2025 07:27:17 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Bin Meng , Simon Glass , Tom Rini , qemu-devel@nongnu.org Subject: [PATCH v5 04/46] x86: qemu: Switch to bochs display Date: Sat, 15 Mar 2025 14:25:24 +0000 Message-ID: <20250315142643.2600605-5-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250315142643.2600605-1-sjg@chromium.org> References: <20250315142643.2600605-1-sjg@chromium.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::336; envelope-from=sjg@chromium.org; helo=mail-wm1-x336.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, DKIMWL_WL_HIGH=-0.001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The vesa display is widely used on hardware, but it is a bit of a pain with QEMU. It requires executing option ROMs, which either doesn't work with kvm, or is difficult to do in a kvm/QEMU-friendly way. THe bochs display is probably better anyway, so switch to that. It works fine with kvm as it doesn't need an option ROM. Signed-off-by: Simon Glass Fixes: https://source.denx.de/u-boot/custodians/u-boot-dm/-/issues/31 --- (no changes since v2) Changes in v2: - Redo commit message configs/qemu-x86_64_defconfig | 5 ++--- configs/qemu-x86_defconfig | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig index af275e8ce8f..ff2a192ee7d 100644 --- a/configs/qemu-x86_64_defconfig +++ b/configs/qemu-x86_64_defconfig @@ -83,9 +83,8 @@ CONFIG_SYS_NS16550_PORT_MAPPED=y CONFIG_SPI=y CONFIG_USB_KEYBOARD=y CONFIG_CONSOLE_TRUETYPE=y -CONFIG_FRAMEBUFFER_SET_VESA_MODE=y -CONFIG_FRAMEBUFFER_VESA_MODE_USER=y -CONFIG_FRAMEBUFFER_VESA_MODE=0x144 +CONFIG_VIDEO_BOCHS=y +# CONFIG_VIDEO_VESA is not set CONFIG_CONSOLE_SCROLL_LINES=5 CONFIG_SPL_VIDEO=y # CONFIG_SPL_USE_TINY_PRINTF is not set diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig index 0b0e10c795f..ee5b150e062 100644 --- a/configs/qemu-x86_defconfig +++ b/configs/qemu-x86_defconfig @@ -62,9 +62,8 @@ CONFIG_SYS_NS16550_PORT_MAPPED=y CONFIG_SPI=y CONFIG_USB_KEYBOARD=y CONFIG_CONSOLE_TRUETYPE=y -CONFIG_FRAMEBUFFER_SET_VESA_MODE=y -CONFIG_FRAMEBUFFER_VESA_MODE_USER=y -CONFIG_FRAMEBUFFER_VESA_MODE=0x144 +CONFIG_VIDEO_BOCHS=y +# CONFIG_VIDEO_VESA is not set CONFIG_CONSOLE_SCROLL_LINES=5 CONFIG_GENERATE_ACPI_TABLE=y # CONFIG_GZIP is not set From patchwork Sat Mar 15 14:25:25 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 14018045 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4F5A5C28B30 for ; Sat, 15 Mar 2025 14:28:17 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ttSUA-0005Q6-3o; Sat, 15 Mar 2025 10:27:34 -0400 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 1ttSU1-0005Nq-GG for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:27 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ttSTy-0003ok-Cg for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:23 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43d0618746bso4407415e9.2 for ; Sat, 15 Mar 2025 07:27:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1742048840; x=1742653640; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UBXnQzSJkDrutDwfAQ4rGuJkH23aeovCFlYOdDvXid8=; b=SAdtfvxb+yWIaeSH8r6horw3QPxasI9m6TKNDkee1hQqXQO6TmrkZ6GcTMClt4d7xz Jd3VE0jcYnm0cL96/7+Waad0nb6wzmhG7b2xXwbbO4VSLBSzyP7c1vY3iy1oZ1yXeSPS Bmb6cpbQU5raXQwgbMtSIulg9YCqppjZxVFFw= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742048840; x=1742653640; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UBXnQzSJkDrutDwfAQ4rGuJkH23aeovCFlYOdDvXid8=; b=JwF7J0HTYckf/MU/l/i8O5h1STKbPiT+jZ57bkNrxN8ImQ0e9rdc2gA+mJTGJ+P3fR BNp94oI6/IU05Az+9vabJWtwTBB8lth9Ta/A2TVXofSCUyK5vkcJpiMpI0MWhFQVlYrV VfcHdYfyraZVsCjd+tnOWxtHwNYc4XwAaOybQrCQ9/wbZcghr4kNNB6smrqtn8TQlgQ3 9RC+GnPN2TXcwISQC8VoKnuzG0INdNDAbbDEPQxJDpOzlgTmvPdGd8NaF8LcS3Yl2Sjw aC3ldP63Z/dyCx2j9bS6Fz6FhRqt4zeqs/tuUL4cq0U1eV7x2AbT5tbfTn+4KsJecyPN PSyw== X-Forwarded-Encrypted: i=1; AJvYcCWgKqXL49i8OUH1T9Lspo7GSQjGSlUPY7RWrXZTDVBNlcLCoSexYjAOBOOOIfm0zx3Hoi5aaVwhh1fy@nongnu.org X-Gm-Message-State: AOJu0Yz4jlmULKLFyxP5tvaGCCFfBI7ScvIG7+YtNrFBuiU02yIVirZs Frv5aiYFvJAaSduNndlF4gohjPnLpT7zNfC9HP50E78cwSJz3opOR2EVnyU6Zs4E5iRv4fMmoYw yew== X-Gm-Gg: ASbGnctBRt9eIKAIiHsf3UK+q8PRdXsc0iBiNAH8mXZDFgMOtvGWicu12oNGaTtCVpj 14w6g+M0bPW94ubhB9ICoiNBR+yGAMRu1JHik2BpSz5RzY0n+/G6w/SgS/TzsUwppQ4S4bU/rEF cE/W2D9/tETBpSAn8UoucYA9qcvUMNQgRdpGdXBV44zEqri0slot6L2PR/GAq3fZJwJJLb4dBeu 7CBaVEYCJBAseRhC4jjJ7+XZP+RN9y0LkfrAyoZssaQBkuVo/MKPOqKjdXuhTGvf7y83v69rE0m c/8V6H4V8aDycJWTJZpVzbw9U8MhvofmTtuSD7qpcx1qSe6qMq2G X-Google-Smtp-Source: AGHT+IH/HdP6BEy1WTT5a2X08eIirw3HQmbDV3BPB+Jy3jjVkY3LBdM6hR0iTikuybrv4UsVaxCdHQ== X-Received: by 2002:a05:600c:41d3:b0:43c:f689:dd with SMTP id 5b1f17b1804b1-43d20e467c7mr64663245e9.19.1742048840180; Sat, 15 Mar 2025 07:27:20 -0700 (PDT) Received: from chromium.org ([169.155.233.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d1fe29386sm52105055e9.17.2025.03.15.07.27.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Mar 2025 07:27:19 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Bin Meng , Simon Glass , Tom Rini , qemu-devel@nongnu.org Subject: [PATCH v5 05/46] x86: qemu: Enable dhrystone Date: Sat, 15 Mar 2025 14:25:25 +0000 Message-ID: <20250315142643.2600605-6-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250315142643.2600605-1-sjg@chromium.org> References: <20250315142643.2600605-1-sjg@chromium.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=sjg@chromium.org; helo=mail-wm1-x330.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, DKIMWL_WL_HIGH=-0.001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Provide the 'dhry' command, which helps to check that kvm is being used properly with QEMU. Signed-off-by: Simon Glass --- (no changes since v1) configs/qemu-x86_64_defconfig | 1 + configs/qemu-x86_defconfig | 1 + 2 files changed, 2 insertions(+) diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig index ff2a192ee7d..84b7dc8e99f 100644 --- a/configs/qemu-x86_64_defconfig +++ b/configs/qemu-x86_64_defconfig @@ -89,4 +89,5 @@ CONFIG_CONSOLE_SCROLL_LINES=5 CONFIG_SPL_VIDEO=y # CONFIG_SPL_USE_TINY_PRINTF is not set CONFIG_GENERATE_ACPI_TABLE=y +CONFIG_CMD_DHRYSTONE=y # CONFIG_GZIP is not set diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig index ee5b150e062..d52afa42955 100644 --- a/configs/qemu-x86_defconfig +++ b/configs/qemu-x86_defconfig @@ -66,4 +66,5 @@ CONFIG_VIDEO_BOCHS=y # CONFIG_VIDEO_VESA is not set CONFIG_CONSOLE_SCROLL_LINES=5 CONFIG_GENERATE_ACPI_TABLE=y +CONFIG_CMD_DHRYSTONE=y # CONFIG_GZIP is not set From patchwork Sat Mar 15 14:25:26 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 14018042 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 865CEC28B28 for ; Sat, 15 Mar 2025 14:27:48 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ttSU8-0005Pf-QP; Sat, 15 Mar 2025 10:27:32 -0400 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 1ttSU2-0005OM-Rj for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:27 -0400 Received: from mail-wm1-x32e.google.com ([2a00:1450:4864:20::32e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ttSU1-0003p7-4t for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:27:26 -0400 Received: by mail-wm1-x32e.google.com with SMTP id 5b1f17b1804b1-43d0359b1fcso3699765e9.0 for ; Sat, 15 Mar 2025 07:27:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1742048842; x=1742653642; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=aSH50K2JoZy3b57Ten2+Yq1o4INV7m/qW+7NuVpQc3U=; b=oR5fyK/RXv36z/735yS0fIm0JdZzZZgGlFV/CkdVgYqlJ8RTQ4MM+i4I5uaRdbjOn+ yyTof5lh6vUiqYsR7L5iMRnzgYAFyNS3Vc+EQFaNw8QfZYwEgkzbAksrSmuh1yE8hQfX hDn05CCJuvnil1rGrPXkZYKQ8JY96CX7bcDKg= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742048842; x=1742653642; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aSH50K2JoZy3b57Ten2+Yq1o4INV7m/qW+7NuVpQc3U=; b=vHFMqMtjxZ2Vd1elXkou3juvZZ1/g0wjabchrYg4NWn07Psm0nS1BSBm8PMUHjJeGF MD1RSiQQD11XsOKw6YGMXTljJFx/Oj2XEDodo4PJO4SwtZntTaOgdW3T7U7HAEBSLrmT 6iWkPjSc0O5r9BC7ceo9zLFXAjtqY1ShbwK5TH1CO446XUOWpQiQ4ibPXwfMVI7WfdIm 3Jlo9vrK2rQ3ZFucPdz95vlUwGDOQOMyx4LI5AH/gIinrOtXPH5ehJoRY036VHzPlemH MtMSOyQEfuTFTJUilvmv3gCVAXLqnT/qRC3MiKpl/6xQnK6cgrgOwQnUHslfMu8dGGGb Ebkg== X-Forwarded-Encrypted: i=1; AJvYcCW2hqvHTeuRU6pgTuTIOakUA3WrCrIJtFK9jUUYSZ2sOYEXQ6EE791yEXiVsF4ADKSdrZCtQuuTgGmU@nongnu.org X-Gm-Message-State: AOJu0YzYPgWX14zPIvGqAwAgXZMzVqIJdQ+UPQxu7xVAqdTRLAyCxfSX fBPCOT7FQNwr3Mk8kCfGv9HoQ6oIdWp4brgUqLjJUuQoHwt6op065+DhMFqRAMalAwhdnH7xK2j dvA== X-Gm-Gg: ASbGncv3Zolh8SPPUpH3XQaHGEmmf+fqs4ENul/bZEiPJdr0jW5DPGDODTIsSoILRyC qglvg0/jZ7JlW+wYVkCYUtyssfHS++ZpCjsu22eKo6ktlshDTNNGir/IdHFlj4pJDkedYV7ND0g 2V6gWF7n+LPNAC6TWmJQZAjAHBy5Nm9l2yTQZy/37kWaN1F31UVn6XWeAClBvk+6Qu+GHNI8pxE fsxttUZGHIy/Bmp9F+s6xau5cw9qltgf19wJEckuv5KmYt2YqrrVwX2SbjH5hWY0Dan5QDWwRka ZY5hfB5ruZhbZZ40gKVeHtggQzgQPrYW4iQaG/lYZg== X-Google-Smtp-Source: AGHT+IGQFKxTe9uUhW69L/A1IKrS1GeD6w9nXe1sPPJUaJMkVEXu7Qea37LPcLLKzb6JIV2El1doTQ== X-Received: by 2002:a05:600c:6b09:b0:43c:f680:5c2e with SMTP id 5b1f17b1804b1-43d180cef19mr124533465e9.13.1742048842173; Sat, 15 Mar 2025 07:27:22 -0700 (PDT) Received: from chromium.org ([169.155.233.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d1fe29386sm52105055e9.17.2025.03.15.07.27.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Mar 2025 07:27:21 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Bin Meng , Simon Glass , Andy Shevchenko , Tom Rini , qemu-devel@nongnu.org Subject: [PATCH v5 06/46] x86: qemu: Avoid accessing BSS too early Date: Sat, 15 Mar 2025 14:25:26 +0000 Message-ID: <20250315142643.2600605-7-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250315142643.2600605-1-sjg@chromium.org> References: <20250315142643.2600605-1-sjg@chromium.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32e; envelope-from=sjg@chromium.org; helo=mail-wm1-x32e.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, DKIMWL_WL_HIGH=-0.001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org BSS is placed in DRAM which is actually available early with QEMU. But it is cleared by the init sequence, so values stored there are lost. Move the system-type flag into a function, instead. Signed-off-by: Simon Glass --- (no changes since v1) arch/x86/cpu/qemu/qemu.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/arch/x86/cpu/qemu/qemu.c b/arch/x86/cpu/qemu/qemu.c index 563f63e2bc8..e846ccd44aa 100644 --- a/arch/x86/cpu/qemu/qemu.c +++ b/arch/x86/cpu/qemu/qemu.c @@ -15,14 +15,21 @@ #include #include -static bool i440fx; - #if CONFIG_IS_ENABLED(QFW_PIO) U_BOOT_DRVINFO(x86_qfw_pio) = { .name = "qfw_pio", }; #endif +static bool is_i440fx(void) +{ + u16 device; + + pci_read_config16(PCI_BDF(0, 0, 0), PCI_DEVICE_ID, &device); + + return device == PCI_DEVICE_ID_INTEL_82441; +} + static void enable_pm_piix(void) { u8 en; @@ -50,16 +57,17 @@ static void enable_pm_ich9(void) void qemu_chipset_init(void) { - u16 device, xbcs; + bool i440fx; + u16 xbcs; int pam, i; + i440fx = is_i440fx(); + /* * i440FX and Q35 chipset have different PAM register offset, but with * the same bitfield layout. Here we determine the offset based on its * PCI device ID. */ - pci_read_config16(PCI_BDF(0, 0, 0), PCI_DEVICE_ID, &device); - i440fx = (device == PCI_DEVICE_ID_INTEL_82441); pam = i440fx ? I440FX_PAM : Q35_PAM; /* @@ -123,7 +131,7 @@ int mp_determine_pci_dstirq(int bus, int dev, int func, int pirq) { u8 irq; - if (i440fx) { + if (is_i440fx()) { /* * Not like most x86 platforms, the PIRQ[A-D] on PIIX3 are not * connected to I/O APIC INTPIN#16-19. Instead they are routed From patchwork Sat Mar 15 14:25:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 14018046 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1E197C28B28 for ; Sat, 15 Mar 2025 14:28:23 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ttSUo-0006oC-5w; Sat, 15 Mar 2025 10:28:14 -0400 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 1ttSUl-0006dr-K6 for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:28:11 -0400 Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ttSUk-0003xc-0P for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:28:11 -0400 Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-43d0782d787so4389645e9.0 for ; Sat, 15 Mar 2025 07:28:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1742048888; x=1742653688; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=YBw5RnVhttKdF2Qo8bwI9+KLvnZSt3HCKA4Su8eQKxU=; b=cMlgGDk0wZtzt5Q7DLBPOqeWTs6sYXwosapwmHczrC0G4C7KitGaRx6Dnnc/R49YkM BZy+xJ+/YPOOOIh2YUUdGoHSzA1WcY9BrgOQC2xQmFw9oSQmJ9x+2yJlEgYQodJRdQgZ LB1C5rw7RIS4je53+f1LSb1iFBSeC/yEOqrAE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742048888; x=1742653688; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YBw5RnVhttKdF2Qo8bwI9+KLvnZSt3HCKA4Su8eQKxU=; b=ZP+QLvEHTPDfclOVdN11zyOZQWr164+nDhbxtF7Hoyv52p6FuFTWmGDUKohU4RwmtT woPuZfYnqx7r7nd2CtZhxxZM8MHgw+af2NP3HSun1o8sbSj49aUUs+ZUKWxY5IU70uTr Q0YU0/z7paOOsqT3Qk8LC0GSnL8w0vyYmXcBAHAlCIF9sNFagXZ08KyJSe4Z/ClDKz2m xDceTfRJ98Obkti8HWpHQ0T0VdioquEm1s0t9tlS9MC5kP5Ckh2MwaxqnJtvYeWJfMV4 6oEGcuWZfW4KB/hatRHl3fJh1P+ESsRea0LY27Bu5yyWU0hEzGt2/BLJqvk8T0B8HUK5 ilDQ== X-Forwarded-Encrypted: i=1; AJvYcCVJo+hibFEJkSiaddWpd3PbF1N4LmQ+0FglWi2iZ/2Nop2BMRHofQV6YrQu+0e9093qQmYfjNapXAAG@nongnu.org X-Gm-Message-State: AOJu0Yxpv84X+NdlIV+cI2l+bwkBdeNWIo7Qcu9hff4ArYvb15reHBEd YH0gn4yvxDXXt5bmZdvyvZAZgEU59JpAy+D2/KpGcEYHBJkJ+BbLkazyb8ncfA== X-Gm-Gg: ASbGncvACT9VCtLnrYEIGNWdZqTLkzsfOCpm+P+qRVvKDAwy4SEkOYB3E0x8HVGo7PT JRxUnIKkcl3YxFiWSz5spHHpXgnEi54NaF+qc1agXQBWguM9mLMGimCraNYKDQe+ll644m0qe9L 4nIz9N23bND5BXVkaKogvX9teFOwU3tGGFKLz+ACObQfAPbSgJqLOgnl9DYMDjVcwE6/7GfyHk8 JP1axEL+WJPaCrgxmOUT8wO77YwaEDWoGNwKhrZU5xuR25ClSwjvRFXAyINQa68+H/S0SRpWMLe 37T3P/Iz60WjCSP1XwIUOooIqYJHDR0/du5NtVZQGQ== X-Google-Smtp-Source: AGHT+IGu9fj3IB/3JJZSuGapRjOiDGUdzhm6XhlWU53ITcgn2d0W/XgrpVYSlW+dk1imD/Us4n+VhQ== X-Received: by 2002:a05:600c:510f:b0:43d:aed:f7de with SMTP id 5b1f17b1804b1-43d1ece301amr72592455e9.21.1742048888257; Sat, 15 Mar 2025 07:28:08 -0700 (PDT) Received: from chromium.org ([169.155.233.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d1fe29386sm52105055e9.17.2025.03.15.07.28.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Mar 2025 07:28:07 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Bin Meng , Simon Glass , Tom Rini , qemu-devel@nongnu.org Subject: [PATCH v5 28/46] x86: qemu: Support environment and cat command Date: Sat, 15 Mar 2025 14:25:48 +0000 Message-ID: <20250315142643.2600605-29-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250315142643.2600605-1-sjg@chromium.org> References: <20250315142643.2600605-1-sjg@chromium.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=sjg@chromium.org; helo=mail-wm1-x331.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, DKIMWL_WL_HIGH=-0.001, 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, UPPERCASE_50_75=0.008 autolearn=no 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+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Add support for an environment stored in the first partition of the disk, which is assumed to hold a FAT filesystem. Support the 'cat' command as it is useful for looking at extlinux.conf files. Signed-off-by: Simon Glass --- (no changes since v1) configs/qemu-x86_64_defconfig | 6 ++++-- configs/qemu-x86_defconfig | 4 ++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig index 84b7dc8e99f..ae34cc2a6f8 100644 --- a/configs/qemu-x86_64_defconfig +++ b/configs/qemu-x86_64_defconfig @@ -41,9 +41,7 @@ CONFIG_SPL_NO_BSS_LIMIT=y CONFIG_SPL_BOARD_INIT=y CONFIG_SPL_SYS_MALLOC_SIMPLE=y CONFIG_SPL_CPU=y -CONFIG_SPL_ENV_SUPPORT=y CONFIG_SPL_DM_SPI_FLASH=y -CONFIG_SPL_NET=y CONFIG_SPL_PCI=y CONFIG_SPL_PCH=y CONFIG_SPL_RTC=y @@ -54,6 +52,7 @@ CONFIG_CMD_MEM_SEARCH=y CONFIG_CMD_IDE=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y +CONFIG_CMD_CAT=y # CONFIG_CMD_SETEXPR is not set CONFIG_BOOTP_BOOTFILESIZE=y CONFIG_CMD_EFIDEBUG=y @@ -61,6 +60,9 @@ CONFIG_CMD_TIME=y CONFIG_CMD_BOOTSTAGE=y CONFIG_CMD_EXT4_WRITE=y CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_FAT_INTERFACE="virtio" +CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_USE_BOOTFILE=y CONFIG_BOOTFILE="bzImage" diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig index d52afa42955..7afa3827e61 100644 --- a/configs/qemu-x86_defconfig +++ b/configs/qemu-x86_defconfig @@ -34,6 +34,7 @@ CONFIG_CMD_MEM_SEARCH=y CONFIG_CMD_IDE=y CONFIG_CMD_SPI=y CONFIG_CMD_USB=y +CONFIG_CMD_CAT=y # CONFIG_CMD_SETEXPR is not set CONFIG_BOOTP_BOOTFILESIZE=y CONFIG_CMD_EFIDEBUG=y @@ -42,6 +43,9 @@ CONFIG_CMD_BOOTSTAGE=y CONFIG_CMD_EXT4_WRITE=y CONFIG_MAC_PARTITION=y CONFIG_ENV_OVERWRITE=y +CONFIG_ENV_IS_IN_FAT=y +CONFIG_ENV_FAT_INTERFACE="virtio" +CONFIG_ENV_FAT_DEVICE_AND_PART="0:1" CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_USE_BOOTFILE=y CONFIG_BOOTFILE="bzImage" From patchwork Sat Mar 15 14:25:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 14018047 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6F2CEC28B28 for ; Sat, 15 Mar 2025 14:28:31 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ttSV2-0007bH-0n; Sat, 15 Mar 2025 10:28:28 -0400 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 1ttSUz-0007QZ-87 for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:28:25 -0400 Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ttSUx-00040a-4t for qemu-devel@nongnu.org; Sat, 15 Mar 2025 10:28:24 -0400 Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-43cf0d787eeso7020995e9.3 for ; Sat, 15 Mar 2025 07:28:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1742048901; x=1742653701; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=pEe7q4w3SeigGu9Yyevoz5YHH/txq64uIVifPcLXvEQ=; b=cBpSD3Hl1aBDcX0lxl7PBhvyeOmY13Z7eA2KU1yzifj4/dqFHXX5IFQ6eIkqH484yF HxqsSMotRy+/tphNePB+crTXg4UATHMhd9WsWLAVY9MB4a4d8BnoDqIPab+5pkVuJDZ+ mqkk9LJe7u45hNzfqe3HamdlNWRw6fO5cPDrA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742048901; x=1742653701; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pEe7q4w3SeigGu9Yyevoz5YHH/txq64uIVifPcLXvEQ=; b=cIAJC5RX0hLRA2ZSOuailQ15F1Yr/OM4DKNHSkEE8PYCbgG/aEpLlLNIG1A/ggSZ44 MpQJbJ30wcn/fcP9nsiCRc+Z+BySxDT9q2Ps6wGDdQhtrFCr3X4YrX4zIcFjyJfRklAm r1JWFs/QPLCy4kEX6taqJSLPML/1OslCemRO+tk4L2yLaBcBQBhd9vXCHSRYvn8/fb2u CGf3d2vE23/g72hfRlERJV/FERtD+rY6HaBaQRjxlY6cikW+l88F+ZB0/qAKAyvYuf3p cLkdcQh/KBesDOqvMQpjXUPeNPdxMAqMYNYkkNGmPO5EgTdgxdptK7M1VdAiJ2wbsXCE ECQg== X-Forwarded-Encrypted: i=1; AJvYcCWfOUuiIFi3MQQngF8Ci1dt2cwfaFnoyhjmUOQIAalPp8Buf3FsuZqo0n2atglj9CdnbdqyT6y0OoCE@nongnu.org X-Gm-Message-State: AOJu0YyzTAdvcq458ysIyw+Y2jjOuNMZqPWWSQ7Bu6AKhUrJmFvDIyj+ LSOMoa1YO48cEl4bXbMtmkpsCWxMyrBt4UHDQrQxnoQGpSfWNy5P9vjD+Y94SP9q4aw43XF0E7F 5Sw== X-Gm-Gg: ASbGncvwdvZ/34XysI17GCKBu/vYHuHigkyYPJ5Yvq94mwlCwEIm4NYT32WddMhNMN5 zMvQ2Tp5FuoTewb+561K/3sWeZVRJHx/rYC6zQOZYN8NRURt3BjAQt4lluLq+7Sdv5vT4jSBjvE 1AKa3AT6pfwqMLbLf6Fn+bXXlQd+yuuZ+Slhpl7M3gjcRKmGERe7IpSgMxiU/LlB9glXBS4Gkxx C3R10ENnXnvLcQ35j5STA5dOsvGLTwd6QbD5zxxYazF3VGB2YtiL64JLAihcwEA6LMHO8/qdiEF PKzYP2DxQx/bgZrzRLtq5+qnwARLNm61GLVNlCNF3g== X-Google-Smtp-Source: AGHT+IEr/rk4+ZqxB/vjG33oC+nkbbgb4MWMhTWMbsM1Uzr/n7zqJ4nmA0F9IvDYTmQerbiybDabKw== X-Received: by 2002:a05:600c:1c03:b0:43d:db5:7b21 with SMTP id 5b1f17b1804b1-43d1ed00187mr78758145e9.28.1742048901501; Sat, 15 Mar 2025 07:28:21 -0700 (PDT) Received: from chromium.org ([169.155.233.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43d1fe29386sm52105055e9.17.2025.03.15.07.28.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 15 Mar 2025 07:28:20 -0700 (PDT) From: Simon Glass To: U-Boot Mailing List Cc: Bin Meng , Simon Glass , Tom Rini , qemu-devel@nongnu.org Subject: [PATCH v5 34/46] x86: qemu: Use the new e820 API Date: Sat, 15 Mar 2025 14:25:54 +0000 Message-ID: <20250315142643.2600605-35-sjg@chromium.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250315142643.2600605-1-sjg@chromium.org> References: <20250315142643.2600605-1-sjg@chromium.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=sjg@chromium.org; helo=mail-wm1-x330.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, DKIMWL_WL_HIGH=-0.001, 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.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Move over to use this API before making the code even more complicated. Signed-off-by: Simon Glass --- (no changes since v3) Changes in v3: - Add new patch to use the new e820 API arch/x86/cpu/qemu/e820.c | 48 ++++++++++------------------------------ 1 file changed, 12 insertions(+), 36 deletions(-) diff --git a/arch/x86/cpu/qemu/e820.c b/arch/x86/cpu/qemu/e820.c index 17a04f86479..2b0ad179489 100644 --- a/arch/x86/cpu/qemu/e820.c +++ b/arch/x86/cpu/qemu/e820.c @@ -19,51 +19,27 @@ unsigned int install_e820_map(unsigned int max_entries, struct e820_entry *entries) { u64 high_mem_size; - int n = 0; + struct e820_ctx ctx; - entries[n].addr = 0; - entries[n].size = ISA_START_ADDRESS; - entries[n].type = E820_RAM; - n++; + e820_init(&ctx, entries, max_entries); - entries[n].addr = ISA_START_ADDRESS; - entries[n].size = ISA_END_ADDRESS - ISA_START_ADDRESS; - entries[n].type = E820_RESERVED; - n++; + e820_next(&ctx, E820_RAM, ISA_START_ADDRESS); + e820_next(&ctx, E820_RESERVED, ISA_END_ADDRESS); /* * since we use memalign(malloc) to allocate high memory for * storing ACPI tables, we need to reserve them in e820 tables, * otherwise kernel will reclaim them and data will be corrupted */ - entries[n].addr = ISA_END_ADDRESS; - entries[n].size = gd->relocaddr - TOTAL_MALLOC_LEN - ISA_END_ADDRESS; - entries[n].type = E820_RAM; - n++; - - /* for simplicity, reserve entire malloc space */ - entries[n].addr = gd->relocaddr - TOTAL_MALLOC_LEN; - entries[n].size = TOTAL_MALLOC_LEN; - entries[n].type = E820_RESERVED; - n++; - - entries[n].addr = gd->relocaddr; - entries[n].size = qemu_get_low_memory_size() - gd->relocaddr; - entries[n].type = E820_RESERVED; - n++; - - entries[n].addr = CONFIG_PCIE_ECAM_BASE; - entries[n].size = CONFIG_PCIE_ECAM_SIZE; - entries[n].type = E820_RESERVED; - n++; + e820_to_addr(&ctx, E820_RAM, gd->relocaddr - TOTAL_MALLOC_LEN); + e820_next(&ctx, E820_RESERVED, TOTAL_MALLOC_LEN); + e820_to_addr(&ctx, E820_RAM, qemu_get_low_memory_size()); + e820_add(&ctx, E820_RESERVED, CONFIG_PCIE_ECAM_BASE, + CONFIG_PCIE_ECAM_SIZE); high_mem_size = qemu_get_high_memory_size(); - if (high_mem_size) { - entries[n].addr = SZ_4G; - entries[n].size = high_mem_size; - entries[n].type = E820_RAM; - n++; - } + if (high_mem_size) + e820_add(&ctx, E820_RAM, SZ_4G, high_mem_size); - return n; + return e820_finish(&ctx); }