2017-08-31 00:22:50 +02:00
|
|
|
From b92757bdfdd6bec948283cec7183ab3a2cdfa2d9 Mon Sep 17 00:00:00 2001
|
2011-12-11 03:42:09 +01:00
|
|
|
From: Alexander Graf <agraf@suse.de>
|
2009-08-11 17:37:13 +02:00
|
|
|
Date: Tue, 14 Apr 2009 16:26:33 +0200
|
2012-02-01 00:10:40 +01:00
|
|
|
Subject: [PATCH] qemu-cvs-ioctl_debug
|
2009-08-11 17:37:13 +02:00
|
|
|
|
|
|
|
Extends unsupported ioctl debug output.
|
|
|
|
|
2011-12-11 03:42:09 +01:00
|
|
|
Signed-off-by: Alexander Graf <agraf@suse.de>
|
2009-08-11 17:37:13 +02:00
|
|
|
Signed-off-by: Ulrich Hecht <uli@suse.de>
|
|
|
|
---
|
2014-01-17 23:04:30 +01:00
|
|
|
linux-user/syscall.c | 7 ++++++-
|
|
|
|
1 file changed, 6 insertions(+), 1 deletion(-)
|
2009-08-11 17:37:13 +02:00
|
|
|
|
|
|
|
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
|
2017-08-31 00:22:50 +02:00
|
|
|
index ec6ee23f96..cf290dbf4b 100644
|
2009-08-11 17:37:13 +02:00
|
|
|
--- a/linux-user/syscall.c
|
|
|
|
+++ b/linux-user/syscall.c
|
2017-08-31 00:22:50 +02:00
|
|
|
@@ -5615,7 +5615,12 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg)
|
2009-08-11 17:37:13 +02:00
|
|
|
ie = ioctl_entries;
|
|
|
|
for(;;) {
|
|
|
|
if (ie->target_cmd == 0) {
|
|
|
|
- gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd);
|
|
|
|
+ int i;
|
|
|
|
+ gemu_log("Unsupported ioctl: cmd=0x%04lx (%x)\n", (unsigned long)cmd, (unsigned int)(cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
|
2011-12-11 03:42:09 +01:00
|
|
|
+ for (i = 0; ioctl_entries[i].target_cmd; i++) {
|
|
|
|
+ if ((ioctl_entries[i].target_cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) == (cmd & ~(TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)))
|
2009-08-11 17:37:13 +02:00
|
|
|
+ gemu_log("%p\t->\t%s (%x)\n", (void *)(unsigned long)ioctl_entries[i].host_cmd, ioctl_entries[i].name, (ioctl_entries[i].target_cmd & (TARGET_IOC_SIZEMASK << TARGET_IOC_SIZESHIFT)) >> TARGET_IOC_SIZESHIFT);
|
|
|
|
+ }
|
|
|
|
return -TARGET_ENOSYS;
|
|
|
|
}
|
|
|
|
if (ie->target_cmd == cmd)
|