diff --git a/src/sim/main.cc b/src/sim/main.cc index c44531e2f6..81a691d15d 100644 --- a/src/sim/main.cc +++ b/src/sim/main.cc @@ -60,28 +60,11 @@ main(int argc, char **argv) // It's probably not necessary, but is mostly harmless and might be useful. Py_SetProgramName(program.get()); - py::scoped_interpreter guard; + py::scoped_interpreter guard(true, argc, argv); auto importer = py::module_::import("importer"); importer.attr("install")(); - // Embedded python doesn't set up sys.argv, so we'll do that ourselves. - py::list py_argv; - auto sys = py::module::import("sys"); - if (py::hasattr(sys, "argv")) { - // sys.argv already exists, so grab that. - py_argv = sys.attr("argv"); - } else { - // sys.argv doesn't exist, so create it. - sys.add_object("argv", py_argv); - } - // Clear out argv just in case it has something in it. - py_argv.attr("clear")(); - - // Fill it with our argvs. - for (int i = 0; i < argc; i++) - py_argv.append(argv[i]); - try { py::module_::import("m5").attr("main")(); } catch (py::error_already_set &e) {