Message ID | 20170922140237.10869-7-carenas@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Le 22/09/2017 à 16:02, Carlo Marcelo Arenas Belón a écrit : > * enable SO_REUSEPORT as a sideeffect and add SO_GET_FILTER alias > * make sure 64bit version for ppc is also supported As previously TARGET_PPC64 is not needed. And you should move powerpc bits to linux-user/ppc/sockbits.h Thanks, Laurent > Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> > --- > linux-user/socket.h | 61 ++++++++++++++++++++++++++++++++++++++++++----------- > 1 file changed, 49 insertions(+), 12 deletions(-) > > diff --git a/linux-user/socket.h b/linux-user/socket.h > index 6fd486c6b1..c37c10822a 100644 > --- a/linux-user/socket.h > +++ b/linux-user/socket.h > @@ -27,8 +27,8 @@ > #define TARGET_SO_PRIORITY 12 > #define TARGET_SO_LINGER 13 > #define TARGET_SO_BSDCOMPAT 14 > - /* To add :#define TARGET_SO_REUSEPORT 15 */ > -#if defined(TARGET_PPC) > + #define TARGET_SO_REUSEPORT 15 > +#if defined(TARGET_PPC) || defined(TARGET_PPC64) > #define TARGET_SO_RCVLOWAT 16 > #define TARGET_SO_SNDLOWAT 17 > #define TARGET_SO_RCVTIMEO 18 > @@ -49,21 +49,58 @@ > #define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23 > #define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24 > > - #define TARGET_SO_BINDTODEVICE 25 > + #define TARGET_SO_BINDTODEVICE 25 > > /* Socket filtering */ > - #define TARGET_SO_ATTACH_FILTER 26 > - #define TARGET_SO_DETACH_FILTER 27 > + #define TARGET_SO_ATTACH_FILTER 26 > + #define TARGET_SO_DETACH_FILTER 27 > + #define TARGET_SO_GET_FILTER TARGET_SO_ATTACH_FILTER > > - #define TARGET_SO_PEERNAME 28 > - #define TARGET_SO_TIMESTAMP 29 > - #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP > + #define TARGET_SO_PEERNAME 28 > + #define TARGET_SO_TIMESTAMP 29 > + #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP > > - #define TARGET_SO_ACCEPTCONN 30 > + #define TARGET_SO_ACCEPTCONN 30 > > - #define TARGET_SO_PEERSEC 31 > + #define TARGET_SO_PEERSEC 31 > + #define TARGET_SO_PASSSEC 34 > + #define TARGET_SO_TIMESTAMPNS 35 > + #define TARGET_SCM_TIMESTAMPNS TARGET_SO_TIMESTAMPNS > + > + #define TARGET_SO_MARK 36 > + > + #define TARGET_SO_TIMESTAMPING 37 > + #define TARGET_SCM_TIMESTAMPING TARGET_SO_TIMESTAMPING > + > + #define TARGET_SO_PROTOCOL 38 > + #define TARGET_SO_DOMAIN 39 > + > + #define TARGET_SO_RXQ_OVFL 40 > + > + #define TARGET_SO_WIFI_STATUS 41 > + #define TARGET_SCM_WIFI_STATUS TARGET_SO_WIFI_STATUS > + #define TARGET_SO_PEEK_OFF 42 > + > + #define TARGET_SO_NOFCS 43 > + #define TARGET_SO_LOCK_FILTER 44 > + #define TARGET_SO_SELECT_ERR_QUEUE 45 > + #define TARGET_SO_BUSY_POLL 46 > + #define TARGET_SO_MAX_PACING_RATE 47 > + #define TARGET_SO_BPF_EXTENSIONS 48 > + #define TARGET_SO_INCOMING_CPU 49 > + #define TARGET_SO_ATTACH_BPF 50 > + #define TARGET_SO_DETACH_BPF TARGET_SO_DETACH_FILTER > + #define TARGET_SO_ATTACH_REUSEPORT_CBPF 51 > + #define TARGET_SO_ATTACH_REUSEPORT_EBPF 52 > + #define TARGET_SO_CNX_ADVICE 53 > + #define TARGET_SCM_TIMESTAMPING_OPT_STATS 54 > + #define TARGET_SO_MEMINFO 55 > + #define TARGET_SO_INCOMING_NAPI_ID 56 > + #define TARGET_SO_COOKIE 57 > + #define TARGET_SCM_TIMESTAMPING_PKTINFO 58 > + #define TARGET_SO_PEERGROUPS 59 > + #define TARGET_SO_ZEROCOPY 60 > > - #define TARGET_SO_PASSSEC 34 > #endif > > #ifndef ARCH_HAS_SOCKET_TYPES > @@ -94,6 +131,6 @@ > }; > > #define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1) > - #define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */ > + #define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX - 1. */ > > #endif >
On Fri, Sep 22, 2017 at 10:04 AM, Laurent Vivier <laurent@vivier.eu> wrote:
> And you should move powerpc bits to linux-user/ppc/sockbits.
PPC is IMHO a special case, since it is kept together with the generic
header in the linux kernel (except for a similar exception to those few
values that differ) as you can see in :
http://elixir.free-electrons.com/linux/latest/source/arch/powerpc/include/uapi/asm/socket.h
breaking it up into his own file will probably only make it more difficult
to maintain
Carlo
diff --git a/linux-user/socket.h b/linux-user/socket.h index 6fd486c6b1..c37c10822a 100644 --- a/linux-user/socket.h +++ b/linux-user/socket.h @@ -27,8 +27,8 @@ #define TARGET_SO_PRIORITY 12 #define TARGET_SO_LINGER 13 #define TARGET_SO_BSDCOMPAT 14 - /* To add :#define TARGET_SO_REUSEPORT 15 */ -#if defined(TARGET_PPC) + #define TARGET_SO_REUSEPORT 15 +#if defined(TARGET_PPC) || defined(TARGET_PPC64) #define TARGET_SO_RCVLOWAT 16 #define TARGET_SO_SNDLOWAT 17 #define TARGET_SO_RCVTIMEO 18 @@ -49,21 +49,58 @@ #define TARGET_SO_SECURITY_ENCRYPTION_TRANSPORT 23 #define TARGET_SO_SECURITY_ENCRYPTION_NETWORK 24 - #define TARGET_SO_BINDTODEVICE 25 + #define TARGET_SO_BINDTODEVICE 25 /* Socket filtering */ - #define TARGET_SO_ATTACH_FILTER 26 - #define TARGET_SO_DETACH_FILTER 27 + #define TARGET_SO_ATTACH_FILTER 26 + #define TARGET_SO_DETACH_FILTER 27 + #define TARGET_SO_GET_FILTER TARGET_SO_ATTACH_FILTER - #define TARGET_SO_PEERNAME 28 - #define TARGET_SO_TIMESTAMP 29 - #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP + #define TARGET_SO_PEERNAME 28 + #define TARGET_SO_TIMESTAMP 29 + #define TARGET_SCM_TIMESTAMP TARGET_SO_TIMESTAMP - #define TARGET_SO_ACCEPTCONN 30 + #define TARGET_SO_ACCEPTCONN 30 - #define TARGET_SO_PEERSEC 31 + #define TARGET_SO_PEERSEC 31 + #define TARGET_SO_PASSSEC 34 + #define TARGET_SO_TIMESTAMPNS 35 + #define TARGET_SCM_TIMESTAMPNS TARGET_SO_TIMESTAMPNS + + #define TARGET_SO_MARK 36 + + #define TARGET_SO_TIMESTAMPING 37 + #define TARGET_SCM_TIMESTAMPING TARGET_SO_TIMESTAMPING + + #define TARGET_SO_PROTOCOL 38 + #define TARGET_SO_DOMAIN 39 + + #define TARGET_SO_RXQ_OVFL 40 + + #define TARGET_SO_WIFI_STATUS 41 + #define TARGET_SCM_WIFI_STATUS TARGET_SO_WIFI_STATUS + #define TARGET_SO_PEEK_OFF 42 + + #define TARGET_SO_NOFCS 43 + #define TARGET_SO_LOCK_FILTER 44 + #define TARGET_SO_SELECT_ERR_QUEUE 45 + #define TARGET_SO_BUSY_POLL 46 + #define TARGET_SO_MAX_PACING_RATE 47 + #define TARGET_SO_BPF_EXTENSIONS 48 + #define TARGET_SO_INCOMING_CPU 49 + #define TARGET_SO_ATTACH_BPF 50 + #define TARGET_SO_DETACH_BPF TARGET_SO_DETACH_FILTER + #define TARGET_SO_ATTACH_REUSEPORT_CBPF 51 + #define TARGET_SO_ATTACH_REUSEPORT_EBPF 52 + #define TARGET_SO_CNX_ADVICE 53 + #define TARGET_SCM_TIMESTAMPING_OPT_STATS 54 + #define TARGET_SO_MEMINFO 55 + #define TARGET_SO_INCOMING_NAPI_ID 56 + #define TARGET_SO_COOKIE 57 + #define TARGET_SCM_TIMESTAMPING_PKTINFO 58 + #define TARGET_SO_PEERGROUPS 59 + #define TARGET_SO_ZEROCOPY 60 - #define TARGET_SO_PASSSEC 34 #endif #ifndef ARCH_HAS_SOCKET_TYPES @@ -94,6 +131,6 @@ }; #define TARGET_SOCK_MAX (TARGET_SOCK_PACKET + 1) - #define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX-1. */ + #define TARGET_SOCK_TYPE_MASK 0xf /* Covers up to TARGET_SOCK_MAX - 1. */ #endif
* enable SO_REUSEPORT as a sideeffect and add SO_GET_FILTER alias * make sure 64bit version for ppc is also supported Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com> --- linux-user/socket.h | 61 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 49 insertions(+), 12 deletions(-)