From patchwork Mon Oct 6 23:21:42 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 38 Return-Path: X-Original-To: u-boot-concept@u-boot.org Delivered-To: u-boot-concept@u-boot.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759792973; bh=/UIuH97UP9IzkxHUvccUqtdjOciRk6vkQIqLMQESPXo=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=KluK87dnHNvTAH6JdjE2rliWZHtCOucYGsTm4m/no0R11ufZGIyvu01P68ADhkTyS RrULwvuyA7woSybV6kyIqv9DRR3t1wUWopPJNFF3i7eNjRfomIwQBJqTKx9KICCxGu dyUwbKR8Lu1yxwxpQ8rc5xMkZ10wlZdvNakLSExpd8BmwMPtgNpA5XSYBhKevb9UVE xnpl9zr/9w7hh1c6O6UuKAG6ALXgMgi6u4njtfS+zFY8uNCDlR98GdEa0DfzBmKuMa 4VNhIuP58MXEs4I60BTiaXc6L0tAfdpNaDnREhZiPf7NH793SHftq8/EKkbfNu3+9F hydj7v0/Lizqw== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 48CB367FA7 for ; Mon, 6 Oct 2025 17:22:53 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 68HLoJMoDw4E for ; Mon, 6 Oct 2025 17:22:53 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759792973; bh=/UIuH97UP9IzkxHUvccUqtdjOciRk6vkQIqLMQESPXo=; h=From:To:Date:CC:Subject:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=KluK87dnHNvTAH6JdjE2rliWZHtCOucYGsTm4m/no0R11ufZGIyvu01P68ADhkTyS RrULwvuyA7woSybV6kyIqv9DRR3t1wUWopPJNFF3i7eNjRfomIwQBJqTKx9KICCxGu dyUwbKR8Lu1yxwxpQ8rc5xMkZ10wlZdvNakLSExpd8BmwMPtgNpA5XSYBhKevb9UVE xnpl9zr/9w7hh1c6O6UuKAG6ALXgMgi6u4njtfS+zFY8uNCDlR98GdEa0DfzBmKuMa 4VNhIuP58MXEs4I60BTiaXc6L0tAfdpNaDnREhZiPf7NH793SHftq8/EKkbfNu3+9F hydj7v0/Lizqw== Received: from mail.u-boot.org (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id 3595567DB4 for ; Mon, 6 Oct 2025 17:22:53 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759792970; bh=iFi2m2TrDtlnivaLAt1pH6pyoUWOFsAq5wVQ4Vi6GAQ=; h=From:To:Cc:Subject:Date:From; b=B+h/nW3ejZezBzOgGyY3qXsvfRj1cJIvQ/30MgAmo9zFojm28RKBLJqpJgp4zNhwO cX5HE7zMUnmJvzjOD1JCZ+4JDeo3ctQxWAnVJvlIXPmi5rKZOUKjciI36vazyRgESs +3i1dNjjKKU4h42joVzqx15Ncgad4LQJh4YWbQsyl5UPu2CYM4v8t5PTCZ53rnXSH5 EEwZm4SLQwKvbe4ADofZQ8LLiNj5cC1z2AAWy7W2QPQrua2ELLHJ6GMbTVUSDq6zL9 deHalgB8QqKMbYqd9bs4H7QqtOHp5mRgv5wDny0YPZ4AK9ljFtQ//Qyi1I8eH3ZTzZ anN30Qh1+oocQ== Received: from localhost (localhost [127.0.0.1]) by mail.u-boot.org (Postfix) with ESMTP id A832167F03; Mon, 6 Oct 2025 17:22:50 -0600 (MDT) X-Virus-Scanned: Debian amavis at Received: from mail.u-boot.org ([127.0.0.1]) by localhost (mail.u-boot.org [127.0.0.1]) (amavis, port 10026) with ESMTP id 38USn1lebBkT; Mon, 6 Oct 2025 17:22:50 -0600 (MDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=u-boot.org; s=default; t=1759792966; bh=vDsAYoUmRvTYwU+rFjX1uTy/JuMkWU1tuy+rMrY/s1I=; h=From:To:Cc:Subject:Date:From; b=nt783TPlrzuJN5bcz2T6tTLKSTWVRHF8rK3s53vMtRi2tTRIYC6cV6AFw1mMzbB3v CsuOGJdXrC/+goyED1GLVtf7vspp0/9Cd63jtbt5UQQaB/ArLRxAQxR+8BVkhbNZdi Dr0Zz/fctmnn9+FaLP4yzuE0xlQJxo2TI4aSjCoaDmaSDr19uadqAfWfLB/uu4/qFJ dBpghvLWO9YZ2/kjLY6S5q66NUYBkUvaa6Pey7lHZ8XFL/tnVWGSi4TrmvFqk//Ytw MP7tuOFIILppKP1rnnDmDJRMYUb2q3WEQ4KSZV06xg9RaopIiqBp94+PjA0/5uveKe Lpe7cGm0l9YUw== Received: from u-boot.org (unknown [73.34.74.121]) by mail.u-boot.org (Postfix) with ESMTPSA id 5DA3F67AF3; Mon, 6 Oct 2025 17:22:46 -0600 (MDT) From: Simon Glass To: U-Boot Concept Date: Mon, 6 Oct 2025 17:21:42 -0600 Message-ID: <20251006232236.2091941-1-sjg@u-boot.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Message-ID-Hash: Z2GQXZNDJVF7EHJW4QJNHVAESWI2LJBE X-Message-ID-Hash: Z2GQXZNDJVF7EHJW4QJNHVAESWI2LJBE X-MailFrom: sjg@u-boot.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Heinrich Schuchardt , Simon Glass X-Mailman-Version: 3.3.10 Precedence: list Subject: [Concept] [PATCH 00/17] expo: Complete mouse operation in the EFI app List-Id: Discussion and patches related to U-Boot Concept Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Simon Glass This series includes various improvements which allow the mouse to be used when running as an EFI app. In particular: - support for the absolute-pointer protocol, since this provides better integration when running under QEMU - input tweaks to improve performance under QEMU It also includes some x86-specific fixes for i8042 and MTRRs. Finally, a new --bootcmd option is added to the build-qemu script to allow passing a boot command to U-Boot. This series is part F Simon Glass (17): qfw: Export qfw_locate_file() for external use event: Add EVT_BOOTCMD event for custom boot commands x86: qemu: Add EVT_BOOTCMD handler to get bootcmd from fw_cfg scripts: build-qemu: Add --bootcmd option to pass bootcmd via fw_cfg expo: Speed up polling the keyboard x86: efi: Avoid setting MTRRs in the app x86: efi: Disable i8042 in the x86 app efi: app: Support reading SMBIOS3 tables efi: app: Detect running under QEMU efi: serial: Speed up reading from input efi: video: Add some more debugging for the modes efi: mouse: Move simple-pointer code into a function efi: mouse: Move button handling into a function efi: mouse: Split out event handling further efi: Add definitions for the absolute-pointer protocol efi: mouse: Add support for an absolute pointer efi: mouse: Scale the pointer to the display arch/x86/cpu/qemu/qemu.c | 31 +++ arch/x86/lib/init_helpers.c | 3 +- boot/expo.c | 16 +- common/event.c | 1 + common/main.c | 32 ++- doc/board/emulation/script.rst | 15 ++ drivers/input/Kconfig | 2 +- drivers/input/efi_mouse.c | 426 +++++++++++++++++++++++------- drivers/qfw/qfw.c | 4 +- drivers/serial/serial_efi.c | 45 ++-- drivers/video/efi.c | 15 +- include/asm-generic/global_data.h | 6 + include/efi.h | 1 + include/efi_api.h | 30 +++ include/event.h | 22 ++ include/expo.h | 2 + include/qfw.h | 12 + lib/efi/device_path.c | 1 + lib/efi_client/efi_app.c | 33 ++- scripts/build-qemu | 7 + 20 files changed, 574 insertions(+), 130 deletions(-)