arch/mips/include/asm/octeon/cvmx-gmxx-defs.h

Source file repositories/reference/linux-study-clean/arch/mips/include/asm/octeon/cvmx-gmxx-defs.h

File Facts

System
Linux kernel
Corpus path
arch/mips/include/asm/octeon/cvmx-gmxx-defs.h
Extension
.h
Size
56175 bytes
Lines
2260
Domain
Architecture Layer
Bucket
arch/mips
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct cvmx_gmxx_hg2_control_s {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_19_63:45;
		uint64_t hg2tx_en:1;
		uint64_t hg2rx_en:1;
		uint64_t phys_en:1;
		uint64_t logl_en:16;
#else
		uint64_t logl_en:16;
		uint64_t phys_en:1;
		uint64_t hg2rx_en:1;
		uint64_t hg2tx_en:1;
		uint64_t reserved_19_63:45;
#endif
	} s;
};

union cvmx_gmxx_inf_mode {
	uint64_t u64;
	struct cvmx_gmxx_inf_mode_s {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_20_63:44;
		uint64_t rate:4;
		uint64_t reserved_12_15:4;
		uint64_t speed:4;
		uint64_t reserved_7_7:1;
		uint64_t mode:3;
		uint64_t reserved_3_3:1;
		uint64_t p0mii:1;
		uint64_t en:1;
		uint64_t type:1;
#else
		uint64_t type:1;
		uint64_t en:1;
		uint64_t p0mii:1;
		uint64_t reserved_3_3:1;
		uint64_t mode:3;
		uint64_t reserved_7_7:1;
		uint64_t speed:4;
		uint64_t reserved_12_15:4;
		uint64_t rate:4;
		uint64_t reserved_20_63:44;
#endif
	} s;
	struct cvmx_gmxx_inf_mode_cn30xx {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_3_63:61;
		uint64_t p0mii:1;
		uint64_t en:1;
		uint64_t type:1;
#else
		uint64_t type:1;
		uint64_t en:1;
		uint64_t p0mii:1;
		uint64_t reserved_3_63:61;
#endif
	} cn30xx;
	struct cvmx_gmxx_inf_mode_cn31xx {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_2_63:62;
		uint64_t en:1;
		uint64_t type:1;
#else
		uint64_t type:1;
		uint64_t en:1;
		uint64_t reserved_2_63:62;
#endif
	} cn31xx;
	struct cvmx_gmxx_inf_mode_cn52xx {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_10_63:54;
		uint64_t speed:2;
		uint64_t reserved_6_7:2;
		uint64_t mode:2;
		uint64_t reserved_2_3:2;
		uint64_t en:1;
		uint64_t type:1;
#else
		uint64_t type:1;
		uint64_t en:1;
		uint64_t reserved_2_3:2;
		uint64_t mode:2;
		uint64_t reserved_6_7:2;
		uint64_t speed:2;
		uint64_t reserved_10_63:54;
#endif
	} cn52xx;
	struct cvmx_gmxx_inf_mode_cn61xx {
#ifdef __BIG_ENDIAN_BITFIELD
		uint64_t reserved_12_63:52;

Annotation

Implementation Notes