From patchwork Tue Jun 12 15:36:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bin Meng X-Patchwork-Id: 928379 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=lists.denx.de (client-ip=81.169.180.215; helo=lists.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tlwpaSq8"; dkim-atps=neutral Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 414v4g0WXyz9s0w for ; Wed, 13 Jun 2018 01:31:45 +1000 (AEST) Received: by lists.denx.de (Postfix, from userid 105) id 97DE0C21DA1; Tue, 12 Jun 2018 15:31:39 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=FREEMAIL_FROM, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 5449DC21C6A; Tue, 12 Jun 2018 15:31:36 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 6688AC21C27; Tue, 12 Jun 2018 15:31:35 +0000 (UTC) Received: from mail-it0-f66.google.com (mail-it0-f66.google.com [209.85.214.66]) by lists.denx.de (Postfix) with ESMTPS id D24DAC21BE5 for ; Tue, 12 Jun 2018 15:31:34 +0000 (UTC) Received: by mail-it0-f66.google.com with SMTP id a3-v6so15980941itd.0 for ; Tue, 12 Jun 2018 08:31:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=ne7tEbJxJSWoqUM2VRBSRCUE0OEnSYsd8amSxQkC5F4=; b=tlwpaSq8sQ9wpZmJrvKPCMwPZXenM1JkuChwnX0hrZRT/3yvtTx4NDCREBwA+OEwzH 0qkVym5tl8ECdTwSduV1A//yAormaTTfahz2/vSfGBTbmVMO7XYiVbjwvwf0tX3RQOiW M5GAeIBh3Gs+n9A0Q3ICBVIBXWBOL90y57ucjXaShQNlFMT1X7Or1HRSodisZ7eTSGFj HGf8eLX9LC32/EMX7ftfvtQ0GGPlFHqtWZ+64Zj+HDIWGrhP3Ta/xLIO7RTPHJ85s5oS N0MYTYWnyeJsibgKJgRtakfqk7+J4sD28qQ0nXkYeKLIijaMPKVBZIzJcQodX5suewtV K0vQ== 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; bh=ne7tEbJxJSWoqUM2VRBSRCUE0OEnSYsd8amSxQkC5F4=; b=HaPGznug75PwRUtSQ8oo7nKkzrXDnjkDqOslFMXclZsuRSrJh+c73sqCUxZOdMnwX1 PH00frRprDBU391CxfgtIbhBYt0n25pmPwtYstxtmpUbxCkGmQ5W4n3p4KQKKMk03OCG VIKuVj6Ahjbur2yDNTjFQsSSs08lt/ve0hjcw9YmdWEm/uGRyXQ68yxePjq4EF1swE+8 mGMs2CqZMh3Hy9AxV/D4mkz9LX4QcL1p4zViQWLv9bhQa2mAgbp+0WByb28HoKFLsl2B 0mSqndtBcAgoQTuR6Rz6kgQgOhYKifkIOoOOa4/8Ys/hoo88qRVgBIWYGUCPGZkeUTov HgIw== X-Gm-Message-State: APt69E2SSS5r5FuS8W5tZL/Ft/Eq8kBaZk+pv7vWkonMlqTrkORuckVW jR502PqI8mJ9nL5O7t8/vNA= X-Google-Smtp-Source: ADUXVKL6F3dQvEx2zKhoG08hTMZ83D3YyjBV+Gs3CwZcSgMKAVk/gQ/0v3aWfY+E3KmhvGVfOG44RA== X-Received: by 2002:a24:609:: with SMTP id 9-v6mr890641itv.94.1528817493438; Tue, 12 Jun 2018 08:31:33 -0700 (PDT) Received: from ala-d2121-lx1.wrs.com (unknown-156-139.windriver.com. [147.11.156.139]) by smtp.gmail.com with ESMTPSA id l82-v6sm369743itl.25.2018.06.12.08.31.31 (version=TLS1_1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 12 Jun 2018 08:31:32 -0700 (PDT) From: Bin Meng To: Simon Glass , U-Boot Mailing List Date: Tue, 12 Jun 2018 08:36:12 -0700 Message-Id: <1528817785-20208-1-git-send-email-bmeng.cn@gmail.com> X-Mailer: git-send-email 1.7.9.5 Cc: Stefan Roese , Heinrich Schuchardt , Alexander Graf Subject: [U-Boot] [PATCH v2 00/13] x86: efi: Fixes and enhancements to application and payload support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Unfortunately the EFI x86 application and payload support have been broken for quite a while. This series addresses various bug fixes, plus several enhancements like toolchain compatibility (eg: kernel.org i386-linux-gcc), introduction of generic EFI payload which can run on any x86 board, and a EFI framebuffer driver for the payload. This series is available at u-boot-x86/efi-working for testing. Changes in v2: - update the x86 doc to reference also README.uefi - new patch to "change __kernel_size_t conditionals to use compiler provided defines" - update README.u-boot_on_efi to reflect directory changes - update README.u-boot_on_efi to mention generic EFI payload support - update QEMU MAINTAINERS file to remove defconfig files - update README.u-boot_on_efi to use efi-x86_app - drop patches that were already applied to u-boot-x86 Alexander Graf (1): efi.h: Do not use config options Bin Meng (12): x86: doc: Fix reference to EFI doc in U-Boot x86: Change __kernel_size_t conditionals to use compiler provided defines x86: efi: Refactor the directory of EFI app and payload support x86: efi: payload: Add arch_cpu_init() x86: Add generic EFI payload support x86: Drop QEMU-specific EFI payload support x86: baytrail: Drop EFI-specific test logics efi: stub: Pass EFI GOP information to U-Boot payload dm: video: Add an EFI framebuffer driver x86: efi: payload: Add EFI framebuffer driver support x86: Rename efi-x86 target to efi-x86_app x86: efi: app: Display correct CPU info during boot arch/x86/Kconfig | 3 +- arch/x86/cpu/Makefile | 2 +- arch/x86/cpu/baytrail/Kconfig | 6 +- arch/x86/cpu/baytrail/valleyview.c | 3 - arch/x86/{lib => cpu}/efi/Kconfig | 0 arch/x86/cpu/efi/Makefile | 9 +- arch/x86/cpu/efi/{efi.c => app.c} | 2 +- arch/x86/{lib => cpu}/efi/car.S | 0 arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} | 11 +- arch/x86/cpu/intel_common/Makefile | 2 +- arch/x86/cpu/qemu/Makefile | 2 - arch/x86/cpu/qemu/qemu.c | 4 - arch/x86/dts/Makefile | 3 +- arch/x86/dts/{efi.dts => efi-x86_app.dts} | 4 +- arch/x86/dts/efi-x86_payload.dts | 40 ++++++ arch/x86/include/asm/posix_types.h | 2 +- arch/x86/lib/Makefile | 1 - arch/x86/lib/efi/Makefile | 7 - board/advantech/som-db5800-som-6867/Kconfig | 5 +- board/congatec/conga-qeval20-qa3-e3845/Kconfig | 5 +- board/dfi/dfi-bt700/Kconfig | 5 +- board/efi/Kconfig | 15 ++- board/efi/{efi-x86 => efi-x86_app}/Kconfig | 6 +- board/efi/{efi-x86 => efi-x86_app}/MAINTAINERS | 0 board/efi/{efi-x86 => efi-x86_app}/Makefile | 2 +- board/efi/{efi-x86/efi.c => efi-x86_app/app.c} | 0 board/efi/efi-x86_payload/Kconfig | 39 ++++++ board/efi/efi-x86_payload/MAINTAINERS | 7 + board/efi/efi-x86_payload/Makefile | 5 + board/efi/efi-x86_payload/start.S | 8 ++ board/emulation/qemu-x86/Kconfig | 6 +- board/emulation/qemu-x86/MAINTAINERS | 2 - board/intel/minnowmax/Kconfig | 5 +- .../{efi-x86_defconfig => efi-x86_app_defconfig} | 4 +- ...oad32_defconfig => efi-x86_payload32_defconfig} | 24 +--- ...oad64_defconfig => efi-x86_payload64_defconfig} | 24 +--- doc/README.u-boot_on_efi | 33 ++--- doc/README.x86 | 14 +- drivers/video/Kconfig | 9 ++ drivers/video/Makefile | 1 + drivers/video/efi.c | 146 +++++++++++++++++++++ include/configs/{efi-x86.h => efi-x86_app.h} | 0 include/configs/efi-x86_payload.h | 32 +++++ include/efi.h | 52 ++++++-- lib/efi/Makefile | 4 +- lib/efi/efi_stub.c | 15 +++ 46 files changed, 433 insertions(+), 136 deletions(-) rename arch/x86/{lib => cpu}/efi/Kconfig (100%) rename arch/x86/cpu/efi/{efi.c => app.c} (92%) rename arch/x86/{lib => cpu}/efi/car.S (100%) rename arch/x86/{lib/efi/efi.c => cpu/efi/payload.c} (97%) rename arch/x86/dts/{efi.dts => efi-x86_app.dts} (82%) create mode 100644 arch/x86/dts/efi-x86_payload.dts delete mode 100644 arch/x86/lib/efi/Makefile rename board/efi/{efi-x86 => efi-x86_app}/Kconfig (64%) rename board/efi/{efi-x86 => efi-x86_app}/MAINTAINERS (100%) rename board/efi/{efi-x86 => efi-x86_app}/Makefile (82%) rename board/efi/{efi-x86/efi.c => efi-x86_app/app.c} (100%) create mode 100644 board/efi/efi-x86_payload/Kconfig create mode 100644 board/efi/efi-x86_payload/MAINTAINERS create mode 100644 board/efi/efi-x86_payload/Makefile create mode 100644 board/efi/efi-x86_payload/start.S rename configs/{efi-x86_defconfig => efi-x86_app_defconfig} (92%) rename configs/{qemu-x86_efi_payload32_defconfig => efi-x86_payload32_defconfig} (61%) rename configs/{qemu-x86_efi_payload64_defconfig => efi-x86_payload64_defconfig} (62%) create mode 100644 drivers/video/efi.c rename include/configs/{efi-x86.h => efi-x86_app.h} (100%) create mode 100644 include/configs/efi-x86_payload.h