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

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2025 Intel
       3              :  * SPDX-License-Identifier: Apache-2.0
       4              :  */
       5              : 
       6              : #ifndef ZEPHYR_INCLUDE_X86_STRUCTS_H_
       7              : #define ZEPHYR_INCLUDE_X86_STRUCTS_H_
       8              : 
       9              : #include <stdint.h>
      10              : 
      11              : struct k_thread;
      12              : 
      13              : /* Per CPU architecture specifics (empty) */
      14              : struct _cpu_arch {
      15              : 
      16              : #if defined(CONFIG_FPU_SHARING)
      17              :         /*
      18              :          * A 'sse_owner' field does not exist in addition to the 'fpu_owner'
      19              :          * field since it's not possible to divide the IA-32 non-integer
      20              :          * registers into 2 distinct blocks owned by differing threads.  In
      21              :          * other words, given that the 'fxnsave/fxrstor' instructions
      22              :          * save/restore both the X87 FPU and XMM registers, it's not possible
      23              :          * for a thread to only "own" the XMM registers.
      24              :          */
      25              : 
      26              :         struct k_thread *fpu_owner;
      27              : #endif
      28              : #if defined(CONFIG_HW_SHADOW_STACK)
      29              :         long *shstk_addr; /* Latest top of shadow stack */
      30              :         long *shstk_base; /* Base of shadow stack */
      31              :         size_t shstk_size;
      32              : #endif
      33              : #if defined(__cplusplus) && !defined(CONFIG_FPU_SHARING) && \
      34              :                 !defined(CONFIG_HW_SHADOW_STACK)
      35              :         /* Ensure this struct does not have a size of 0 which is not allowed in C++. */
      36              :         uint8_t dummy;
      37              : #endif
      38              : };
      39              : 
      40              : #endif /* ZEPHYR_INCLUDE_X86_STRUCTS_H_ */
        

Generated by: LCOV version 2.0-1