[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Minios-devel] [UNIKRAFT PATCH 1/2] lib/nolibc/include: Add termios.h from musl



Hey Yuri,

Thank you for the review. The compile error was a mistake on my side. 
This was caused by me testing the functionality with micropython which 
uses newlib. I shall include the proposed changes in the v2 patch.

Regards,

Vlad

On 12/15/18 7:05 PM, Yuri Volchkov wrote:
> Hi Vlad-Andrei,
>
> please check next time that your patches are compileable and working.
>
> This file in musl is not intended to be included directly. It is missing
> some declarations and compile guards. So we can not use this file as it
> is (at very least this is the reason why your patches would not compile).
>
> In musl the actual include file is include/termios.h which does include
> one of architecture specific bits/termios.h. Fortunately we do not have
> to do the same, since it is only mips and powerpc variants have
> different termios.h files.
>
> So I would propose to add to the file you imported:
> 1) compile guards
> 2) missing declarations from include/termios.h
> 3) compile-time check of the architecture
>
> The last one can be achieved like this:
>
>      #include <uk/config.h>
>      #if ((!defined CONFIG_ARCH_X86_64) && (!defined CONFIG_ARCH_ARM_64) && 
> (!defined CONFIG_ARCH_ARM_32))
>      #error Please make sure this termios.h declaration match your 
> architecture
>      #endif
>
> Normally I insist that imported files are introduced as one commit
> without a single modification, and do changes in the following
> commits. But in this case it is fine to do it at once, since changes are
> minimal and they are all in the single block at the top of the file
> (well, plus one single #endif at the end).
>
> However, please add to the commit message the hash code and tag of the
> original code, where you have imported this file. And briefly explain
> what you have added on top of the original.
>
> For example:
>      tag: v1.1.20
>      commit <0fa1e638e87cf257e9f96b4019b2076afd674a19>
>
> BR, Yuri.
>
> "Vlad-Andrei BĂDOIU (78692)" <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
> writes:
>
>> Signed-off-by: Vlad-Andrei Badoiu <vlad_andrei.badoiu@xxxxxxxxxxxxxxx>
>> ---
>>   lib/nolibc/include/termios.h | 166 +++++++++++++++++++++++++++++++++++
>>   1 file changed, 166 insertions(+)
>>   create mode 100644 lib/nolibc/include/termios.h
>>
>> diff --git a/lib/nolibc/include/termios.h b/lib/nolibc/include/termios.h
>> new file mode 100644
>> index 0000000..124f71d
>> --- /dev/null
>> +++ b/lib/nolibc/include/termios.h
>> @@ -0,0 +1,166 @@
>> +struct termios {
>> +    tcflag_t c_iflag;
>> +    tcflag_t c_oflag;
>> +    tcflag_t c_cflag;
>> +    tcflag_t c_lflag;
>> +    cc_t c_line;
>> +    cc_t c_cc[NCCS];
>> +    speed_t __c_ispeed;
>> +    speed_t __c_ospeed;
>> +};
>> +
>> +#define VINTR     0
>> +#define VQUIT     1
>> +#define VERASE    2
>> +#define VKILL     3
>> +#define VEOF      4
>> +#define VTIME     5
>> +#define VMIN      6
>> +#define VSWTC     7
>> +#define VSTART    8
>> +#define VSTOP     9
>> +#define VSUSP    10
>> +#define VEOL     11
>> +#define VREPRINT 12
>> +#define VDISCARD 13
>> +#define VWERASE  14
>> +#define VLNEXT   15
>> +#define VEOL2    16
>> +
>> +#define IGNBRK  0000001
>> +#define BRKINT  0000002
>> +#define IGNPAR  0000004
>> +#define PARMRK  0000010
>> +#define INPCK   0000020
>> +#define ISTRIP  0000040
>> +#define INLCR   0000100
>> +#define IGNCR   0000200
>> +#define ICRNL   0000400
>> +#define IUCLC   0001000
>> +#define IXON    0002000
>> +#define IXANY   0004000
>> +#define IXOFF   0010000
>> +#define IMAXBEL 0020000
>> +#define IUTF8   0040000
>> +
>> +#define OPOST  0000001
>> +#define OLCUC  0000002
>> +#define ONLCR  0000004
>> +#define OCRNL  0000010
>> +#define ONOCR  0000020
>> +#define ONLRET 0000040
>> +#define OFILL  0000100
>> +#define OFDEL  0000200
>> +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) || defined(_XOPEN_SOURCE)
>> +#define NLDLY  0000400
>> +#define NL0    0000000
>> +#define NL1    0000400
>> +#define CRDLY  0003000
>> +#define CR0    0000000
>> +#define CR1    0001000
>> +#define CR2    0002000
>> +#define CR3    0003000
>> +#define TABDLY 0014000
>> +#define TAB0   0000000
>> +#define TAB1   0004000
>> +#define TAB2   0010000
>> +#define TAB3   0014000
>> +#define BSDLY  0020000
>> +#define BS0    0000000
>> +#define BS1    0020000
>> +#define FFDLY  0100000
>> +#define FF0    0000000
>> +#define FF1    0100000
>> +#endif
>> +
>> +#define VTDLY  0040000
>> +#define VT0    0000000
>> +#define VT1    0040000
>> +
>> +#define B0       0000000
>> +#define B50      0000001
>> +#define B75      0000002
>> +#define B110     0000003
>> +#define B134     0000004
>> +#define B150     0000005
>> +#define B200     0000006
>> +#define B300     0000007
>> +#define B600     0000010
>> +#define B1200    0000011
>> +#define B1800    0000012
>> +#define B2400    0000013
>> +#define B4800    0000014
>> +#define B9600    0000015
>> +#define B19200   0000016
>> +#define B38400   0000017
>> +
>> +#define B57600   0010001
>> +#define B115200  0010002
>> +#define B230400  0010003
>> +#define B460800  0010004
>> +#define B500000  0010005
>> +#define B576000  0010006
>> +#define B921600  0010007
>> +#define B1000000 0010010
>> +#define B1152000 0010011
>> +#define B1500000 0010012
>> +#define B2000000 0010013
>> +#define B2500000 0010014
>> +#define B3000000 0010015
>> +#define B3500000 0010016
>> +#define B4000000 0010017
>> +
>> +#define CSIZE  0000060
>> +#define CS5    0000000
>> +#define CS6    0000020
>> +#define CS7    0000040
>> +#define CS8    0000060
>> +#define CSTOPB 0000100
>> +#define CREAD  0000200
>> +#define PARENB 0000400
>> +#define PARODD 0001000
>> +#define HUPCL  0002000
>> +#define CLOCAL 0004000
>> +
>> +#define ISIG   0000001
>> +#define ICANON 0000002
>> +#define ECHO   0000010
>> +#define ECHOE  0000020
>> +#define ECHOK  0000040
>> +#define ECHONL 0000100
>> +#define NOFLSH 0000200
>> +#define TOSTOP 0000400
>> +#define IEXTEN 0100000
>> +
>> +#define TCOOFF 0
>> +#define TCOON  1
>> +#define TCIOFF 2
>> +#define TCION  3
>> +
>> +#define TCIFLUSH  0
>> +#define TCOFLUSH  1
>> +#define TCIOFLUSH 2
>> +
>> +#define TCSANOW   0
>> +#define TCSADRAIN 1
>> +#define TCSAFLUSH 2
>> +
>> +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
>> +#define EXTA    0000016
>> +#define EXTB    0000017
>> +#define CBAUD   0010017
>> +#define CBAUDEX 0010000
>> +#define CIBAUD  002003600000
>> +#define CMSPAR  010000000000
>> +#define CRTSCTS 020000000000
>> +
>> +#define XCASE   0000004
>> +#define ECHOCTL 0001000
>> +#define ECHOPRT 0002000
>> +#define ECHOKE  0004000
>> +#define FLUSHO  0010000
>> +#define PENDIN  0040000
>> +#define EXTPROC 0200000
>> +
>> +#define XTABS  0014000
>> +#endif
>> -- 
>> 2.19.2
>>
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.