diff options
Diffstat (limited to 'src/core_dump_handler/i686')
-rw-r--r-- | src/core_dump_handler/i686/dlt_cdh_cpuinfo.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/core_dump_handler/i686/dlt_cdh_cpuinfo.c b/src/core_dump_handler/i686/dlt_cdh_cpuinfo.c new file mode 100644 index 0000000..2e547a2 --- /dev/null +++ b/src/core_dump_handler/i686/dlt_cdh_cpuinfo.c @@ -0,0 +1,37 @@ +/* + * @licence app begin@ + * SPDX license identifier: MPL-2.0 + * + * Copyright (C) 2011-2015, BMW AG + * + * This file is part of GENIVI Project DLT - Diagnostic Log and Trace. + * + * This Source Code Form is subject to the terms of the + * Mozilla Public License (MPL), v. 2.0. + * If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. + * + * For further information see http://www.genivi.org/. + * @licence end@ + */ + +/*! + * \author Magneti Marelli http://www.magnetimarelli.com + * \author Lutz Helwing <lutz_helwing@mentor.com> + * + * \copyright Copyright © 2011-2015 BMW AG. \n + * License MPL-2.0: Mozilla Public License version 2.0 http://mozilla.org/MPL/2.0/. + * + * \file dlt_cdh_cpuinfo.c + */ + +#include "../dlt_cdh_cpuinfo.h" + +void get_registers(prstatus_t* prstatus, cdh_registers_t* registers) +{ + struct user_regs_struct* ptr_reg = (struct user_regs_struct*) prstatus->pr_reg; + + registers->pc = ptr_reg->ecx; // [REG_PROC_COUNTER]; + registers->ip = ptr_reg->eip; // [REG_INSTR_POINTER]; + registers->lr = ptr_reg->ebp; // [REG_LINK_REGISTER]; +} |