cachepc-qemu

Fork of AMDESE/qemu with changes for cachepc side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-qemu
Log | Files | Refs | Submodules | LICENSE | sfeed.txt

termbits.h (11550B)


      1/* Derived from asm-generic/termbits.h */
      2
      3#ifndef GENERIC_TERMBITS_H
      4#define GENERIC_TERMBITS_H
      5
      6typedef unsigned char   target_cc_t;        /* cc_t */
      7typedef unsigned int    target_speed_t;     /* speed_t */
      8typedef unsigned int    target_tcflag_t;    /* tcflag_t */
      9
     10#define TARGET_NCCS 19
     11
     12struct target_termios {
     13    target_tcflag_t c_iflag;         /* input mode flags */
     14    target_tcflag_t c_oflag;         /* output mode flags */
     15    target_tcflag_t c_cflag;         /* control mode flags */
     16    target_tcflag_t c_lflag;         /* local mode flags */
     17    target_cc_t c_line;              /* line discipline */
     18    target_cc_t c_cc[TARGET_NCCS];   /* control characters */
     19};
     20
     21struct target_termios2 {
     22    target_tcflag_t c_iflag;       /* input mode flags */
     23    target_tcflag_t c_oflag;       /* output mode flags */
     24    target_tcflag_t c_cflag;       /* control mode flags */
     25    target_tcflag_t c_lflag;       /* local mode flags */
     26    target_cc_t c_line;            /* line discipline */
     27    target_cc_t c_cc[TARGET_NCCS]; /* control characters */
     28    target_speed_t c_ispeed;       /* input speed */
     29    target_speed_t c_ospeed;       /* output speed */
     30};
     31
     32struct target_ktermios {
     33    target_tcflag_t c_iflag;       /* input mode flags */
     34    target_tcflag_t c_oflag;       /* output mode flags */
     35    target_tcflag_t c_cflag;       /* control mode flags */
     36    target_tcflag_t c_lflag;       /* local mode flags */
     37    target_cc_t c_line;            /* line discipline */
     38    target_cc_t c_cc[TARGET_NCCS]; /* control characters */
     39    target_speed_t c_ispeed;       /* input speed */
     40    target_speed_t c_ospeed;       /* output speed */
     41};
     42
     43/* c_cc character offsets */
     44#define TARGET_VINTR    0
     45#define TARGET_VQUIT    1
     46#define TARGET_VERASE   2
     47#define TARGET_VKILL    3
     48#define TARGET_VEOF     4
     49#define TARGET_VTIME    5
     50#define TARGET_VMIN     6
     51#define TARGET_VSWTC    7
     52#define TARGET_VSTART   8
     53#define TARGET_VSTOP    9
     54#define TARGET_VSUSP    10
     55#define TARGET_VEOL     11
     56#define TARGET_VREPRINT 12
     57#define TARGET_VDISCARD 13
     58#define TARGET_VWERASE  14
     59#define TARGET_VLNEXT   15
     60#define TARGET_VEOL2    16
     61
     62/* c_iflag bits */
     63#define TARGET_IGNBRK   0000001
     64#define TARGET_BRKINT   0000002
     65#define TARGET_IGNPAR   0000004
     66#define TARGET_PARMRK   0000010
     67#define TARGET_INPCK    0000020
     68#define TARGET_ISTRIP   0000040
     69#define TARGET_INLCR    0000100
     70#define TARGET_IGNCR    0000200
     71#define TARGET_ICRNL    0000400
     72#define TARGET_IUCLC    0001000
     73#define TARGET_IXON     0002000
     74#define TARGET_IXANY    0004000
     75#define TARGET_IXOFF    0010000
     76#define TARGET_IMAXBEL  0020000
     77#define TARGET_IUTF8    0040000
     78
     79/* c_oflag bits */
     80#define TARGET_OPOST    0000001
     81#define TARGET_OLCUC    0000002
     82#define TARGET_ONLCR    0000004
     83#define TARGET_OCRNL    0000010
     84#define TARGET_ONOCR    0000020
     85#define TARGET_ONLRET   0000040
     86#define TARGET_OFILL    0000100
     87#define TARGET_OFDEL    0000200
     88#define TARGET_NLDLY    0000400
     89#define  TARGET_NL0     0000000
     90#define  TARGET_NL1     0000400
     91#define TARGET_CRDLY    0003000
     92#define  TARGET_CR0     0000000
     93#define  TARGET_CR1     0001000
     94#define  TARGET_CR2     0002000
     95#define  TARGET_CR3     0003000
     96#define TARGET_TABDLY   0014000
     97#define  TARGET_TAB0    0000000
     98#define  TARGET_TAB1    0004000
     99#define  TARGET_TAB2    0010000
    100#define  TARGET_TAB3    0014000
    101#define  TARGET_XTABS   0014000
    102#define TARGET_BSDLY    0020000
    103#define  TARGET_BS0     0000000
    104#define  TARGET_BS1     0020000
    105#define TARGET_VTDLY    0040000
    106#define  TARGET_VT0     0000000
    107#define  TARGET_VT1     0040000
    108#define TARGET_FFDLY    0100000
    109#define  TARGET_FF0     0000000
    110#define  TARGET_FF1     0100000
    111
    112/* c_cflag bit meaning */
    113#define TARGET_CBAUD      0010017
    114#define  TARGET_B0        0000000  /* hang up */
    115#define  TARGET_B50       0000001
    116#define  TARGET_B75       0000002
    117#define  TARGET_B110      0000003
    118#define  TARGET_B134      0000004
    119#define  TARGET_B150      0000005
    120#define  TARGET_B200      0000006
    121#define  TARGET_B300      0000007
    122#define  TARGET_B600      0000010
    123#define  TARGET_B1200     0000011
    124#define  TARGET_B1800     0000012
    125#define  TARGET_B2400     0000013
    126#define  TARGET_B4800     0000014
    127#define  TARGET_B9600     0000015
    128#define  TARGET_B19200    0000016
    129#define  TARGET_B38400    0000017
    130#define  TARGET_EXTA      TARGET_B19200
    131#define  TARGET_EXTB      TARGET_B38400
    132#define TARGET_CSIZE      0000060
    133#define  TARGET_CS5       0000000
    134#define  TARGET_CS6       0000020
    135#define  TARGET_CS7       0000040
    136#define  TARGET_CS8       0000060
    137#define TARGET_CSTOPB     0000100
    138#define TARGET_CREAD      0000200
    139#define TARGET_PARENB     0000400
    140#define TARGET_PARODD     0001000
    141#define TARGET_HUPCL      0002000
    142#define TARGET_CLOCAL     0004000
    143#define TARGET_CBAUDEX    0010000
    144#define  TARGET_BOTHER    0010000
    145#define  TARGET_B57600    0010001
    146#define  TARGET_B115200   0010002
    147#define  TARGET_B230400   0010003
    148#define  TARGET_B460800   0010004
    149#define  TARGET_B500000   0010005
    150#define  TARGET_B576000   0010006
    151#define  TARGET_B921600   0010007
    152#define  TARGET_B1000000  0010010
    153#define  TARGET_B1152000  0010011
    154#define  TARGET_B1500000  0010012
    155#define  TARGET_B2000000  0010013
    156#define  TARGET_B2500000  0010014
    157#define  TARGET_B3000000  0010015
    158#define  TARGET_B3500000  0010016
    159#define  TARGET_B4000000  0010017
    160#define TARGET_CIBAUD     002003600000  /* input baud rate (not used) */
    161#define TARGET_CMSPAR     010000000000  /* mark or space (stick) parity */
    162#define TARGET_CRTSCTS    020000000000  /* flow control */
    163
    164#define TARGET_IBSHIFT    16            /* Shift from CBAUD to CIBAUD */
    165
    166/* c_lflag bits */
    167#define TARGET_ISIG       0000001
    168#define TARGET_ICANON     0000002
    169#define TARGET_XCASE      0000004
    170#define TARGET_ECHO       0000010
    171#define TARGET_ECHOE      0000020
    172#define TARGET_ECHOK      0000040
    173#define TARGET_ECHONL     0000100
    174#define TARGET_NOFLSH     0000200
    175#define TARGET_TOSTOP     0000400
    176#define TARGET_ECHOCTL    0001000
    177#define TARGET_ECHOPRT    0002000
    178#define TARGET_ECHOKE     0004000
    179#define TARGET_FLUSHO     0010000
    180#define TARGET_PENDIN     0040000
    181#define TARGET_IEXTEN     0100000
    182#define TARGET_EXTPROC    0200000
    183
    184/* tcflow() and TCXONC use these */
    185#define TARGET_TCOOFF          0
    186#define TARGET_TCOON           1
    187#define TARGET_TCIOFF          2
    188#define TARGET_TCION           3
    189
    190/* tcflush() and TCFLSH use these */
    191#define TARGET_TCIFLUSH        0
    192#define TARGET_TCOFLUSH        1
    193#define TARGET_TCIOFLUSH       2
    194
    195/* tcsetattr uses these */
    196#define TARGET_TCSANOW         0
    197#define TARGET_TCSADRAIN       1
    198#define TARGET_TCSAFLUSH       2
    199
    200/* Derived from include/uapi/asm-generic/ioctls.h */
    201
    202#define TARGET_TCGETS           0x5401
    203#define TARGET_TCSETS           0x5402
    204#define TARGET_TCSETSW          0x5403
    205#define TARGET_TCSETSF          0x5404
    206#define TARGET_TCGETA           0x5405
    207#define TARGET_TCSETA           0x5406
    208#define TARGET_TCSETAW          0x5407
    209#define TARGET_TCSETAF          0x5408
    210#define TARGET_TCSBRK           0x5409
    211#define TARGET_TCXONC           0x540A
    212#define TARGET_TCFLSH           0x540B
    213
    214#define TARGET_TIOCEXCL         0x540C
    215#define TARGET_TIOCNXCL         0x540D
    216#define TARGET_TIOCSCTTY        0x540E
    217#define TARGET_TIOCGPGRP        0x540F
    218#define TARGET_TIOCSPGRP        0x5410
    219#define TARGET_TIOCOUTQ         0x5411
    220#define TARGET_TIOCSTI          0x5412
    221#define TARGET_TIOCGWINSZ       0x5413
    222#define TARGET_TIOCSWINSZ       0x5414
    223#define TARGET_TIOCMGET         0x5415
    224#define TARGET_TIOCMBIS         0x5416
    225#define TARGET_TIOCMBIC         0x5417
    226#define TARGET_TIOCMSET         0x5418
    227#define TARGET_TIOCGSOFTCAR     0x5419
    228#define TARGET_TIOCSSOFTCAR     0x541A
    229#define TARGET_FIONREAD         0x541B
    230#define TARGET_TIOCINQ          TARGET_FIONREAD
    231#define TARGET_TIOCLINUX        0x541C
    232#define TARGET_TIOCCONS         0x541D
    233#define TARGET_TIOCGSERIAL      0x541E
    234#define TARGET_TIOCSSERIAL      0x541F
    235#define TARGET_TIOCPKT          0x5420
    236#define TARGET_FIONBIO          0x5421
    237#define TARGET_TIOCNOTTY        0x5422
    238#define TARGET_TIOCSETD         0x5423
    239#define TARGET_TIOCGETD         0x5424
    240#define TARGET_TCSBRKP          0x5425 /* Needed for POSIX tcsendbreak() */
    241#define TARGET_TIOCTTYGSTRUCT   0x5426 /* For debugging only */
    242#define TARGET_TIOCSBRK         0x5427 /* BSD compatibility */
    243#define TARGET_TIOCCBRK         0x5428 /* BSD compatibility */
    244#define TARGET_TIOCGSID         0x5429 /* Return the session ID of FD */
    245#define TARGET_TCGETS2          TARGET_IOR('T', 0x2A, struct target_termios2)
    246#define TARGET_TCSETS2          TARGET_IOW('T', 0x2B, struct target_termios2)
    247#define TARGET_TCSETSW2         TARGET_IOW('T', 0x2C, struct target_termios2)
    248#define TARGET_TCSETSF2         TARGET_IOW('T', 0x2D, struct target_termios2)
    249#define TARGET_TIOCGRS485       0x542E
    250#ifndef TARGET_TIOCSRS485
    251#define TARGET_TIOCSRS485       0x542F
    252#endif
    253/* Get Pty Number (of pty-mux device) */
    254#define TARGET_TIOCGPTN         TARGET_IOR('T', 0x30, unsigned int)
    255/* Lock/unlock Pty */
    256#define TARGET_TIOCSPTLCK       TARGET_IOW('T', 0x31, int)
    257
    258/* Get primary device node of /dev/console */
    259#define TARGET_TIOCGDEV        TARGET_IOR('T', 0x32, unsigned int)
    260#define TARGET_TCGETX          0x5432 /* SYS5 TCGETX compatibility */
    261#define TARGET_TCSETX          0x5433
    262#define TARGET_TCSETXF         0x5434
    263#define TARGET_TCSETXW         0x5435
    264/* pty: generate signal */
    265#define TARGET_TIOCSIG         TARGET_IOW('T', 0x36, int)
    266#define TARGET_TIOCVHANGUP     0x5437
    267/* Get packet mode state */
    268#define TARGET_TIOCGPKT        TARGET_IOR('T', 0x38, int)
    269/* Get Pty lock state */
    270#define TARGET_TIOCGPTLCK      TARGET_IOR('T', 0x39, int)
    271/* Get exclusive mode state */
    272#define TARGET_TIOCGEXCL       TARGET_IOR('T', 0x40, int)
    273/* Safely open the slave */
    274#define TARGET_TIOCGPTPEER     TARGET_IO('T', 0x41)
    275#define TARGET_TIOCGISO7816    TARGET_IOR('T', 0x42, struct serial_iso7816)
    276#define TARGET_TIOCSISO7816    TARGET_IOWR('T', 0x43, struct serial_iso7816)
    277
    278#define TARGET_FIONCLEX         0x5450 /* these numbers need to be adjusted */
    279#define TARGET_FIOCLEX          0x5451
    280#define TARGET_FIOASYNC         0x5452
    281#define TARGET_TIOCSERCONFIG    0x5453
    282#define TARGET_TIOCSERGWILD     0x5454
    283#define TARGET_TIOCSERSWILD     0x5455
    284#define TARGET_TIOCGLCKTRMIOS   0x5456
    285#define TARGET_TIOCSLCKTRMIOS   0x5457
    286#define TARGET_TIOCSERGSTRUCT   0x5458 /* For debugging only */
    287#define TARGET_TIOCSERGETLSR    0x5459 /* Get line status register */
    288#define TARGET_TIOCSERGETMULTI  0x545A /* Get multiport config  */
    289#define TARGET_TIOCSERSETMULTI  0x545B /* Set multiport config */
    290
    291/* wait for a change on serial input line(s) */
    292#define TARGET_TIOCMIWAIT       0x545C
    293/* read serial port inline interrupt counts */
    294#define TARGET_TIOCGICOUNT      0x545D
    295#define TARGET_TIOCGHAYESESP    0x545E  /* Get Hayes ESP configuration */
    296#define TARGET_TIOCSHAYESESP    0x545F  /* Set Hayes ESP configuration */
    297
    298/*
    299 * Some arches already define TARGET_FIOQSIZE due to a historical
    300 * conflict with a Hayes modem-specific ioctl value.
    301 */
    302#ifndef TARGET_FIOQSIZE
    303# define TARGET_FIOQSIZE        0x5460
    304#endif
    305
    306/* Used for packet mode */
    307#define TARGET_TIOCPKT_DATA              0
    308#define TARGET_TIOCPKT_FLUSHREAD         1
    309#define TARGET_TIOCPKT_FLUSHWRITE        2
    310#define TARGET_TIOCPKT_STOP              4
    311#define TARGET_TIOCPKT_START             8
    312#define TARGET_TIOCPKT_NOSTOP            16
    313#define TARGET_TIOCPKT_DOSTOP            32
    314#define TARGET_TIOCPKT_IOCTL             64
    315
    316#define TARGET_TIOCSER_TEMT     0x01 /* Transmitter physically empty */
    317
    318#endif