Voxia OS v0.0.1
Hobby Project Operating System Targeting x86-64
Loading...
Searching...
No Matches
serial.h File Reference
#include <type.h>

Go to the source code of this file.

Macros

#define SERIAL_COM1   0x3f8
 
#define SERIAL_COM2   0x2f8
 
#define SERIAL_COM3   0x3e8
 
#define SERIAL_COM4   0x2e8
 
#define serial_trace(...)
 
#define LOG_INFO(mod, fmt, ...)
 
#define LOG_DEBUG(mod, fmt, ...)
 
#define LOG_ERROR(mod, fmt, ...)
 
#define LOG_WARN(mod, fmt, ...)
 
#define LOG2_INFO(mod, fmt, ...)
 
#define LOG2_DEBUG(mod, fmt, ...)
 
#define LOG2_ERROR(mod, fmt, ...)
 
#define LOG2_WARN(mod, fmt, ...)
 

Functions

int serial_is_transmit_empty (void)
 
void serial_send_string (char *str)
 
void serial_send_number (int64_t num, int base)
 
void serial_printf (const char *fmt,...)
 
void serial_putc (char c)
 
void serial_clear ()
 
void serial_setup ()
 
void serial2_printf (const char *fmt,...)
 
void serial2_flush ()
 
void parse_multicore (__builtin_va_list args, const char *fmt)
 

Macro Definition Documentation

◆ LOG2_DEBUG

#define LOG2_DEBUG ( mod,
fmt,
... )
Value:
serial2_printf("[DEBUG][%s][%s:%d] " fmt "\n", mod, __FILE__, \
__LINE__, ##__VA_ARGS__)
void serial2_printf(const char *fmt,...)

Definition at line 35 of file serial.h.

Referenced by __attribute__(), attach_to_scheduler(), create_thread(), elf_call_init_array(), elf_relocate_rel(), INIT(), lookup_netdev(), syscall_dispatch(), thrAcquireNewSlot(), usleep_backend(), vfs_event_handler(), vfs_umount(), vxAPICTimerCalibrationUsingHPET(), and vxSchedulerTick().

◆ LOG2_ERROR

◆ LOG2_INFO

◆ LOG2_WARN

#define LOG2_WARN ( mod,
fmt,
... )

◆ LOG_DEBUG

#define LOG_DEBUG ( mod,
fmt,
... )
Value:
serial2_printf("[DEBUG][%s][%s:%d] " fmt "\n", mod, __FILE__, \
__LINE__, ##__VA_ARGS__)

Definition at line 22 of file serial.h.

Referenced by __attribute__(), __attribute__(), apicInitialize(), INIT(), INIT(), iso9660_lookup(), parsing_madt(), and sipi_sequential().

◆ LOG_ERROR

#define LOG_ERROR ( mod,
fmt,
... )
Value:
serial2_printf("[ERROR][%s] " fmt "\n", mod, ##__VA_ARGS__)

Definition at line 25 of file serial.h.

Referenced by __attribute__(), execve(), INIT(), INIT(), library_register(), vxAddWorkqueueTask(), vxAPICCreateTimer(), and vxSlabAlloc().

◆ LOG_INFO

◆ LOG_WARN

#define LOG_WARN ( mod,
fmt,
... )
Value:
serial2_printf("[WARN][%s] " fmt "\n", mod, ##__VA_ARGS__)

Definition at line 27 of file serial.h.

Referenced by __attribute__(), build_context_from_stivale2(), iso9660_lookup(), and vxAPICCreateTimer().

◆ SERIAL_COM1

#define SERIAL_COM1   0x3f8

Definition at line 6 of file serial.h.

Referenced by serial_is_transmit_empty(), serial_putc(), and serial_setup().

◆ SERIAL_COM2

#define SERIAL_COM2   0x2f8

Definition at line 7 of file serial.h.

◆ SERIAL_COM3

#define SERIAL_COM3   0x3e8

Definition at line 8 of file serial.h.

◆ SERIAL_COM4

#define SERIAL_COM4   0x2e8

Definition at line 9 of file serial.h.

◆ serial_trace

Function Documentation

◆ parse_multicore()

void parse_multicore ( __builtin_va_list args,
const char * fmt )

Definition at line 271 of file serial.c.

Referenced by __attribute__().

◆ serial2_flush()

◆ serial2_printf()

void serial2_printf ( const char * fmt,
... )

◆ serial_clear()

void serial_clear ( )

Definition at line 105 of file serial.c.

References serial_printf().

◆ serial_is_transmit_empty()

int serial_is_transmit_empty ( void )

Definition at line 56 of file serial.c.

References inb(), and SERIAL_COM1.

Referenced by serial_putc().

◆ serial_printf()

void serial_printf ( const char * fmt,
... )

◆ serial_putc()

void serial_putc ( char c)

◆ serial_send_number()

void serial_send_number ( int64_t num,
int base )

Definition at line 72 of file serial.c.

References base, and serial_putc().

◆ serial_send_string()

void serial_send_string ( char * str)

Definition at line 67 of file serial.c.

References serial_putc(), and str().

Referenced by parse_before_multicore().

◆ serial_setup()

void serial_setup ( )

Definition at line 46 of file serial.c.

References INT_ENABLE_OFFSET, outb(), and SERIAL_COM1.

Referenced by __attribute__(), and __attribute__().