| 4 ++--
> hw/usb/trace-events | 6 +++---
> hw/vfio/trace-events | 4 ++--
> scripts/tracetool/__init__.py | 2 ++
> 6 files changed, 14 insertions(+), 10 deletions(-)
>
> --
> 2.41.0
>
Acked-by: Mads Ynddal
e TCG analysis? I'm not saying it can't be true, but it'd be nice
to see it demonstrated before making decisions.
Because, as you point out, there's a lot of downsides to having two versions. So
the benefits have to clearly outweigh the additional work.
I have a lot of other questions, but let's maybe start with the core idea first.
—
Mads Ynddal
e Python version. We're not
doing anything obviously exploitable.
—
Mads Ynddal
> Why are the timestamps non-monotonic?
>
> In a situation like that maybe not only the negative timestamps are
> useless but even some positive timestamps are incorrect. I think it's
> worth understanding the nature of the instability before merging a
> fix.
I agree with Stefan on this. We'll
>> +class Formatter2(Analyzer2):
>
> Was this class part of the benchmark? It appears to be unused.
>
>> +def __init__(self):
>> +self.last_timestamp_ns = None
>> +
>> +def catchall(self, *rec_args, event, timestamp_ns, pid, event_id):
>> +if
From: Mads Ynddal
The call to `getargspec` was deprecated and in Python 3.11 it has been
removed in favor of `getfullargspec`. `getfullargspec` is compatible
with QEMU's requirement of at least Python version 3.6.
Reviewed-by: Stefan Hajnoczi
Reviewed-by: Philippe Mathieu-Daudé
Signed-off
From: Mads Ynddal
A failed call to `read_header` wouldn't be handled the same for the two
different code paths (one path would try to use `None` as a list).
Changed to raise exception to be handled centrally. This also allows for
easier unpacking, as errors has been filtered out.
Reviewed
From: Mads Ynddal
By moving the dynamic argument construction to keyword-arguments,
we can remove all of the specialized handling, and streamline it.
If a tracing method wants to access these, they can define the
kwargs, or ignore it be placing `**kwargs` at the end of the
function's arguments
From: Mads Ynddal
To avoid duplicate code depending on input types and to better handle
open/close of log with a context-manager, we move the logic of process into
_process.
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 26 ++
1
From: Mads Ynddal
Instead of explicitly calling `begin` and `end`, we can change the class
to use the context-manager paradigm. This is mostly a styling choice,
used in modern Python code. But it also allows for more advanced analyzers
to handle exceptions gracefully in the `__exit__` method
From: Mads Ynddal
It was unclear what was the supported public interface. I.e. when
refactoring the code, what functions/classes are important to retain.
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 2 ++
1 file changed, 2 insertions(+)
diff --git
From: Mads Ynddal
Moved event_mapping and event_id_to_name down one level in the function
call-stack to keep variable instantiation and usage closer (`process`
and `run` has no use of the variables; `read_trace_records` does).
Instead of passing event_mapping and event_id_to_name to the bottom
From: Mads Ynddal
The arguments extracted from `sys.argv` named and unpacked to make it
clear what the arguments are and what they're used for.
The two input files were opened, but never explicitly closed. File usage
changed to use `with` statement to take care of this. At the same time
From: Mads Ynddal
Moved event processing to the Analyzer class to separate specific analyzer
logic (like caching and function signatures) from the _process function.
This allows for new types of Analyzer-based subclasses without changing
the core code.
Note, that the fn_cache is important
From: Mads Ynddal
In my work to refactor simpletrace.py, I noticed that there's no
maintainer of it, and has the status of "odd fixes". I'm using it from
time to time, so I'd like to maintain the script.
I've added myself as reviewer under "Tracing" to be informed of chang
From: Mads Ynddal
Python 3 removed `dict.iteritems()` in favor of `dict.items()`. This
means the script currently doesn't work on Python 3.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Mads Ynddal
---
scripts/analyse-locks-simpletrace.py | 2 +-
1 file
From: Mads Ynddal
I wanted to use simpletrace.py for an internal project, so I tried to update
and polish the code. Some of the commits resolve specific issues, while some
are more subjective.
I've tried to divide it into commits so we can discuss the
individual changes, and I'm ready to pull
From: Mads Ynddal
It wasn't clear where the constants and structs came from, so I added
comments to help.
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 5 +
1 file changed, 5 insertions(+)
diff --git a/scripts/simpletrace.py b/scripts
From: Mads Ynddal
Define `SimpleException` to differentiate our exceptions from generic
exceptions (IOError, etc.). Adapted simpletrace to support this and
output to stderr.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Mads Ynddal
---
scripts
From: Mads Ynddal
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Signed-off-by: Mads Ynddal
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Stefan Hajnoczi
---
scripts/simpletrace.py | 34
tainer yourself
> (requires publishing a GPG key and signing pull request tags).
>
> Please let me know which option you prefer.
For future patches, I would like to send pull requests myself with a GPG key to
get the practice. I can have Klaus Jensen sign my key to
get started.
—
Mads Ynddal
> AFAIK, we don't consider simpletrace.py python code to be a
> supported public API, just a command line tool.
>
> IOW, we can change the python code at will, as long as the
> command line doesn't alter its behaviour. Thus I don't see
> a need to add new classes, just change the existing ones.
> On 23 Aug 2023, at 10.54, Mads Ynddal wrote:
>
> From: Mads Ynddal
>
> By moving the dynamic argument construction to keyword-arguments,
> we can remove all of the specialized handling, and streamline it.
> If a tracing method wants to access these, they can define th
> On 23 Aug 2023, at 10.54, Mads Ynddal wrote:
>
> From: Mads Ynddal
>
> I wanted to use simpletrace.py for an internal project, so I tried to update
> and polish the code. Some of the commits resolve specific issues, while some
> are more subjective.
>
From: Mads Ynddal
By moving the dynamic argument construction to keyword-arguments,
we can remove all of the specialized handling, and streamline it.
If a tracing method wants to access these, they can define the
kwargs, or ignore it be placing `**kwargs` at the end of the
function's arguments
From: Mads Ynddal
A failed call to `read_header` wouldn't be handled the same for the two
different code paths (one path would try to use `None` as a list).
Changed to raise exception to be handled centrally. This also allows for
easier unpacking, as errors has been filtered out.
Signed-off
From: Mads Ynddal
It was unclear what was the supported public interface. I.e. when
refactoring the code, what functions/classes are important to retain.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/simpletrace.py b
From: Mads Ynddal
Python 3 removed `dict.iteritems()` in favor of `dict.items()`. This
means the script curerntly doesn't work on Python 3.
Signed-off-by: Mads Ynddal
---
scripts/analyse-locks-simpletrace.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/analyse
From: Mads Ynddal
It wasn't clear where the constants and structs came from, so I added
comments to help.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 5 +
1 file changed, 5 insertions(+)
diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
index b221d9a241..5c230a1b74
From: Mads Ynddal
In my work to refactor simpletrace.py, I noticed that there's no
maintainer of it, and has the status of "odd fixes". I'm using it from
time to time, so I'd like to maintain the script.
I've added myself as reviewer under "Tracing" to be informed of chang
From: Mads Ynddal
To avoid duplicate code depending on input types and to better handle
open/close of log with a context-manager, we move the logic of process into
_process.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 26 ++
1 file changed, 18 insertions
From: Mads Ynddal
Moved event processing to the Analyzer class to separate specific analyzer
logic (like caching and function signatures) from the _process function.
This allows for new types of Analyzer-based subclasses without changing
the core code.
Note, that the fn_cache is important
From: Mads Ynddal
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Signed-off-by: Mads Ynddal
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Stefan Hajnoczi
---
scripts/simpletrace.py | 34
From: Mads Ynddal
I wanted to use simpletrace.py for an internal project, so I tried to update
and polish the code. Some of the commits resolve specific issues, while some
are more subjective.
I've tried to divide it into commits so we can discuss the
individual changes, and I'm ready to pull
From: Mads Ynddal
Define `SimpleException` to differentiate our exceptions from generic
exceptions (IOError, etc.). Adapted simpletrace to support this and
output to stderr.
Signed-off-by: Mads Ynddal
Reviewed-by: Philippe Mathieu-Daudé
---
scripts/simpletrace.py | 22
From: Mads Ynddal
The arguments extracted from `sys.argv` named and unpacked to make it
clear what the arguments are and what they're used for.
The two input files were opened, but never explicitly closed. File usage
changed to use `with` statement to take care of this. At the same time
From: Mads Ynddal
Instead of explicitly calling `begin` and `end`, we can change the class
to use the context-manager paradigm. This is mostly a styling choice,
used in modern Python code. But it also allows for more advanced analyzers
to handle exceptions gracefully in the `__exit__` method
From: Mads Ynddal
The call to `getargspec` was deprecated and in Python 3.11 it has been
removed in favor of `getfullargspec`. `getfullargspec` is compatible
with QEMU's requirement of at least Python version 3.6.
Signed-off-by: Mads Ynddal
Reviewed-by: Stefan Hajnoczi
---
scripts
From: Mads Ynddal
Moved event_mapping and event_id_to_name down one level in the function
call-stack to keep variable instantiation and usage closer (`process`
and `run` has no use of the variables; `read_trace_records` does).
Instead of passing event_mapping and event_id_to_name to the bottom
> On 15 Jun 2023, at 00.40, Alexander Graf wrote:
>
> This patch set introduces a new ARM and HVF specific machine type
> called "vmapple". It mimicks the device model that Apple's proprietary
> Virtualization.Framework exposes, but implements it in QEMU.
>
> With this new machine type, you
for Apple M1 cpus.
>
> We already have a check for ARMv8-A never setting vfp-d32 true,
> so restructure the code so that AArch64 avoids the test entirely.
>
> Reported-by: Mads Ynddal
> Signed-off-by: Richard Henderson
> ---
> target/arm/cpu.c | 28 +++---
cs fphp asimdhp
cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 asimddp sha512 asimdfhm dit uscat
ilrcpc flagm sb paca pacg dcpodp flagm2 frint
CPU implementer : 0x00
CPU architecture: 8
CPU variant : 0x0
CPU part : 0x000
CPU revision : 0
—
Mads Ynddal
ial "mon:stdio"
qemu-system-aarch64: ARM CPUs must have both VFP-D32 and Neon or neither
If you fix/work on this issue in a separate thread/patch, you can add
reported-by, so I'll automatically follow and help test it:
Reported-by: Mads Ynddal
—
Mads Ynddal
> On 7 Jun 2023, at
> On 8 Jun 2023, at 14.41, Mads Ynddal wrote:
>
> From: Mads Ynddal
>
> By moving the dynamic argument construction to keyword-arguments,
> we can remove all of the specialized handling, and streamline it.
> If a tracing method wants to access these, they can define th
From: Mads Ynddal
By moving the dynamic argument construction to keyword-arguments,
we can remove all of the specialized handling, and streamline it.
If a tracing method wants to access these, they can define the
kwargs, or ignore it be placing `**kwargs` at the end of the
function's arguments
From: Mads Ynddal
Define `SimpleException` to differentiate our exceptions from generic
exceptions (IOError, etc.). Adapted simpletrace to support this and
output to stderr.
Signed-off-by: Mads Ynddal
Reviewed-by: Philippe Mathieu-Daudé
---
scripts/simpletrace.py | 22
From: Mads Ynddal
Moved event processing to the Analyzer class to separate specific analyzer
logic (like caching and function signatures) from the _process function.
This allows for new types of Analyzer-based subclasses without changing
the core code.
Note, that the fn_cache is important
From: Mads Ynddal
The call to `getargspec` was deprecated and in Python 3.11 it has been
removed in favor of `getfullargspec`. `getfullargspec` is compatible
with QEMU's requirement of at least Python version 3.6.
Signed-off-by: Mads Ynddal
Reviewed-by: Stefan Hajnoczi
---
scripts
From: Mads Ynddal
Instead of explicitly calling `begin` and `end`, we can change the class
to use the context-manager paradigm. This is mostly a styling choice,
used in modern Python code. But it also allows for more advanced analyzers
to handle exceptions gracefully in the `__exit__` method
From: Mads Ynddal
Python 3 removed `dict.iteritems()` in favor of `dict.items()`. This
means the script curerntly doesn't work on Python 3.
Signed-off-by: Mads Ynddal
---
scripts/analyse-locks-simpletrace.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/analyse
From: Mads Ynddal
A failed call to `read_header` wouldn't be handled the same for the two
different code paths (one path would try to use `None` as a list).
Changed to raise exception to be handled centrally. This also allows for
easier unpacking, as errors has been filtered out.
Signed-off
From: Mads Ynddal
To avoid duplicate code depending on input types and to better handle
open/close of log with a context-manager, we move the logic of process into
_process.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 26 ++
1 file changed, 18 insertions
From: Mads Ynddal
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Signed-off-by: Mads Ynddal
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Stefan Hajnoczi
---
scripts/simpletrace.py | 34
From: Mads Ynddal
It was unclear what was the supported public interface. I.e. when
refactoring the code, what functions/classes are important to retain.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/simpletrace.py b
From: Mads Ynddal
It wasn't clear where the constants and structs came from, so I added
comments to help.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 5 +
1 file changed, 5 insertions(+)
diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
index b221d9a241..5c230a1b74
From: Mads Ynddal
Moved event_mapping and event_id_to_name down one level in the function
call-stack to keep variable instantiation and usage closer (`process`
and `run` has no use of the variables; `read_trace_records` does).
Instead of passing event_mapping and event_id_to_name to the bottom
From: Mads Ynddal
In my work to refactor simpletrace.py, I noticed that there's no
maintainer of it, and has the status of "odd fixes". I'm using it from
time to time, so I'd like to maintain the script.
I've added myself as reviewer under "Tracing" to be informed of chang
From: Mads Ynddal
I wanted to use simpletrace.py for an internal project, so I tried to update
and polish the code. Some of the commits resolve specific issues, while some
are more subjective.
I've tried to divide it into commits so we can discuss the
individual changes, and I'm ready to pull
From: Mads Ynddal
The arguments extracted from `sys.argv` named and unpacked to make it
clear what the arguments are and what they're used for.
The two input files were opened, but never explicitly closed. File usage
changed to use `with` statement to take care of this. At the same time
>
> This is nice but breaking existing analysis scripts should be avoided.
>
> I suggest preserving the Analyzer class the way it is and adding a new
> Analyzer2 class that follows the new method signature for trace event
> methods.
You're right. This has too large effects on the API.
I
>
> Bearing in mind compatibility with existing simpletrace analysis
> scripts, how about the following default method implementations?
>
> def __enter__(self):
> self.begin()
>
> def __exit__(self, exc_type, exc_val, exc_tb):
> if exc_type is None:
> self.end()
>
>
> From my reply to v1 of this patch series:
>
> This is fragile since this information will be outdated if the C source
> code changes (e.g. renaming files or variables).
>
> Instead I would add the following comment:
>
> # This is the binary format that the QEMU "simple" trace backend
> #
> On 9 May 2023, at 16.38, Stefan Hajnoczi wrote:
>
> On Tue, May 02, 2023 at 11:23:31AM +0200, Mads Ynddal wrote:
>> From: Mads Ynddal
>>
>> The call to `getargspec` was deprecated and in Python 3.11 it has been
>> removed in favor of `getfullargspec`.
&g
>
> I was curious how Mads is using simpletrace for an internal (to
> Samsung?) project.
>
I was just tracing the NVMe emulation to get some metrics. The code is all
upstream or a part of this patchset. The rest is tracing configs.
> simpletrace.py is both a command-line tool and a Python module. The
> Python module has a public API that people's scripts may rely on. Let's
> avoid breaking API changes unless necessary so that existing scripts
> that import simpletrace continue to work.
>
> It's not very clear what is a
> A question for you: do you think it's possible to move simpletrace into
> qemu/python/utils? This requires cleaning up the code to some fairly pedantic
> standards, but helps protect it against rot as we change target python
> versions.
>
> No problem if that's too much to ask. just want
From: Mads Ynddal
In my work to refactor simpletrace.py, I noticed that there's no
maintainer of it, and has the status of "odd fixes". I'm using it from
time to time, so I'd like to maintain the script.
I've added myself as reviewer under "Tracing" to be informed of chang
From: Mads Ynddal
The signature of `process` in simpletrace.py has changed to not take
filepaths as the two first arguments, but rather a file-like object. We
change the code here to reflect that.
Signed-off-by: Mads Ynddal
---
scripts/analyse-locks-simpletrace.py | 3 ++-
1 file changed, 2
From: Mads Ynddal
Python 3 removed `dict.iteritems()` in favor of `dict.items()`. This
means the script curerntly doesn't work on Python 3.
Signed-off-by: Mads Ynddal
---
scripts/analyse-locks-simpletrace.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/analyse
From: Mads Ynddal
It wasn't clear where the constants and structs came from, so I added
comments to help.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
From: Mads Ynddal
Define `SimpleException` to differentiate our exceptions from generic
exceptions (IOError, etc.). Adapted simpletrace to support this and
output to stderr.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 22
From: Mads Ynddal
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 34 +-
1
From: Mads Ynddal
By moving the dynamic argument construction to keyword-arguments,
we can remove all of the specialized handling, and streamline it.
If a tracing method wants to access these, they can define the
kwargs, or ignore it be placing `**kwargs` at the end of the
function's arguments
From: Mads Ynddal
The arguments extracted from `sys.argv` named and unpacked to make it
clear what the arguments are and what they're used for.
The two input files were opened, but never explicitly closed. File usage
changed to use `with` statement to take care of this. At the same time
From: Mads Ynddal
NOTE: `process` changes function signature
Moved event_mapping and event_id_to_name down one level in the function
call-stack to keep variable instantiation and usage closer (`process`
and `run` has no use of the variables; `read_trace_records` does).
Instead of passing
From: Mads Ynddal
The call to `getargspec` was deprecated and in Python 3.11 it has been
removed in favor of `getfullargspec`.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/simpletrace.py b/scripts
From: Mads Ynddal
Instead of explicitly calling `begin` and `end`, we can change the class
to use the context-manager paradigm. This is mostly a styling choice,
used in modern Python code. But it also allows for more advanced analyzers
to handle exceptions gracefully in the `__exit__` method
From: Mads Ynddal
A failed call to `read_header` wouldn't be handled the same for the two
different code paths (one path would try to use `None` as a list).
Changed to raise exception to be handled centrally. This also allows for
easier unpacking, as errors has been filtered out.
Signed-off
From: Mads Ynddal
I wanted to use simpletrace.py for an internal project, so I tried to update
and polish the code. Some of the commits resolve specific issues, while some
are more subjective.
I've tried to divide it into commits so we can discuss the
individual changes, and I'm ready to pull
From: Mads Ynddal
A failed call to `read_header` wouldn't be handled the same for the two
different code paths (one path would try to use `None` as a list).
Changed to raise exception to be handled centrally. This also allows for
easier unpacking, as errors has been filtered out.
Signed-off
From: Mads Ynddal
Moved event_mapping and event_id_to_name down one level in the function
call-stack to keep variable instantiation and usage closer (`process`
and `run` has no use of the variables; `read_trace_records` does).
Instead of passing event_mapping and event_id_to_name to the bottom
From: Mads Ynddal
I wanted to use simpletrace.py for an internal project, so I tried to update
and polish the code. Some of the commits resolve specific issues, while some
are more subjective.
I've tried to divide it into commits so we can discuss the
individual changes, and I'm ready to pull
From: Mads Ynddal
The arguments extracted from `sys.argv` named and unpacked to make it
clear what the arguments are and what they're used for.
The two input files were opened, but never explicitly closed. File usage
changed to use `with` statement to take care of this. At the same time
From: Mads Ynddal
The call to `getargspec` was deprecated and in Python 3.11 it has been
removed in favor of `getfullargspec`.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/simpletrace.py b/scripts
From: Mads Ynddal
By moving the dynamic argument construction to keyword-arguments,
we can remove all of the specialized handling, and streamline it.
If a tracing method wants to access these, they can define the
kwargs, or ignore it be placing `**kwargs` at the end of the
function's arguments
From: Mads Ynddal
Readability is subjective, but I've expanded the naming of the variables
and arguments, to help with understanding for new eyes on the code.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 34 +-
1 file changed, 17 insertions(+), 17
From: Mads Ynddal
Define `SimpleException` to differentiate our exceptions from generic
exceptions (IOError, etc.). Adapted simpletrace to support this and
output to stderr.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 23 +++
1 file changed, 15 insertions(+), 8
From: Mads Ynddal
Instead of explicitly calling `begin` and `end`, we can change the class
to use the context-manager paradigm. This is mostly a styling choice,
used in modern Python code. But it also allows for more advanced analyzers
to handle exceptions gracefully in the `__exit__` method
From: Mads Ynddal
It wasn't clear where the constants and structs came from, so I added
comments to help.
Signed-off-by: Mads Ynddal
---
scripts/simpletrace.py | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py
From: Mads Ynddal
Continuing the refactor of a48e7d9e52 (gdbstub: move guest debug support
check to ops) by removing hardcoded kvm_enabled() from generic cpu.c
code, and replace it with a property of AccelOpsClass.
Signed-off-by: Mads Ynddal
---
accel/kvm/kvm-accel-ops.c | 5 +
cpu.c
>
> Sorry this dropped of my radar. Yes I think the ifdef will do. Are you
> going to post a v2 with all the various updates?
>
No worries, I'll make a v2 with the changes.
—
Mads Ynddal
with
2 cores.
—
Mads Ynddal
> It seems v3 has a regression in regards to BRK instructions that I cannot
> reproduce with v2.
I've now observed the same messages on v2 on a co-worker's computer. Maybe it's
happening in combination with another commit on master. If I can find the time,
I'll try to bisect it.
—
Mads Ynddal
Unexpected kernel BRK exception at EL1
[4.664650] Internal error: BRK handler: f200 [#1] PREEMPT SMP
...
Maybe the software breakpoints aren't removed/reapplied correctly in v3?
—
Mads Ynddal
, 0);
}
+#endif
trace_breakpoint_singlestep(cpu->cpu_index, enabled);
}
—
Mads Ynddal
> Isn't this '0' flag here accelerator-specific? ...
> ... if so the prototype should be:
>
> int (*update_guest_debug)(CPUState *cpu);
>
> and the '0' value set within kvm-accel-ops.c handler implementation.
>
You're right, we can avoid the additional variable. We'll then have to
> On 23 Nov 2022, at 15.05, Alex Bennée wrote:
>
> Nice. Looks good to me but I'll have a proper look when I go through my
> gdbstub/next queue. I don't think this is critical for 7.2.
>
Thanks, and I agree. It can easily wait.
> On 23 Nov 2022, at 13.17, Mads Ynddal wrote:
>
> From: Mads Ynddal
>
> Continuing the refactor of a48e7d9e52 (gdbstub: move guest debug support
> check to ops) by removing hardcoded kvm_enabled() from generic cpu.c
> code, and replace it with a property of AccelOpsC
From: Mads Ynddal
Continuing the refactor of a48e7d9e52 (gdbstub: move guest debug support
check to ops) by removing hardcoded kvm_enabled() from generic cpu.c
code, and replace it with a property of AccelOpsClass.
Signed-off-by: Mads Ynddal
---
accel/kvm/kvm-accel-ops.c | 1 +
cpu.c
| 29 ++
> include/sysemu/hvf_int.h | 1 +
> target/arm/hvf/hvf.c | 194 +-
> 6 files changed, 372 insertions(+), 2 deletions(-)
Looks good. I've tested hw/sw breakpoints, hw watchpoints and single-stepping.
Reviewed-by: Mads Ynddal
1 - 100 of 111 matches
Mail list logo