LCOV - code coverage report
Current view: top level - zephyr/arch/x86/ia32 - gdbstub.h Coverage Total Hit
Test: new.info Lines: 13.6 % 22 3
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            1 : /*
       2              :  * Copyright (c) 2020 Intel Corporation.
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : /**
       8              :  * @file
       9              :  * @brief IA-32 specific gdbstub interface header
      10              :  */
      11              : 
      12              : #ifndef ZEPHYR_INCLUDE_ARCH_X86_GDBSTUB_SYS_H_
      13              : #define ZEPHYR_INCLUDE_ARCH_X86_GDBSTUB_SYS_H_
      14              : 
      15              : #ifndef _ASMLANGUAGE
      16              : 
      17              : #include <stdint.h>
      18              : #include <zephyr/toolchain.h>
      19              : 
      20              : /**
      21              :  * @brief Number of register used by gdbstub in IA-32
      22              :  */
      23            1 : #define GDB_STUB_NUM_REGISTERS 16
      24              : 
      25              : /**
      26              :  * @brief GDB interruption context
      27              :  *
      28              :  * The exception stack frame contents used by gdbstub. The contents
      29              :  * of this struct are used to display information about the current
      30              :  * cpu state.
      31              :  */
      32              : 
      33            1 : struct gdb_interrupt_ctx {
      34            0 :         uint32_t ss;
      35            0 :         uint32_t gs;
      36            0 :         uint32_t fs;
      37            0 :         uint32_t es;
      38            0 :         uint32_t ds;
      39            0 :         uint32_t edi;
      40            0 :         uint32_t esi;
      41            0 :         uint32_t ebp;
      42            0 :         uint32_t esp;
      43            0 :         uint32_t ebx;
      44            0 :         uint32_t edx;
      45            0 :         uint32_t ecx;
      46            0 :         uint32_t eax;
      47            0 :         uint32_t vector;
      48            0 :         uint32_t error_code;
      49            0 :         uint32_t eip;
      50            0 :         uint32_t cs;
      51            0 :         uint32_t eflags;
      52              : } __packed;
      53              : 
      54              : /**
      55              :  * @brief IA-32 register used in gdbstub
      56              :  */
      57              : 
      58            0 : enum GDB_REGISTER {
      59              :         GDB_EAX,
      60              :         GDB_ECX,
      61              :         GDB_EDX,
      62              :         GDB_EBX,
      63              :         GDB_ESP,
      64              :         GDB_EBP,
      65              :         GDB_ESI,
      66              :         GDB_EDI,
      67              :         GDB_PC,
      68              :         GDB_EFLAGS,
      69              :         GDB_CS,
      70              :         GDB_SS,
      71              :         GDB_DS,
      72              :         GDB_ES,
      73              :         GDB_FS,
      74              :         GDB_GS,
      75              :         GDB_ORIG_EAX = 41,
      76              : };
      77              : 
      78              : struct gdb_ctx {
      79              :         unsigned int exception;
      80              :         unsigned int registers[GDB_STUB_NUM_REGISTERS];
      81              : };
      82              : 
      83              : #endif /* _ASMLANGUAGE */
      84              : 
      85              : #endif /* ZEPHYR_INCLUDE_ARCH_X86_GDBSTUB_SYS_H_ */
        

Generated by: LCOV version 2.0-1