1// SPDX-License-Identifier: GPL-2.0+ 2/* 3 * (C) Copyright 2000-2010 4 * Wolfgang Denk, DENX Software Engineering, wd@denx.de. 5 * 6 * (C) Copyright 2001 Sysgo Real-Time Solutions, GmbH <www.elinos.com> 7 * Andreas Heppel <aheppel@sysgo.de> 8 */ 9 10#include <common.h> 11#include <command.h> 12#include <env.h> 13#include <env_internal.h> 14#include <asm/global_data.h> 15#include <linux/stddef.h> 16 17DECLARE_GLOBAL_DATA_PTR; 18 19/* 20 * Because we only ever have the default environment available we must mark 21 * it as invalid. 22 */ 23static int env_nowhere_init(void) 24{ 25 gd->env_valid = ENV_INVALID; 26 27 return 0; 28} 29 30static int env_nowhere_load(void) 31{ 32 /* 33 * For SPL, setting env_valid = ENV_INVALID is enough, as env_get() 34 * searches default_environment array in that case. 35 * For U-Boot proper, import the default environment to allow reload. 36 */ 37 if (!IS_ENABLED(CONFIG_SPL_BUILD)) 38 env_set_default(NULL, 0); 39 40 gd->env_valid = ENV_INVALID; 41 42 return 0; 43} 44 45U_BOOT_ENV_LOCATION(nowhere) = { 46 .location = ENVL_NOWHERE, 47 .init = env_nowhere_init, 48 .load = env_nowhere_load, 49 ENV_NAME("nowhere") 50}; 51