Zephyr API Documentation 4.2.0-rc2
A Scalable Open Source RTOS
 4.2.0-rc2
arch.h File Reference

X86 specific kernel interface header. More...

Go to the source code of this file.

Macros

#define sys_bitfield_set_bit   sys_set_bit
#define sys_bitfield_clear_bit   sys_clear_bit
#define sys_bitfield_test_bit   sys_test_bit
#define sys_bitfield_test_and_set_bit   sys_test_and_set_bit
#define sys_bitfield_test_and_clear_bit   sys_test_and_clear_bit

Functions

static ALWAYS_INLINE void arch_irq_unlock (unsigned int key)
static ALWAYS_INLINE void sys_out8 (uint8_t data, io_port_t port)
static ALWAYS_INLINE uint8_t sys_in8 (io_port_t port)
static ALWAYS_INLINE void sys_out16 (uint16_t data, io_port_t port)
static ALWAYS_INLINE uint16_t sys_in16 (io_port_t port)
static ALWAYS_INLINE void sys_out32 (uint32_t data, io_port_t port)
static ALWAYS_INLINE uint32_t sys_in32 (io_port_t port)
static ALWAYS_INLINE void sys_write8 (uint8_t data, mm_reg_t addr)
static ALWAYS_INLINE uint8_t sys_read8 (mm_reg_t addr)
static ALWAYS_INLINE void sys_write16 (uint16_t data, mm_reg_t addr)
static ALWAYS_INLINE uint16_t sys_read16 (mm_reg_t addr)
static ALWAYS_INLINE void sys_write32 (uint32_t data, mm_reg_t addr)
static ALWAYS_INLINE uint32_t sys_read32 (mm_reg_t addr)
static ALWAYS_INLINE void sys_set_bit (mem_addr_t addr, unsigned int bit)
static ALWAYS_INLINE void sys_clear_bit (mem_addr_t addr, unsigned int bit)
static ALWAYS_INLINE int sys_test_bit (mem_addr_t addr, unsigned int bit)
static ALWAYS_INLINE int sys_test_and_set_bit (mem_addr_t addr, unsigned int bit)
static ALWAYS_INLINE int sys_test_and_clear_bit (mem_addr_t addr, unsigned int bit)
void arch_irq_enable (unsigned int irq)
void arch_irq_disable (unsigned int irq)
uint32_t sys_clock_cycle_get_32 (void)
static __pinned_func uint32_t arch_k_cycle_get_32 (void)
uint64_t sys_clock_cycle_get_64 (void)
static __pinned_func uint64_t arch_k_cycle_get_64 (void)
static ALWAYS_INLINE bool arch_irq_unlocked (unsigned int key)
static ALWAYS_INLINE void arch_nop (void)

Detailed Description

X86 specific kernel interface header.

This header contains the X86 specific kernel interfaces for both IA-32 and Intel-64. It is included by the kernel interface architecture-abstraction header (include/zephyr/arch/cpu.h).

Macro Definition Documentation

◆ sys_bitfield_clear_bit

#define sys_bitfield_clear_bit   sys_clear_bit

◆ sys_bitfield_set_bit

#define sys_bitfield_set_bit   sys_set_bit

◆ sys_bitfield_test_and_clear_bit

#define sys_bitfield_test_and_clear_bit   sys_test_and_clear_bit

◆ sys_bitfield_test_and_set_bit

#define sys_bitfield_test_and_set_bit   sys_test_and_set_bit

◆ sys_bitfield_test_bit

#define sys_bitfield_test_bit   sys_test_bit

Function Documentation

◆ arch_irq_disable()

void arch_irq_disable ( unsigned int irq)

◆ arch_irq_enable()

void arch_irq_enable ( unsigned int irq)

◆ arch_irq_unlock()

ALWAYS_INLINE void arch_irq_unlock ( unsigned int key)
static

◆ arch_irq_unlocked()

ALWAYS_INLINE bool arch_irq_unlocked ( unsigned int key)
static

◆ arch_k_cycle_get_32()

__pinned_func uint32_t arch_k_cycle_get_32 ( void )
inlinestatic

◆ arch_k_cycle_get_64()

__pinned_func uint64_t arch_k_cycle_get_64 ( void )
inlinestatic

◆ arch_nop()

ALWAYS_INLINE void arch_nop ( void )
static

◆ sys_clear_bit()

ALWAYS_INLINE void sys_clear_bit ( mem_addr_t addr,
unsigned int bit )
static

◆ sys_clock_cycle_get_32()

uint32_t sys_clock_cycle_get_32 ( void )

◆ sys_clock_cycle_get_64()

uint64_t sys_clock_cycle_get_64 ( void )

◆ sys_in16()

ALWAYS_INLINE uint16_t sys_in16 ( io_port_t port)
static

◆ sys_in32()

ALWAYS_INLINE uint32_t sys_in32 ( io_port_t port)
static

◆ sys_in8()

ALWAYS_INLINE uint8_t sys_in8 ( io_port_t port)
static

◆ sys_out16()

ALWAYS_INLINE void sys_out16 ( uint16_t data,
io_port_t port )
static

◆ sys_out32()

ALWAYS_INLINE void sys_out32 ( uint32_t data,
io_port_t port )
static

◆ sys_out8()

ALWAYS_INLINE void sys_out8 ( uint8_t data,
io_port_t port )
static

◆ sys_read16()

ALWAYS_INLINE uint16_t sys_read16 ( mm_reg_t addr)
static

◆ sys_read32()

ALWAYS_INLINE uint32_t sys_read32 ( mm_reg_t addr)
static

◆ sys_read8()

ALWAYS_INLINE uint8_t sys_read8 ( mm_reg_t addr)
static

◆ sys_set_bit()

ALWAYS_INLINE void sys_set_bit ( mem_addr_t addr,
unsigned int bit )
static

◆ sys_test_and_clear_bit()

ALWAYS_INLINE int sys_test_and_clear_bit ( mem_addr_t addr,
unsigned int bit )
static

◆ sys_test_and_set_bit()

ALWAYS_INLINE int sys_test_and_set_bit ( mem_addr_t addr,
unsigned int bit )
static

◆ sys_test_bit()

ALWAYS_INLINE int sys_test_bit ( mem_addr_t addr,
unsigned int bit )
static

◆ sys_write16()

ALWAYS_INLINE void sys_write16 ( uint16_t data,
mm_reg_t addr )
static

◆ sys_write32()

ALWAYS_INLINE void sys_write32 ( uint32_t data,
mm_reg_t addr )
static

◆ sys_write8()

ALWAYS_INLINE void sys_write8 ( uint8_t data,
mm_reg_t addr )
static