#compdef qemu
_qemu_log_items () {
local -a opts hline
qemu -d \? | while read -A hline; do
[[ $hline[1] = Log ]] && continue
opts=($opts "${hline[1]}[${hline[2,-1]}]")
done
_values -s , 'log items' $opts
}
local _qemu_machines
_qemu_machines=(${${${(f)"$(qemu -M \?)"}[2,-1]}%% *})
_arguments \
'-'{fda,fdb,hda,hdb,hdc,hdd,cdrom}':disk image:_files' \
'-M[target machine]:machine:('"${_qemu_machines:-none}"')' \
'-boot[specify which image to boot from]:boot device:((a\:floppy\ image\ a c\:hard\ disk d\:cdrom))' \
'-snapshot[write to temporary files instead of disk image files]' \
'-no-fd-bootchk[disable boot sig checking for floppies in Bochs BIOS]' \
'-m[virtual RAM size (default=128)]:megs:' \
'-smp[set the number of CPUs (default=1)]:number of CPUs:' \
'-nographic[disable graphical output]' \
'-vnc[listen on VNC display]:display:' \
'-k[use keyboard layout]:keyboard layout language:(ar de-ch es fo fr-ca hu ja mk no pt-br sv da en-gb et fr fr-ch is lt nl pl ru th de en-us fi fr-be hr it lv nl-be pt sl tr)' \
'-audio-help[show audio subsystem help]' \
'-soundhw[enable audio and selected sound hardware]:cards to enable:(all)' \
'-localtime[set rtc to local time]' \
'-full-screen[start in full screen]' \
'-pidfile:pidfile:_files' \
'-win2k-hack' \
'-usb[enable USB driver]' \
'-usbdevice:usb device:' \
'-net:net config:(none)' \
'-tftp[allow tftp access to files starting with prefix]:tftp prefix:_files' \
'-smb[allow SMB access to files in specified directory]:samba directory:_path_files -/' \
'-redir[redirect TCP or UDP connections from host to guest]:redirection: ' \
'-kernel[boot specified linux kernel]:kernel image:_files' \
'-append[use specified kernel command line]:command line: ' \
'-initrd[use specified initial ram disk]:ram disk:_files' \
'-serial:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \
'-parallel:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \
'-monitor:dev:(vc stdio pty null /dev/ttyS0 /dev/partport0)' \
'-s[wait gdb connection to port 1234]' \
'-p[change gdb connection port]:port:_ports' \
'-S[do not start CPU at startup]' \
'-d[output log in /tmp/qemu.log]:log items:_qemu_log_items' \
'-hdachs[force hard disk 0 geometry (usually qemu can guess it)]:hd0 geometry c,h,s:' \
'-std-vga[simulate standard VGA]' \
'-no-acpi[disable ACPI]' \
'-loadvm[start right away with a saved state]:file:_files' \
'-g[set initial graphic mode]:graphic mode:' \
':disk image:_files'
Copyright 2K16 - 2K18 Indonesian Hacker Rulez