Skip to content

Assembly Routines

  • static inline uint8_t inb(uint16_t port)
  • static inline uint16_t inw(uint16_t port)
  • static inline uint32_t inl(uint16_t port)
  • static inline void insb(uint16_t port,void *addr,uint32_t count)
  • static inline void insw(uint16_t port,void *addr,uint32_t count)
  • static inline void insl(uint16_t port,void *addr,uint32_t count)
  • static inline void outb(uint16_t port,uint8_t value)
  • static inline void outw(uint16_t port,uint16_t value)
  • static inline void outl(uint16_t port,uint32_t value)
  • static inline void outsw(uint16_t port,void *addr,uint32_t count)
  • static inline void outsb(uint16_t port,void *addr,uint32_t count)
  • static inline void outsl(uint16_t port,void *addr,uint32_t count)
  • static inline void mmio_write_64(void *address,uint64_t value)
  • static inline void mmio_write_32(void *address,uint32_t value)
  • static inline void mmio_write_16(void *address,uint16_t value)
  • static inline void mmio_write_8(void *address,uint8_t value)
  • static inline uint64_t mmio_read_64(void *address)
  • static inline uint32_t mmio_read_32(void *address)
  • static inline uint16_t mmio_read_16(void *address)
  • static inline uint8_t mmio_read_8(void *address)
  • static inline void write_cr8(uint64_t cr8)
  • static inline uint64_t rdtsc(void)
  • static inline void cpuid_count(uint32_t leaf,uint32_t subleaf,uint32_t *eax,uint32_t *ebx,uint32_t *ecx,uint32_t *edx)
  • static inline void cpuid(uint32_t leaf,uint32_t subleaf,uint32_t *eax,uint32_t *ebx,uint32_t *ecx,uint32_t *edx)
  • static inline uint64_t read_cr4()
  • static inline void write_cr4(uint64_t cr4)
  • static inline uint32_t get_core_id(void)
  • static inline bool are_interrupts_enabled()
  • static inline void wrmsr(uint32_t msr,uint64_t value)
  • static inline uint64_t rdmsr(uint32_t msr)
  • static inline void io_wait(void)
  • static inline void clear_interrupts(void)
  • static inline void restore_interrupts(void)
  • static inline void enable_interrupts(void)
  • static inline void disable_interrupts(void)
  • static inline void invlpg(uint64_t virt)
  • static inline uint64_t read_cr3()
  • static inline void write_cr3(uint64_t cr3)
  • static inline void tlb_flush()
  • static inline void cpu_relax(void)
  • static inline void wait_for_interrupt(void)
  • static inline int clz(uint8_t a)