diff options
Diffstat (limited to '')
| -rw-r--r-- | results/classifier/108/other/1894 | 26 | ||||
| -rw-r--r-- | results/classifier/108/other/1894029 | 59 | ||||
| -rw-r--r-- | results/classifier/108/other/1894071 | 128 | ||||
| -rw-r--r-- | results/classifier/108/other/1894361 | 36 |
4 files changed, 249 insertions, 0 deletions
diff --git a/results/classifier/108/other/1894 b/results/classifier/108/other/1894 new file mode 100644 index 000000000..3de333e57 --- /dev/null +++ b/results/classifier/108/other/1894 @@ -0,0 +1,26 @@ +graphic: 0.850 +device: 0.783 +files: 0.536 +other: 0.421 +semantic: 0.325 +socket: 0.303 +boot: 0.226 +debug: 0.201 +performance: 0.177 +permissions: 0.147 +PID: 0.133 +vnc: 0.127 +network: 0.054 +KVM: 0.007 + +Can't emulate audio with OpenCore Mac OS X 10.7 +Description of problem: +OpenCore wants me to use `AppleALC`, but to use _that_, I need the layout ID of the motherboard or something and I'm not sure how I'd do that since it's a QEMU VM. All I want to do is have some audio :( + +So, how can I emulate audio with AppleALC + OpenCore/how can I get a layout ID that'll give me audio on a QEMU VM? Do note that I am using UTM (https://getutm.app/) (UTM uses QEMU and is basically a QEMU frontend). +Steps to reproduce: +1. Set up OpenCore and install Mac OS X 10.7 +2. Copy across a .mp3 file +3. iTunes fails to play it due to no audio drivers/audio outputs +Additional information: +N/A diff --git a/results/classifier/108/other/1894029 b/results/classifier/108/other/1894029 new file mode 100644 index 000000000..0042e38bf --- /dev/null +++ b/results/classifier/108/other/1894029 @@ -0,0 +1,59 @@ +performance: 0.822 +device: 0.754 +other: 0.646 +debug: 0.645 +graphic: 0.627 +PID: 0.485 +semantic: 0.449 +vnc: 0.320 +permissions: 0.302 +socket: 0.223 +network: 0.223 +boot: 0.221 +KVM: 0.173 +files: 0.153 + +qemu-i386 malloc error + +Hi!I use qemu-i386-static on 64 bit machines.And memory request succeeded, but the pointer is wrong. +This is my test program: + +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +int main(int argc, char **argv) +{ + void *pa=0,*pb=0,*pc=0,*pd=0; + pa = malloc(sizeof(uint32_t)); + pb = malloc(sizeof(uint32_t)); + pc = malloc(4); + pd = malloc(4); + printf("pa: 0x%x\n",pa); + printf("pb: 0x%x\n",pb); + printf("pc: 0x%x\n",pc); + printf("pd: 0x%x\n",pd); + printf("uint32_t:%d\n",sizeof(uint32_t)); + free(pa); + free(pb); + free(pc); + free(pd); + return 0; +} + +And it is wrong: + +pa: 0x400051a0 +pb: 0x400051b0 +pc: 0x400051c0 +pd: 0x400051d0 +uint32_t:4 + +Why did I apply for 4 bytes of space, but the pointer only increased by 2 bytes?? +Is it a BUG?? + +Please stop asking questions using a bug tracking system, this is rude. + +No it is not a bug, it appears you can't do simple arithmetics, -- the pointer is increased by 16 bytes not 2. + diff --git a/results/classifier/108/other/1894071 b/results/classifier/108/other/1894071 new file mode 100644 index 000000000..ca6e1c7a9 --- /dev/null +++ b/results/classifier/108/other/1894071 @@ -0,0 +1,128 @@ +other: 0.912 +permissions: 0.847 +performance: 0.836 +graphic: 0.836 +semantic: 0.832 +KVM: 0.817 +device: 0.814 +debug: 0.802 +PID: 0.792 +network: 0.775 +vnc: 0.761 +socket: 0.750 +files: 0.743 +boot: 0.727 + +qemu-i386-static ioctl return -14 (Bad Address) + +I use qemu-i386-static on 64 bit ARM.But I don't know how to solve some problems. +First I added some ioctl operations. +Then I tried to do some DRM operations like test.c. +This is successful when I use qemu-x86_64-static,but it failed when I use qemu-i386-static. +I can get some strace info like this: + +403 openat(AT_FDCWD,"/dev/dri/card0",O_RDWR|O_LARGEFILE|O_CLOEXEC) = 4 +403 ioctl(4,DRM_IOCTL_GET_CAP,{1,0}) = 0 ({1,1}) +403 ioctl(4,DRM_IOCTL_MODE_GETRESOURCES,{0,0,0,0,0,0,0,0,0,0,0,0}) = 0 ({0,0,0,0,0,2,2,2,0,16384,0,16384}) +403 brk(NULL) = 0x40006000 +403 brk(0x40027000) = 0x40027000 +403 brk(0x40028000) = 0x40028000 +403 ioctl(4,DRM_IOCTL_MODE_GETRESOURCES,{0,1073766816,1073766832,1073766848,0,2,2,2,0,16384,0,16384}) = -1 errno=14 (Bad address) + +And there are similar errors in other self driven operations. +I want to know if it is QEMU's problem, so I hope to get some help. +Thank you! + + + + + + + + + + + +This problem has bothered me for a long time, but I'm not sure whether it's the IOCTL () I added or the QEMU with 32 bits. I hope we can discuss it and help our friends who have other problems. + +Thank you,my friends! + +My environment is that: +schroot + debian(bullseye-i386) +qemu: 5.1.0-rc3 + +Please, send your patches to the QEMU devel mailing list, so we can review them and comment. + +https://wiki.qemu.org/Contribute/SubmitAPatch + +Hi,I found some problems, but I don't know if how to solve it better(I'm not really familiar with the source code). + +When I use ioctl() and use a structure like this: + +struct drm_mode_card_res { + __u64 fb_id_ptr; + __u64 crtc_id_ptr; + __u64 connector_id_ptr; + __u64 encoder_id_ptr; + __u32 count_fbs; + .... +}; + +Look,"fb_id_ptr" is a pointer,and apply for memory allocation through malloc.But I use qemu-i386 on 64 bit ARM.As a result, my pointer has no problem in QEMU, but it is wrong when I use ioctl(bad address).This address is actually an address in QEMU, but it is not the correct address in a 64 bit machine. +Is there any better way to solve this problem? + + + +Hi,I found some problems, but I don't know if how to solve it better(I'm not really familiar with the source code). + +When I use ioctl() and use a structure like this: + +struct drm_mode_card_res { + __u64 fb_id_ptr; + __u64 crtc_id_ptr; + __u64 connector_id_ptr; + __u64 encoder_id_ptr; + __u32 count_fbs; + .... +}; +And in syscall_types.h +STRUCT(drm_mode_card_res, + TYPE_PTRVOID, + TYPE_PTRVOID, + TYPE_PTRVOID, + TYPE_PTRVOID, + TYPE_INT, + ... + ) +Some code: + ... + if (res.count_fbs) { + res.fb_id_ptr = VOID2U64(drmMalloc(res.count_fbs*sizeof(uint32_t))); + if (!res.fb_id_ptr) + goto err_allocs; + } + ... + +This is strace: +openat(AT_FDCWD,"/dev/dri/card0",O_RDWR|O_LARGEFILE|O_CLOEXEC) = 4 +9469 ioctl(4,DRM_IOCTL_GET_CAP,{1,0}) = 0 ({1,1}) +9469 ioctl(4,DRM_IOCTL_MODE_GETRESOURCES,{0x0,0x0,0x0,0x0,0,0,0,0,0,0,0,0}) = 0 ({0x0,0x0,0x0,0x0,0,2,2,2,0,16384,0,16384}) +9469 brk(NULL) = 0x40006000 +9469 brk(0x40027000) = 0x40027000 +9469 brk(0x40028000) = 0x40028000 +9469 ioctl(4,DRM_IOCTL_MODE_GETRESOURCES,{0x0,0x0,0x400061a0,0x0,0,2,1073832368,0,0,16384,0,16384}) = -1 errno=14 (Bad address) +9469 brk(0x40027000) = 0x40027000 + +Look +9469 ioctl(4,DRM_IOCTL_MODE_GETRESOURCES,{0x0,0x0,0x400061a0,0x0,0,2,1073832368,0,0,16384,0,16384}) = -1 errno=14 (Bad address) + +Why does memory overrun occur here??? +I think this is right: +{0x0,0x400061a0,1073832368(0x400061a0),0x400061c0,0,2,2,2,0,16384,0,16384} + +Who can help me? Thank you! + +You need to use IOCTL_SPECIAL() or STRUCT_SPECIAL() macro to convert the target address to the host address. + +Again, share your patches on the qemu-devel mailing list if you want help. + diff --git a/results/classifier/108/other/1894361 b/results/classifier/108/other/1894361 new file mode 100644 index 000000000..52b052492 --- /dev/null +++ b/results/classifier/108/other/1894361 @@ -0,0 +1,36 @@ +graphic: 0.743 +semantic: 0.734 +device: 0.663 +vnc: 0.614 +files: 0.578 +network: 0.557 +performance: 0.548 +socket: 0.545 +other: 0.537 +permissions: 0.528 +PID: 0.502 +boot: 0.457 +KVM: 0.366 +debug: 0.303 + +linux-user: syscall.c lacks pselect6_time64 + +in commit 50efc69586388a975c1ebd90cb8cc8e4a7328bc4 legacy pselect6 definition +for riscv32 was removed in favour of pselect6_time64, but pselect6_time64 is +not available in syscall.c, thus leaving riscv32 without pselect syscall. + +pselect6_time64() has been implemented but it has not been merged because during the test I've seen it breaks ARM target. + +https://<email address hidden><email address hidden>/ + +I try to fix that and merge that soon. + +Fix available in my branch: + +https://github.com/vivier/qemu/commits/linux-user-for-5.2 + +Fixed here: +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=e5ce9688b47a8f60337ce1e4108f35577494a46a + +Released with QEMU v5.2.0. + |