From: "Zhang, Ning A" <ning.a.zhang@intel.com>
To: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Subject: Re: question about V4L2_MEMORY_USERPTR on 64bit applications
Date: Fri, 12 Oct 2018 04:33:03 +0000 [thread overview]
Message-ID: <1539318782.21249.7.camel@intel.com> (raw)
In-Reply-To: <1539313441.21249.3.camel@intel.com>
sorry for wrong question, I really meet memory address truncated issue,
when use V4L2 kernel APIs.
in a kernel thread created by kernel_thread()
I vm_mmap a shmem_file to addr: 00007ffff7fa8000
and queue it to V4L2, after dequeue it, and I find the address is
truncated to 00000000f7fa8000
I use __u64 {aka long long unsigned int} to save address, and I find
userptr is unsigned long, wrongly think it as "data truncated"
and a lot of __u32 in this structure.
everything works fine, but I still don't understand why high 32bit be
0..
BR.
Ning.
在 2018-10-12五的 11:04 +0800,Zhang Ning写道:
> Hi,
>
> I have question about V4L2_MEMORY_USERPTR on 64bit applications.
>
> struct v4l2_buffer {
> __u32 index;
> __u32 type;
> __u32 bytesused;
> __u32 flags;
> __u32 field;
> struct timeval timestamp;
> struct v4l2_timecode timecode;
> __u32 sequence;
>
> /* memory location */
> __u32 memory;
> union {
> __u32 offset;
> unsigned long userptr; <<<--- this is a 32bit addr.
> struct v4l2_plane *planes;
> __s32 fd;
> } m;
> __u32 length;
> __u32 reserved2;
> __u32 reserved;
> };
>
> when use a 64bit application, memory from malloc is 64bit address.
> memory from GPU (eg, intel i915) are also 64bit address.
>
> when use these kind of memory as V4L2_MEMORY_USERPTR, address will be
> truncated into 32bit.
>
> this would be error, but actually not. I really don't understand.
>
> BR.
> Ning.
next prev parent reply other threads:[~2018-10-12 12:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-12 3:04 question about V4L2_MEMORY_USERPTR on 64bit applications Zhang, Ning A
2018-10-12 3:25 ` Bing Bu Cao
2018-10-12 4:33 ` Zhang, Ning A [this message]
2018-10-12 5:22 ` tbhardwa
2018-10-14 0:11 ` Eugene Syromiatnikov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1539318782.21249.7.camel@intel.com \
--to=ning.a.zhang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox