From patchwork Sun Mar 19 18:59:31 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 740744 X-Patchwork-Delegate: bmeng.cn@gmail.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.denx.de (dione.denx.de [81.169.180.215]) by ozlabs.org (Postfix) with ESMTP id 3vmTCY6wLmz9ryQ for ; Mon, 20 Mar 2017 06:09:29 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="gVi0kx4W"; dkim-atps=neutral Received: by lists.denx.de (Postfix, from userid 105) id 95345C21C9E; Sun, 19 Mar 2017 19:03:56 +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=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 A6032C21C83; Sun, 19 Mar 2017 19:01:56 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id 08172C21C7B; Sun, 19 Mar 2017 19:00:18 +0000 (UTC) Received: from mail-ot0-f172.google.com (mail-ot0-f172.google.com [74.125.82.172]) by lists.denx.de (Postfix) with ESMTPS id 7DE1AC21C49 for ; Sun, 19 Mar 2017 19:00:14 +0000 (UTC) Received: by mail-ot0-f172.google.com with SMTP id i1so121335787ota.3 for ; Sun, 19 Mar 2017 12:00:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references; bh=H2v3vQDozkz2eSBk5wpVgLTiA0YXu45UFlX+BjABhfU=; b=gVi0kx4WHfE93ofTGmcGKkESAFFBD47DTsabRzwYIbBks8PtRqMBHo2Ueuxmr9IrDn g+9vMEv2Y5B4TrxVpkbipH0s1gsYj0JX61v2K/qgxIq5oE6meCxRXp3NEdDlK3zLiMf1 NaKMkvYFjyR5rxlvzq+PDW3Hh44Xxzq+gBoSnThn4RicCXbEyoT3AFgXSNYulkRvBF0w 1fx5c+H1sX9k/LtMrjzHRAXJZ7DoVViTxqC8RYMnuOXP0w01InDxVMfEwSXNWjSI1pFF F76PS8uIF6A6X/MfTgvL/lFBtzqB5OXHsoNDEd6X7UziI3O7pf/jUVxHPjramyNZYlDO 8lCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references; bh=H2v3vQDozkz2eSBk5wpVgLTiA0YXu45UFlX+BjABhfU=; b=V3z7nuvw/zVUBCs0LJsPGd9fdybfM36mwScvBdjnWc8uQ84bNcJ0m02CnJYoYESYeH QKx9Wo9NmQIqi+NHaHpKlzNdJThy5zfE7oz1xaGImClHVgq9vdFFG9qBDScPWGY6nSFJ yveJlJj71AdPaukbg/9EmMOOAOkXC8BzOD0Se3KNF6SKWCeGDmHabc+wX9Nl/M9yuLYK lrUBbCpQT0LDj4SkvOxvAVik34lJfAPq3xVYHppXknPuDg2CmWhe7HOMwKl8NPd8EuVk Xper1Np6Lzhb+pqyusX3uIRSkmS7q3vf84k7FQspi14Bp1WeEkAH5l+txFymqsKSLSzw vDfw== X-Gm-Message-State: AFeK/H0Lxx0NlCU8jRuJeHdvC3iIdRq58BYogQSfATcpbjSILpzXqYuZhGU3BXf27o9seHkc X-Received: by 10.157.44.209 with SMTP id e17mr12452969otd.172.1489950013247; Sun, 19 Mar 2017 12:00:13 -0700 (PDT) Received: from kaki.bld.corp.google.com ([2620:0:1005:11:4b6:487f:844b:c8b6]) by smtp.gmail.com with ESMTPSA id v50sm6482082otb.46.2017.03.19.12.00.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 19 Mar 2017 12:00:12 -0700 (PDT) Received: by kaki.bld.corp.google.com (Postfix, from userid 121222) id 2AD9F40083; Sun, 19 Mar 2017 13:00:12 -0600 (MDT) From: Simon Glass To: U-Boot Mailing List Date: Sun, 19 Mar 2017 12:59:31 -0600 Message-Id: <20170319185935.20950-13-sjg@chromium.org> X-Mailer: git-send-email 2.12.0.367.g23dc2f6d3c-goog In-Reply-To: <20170319185935.20950-1-sjg@chromium.org> References: <20170319185935.20950-1-sjg@chromium.org> Cc: Tom Rini , Stefan Roese Subject: [U-Boot] [PATCH 12/16] dm: x86: board: Add a BOARD_F_RESERVE_ARCH driver 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" Add support for reserving initial memory. Signed-off-by: Simon Glass --- arch/x86/cpu/cpu.c | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/arch/x86/cpu/cpu.c b/arch/x86/cpu/cpu.c index 8fa6953588..893bec5c5c 100644 --- a/arch/x86/cpu/cpu.c +++ b/arch/x86/cpu/cpu.c @@ -254,7 +254,7 @@ int cpu_init_r(void) } #ifndef CONFIG_EFI_STUB -int reserve_arch(void) +static int cpu_x86_reserve_arch(void) { #ifdef CONFIG_ENABLE_MRC_CACHE mrccache_reserve(); @@ -266,4 +266,43 @@ int reserve_arch(void) return 0; } + +#ifndef CONFIG_BOARD_ENABLE +int reserve_arch(void) +{ + return cpu_x86_reserve_arch(); +} +#endif + +#endif /* !CONFIG_EFI_STUB */ + +static int cpu_x86_phase(struct udevice *dev, enum board_phase_t phase) +{ +#ifndef CONFIG_EFI_STUB + return cpu_x86_reserve_arch(); +#else + return 0; #endif +} + +static int cpu_x86_board_probe(struct udevice *dev) +{ + return board_support_phase(dev, BOARD_F_RESERVE_ARCH); +} + +static const struct board_ops cpu_x86_board_ops = { + .phase = cpu_x86_phase, +}; + +/* Name this starting with underscore so it will be called last */ +U_BOOT_DRIVER(_cpu_x86_board_drv) = { + .name = "cpu_x86_board", + .id = UCLASS_BOARD, + .ops = &cpu_x86_board_ops, + .probe = cpu_x86_board_probe, + .flags = DM_FLAG_PRE_RELOC, +}; + +U_BOOT_DEVICE(cpu_x86_board) = { + .name = "cpu_x86_board", +};