qemu/stubs/semihost.c
<<
>>
Prefs
   1/*
   2 * Semihosting Stubs for SoftMMU
   3 *
   4 * Copyright (c) 2019 Linaro Ltd
   5 *
   6 * Stubs for SoftMMU targets that don't actually do semihosting.
   7 *
   8 * SPDX-License-Identifier: GPL-2.0-or-later
   9 */
  10
  11#include "qemu/osdep.h"
  12#include "qemu/option.h"
  13#include "qemu/error-report.h"
  14#include "hw/semihosting/semihost.h"
  15
  16/* Empty config */
  17QemuOptsList qemu_semihosting_config_opts = {
  18    .name = "",
  19    .head = QTAILQ_HEAD_INITIALIZER(qemu_semihosting_config_opts.head),
  20    .desc = {
  21        { /* end of list */ }
  22    },
  23};
  24
  25/* Queries to config status default to off */
  26bool semihosting_enabled(void)
  27{
  28    return false;
  29}
  30
  31SemihostingTarget semihosting_get_target(void)
  32{
  33    return SEMIHOSTING_TARGET_AUTO;
  34}
  35
  36/*
  37 * All the rest are empty subs. We could g_assert_not_reached() but
  38 * that adds extra weight to the final binary. Waste not want not.
  39 */
  40void qemu_semihosting_enable(void)
  41{
  42}
  43
  44int qemu_semihosting_config_options(const char *optarg)
  45{
  46    return 1;
  47}
  48
  49const char *semihosting_get_arg(int i)
  50{
  51    return NULL;
  52}
  53
  54int semihosting_get_argc(void)
  55{
  56    return 0;
  57}
  58
  59const char *semihosting_get_cmdline(void)
  60{
  61    return NULL;
  62}
  63
  64void semihosting_arg_fallback(const char *file, const char *cmd)
  65{
  66}
  67
  68void qemu_semihosting_connect_chardevs(void)
  69{
  70}
  71