summaryrefslogblamecommitdiffstats
path: root/arch/x86_64/uart.h
blob: 8386eb73dbfc9868b6dead3f229eb3aa8f27fefd (plain) (tree)


















                                                         
#ifndef JOVE_KERNEL_ARCH_x86_64_UART_H
#define JOVE_KERNEL_ARCH_x86_64_UART_H 1

#include "lib/jove.h"
#include <stdint.h>

ALWAYS_INLINE uint8_t pinb(uint16_t port)
{
    uint8_t v;
    __asm__ volatile("inb %1, %0": "=a"(v): "Nd"(port));
    return v;
}

ALWAYS_INLINE void poutb(uint16_t port, uint8_t b)
{
    __asm__ volatile("outb %0, %1":: "a"(b), "Nd"(port));
}

#endif