diff options
author | Alexander Graf <agraf@suse.de> | 2009-04-14 16:26:33 +0200 |
---|---|---|
committer | Junfeng Dong <junfeng.dong@intel.com> | 2013-11-19 18:17:50 +0800 |
commit | a4ee9988f05612f7f16bd5f7934f028ce67d7450 (patch) | |
tree | 6997fa8521a35bd866fd65de23fe524aae68f2b2 | |
parent | 3bc09a22c85e7a30e947607ae748ea9b0ab9a6d7 (diff) | |
download | qemu-a4ee9988f05612f7f16bd5f7934f028ce67d7450.tar.gz qemu-a4ee9988f05612f7f16bd5f7934f028ce67d7450.tar.bz2 qemu-a4ee9988f05612f7f16bd5f7934f028ce67d7450.zip |
qemu-cvs-ioctl_debug
Extends unsupported ioctl debug output.
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Ulrich Hecht <uli@suse.de>
-rw-r--r-- | linux-user/syscall.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 709c167f9..7453ff5d7 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -3649,7 +3649,12 @@ static abi_long do_ioctl(int fd, abi_long cmd, abi_long arg) 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); + 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))) + 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) |