qemu-devel
[Top][All Lists]
Advanced

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

[Bug 1894617] [NEW] qemu-i386 mmap but offset greater than 32 bits


From: Tony.LI
Subject: [Bug 1894617] [NEW] qemu-i386 mmap but offset greater than 32 bits
Date: Mon, 07 Sep 2020 09:42:42 -0000

Public bug reported:

I don't know if it's a problem, but I did, and it bothered me for a long time.
When I use qemu-i386 and interact with the video card device,an error has 
occurred:

18534 ioctl(4,DRM_IOCTL_MODE_GETENCODER,{39,0,0,0,0}) = 0 ({39,4,34,3,0})
18534 ioctl(4,DRM_IOCTL_MODE_CREATE_DUMB,{1080,1920,32,0,0,0,0}) = 0 
({1080,1920,32,0,1,7680,8294400})
18534 ioctl(4,DRM_IOCTL_MODE_ADDFB,{0,1920,1080,7680,32,24,1}) = 0 
({66,1920,1080,7680,32,24,1})
18534 ioctl(4,DRM_IOCTL_MODE_MAP_DUMB,{1,0,0}) = 0 ({1,0,5543018496})
18534 mmap2(NULL,8294400,PROT_READ|PROT_WRITE,MAP_SHARED,4,0x14a63c) = -1 
errno=22 (Invalid argument)

"5543018496" is the offset through ioctl() and it is "0x14a63c000".
In qemu:
ret = target_mmap(arg1, arg2, arg3,
      target_to_host_bitmask(arg4, mmap_flags_tbl),
      arg5, arg6 << MMAP_SHIFT);

The type of "arg6" is ulong.When use qemu-i386, arg6 can't be set to
"0x14a63c000".So it's wrong for my program.

I want to find a good way to deal with this kind of problem, but I'm not very 
familiar with QEMU,
so I came to ask how to deal with this problem.

Thank you!

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1894617

Title:
  qemu-i386 mmap but offset greater than 32 bits

Status in QEMU:
  New

Bug description:
  I don't know if it's a problem, but I did, and it bothered me for a long time.
  When I use qemu-i386 and interact with the video card device,an error has 
occurred:

  18534 ioctl(4,DRM_IOCTL_MODE_GETENCODER,{39,0,0,0,0}) = 0 ({39,4,34,3,0})
  18534 ioctl(4,DRM_IOCTL_MODE_CREATE_DUMB,{1080,1920,32,0,0,0,0}) = 0 
({1080,1920,32,0,1,7680,8294400})
  18534 ioctl(4,DRM_IOCTL_MODE_ADDFB,{0,1920,1080,7680,32,24,1}) = 0 
({66,1920,1080,7680,32,24,1})
  18534 ioctl(4,DRM_IOCTL_MODE_MAP_DUMB,{1,0,0}) = 0 ({1,0,5543018496})
  18534 mmap2(NULL,8294400,PROT_READ|PROT_WRITE,MAP_SHARED,4,0x14a63c) = -1 
errno=22 (Invalid argument)

  "5543018496" is the offset through ioctl() and it is "0x14a63c000".
  In qemu:
  ret = target_mmap(arg1, arg2, arg3,
        target_to_host_bitmask(arg4, mmap_flags_tbl),
        arg5, arg6 << MMAP_SHIFT);

  The type of "arg6" is ulong.When use qemu-i386, arg6 can't be set to
  "0x14a63c000".So it's wrong for my program.

  I want to find a good way to deal with this kind of problem, but I'm not very 
familiar with QEMU,
  so I came to ask how to deal with this problem.

  Thank you!

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1894617/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]