11/07/2020 05:27, Ma, LihongX: > Tested-by:ma,lhong<[email protected]>
For info, your name is written Lihong Ma <[email protected]> Please remove patch content and avoid top-post when sending a test tag. > -----Original Message----- > From: dev <[email protected]> On Behalf Of Thomas Monjalon > Sent: Saturday, July 11, 2020 4:41 AM > To: [email protected] > Cc: [email protected]; Yigit, Ferruh <[email protected]>; > [email protected]; Zhang, AlvinX <[email protected]>; Xing, Beilei > <[email protected]>; Guo, Jia <[email protected]>; Burakov, Anatoly > <[email protected]>; Richardson, Bruce <[email protected]>; > [email protected]; [email protected]; > [email protected]; Kadam, Pallavi <[email protected]>; > [email protected] > Subject: [dpdk-dev] [PATCH v2] pci: keep API compatibility with mmap values > > The function pci_map_resource() returns MAP_FAILED in case of error. > When replacing the call to mmap() by rte_mem_map(), the error code became > NULL, breaking the API. > This function is probably not used outside of DPDK, but it is still a problem > for two reasons: > - the deprecation process was not followed > - the Linux function pci_vfio_mmap_bar() is broken for i40e > > The error code is reverted to the Unix value MAP_FAILED. > Windows needs to define this special value (-1 as in Unix). > After proper deprecation process, the API could be changed again if really > needed. > > Because of the switch from mmap() to rte_mem_map(), another part of the API > was changed: "int additional_flags" > are defined as "additional flags for the mapping range" > without mentioning it was directly used in mmap(). > Currently it is directly used in rte_mem_map(), that's why the values > rte_map_flags must be mapped (sic) on the mmap ones in case of Unix OS. > > These are side effects of a badly defined API using Unix values. > > Bugzilla ID: 503 > Fixes: 2fd3567e5425 ("pci: use OS generic memory mapping functions") > Cc: [email protected] > > Reported-by: David Marchand <[email protected]> > Signed-off-by: Thomas Monjalon <[email protected]>

