28 lines
862 B
C
28 lines
862 B
C
/******************************************************************************
|
|
* hvc_l.h (based on XEN console interface
|
|
*
|
|
* HyperVisor Console I/O interface for Elbrus guest OSes.
|
|
*
|
|
* Copyright (c) 2005, Keir Fraser
|
|
* (c) 2013 Salavat Gilyazov
|
|
*/
|
|
|
|
#ifndef __L_PUBLIC_IO_CONSOLE_H__
|
|
#define __L_PUBLIC_IO_CONSOLE_H__
|
|
|
|
typedef uint32_t LCONS_RING_IDX;
|
|
|
|
#define MASK_LCONS_IDX(idx, ring) ((idx) & (sizeof(ring)-1))
|
|
|
|
typedef struct lcons_interface {
|
|
char in[1024]; /* input buffer */
|
|
char out[2048]; /* output buffer */
|
|
LCONS_RING_IDX in_cons, in_prod; /* input buffer indexes */
|
|
LCONS_RING_IDX out_cons, out_prod; /* output buffer indexes */
|
|
} lcons_interface_t;
|
|
|
|
#define LCONS_OUTPUT_NOTIFIER (('l'<<24) | ('c'<<16) | ('o'<<8) | 't')
|
|
#define LCONS_INPUT_NOTIFIER (('l'<<24) | ('c'<<16) | ('i'<<8) | 'n')
|
|
|
|
#endif /* __L_PUBLIC_IO_CONSOLE_H__ */
|