X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Ftarget%2Flakemont.h;h=ca6557fcdedb99b2b9673e0b13b653143e8bfac3;hb=ea165d8e897cb5946942f40589efec4f1b5e7c2c;hp=e63cab027805a19f72db1979a6315dd5f86a405f;hpb=1338cf60b91c582fa4b27d5226ab4374117be415;p=fw%2Fopenocd diff --git a/src/target/lakemont.h b/src/target/lakemont.h index e63cab027..ca6557fcd 100644 --- a/src/target/lakemont.h +++ b/src/target/lakemont.h @@ -1,5 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + /* - * Copyright(c) 2013 Intel Corporation. + * Copyright(c) 2013-2016 Intel Corporation. * * Adrian Burns (adrian.burns@intel.com) * Thomas Faust (thomas.faust@intel.com) @@ -7,19 +9,6 @@ * Julien Carreno (julien.carreno@intel.com) * Jeffrey Maxwell (jeffrey.r.maxwell@intel.com) * - * This program is free software; you can redistribute it and/or modify - * it under the terms of version 2 of the GNU General Public License as - * published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. - * * Contact Information: * Intel Corporation */ @@ -29,9 +18,11 @@ * This is the interface to the probemode operations for Lakemont 1 (LMT1). */ -#ifndef LAKEMONT_H -#define LAKEMONT_H +#ifndef OPENOCD_TARGET_LAKEMONT_H +#define OPENOCD_TARGET_LAKEMONT_H + #include +#include /* The Intel Quark SoC X1000 Core is codenamed lakemont */ @@ -59,18 +50,18 @@ /* needed during lakemont probemode */ #define NOT_PMREG 0xfe #define NOT_AVAIL_REG 0xff -#define PM_DSB 0x00000000 -#define PM_DSL 0xFFFFFFFF -#define PM_DSAR 0x004F9300 -#define PM_DR7 0x00000400 +#define PM_DSB ((uint32_t)0x00000000) +#define PM_DSL ((uint32_t)0xFFFFFFFF) +#define PM_DSAR ((uint32_t)0x004F9300) +#define PM_DR7 ((uint32_t)0x00000400) #define DELAY_SUBMITPIR 0 /* for now 0 is working */ /* lakemont tapstatus bits */ -#define TS_PRDY_BIT 0x00000001 -#define TS_EN_PM_BIT 0x00000002 -#define TS_PM_BIT 0x00000004 -#define TS_PMCR_BIT 0x00000008 -#define TS_SBP_BIT 0x00000010 +#define TS_PRDY_BIT ((uint32_t)0x00000001) +#define TS_EN_PM_BIT ((uint32_t)0x00000002) +#define TS_PM_BIT ((uint32_t)0x00000004) +#define TS_PMCR_BIT ((uint32_t)0x00000008) +#define TS_SBP_BIT ((uint32_t)0x00000010) struct lakemont_core_reg { uint32_t num; @@ -93,11 +84,12 @@ int lakemont_init_arch_info(struct target *t, struct x86_32_common *x86_32); int lakemont_poll(struct target *t); int lakemont_arch_state(struct target *t); int lakemont_halt(struct target *t); -int lakemont_resume(struct target *t, int current, uint32_t address, +int lakemont_resume(struct target *t, int current, target_addr_t address, int handle_breakpoints, int debug_execution); int lakemont_step(struct target *t, int current, - uint32_t address, int handle_breakpoints); + target_addr_t address, int handle_breakpoints); int lakemont_reset_assert(struct target *t); int lakemont_reset_deassert(struct target *t); +int lakemont_update_after_probemode_entry(struct target *t); -#endif /* LAKEMONT_H */ +#endif /* OPENOCD_TARGET_LAKEMONT_H */