blob: 4ebcc9c5bc8e92f807d8daa39f56565d0e14a99a [file] [log] [blame]
#!/usr/bin/env fuchsia-vendored-python
# Copyright 2018 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import json
import sys
def main():
parser = argparse.ArgumentParser()
parser.add_argument("--block", action="append", help="Block device spec")
parser.add_argument("--cmdline", help="Kernel command-line string")
parser.add_argument("--cpus", help="Number of VCPUs to create", type=int)
parser.add_argument(
"--dtb-overlay", dest="dtb-overlay", help="Path to DTB overlay"
)
parser.add_argument("--linux", help="Path to Linux kernel")
parser.add_argument("--memory", help="Amount of system memory")
parser.add_argument("--ramdisk", help="Path to initial RAM disk")
parser.add_argument("--zircon", help="Path to Zircon kernel")
parser.add_argument(
"--virtio-mem-block-size",
dest="virtio-mem-block-size",
help="Virtio mem pluggable block size",
)
parser.add_argument(
"--virtio-mem-region-size",
dest="virtio-mem-region-size",
help="Virtio mem pluggable region size",
)
parser.add_argument(
"--virtio-mem-region-alignment",
dest="virtio-mem-region-alignment",
help="Virtio mem pluggable region alignment",
)
parser.add_argument(
"--virtio-mem",
dest="virtio-mem",
action="store_const",
const=True,
help="Enable the virtio mem device",
)
parser.add_argument(
"--default-net",
dest="default-net",
action="store_const",
const=True,
help="Enable the default net device",
)
parser.add_argument(
"--virtio-balloon",
dest="virtio-balloon",
action="store_const",
const=True,
help="Enable the default net device",
)
parser.add_argument(
"--virtio-console",
dest="virtio-console",
action="store_const",
const=True,
help="Enable the virtio console device",
)
parser.add_argument(
"--virtio-gpu",
dest="virtio-gpu",
action="store_const",
const=True,
help="Enable the virtio gpu & input devices",
)
parser.add_argument(
"--virtio-rng",
dest="virtio-rng",
action="store_const",
const=True,
help="Enable the virtio rng device",
)
parser.add_argument(
"--virtio-sound",
dest="virtio-sound",
action="store_const",
const=True,
help="Enable the virtio sound output device",
)
parser.add_argument(
"--virtio-sound-input",
dest="virtio-sound-input",
action="store_const",
const=True,
help="Enable the virtio sound input device",
)
parser.add_argument(
"--virtio-vsock",
dest="virtio-vsock",
action="store_const",
const=True,
help="Enable the virtio vsock device",
)
parser.add_argument("filename", help="Path to output filename")
args = parser.parse_args()
config = {}
for k, v in vars(args).items():
if k != "filename" and v:
config[k] = v
with open(args.filename, "w") as f:
json.dump(config, f, indent=4, separators=(",", ": "))
return 0
if __name__ == "__main__":
sys.exit(main())