summaryrefslogtreecommitdiff
path: root/zephyr/fake/system_fake.c
blob: 75beb62b23866bc3b48fa903a93d49186e6ae0d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Copyright 2022 The ChromiumOS Authors
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */

#include <setjmp.h>

#include "system.h"
#include "system_fake.h"

static enum ec_image shrspi_image_copy = EC_IMAGE_RO;

/* setjmp environment to use for reboot (NULL if none) */
static jmp_buf *jump_env;

void system_fake_setenv(jmp_buf *env)
{
	jump_env = env;
}

void system_jump_to_booter(void)
{
	if (jump_env)
		longjmp(*jump_env, 1);
}

uint32_t system_get_lfw_address(void)
{
	uint32_t jump_addr = (uint32_t)system_jump_to_booter;

	return jump_addr;
}

enum ec_image system_get_shrspi_image_copy(void)
{
	return shrspi_image_copy;
}

void system_set_shrspi_image_copy(enum ec_image new_image_copy)
{
	shrspi_image_copy = new_image_copy;
}

void system_set_image_copy(enum ec_image copy)
{
}