iPXE
Macros | Functions | Variables
serial.h File Reference

Serial console. More...

#include <ipxe/api.h>
#include <ipxe/uart.h>
#include <config/serial.h>

Go to the source code of this file.

Macros

#define SERIAL_PREFIX_null   __null_
 
#define SERIAL_INLINE(_subsys, _api_func)   SINGLE_API_INLINE ( SERIAL_PREFIX_ ## _subsys, _api_func )
 Calculate static inline serial API function name. More...
 
#define PROVIDE_SERIAL(_subsys, _api_func, _func)   PROVIDE_SINGLE_API ( SERIAL_PREFIX_ ## _subsys, _api_func, _func )
 Provide a serial API implementation. More...
 
#define PROVIDE_SERIAL_INLINE(_subsys, _api_func)   PROVIDE_SINGLE_API_INLINE ( SERIAL_PREFIX_ ## _subsys, _api_func )
 Provide a static inline serial API implementation. More...
 

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
static __always_inline struct uartSERIAL_INLINE (null, default_serial_console)(void)
 Get null serial console UART. More...
 
struct uartdefault_serial_console (void)
 Get serial console UART. More...
 
struct uartfixed_serial_console (void)
 Get fixed serial console UART. More...
 

Variables

struct uartserial_console
 Active serial console UART. More...
 

Detailed Description

Serial console.

Definition in file serial.h.

Macro Definition Documentation

◆ SERIAL_PREFIX_null

#define SERIAL_PREFIX_null   __null_

Definition at line 19 of file serial.h.

◆ SERIAL_INLINE

#define SERIAL_INLINE (   _subsys,
  _api_func 
)    SINGLE_API_INLINE ( SERIAL_PREFIX_ ## _subsys, _api_func )

Calculate static inline serial API function name.

Parameters
_prefixSubsystem prefix
_api_funcAPI function
Return values
_subsys_funcSubsystem API function

Definition at line 29 of file serial.h.

◆ PROVIDE_SERIAL

#define PROVIDE_SERIAL (   _subsys,
  _api_func,
  _func 
)    PROVIDE_SINGLE_API ( SERIAL_PREFIX_ ## _subsys, _api_func, _func )

Provide a serial API implementation.

Parameters
_prefixSubsystem prefix
_api_funcAPI function
_funcImplementing function

Definition at line 39 of file serial.h.

◆ PROVIDE_SERIAL_INLINE

#define PROVIDE_SERIAL_INLINE (   _subsys,
  _api_func 
)    PROVIDE_SINGLE_API_INLINE ( SERIAL_PREFIX_ ## _subsys, _api_func )

Provide a static inline serial API implementation.

Parameters
_prefixSubsystem prefix
_api_funcAPI function

Definition at line 48 of file serial.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ SERIAL_INLINE()

static __always_inline struct uart* SERIAL_INLINE ( null  ,
default_serial_console   
)
inlinestatic

Get null serial console UART.

Return values
uartSerial console UART, or NULL

Definition at line 57 of file serial.h.

57  {
58  return NULL;
59 }
#define NULL
NULL pointer (VOID *)
Definition: Base.h:321

References NULL.

◆ default_serial_console()

struct uart* default_serial_console ( void  )

Get serial console UART.

Return values
uartSerial console UART, or NULL

Referenced by serial_init().

◆ fixed_serial_console()

struct uart* fixed_serial_console ( void  )

Get fixed serial console UART.

Return values
uartSerial console UART, or NULL

Definition at line 76 of file serial.c.

76  {
77  struct uart *uart = COMCONSOLE;
78  unsigned int baud = COMSPEED;
79 
80  /* Set default baud rate, if applicable */
81  if ( uart && baud )
82  uart->baud = baud;
83 
84  return uart;
85 }
A generic UART.
Definition: uart.h:17
unsigned int baud
Baud rate (if specified)
Definition: uart.h:26
#define COMSPEED
Definition: serial.c:61
#define COMCONSOLE
Definition: serial.c:56

References uart::baud, COMCONSOLE, and COMSPEED.

Referenced by spcr_console().

Variable Documentation

◆ serial_console

struct uart* serial_console

Active serial console UART.

Explicitly initialised to NULL since this variable may be accessed before .bss has been zeroed.

Definition at line 69 of file serial.c.

Referenced by int21(), int22(), serial_getchar(), serial_init(), serial_iskey(), serial_putchar(), and serial_shutdown().