Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Apr 2018 22:48:27 +0200
From:      Vincenzo Maffione <v.maffione@gmail.com>
To:        Justin Hibbits <jrh29@alumni.cwru.edu>
Cc:        Vincenzo Maffione <vmaffione@freebsd.org>, src-committers <src-committers@freebsd.org>,  svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r332423 - in head/sys: conf dev/cxgbe dev/ixgbe dev/ixl dev/netmap dev/re modules/netmap net sys
Message-ID:  <CA%2B_eA9gne6Sd2OijeKHX5KNyyDOgq8b8BatA6UQz_tSz=WgVfA@mail.gmail.com>
In-Reply-To: <CAHSQbTB6E2UU_ThiK4d%2BC1=%2Bb_j1bMKFL4USH--Rjji7DJQ2LQ@mail.gmail.com>
References:  <201804120720.w3C7Koe4032111@repo.freebsd.org> <CAHSQbTB6E2UU_ThiK4d%2BC1=%2Bb_j1bMKFL4USH--Rjji7DJQ2LQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Right, sorry for that.
The fix is actually already in the upstream github, I'm preparing a commit
to import that.

Cheers,
  Vincenzo

2018-04-13 22:42 GMT+02:00 Justin Hibbits <jrh29@alumni.cwru.edu>:

> On Thu, Apr 12, 2018 at 2:20 AM, Vincenzo Maffione
> <vmaffione@freebsd.org> wrote:
> > Author: vmaffione
> > Date: Thu Apr 12 07:20:50 2018
> > New Revision: 332423
> > URL: https://svnweb.freebsd.org/changeset/base/332423
> >
> > Log:
> >   netmap: align codebase to the current upstream (commit id
> 3fb001303718146)
> >
> >   Changelist:
> >       - Turn tx_rings and rx_rings arrays into arrays of pointers to
> kring
> >         structs. This patch includes fixes for ixv, ixl, ix, re, cxgbe,
> iflib,
> >         vtnet and ptnet drivers to cope with the change.
> >       - Generalize the nm_config() callback to accept a struct
> containing many
> >         parameters.
> >       - Introduce NKR_FAKERING to support buffers sharing (used for
> netmap
> >         pipes)
> >       - Improved API for external VALE modules.
> >       - Various bug fixes and improvements to the netmap memory
> allocator,
> >         including support for externally (userspace) allocated memory.
> >       - Refactoring of netmap pipes: now linked rings share the same
> netmap
> >         buffers, with a separate set of kring pointers (rhead, rcur,
> rtail).
> >         Buffer swapping does not need to happen anymore.
> >       - Large refactoring of the control API towards an extensible
> solution;
> >         the goal is to allow the addition of more commands and extension
> of
> >         existing ones (with new options) without the need of hacks or the
> >         risk of running out of configuration space.
> >         A new NIOCCTRL ioctl has been added to handle all the requests
> of the
> >         new control API, which cover all the functionalities so far
> supported.
> >         The netmap API bumps from 11 to 12 with this patch. Full backward
> >         compatibility is provided for the old control command
> (NIOCREGIF), by
> >         means of a new netmap_legacy module. Many parts of the old
> netmap.h
> >         header has now been moved to netmap_legacy.h (included by
> netmap.h).
> >
> >   Approved by:  hrs (mentor)
> >
> > Added:
> >   head/sys/dev/netmap/netmap_legacy.c   (contents, props changed)
> >   head/sys/net/netmap_legacy.h   (contents, props changed)
> > Modified:
> >   head/sys/conf/files
> >   head/sys/dev/cxgbe/t4_netmap.c
> >   head/sys/dev/ixgbe/if_ixv.c
> >   head/sys/dev/ixl/ixl_pf_main.c
> >   head/sys/dev/ixl/ixl_txrx.c
> >   head/sys/dev/netmap/if_ptnet.c
> >   head/sys/dev/netmap/if_re_netmap.h
> >   head/sys/dev/netmap/if_vtnet_netmap.h
> >   head/sys/dev/netmap/netmap.c
> >   head/sys/dev/netmap/netmap_freebsd.c
> >   head/sys/dev/netmap/netmap_generic.c
> >   head/sys/dev/netmap/netmap_kern.h
> >   head/sys/dev/netmap/netmap_mem2.c
> >   head/sys/dev/netmap/netmap_mem2.h
> >   head/sys/dev/netmap/netmap_monitor.c
> >   head/sys/dev/netmap/netmap_pipe.c
> >   head/sys/dev/netmap/netmap_pt.c
> >   head/sys/dev/netmap/netmap_vale.c
> >   head/sys/dev/re/if_re.c
> >   head/sys/modules/netmap/Makefile
> >   head/sys/net/iflib.c
> >   head/sys/net/netmap.h
> >   head/sys/net/netmap_user.h
> >   head/sys/net/netmap_virt.h
> >   head/sys/sys/param.h
>
> This breaks 32-bit powerpc LINT, with errors of:
>
> /usr/src/sys/dev/netmap/netmap.c: In function 'netmap_get_na':
> /usr/src/sys/dev/netmap/netmap.c:1479: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
> /usr/src/sys/dev/netmap/netmap.c: In function 'netmap_ioctl':
> /usr/src/sys/dev/netmap/netmap.c:2329: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
> /usr/src/sys/dev/netmap/netmap.c:2344: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
> /usr/src/sys/dev/netmap/netmap.c:2447: warning: cast to pointer from
> integer of different size [-Wint-to-pointer-cast]
> /usr/src/sys/dev/netmap/netmap.c:2466: warning: cast from pointer to
> integer of different size [-Wpointer-to-int-cast]
>
> among others.
>
> struct nmreq_header->nr_body is a uint64_t, casting to 32-bit pointers
> needs to go through uintptr_t.
>
> - Justin
>



-- 
Vincenzo Maffione



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B_eA9gne6Sd2OijeKHX5KNyyDOgq8b8BatA6UQz_tSz=WgVfA>