124    cci::cci_param<bool> p_enabled;
 
  127    std::string _qemu_opts;
 
  129    std::string _display_device_id;
 
  130    std::vector<std::string> spoofed_options = { 
":", 
"head=", 
"display=" };
 
  145        , p_enabled(std::
string(
"enable"), 
false, 
"Default state")
 
  147        cci::cci_param<std::string> 
params_input(std::string(
"params"), 
"", 
"Qemu VNC configuration");
 
  149        if (p_enabled.get_value()) {
 
  154            SCP_INFO(())(
"Qemu parameter: {}", _qemu_opts);
 
 
  158    bool is_enabled()
 const { 
return p_enabled.get_value(); }
 
  160    std::string_view get_qemu_opts()
 const { 
return std::string_view(_qemu_opts); }
 
  163    void build_qemu_vnc_arguments(
const std::string& 
user_options)
 
  176        _qemu_opts.append(get_display_opt(
',')).
append(get_head_opt(
','));
 
  180            _qemu_opts.append(
option + 
',');
 
  185        _qemu_opts.append(get_display_device_opt());
 
  188    bool spoofed_opt(
const std::string_view& 
option)
 
  190        for (
const std::string& spoofed_opt : spoofed_options) {
 
  191            if (
option.find(spoofed_opt) == 0) {
 
  192                SCP_WARN(())(
"Option {} provided by the user will be ignored.", spoofed_opt);
 
  201        std::string 
head_opt = 
"head=" + std::to_string(_display_index);
 
  210        std::string 
display_opt = 
":" + std::to_string(_display_index);
 
  217    std::string get_display_device_opt(
char append_suffix = 
'\0')
 
 
  230    sc_core::sc_vector<VncConfiguration> vnc;
 
  239    bool is_vnc_enabled()
 
  249    void fill_vnc_options(std::vector<std::string>& 
vnc_options)
 
  265    display(
const sc_core::sc_module_name& name, sc_core::sc_object* 
gpu);
 
  283    void before_end_of_elaboration() 
override;
 
  285    void end_of_elaboration() 
override;
 
  287    void start_of_simulation() 
override;
 
  291    bool is_instantiated() 
const;
 
  292    bool is_realized() 
const;
 
  294    const std::vector<qemu::SDL2Console>* get_sdl2_consoles() 
const;
 
 
Qemu Display abstraction as a SystemC module.
Definition display.h:31
VncConfiguration(const sc_core::sc_module_name &n, ssize_t display_index, const std::string &display_device_id)
Construct a new VNC VncConfiguration.
Definition display.h:141