aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <richard.henderson@linaro.org>2023-02-24 23:41:12 -1000
committerRichard Henderson <richard.henderson@linaro.org>2023-03-05 13:44:08 -0800
commit29c87a281e816310257ae2f0617f147860fe7e82 (patch)
tree0cab6397669d85ef134989699e9bb022617b8907
parentd136788f76fd0eb9c9742835618177f338696a07 (diff)
downloadqemu-29c87a281e816310257ae2f0617f147860fe7e82.zip
qemu-29c87a281e816310257ae2f0617f147860fe7e82.tar.gz
qemu-29c87a281e816310257ae2f0617f147860fe7e82.tar.bz2
tracing: remove transform.py
This file, and a couple of uses, got left behind when the tcg stuff was removed from tracetool. Fixes: 126d4123c50a ("tracing: excise the tcg related from tracetool") Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
-rw-r--r--meson.build1
-rw-r--r--scripts/tracetool/__init__.py23
-rw-r--r--scripts/tracetool/transform.py168
3 files changed, 0 insertions, 192 deletions
diff --git a/meson.build b/meson.build
index e533d6c..6bcab8b 100644
--- a/meson.build
+++ b/meson.build
@@ -2861,7 +2861,6 @@ tracetool_depends = files(
'scripts/tracetool/format/log_stap.py',
'scripts/tracetool/format/stap.py',
'scripts/tracetool/__init__.py',
- 'scripts/tracetool/transform.py',
'scripts/tracetool/vcpu.py'
)
diff --git a/scripts/tracetool/__init__.py b/scripts/tracetool/__init__.py
index 5393c7f..33cf85e 100644
--- a/scripts/tracetool/__init__.py
+++ b/scripts/tracetool/__init__.py
@@ -18,7 +18,6 @@ import weakref
import tracetool.format
import tracetool.backend
-import tracetool.transform
def error_write(*lines):
@@ -190,18 +189,6 @@ class Arguments:
"""List of argument names casted to their type."""
return ["(%s)%s" % (type_, name) for type_, name in self._args]
- def transform(self, *trans):
- """Return a new Arguments instance with transformed types.
-
- The types in the resulting Arguments instance are transformed according
- to tracetool.transform.transform_type.
- """
- res = []
- for type_, name in self._args:
- res.append((tracetool.transform.transform_type(type_, *trans),
- name))
- return Arguments(res)
-
class Event(object):
"""Event description.
@@ -358,16 +345,6 @@ class Event(object):
fmt = Event.QEMU_TRACE
return fmt % {"name": self.name, "NAME": self.name.upper()}
- def transform(self, *trans):
- """Return a new Event with transformed Arguments."""
- return Event(self.name,
- list(self.properties),
- self.fmt,
- self.args.transform(*trans),
- self.lineno,
- self.filename,
- self)
-
def read_events(fobj, fname):
"""Generate the output for the given (format, backends) pair.
diff --git a/scripts/tracetool/transform.py b/scripts/tracetool/transform.py
deleted file mode 100644
index ea8b277..0000000
--- a/scripts/tracetool/transform.py
+++ /dev/null
@@ -1,168 +0,0 @@
-# -*- coding: utf-8 -*-
-
-"""
-Type-transformation rules.
-"""
-
-__author__ = "Lluís Vilanova <vilanova@ac.upc.edu>"
-__copyright__ = "Copyright 2012-2016, Lluís Vilanova <vilanova@ac.upc.edu>"
-__license__ = "GPL version 2 or (at your option) any later version"
-
-__maintainer__ = "Stefan Hajnoczi"
-__email__ = "stefanha@redhat.com"
-
-
-def _transform_type(type_, trans):
- if isinstance(trans, str):
- return trans
- elif isinstance(trans, dict):
- if type_ in trans:
- return _transform_type(type_, trans[type_])
- elif None in trans:
- return _transform_type(type_, trans[None])
- else:
- return type_
- elif callable(trans):
- return trans(type_)
- else:
- raise ValueError("Invalid type transformation rule: %s" % trans)
-
-
-def transform_type(type_, *trans):
- """Return a new type transformed according to the given rules.
-
- Applies each of the transformation rules in trans in order.
-
- If an element of trans is a string, return it.
-
- If an element of trans is a function, call it with type_ as its only
- argument.
-
- If an element of trans is a dict, search type_ in its keys. If type_ is
- a key, use the value as a transformation rule for type_. Otherwise, if
- None is a key use the value as a transformation rule for type_.
-
- Otherwise, return type_.
-
- Parameters
- ----------
- type_ : str
- Type to transform.
- trans : list of function or dict
- Type transformation rules.
- """
- if len(trans) == 0:
- raise ValueError
- res = type_
- for t in trans:
- res = _transform_type(res, t)
- return res
-
-
-##################################################
-# tcg -> host
-
-def _tcg_2_host(type_):
- if type_ == "TCGv":
- # force a fixed-size type (target-independent)
- return "uint64_t"
- else:
- return type_
-
-TCG_2_HOST = {
- "TCGv_i32": "uint32_t",
- "TCGv_i64": "uint64_t",
- "TCGv_ptr": "void *",
- None: _tcg_2_host,
- }
-
-
-##################################################
-# host -> host compatible with tcg sizes
-
-HOST_2_TCG_COMPAT = {
- "uint8_t": "uint32_t",
- "uint16_t": "uint32_t",
- }
-
-
-##################################################
-# host/tcg -> tcg
-
-def _host_2_tcg(type_):
- if type_.startswith("TCGv"):
- return type_
- raise ValueError("Don't know how to translate '%s' into a TCG type\n" % type_)
-
-HOST_2_TCG = {
- "uint32_t": "TCGv_i32",
- "uint64_t": "TCGv_i64",
- "void *" : "TCGv_ptr",
- "CPUArchState *": "TCGv_env",
- None: _host_2_tcg,
- }
-
-
-##################################################
-# tcg -> tcg helper definition
-
-def _tcg_2_helper_def(type_):
- if type_ == "TCGv":
- return "target_ulong"
- else:
- return type_
-
-TCG_2_TCG_HELPER_DEF = {
- "TCGv_i32": "uint32_t",
- "TCGv_i64": "uint64_t",
- "TCGv_ptr": "void *",
- None: _tcg_2_helper_def,
- }
-
-
-##################################################
-# tcg -> tcg helper declaration
-
-def _tcg_2_tcg_helper_decl_error(type_):
- raise ValueError("Don't know how to translate type '%s' into a TCG helper declaration type\n" % type_)
-
-TCG_2_TCG_HELPER_DECL = {
- "TCGv" : "tl",
- "TCGv_ptr": "ptr",
- "TCGv_i32": "i32",
- "TCGv_i64": "i64",
- "TCGv_env": "env",
- None: _tcg_2_tcg_helper_decl_error,
- }
-
-
-##################################################
-# host/tcg -> tcg temporal constant allocation
-
-def _host_2_tcg_tmp_new(type_):
- if type_.startswith("TCGv"):
- return "tcg_temp_new_nop"
- raise ValueError("Don't know how to translate type '%s' into a TCG temporal allocation" % type_)
-
-HOST_2_TCG_TMP_NEW = {
- "uint32_t": "tcg_const_i32",
- "uint64_t": "tcg_const_i64",
- "void *" : "tcg_const_ptr",
- None: _host_2_tcg_tmp_new,
- }
-
-
-##################################################
-# host/tcg -> tcg temporal constant deallocation
-
-def _host_2_tcg_tmp_free(type_):
- if type_.startswith("TCGv"):
- return "tcg_temp_free_nop"
- raise ValueError("Don't know how to translate type '%s' into a TCG temporal deallocation" % type_)
-
-HOST_2_TCG_TMP_FREE = {
- "uint32_t": "tcg_temp_free_i32",
- "uint64_t": "tcg_temp_free_i64",
- "void *" : "tcg_temp_free_ptr",
- None: _host_2_tcg_tmp_free,
- }