Features: Add EXEC_IN_RAM

This patch adds execution-in-ram, opposite of XIP: execution-in-place
(a.k.a. XIP) to the EC features. It can be currently implied by
CONFIG_EXTERNAL_STORAGE.

BUG=b:77306460
BRANCH=none
TEST=Verify ectool prints EXEC_IN_RAM on Fizz.

Change-Id: I4a7fb3b267864debe59fd211956371eceac57613
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/995968
Reviewed-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
Daisuke Nojiri
2018-04-04 09:18:19 -07:00
committed by chrome-bot
parent 660fb6a570
commit 5daa45c2fe
3 changed files with 6 additions and 0 deletions

View File

@@ -118,6 +118,9 @@ uint32_t get_feature_flags1(void)
uint32_t result = EC_FEATURE_MASK_1(EC_FEATURE_UNIFIED_WAKE_MASKS)
#ifdef CONFIG_HOST_EVENT64
| EC_FEATURE_MASK_1(EC_FEATURE_HOST_EVENT64)
#endif
#ifdef CONFIG_EXTERNAL_STORAGE
| EC_FEATURE_MASK_1(EC_FEATURE_EXEC_IN_RAM)
#endif
;
#ifdef CONFIG_EC_FEATURE_BOARD_OVERRIDE

View File

@@ -1248,6 +1248,8 @@ enum ec_feature_code {
EC_FEATURE_UNIFIED_WAKE_MASKS = 32,
/* EC supports 64-bit host events */
EC_FEATURE_HOST_EVENT64 = 33,
/* EC runs code in RAM (not in place, a.k.a. XIP) */
EC_FEATURE_EXEC_IN_RAM = 34,
};
#define EC_FEATURE_MASK_0(event_code) (1UL << (event_code % 32))

View File

@@ -545,6 +545,7 @@ static const char * const ec_feature_names[] = {
[EC_FEATURE_DEVICE_EVENT] = "Device events reporting",
[EC_FEATURE_UNIFIED_WAKE_MASKS] = "Unified wake masks for LPC/eSPI",
[EC_FEATURE_HOST_EVENT64] = "64-bit host events",
[EC_FEATURE_EXEC_IN_RAM] = "Execute code in RAM",
};
int cmd_inventory(int argc, char *argv[])