Zephyr API Documentation 4.1.99
A Scalable Open Source RTOS
 4.1.99
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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()

static ALWAYS_INLINE void arch_irq_unlock ( unsigned int key)
static

◆ arch_irq_unlocked()

static ALWAYS_INLINE bool arch_irq_unlocked ( unsigned int key)
static

◆ arch_k_cycle_get_32()

static __pinned_func uint32_t arch_k_cycle_get_32 ( void )
inlinestatic

◆ arch_k_cycle_get_64()

static __pinned_func uint64_t arch_k_cycle_get_64 ( void )
inlinestatic

◆ arch_nop()

static ALWAYS_INLINE void arch_nop ( void )
static

◆ sys_clear_bit()

static 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()

static ALWAYS_INLINE uint16_t sys_in16 ( io_port_t port)
static

◆ sys_in32()

static ALWAYS_INLINE uint32_t sys_in32 ( io_port_t port)
static

◆ sys_in8()

static ALWAYS_INLINE uint8_t sys_in8 ( io_port_t port)
static

◆ sys_out16()

static ALWAYS_INLINE void sys_out16 ( uint16_t data,
io_port_t port )
static

◆ sys_out32()

static ALWAYS_INLINE void sys_out32 ( uint32_t data,
io_port_t port )
static

◆ sys_out8()

static ALWAYS_INLINE void sys_out8 ( uint8_t data,
io_port_t port )
static

◆ sys_read16()

static ALWAYS_INLINE uint16_t sys_read16 ( mm_reg_t addr)
static

◆ sys_read32()

static ALWAYS_INLINE uint32_t sys_read32 ( mm_reg_t addr)
static

◆ sys_read8()

static ALWAYS_INLINE uint8_t sys_read8 ( mm_reg_t addr)
static

◆ sys_set_bit()

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

◆ sys_test_and_clear_bit()

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

◆ sys_test_and_set_bit()

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

◆ sys_test_bit()

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

◆ sys_write16()

static ALWAYS_INLINE void sys_write16 ( uint16_t data,
mm_reg_t addr )
static

◆ sys_write32()

static ALWAYS_INLINE void sys_write32 ( uint32_t data,
mm_reg_t addr )
static

◆ sys_write8()

static ALWAYS_INLINE void sys_write8 ( uint8_t data,
mm_reg_t addr )
static