#compdef trafgen # # trafgen.zsh -- zsh completion function for trafgen # # Copyright (C) 2013 Hideo Hattori # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as # published by the Free Software Foundation. typeset -A opt_args local context state line _cpu () { _cpus=(${${(f)"$(grep processor /proc/cpuinfo | awk '{print $3}')"}}) compadd -a _cpus } _user_info () { user_info=(${${(f)"$(awk -F':' '{print $3":"$1}' /etc/passwd)"}}) _describe -t usr "user info" user_info && ret=0 } _group_info () { group_info=(${${(f)"$(awk -F':' '{print $4":"$1}' /etc/passwd)"}}) _describe -t usr "group info" group_info && ret=0 } _interfaces () { _wanted interfaces expl 'network interface' \ _net_interfaces _values "Pseudo-device that captures on all interfaces" "any" } _arguments -s -S \ "(-i -c --in --conf)"{-i,-c,--in,--conf}"[Packet configuration file/stdin]:input:_files" \ "(-o -d --out --dev)"{-o,-d,--out,--dev}"[Networking device i.e., eth0]:device:_interfaces" \ "(-p --cpp)"{-p,--cpp}"[Run packet config through C preprocessor]" \ "(-J --jumbo-support)"{-J,--jumbo-support}"[Support 64KB super jumbo frames (def: 2048B)]" \ "(-R --rfraw)"{-R,--rfraw}"[Inject raw 802.11 frames]" \ "(-s --smoke-test)"{-s,--smoke-test}"[Probe if machine survived fuzz-tested packet]" \ "(-n --num)"{-n,--num}"[Number of packets until exit (def: 0)]" \ "(-r --rand)"{-r,--rand}"[Randomize packet selection (def: round robin)]" \ "(-P --cpus)"{-P,--cpus}"[Specify number of forks(<= CPUs) (def: #CPUs)]:cpunum:_cpu" \ "(-t --gap)"{-t,--gap}"[Interpacket gap in us (approx)]" \ "(-S --ring-size)"{-S,--ring-size}"[Manually set mmap size (KiB/MiB/GiB)]:ringsize:" \ "(-k --kernel-pull)"{-k,--kernel-pull}"[Kernel pull from user interval in us (def: 10us)]:kernelpull:_gnu_generic" \ "(-E --seed)"{-E,--seed}"[Manually set srand(3) seed]" \ "(-u --user)"{-u,--user}"[Drop privileges and change to userid]:user:_user_info" \ "(-g --group)"{-g,--group}"[Drop privileges and change to groupid]:group:_group_info" \ "(-e --example)"{-e,--example}"[Show built-in packet config example]:" \ "(-V --verbose)"{-V,--verbose}"[Be more verbose]" \ {-v,--version}"[Show version]:" \ {-h,--help}"[Guess what?!]:" \ "*::args:_gnu_generic" '>
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2016-11-23 13:55:13 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2016-11-24 17:34:01 +1100
commita1ff57416af9a7971a801d553cd53edd8afb28d6 (patch)
tree531cebbcf7a6788ca1e140a93e5923ec117ffd5c
parent9e5f68842276672a05737c23e407250f776cbf35 (diff)
powerpc/boot: Fix the early OPAL console wrappers
When configured with CONFIG_PPC_EARLY_DEBUG_OPAL=y the kernel expects the OPAL entry and base addresses to be passed in r8 and r9 respectively. Currently the wrapper does not attempt to restore these values before entering the decompressed kernel which causes the kernel to branch into whatever happens to be in r9 when doing a write to the OPAL console in early boot. This patch adds a platform_ops hook that can be used to branch into the new kernel. The OPAL console driver patches this at runtime so that if the console is used it will be restored just prior to entering the kernel. Fixes: 656ad58ef19e ("powerpc/boot: Add OPAL console to epapr wrappers") Cc: stable@vger.kernel.org # v4.8+ Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>