diff options
Diffstat (limited to 'chip/ish/aontaskfw/ish_aon_share.h')
-rw-r--r-- | chip/ish/aontaskfw/ish_aon_share.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/chip/ish/aontaskfw/ish_aon_share.h b/chip/ish/aontaskfw/ish_aon_share.h new file mode 100644 index 0000000000..3a5c1bd06b --- /dev/null +++ b/chip/ish/aontaskfw/ish_aon_share.h @@ -0,0 +1,42 @@ +/* Copyright 2019 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#ifndef __CROS_EC_ISH_AON_SHARE_H +#define __CROS_EC_ISH_AON_SHARE_H + +#include "ia_structs.h" + +/* magic ID for valid aontask image sanity check */ +#define AON_MAGIC_ID 0x544E4F41 /*"AONT"*/ + +/* aontask error code */ +#define AON_SUCCESS 0 +#define AON_ERROR_NOT_SUPPORT_POWER_MODE 1 +#define AON_ERROR_DMA_FAILED 2 + + +/* shared data structure between main FW and aontask */ +struct ish_aon_share { + /* magic ID */ + uint32_t magic_id; + /* last error */ + /* error counter */ + uint32_t error_count; + /* last error */ + int last_error; + /* aontask's TSS segment entry */ + struct tss_entry *aon_tss; + /* aontask's LDT start address */ + ldt_entry *aon_ldt; + /* aontask's LDT's limit size */ + uint32_t aon_ldt_size; + /* current power state, see chip/ish/power_mgt.h */ + int pm_state; + /* for store/restore main FW's IDT */ + struct idt_header main_fw_idt_hdr; + +} __packed; + +#endif /* __CROS_EC_ISH_AON_SHARE_H */ |