mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 10:40:03 +01:00
- Move PAGE_SIZE and STACK_SIZE into __PAGE_SIZE and __STACK_SIZE in arch_limits.h so as to permit getting them from there without pulling all the internal Mini-OS defines. - Setup a xen-elf cross-compilation environment in stubdom/cross-root - Add a POSIX layer on top of Mini-OS by linking against the newlib C library and lwIP, and implementing the Unixish part in mini-os/lib/sys.c - Cross-compile zlib and libpci too. - Add an xs.h-compatible layer on top of Mini-OS' xenbus. - Cross-compile libxc with an additional xc_minios.c and a few things disabled. - Cross-compile ioemu with an additional block-vbd, but without sound, tpm and other details. A few hacks are needed: - Align ide and scsi buffers at least on sector size to permit direct transmission to the block backend. While we are at it, just page-align it to possibly save a segment. Also, limit the scsi buffer size because of limitations of the block paravirtualization protocol. - Allocate big tables dynamically rather that letting them go to bss: when Mini-OS gets installed in memory, bss is not lazily allocated, and doing so during Mini-OS is unnecessarily trick while we can simply use malloc. - Had to change the Mini-OS compilation somehow, so as to export Mini-OS compilation flags to the Makefiles of libxc and ioemu. Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
88 lines
1.8 KiB
C
88 lines
1.8 KiB
C
#ifndef _POSIX_TERMIOS_H
|
|
#define _POSIX_TERMIOS_H
|
|
|
|
#define NCC 32
|
|
|
|
struct termios {
|
|
unsigned long c_iflag;
|
|
unsigned long c_oflag;
|
|
unsigned long c_lflag;
|
|
unsigned long c_cflag;
|
|
unsigned char c_cc[NCC];
|
|
};
|
|
|
|
/* modem lines */
|
|
#define TIOCM_DTR 0x002
|
|
#define TIOCM_RTS 0x004
|
|
#define TIOCM_CTS 0x020
|
|
#define TIOCM_CAR 0x040
|
|
#define TIOCM_RI 0x080
|
|
#define TIOCM_DSR 0x100
|
|
|
|
/* c_iflag */
|
|
#define IGNBRK 0x00000001
|
|
#define BRKINT 0x00000002
|
|
#define IGNPAR 0x00000004
|
|
#define PARMRK 0x00000008
|
|
#define INPCK 0x00000010
|
|
#define ISTRIP 0x00000020
|
|
#define INLCR 0x00000040
|
|
#define IGNCR 0x00000080
|
|
#define ICRNL 0x00000100
|
|
#define IUCLC 0x00000200
|
|
#define IXON 0x00000400
|
|
#define IXANY 0x00000800
|
|
#define IXOFF 0x00001000
|
|
#define IMAXBEL 0x00002000
|
|
#define IUTF8 0x00004000
|
|
|
|
/* c_oflag */
|
|
#define OPOST 0x00000001
|
|
#define OLCUC 0x00000002
|
|
#define ONLCR 0x00000004
|
|
#define OCRNL 0x00000008
|
|
#define ONOCR 0x00000010
|
|
#define ONLRET 0x00000020
|
|
#define OFILL 0x00000040
|
|
#define OFDEL 0x00000080
|
|
|
|
/* c_lflag */
|
|
#define ISIG 0x00000001
|
|
#define ICANON 0x00000002
|
|
#define XCASE 0x00000004
|
|
#define ECHO 0x00000008
|
|
#define ECHOE 0x00000010
|
|
#define ECHOK 0x00000020
|
|
#define ECHONL 0x00000040
|
|
#define NOFLSH 0x00000080
|
|
#define TOSTOP 0x00000100
|
|
#define ECHOCTL 0x00000200
|
|
#define ECHOPRT 0x00000400
|
|
#define ECHOKE 0x00000800
|
|
#define FLUSHO 0x00002000
|
|
#define PENDIN 0x00004000
|
|
#define IEXTEN 0x00008000
|
|
|
|
/* c_cflag */
|
|
#define CSIZE 0x00000030
|
|
#define CS8 0x00000030
|
|
#define CSTOPB 0x00000040
|
|
#define CREAD 0x00000080
|
|
#define PARENB 0x00000100
|
|
#define PARODD 0x00000200
|
|
#define HUPCL 0x00000400
|
|
#define CLOCAL 0x00000800
|
|
|
|
/* c_cc */
|
|
#define VTIME 5
|
|
#define VMIN 6
|
|
|
|
#define TCSANOW 0
|
|
#define TCSADRAIN 1
|
|
#define TCSAFLUSH 2
|
|
|
|
int tcsetattr(int fildes, int action, const struct termios *tios);
|
|
int tcgetattr(int fildes, struct termios *tios);
|
|
|
|
#endif /* _POSIX_TERMIOS_H */
|