Hi Alexander,
awesome work, thanks!
I don't know if it's the most appropriate fix but to have the patch series
working I had to add `select VMAPPLE_VIRTIO_BLK` to `hw/vmapple/Kconfig`:
> config VMAPPLE
> bool
> depends on ARM && HVF
> default y if ARM && HVF
> imply PCI_DEV
From: Francesco Cagnin
Required for guest debugging.
Signed-off-by: Francesco Cagnin
---
target/arm/hvf/hvf.c | 213 +++
1 file changed, 213 insertions(+)
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
index ad65603445..e221e37055 100644
From: Francesco Cagnin
Required for guest debugging. The code has been structured like the KVM
counterpart.
Signed-off-by: Francesco Cagnin
---
accel/hvf/hvf-accel-ops.c | 109 ++
accel/hvf/hvf-all.c | 17 ++
include/sysemu/hvf.h | 22
From: Francesco Cagnin
Guests can now be debugged through the gdbstub. Support is added for
single-stepping, software breakpoints, hardware breakpoints and
watchpoints. The code has been structured like the KVM counterpart.
While guest debugging is enabled, the guest can still read and write
From: Francesco Cagnin
These helpers will be also used for HVF. Aside from reformatting a
couple of comments for 'checkpatch.pl' and updating meson to compile
'hyp_gdbstub.c', this is just code motion.
Signed-off-by: Francesco Cagnin
Reviewed-by: Alex Bennée
Review
From: Francesco Cagnin
This patch series aims to add gdbstub support to HVF (the 'QEMU accelerator
on macOS that employs Hypervisor.framework') on Apple Silicon hosts.
The proposed implementation, structured like the KVM counterpart, handles
single-stepping, software breakpoints
> Other than that, the structure of the patch looks OK, but
> I think you need to identify the cause of the problems
> with SMP setups that you mention in the cover letter,
> since they suggest that there's a bug lurking in here
> somewhere.
In the current patch, in `hvf_arch_update_guest_debug()`
From: Francesco Cagnin
These helpers will be also used for HVF. Aside from reformatting a
couple of comments for 'checkpatch.pl' and updating meson to compile
'hyp_gdbstub.c', this is just code motion.
Signed-off-by: Francesco Cagnin
Reviewed-by: Alex Bennée
Review
From: Francesco Cagnin
Support is added for single-stepping, software breakpoints, hardware
breakpoints and watchpoints. The code has been structured like the KVM
counterpart (and many parts are basically identical).
Guests can be debugged through the gdbstub.
While guest debugging is enabled
From: Francesco Cagnin
This patch series aims to add gdbstub support to HVF (the 'QEMU
accelerator on macOS that employs Hypervisor.framework') on Apple
Silicon hosts.
The proposed implementation, structured like the KVM counterpart,
handles single-stepping, software breakpoints
> New files must all start with the usual boilerplate
> comment stating the license and copyright. Sorry I didn't
> notice this in previous rounds of review.
Pardon my naivety, since the new file only contains code from
'target/arm/kvm64.c',
should I just copy the license and copyright comments fr
Hi Phil,
> Could you share the test-gdbstub.py changes?
I've just opened an issue on Gitlab:
https://gitlab.com/qemu-project/qemu/-/issues/1489
Thanks,
Francesco
Are you running the Linux guest on multiple cores? If yes, could you
check if the issue persists also when using a single core?
Thanks,
--
Francesco
From: Francesco Cagnin
Signed-off-by: Francesco Cagnin
---
target/arm/hvf/hvf.c | 4
1 file changed, 4 insertions(+)
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
index c63e8da6a5..87c531508e 100644
--- a/target/arm/hvf/hvf.c
+++ b/target/arm/hvf/hvf.c
@@ -1807,6 +1807,10
From: Francesco Cagnin
This patch series aims to add gdbstub support to HVF (the 'QEMU
accelerator on macOS that employs Hypervisor.framework') on Apple
Silicon hosts.
The proposed implementation, structured like the KVM counterpart,
handles single-stepping, software breakpoints
From: Francesco Cagnin
Support is added for single-stepping, software breakpoints, hardware
breakpoints and watchpoints. The code has been structured like the KVM
counterpart (and many parts are basically identical).
Guests can be debugged through the gdbstub.
While guest debugging is enabled
From: Francesco Cagnin
These helpers will be also used for HVF. Aside from reformatting a
couple of comments for 'checkpatch.pl' and updating meson to compile
'hyp_gdbstub.c', this is just code motion.
Signed-off-by: Francesco Cagnin
---
target/arm
Hi,
indeed, the patch doesn't keep separate copies of debug registers and
just directly sets cp15.* values, as I was not aware of the issue—thanks
for the detailed explanation.
I remain available to implement the required fixes, but I'd need
some guidance on how to proceed. Thanks,
--
Francesco
From: Francesco Cagnin
These helpers will be also used for HVF. Aside from reformatting a
couple of comments for 'checkpatch.pl' and updating meson to compile
'hyp_gdbstub.c', this is just code motion.
Signed-off-by: Francesco Cagnin
---
target/arm
From: Francesco Cagnin
Support is added for single-stepping, software breakpoints, hardware
breakpoints and watchpoints. The code has been structured like the KVM
counterpart (and many parts are basically identical).
Guests can be debugged through the gdbstub.
Signed-off-by: Francesco Cagnin
From: Francesco Cagnin
This patch series aims to add gdbstub support to HVF (the 'QEMU
accelerator on macOS that employs Hypervisor.framework') on Apple
Silicon hosts.
The proposed implementation, structured like the KVM counterpart,
handles single-stepping, software breakpoints
From: Francesco Cagnin
This proved to be required when debugging the Linux kernel's initial
code, as the Hypervisor framework was triggering 'EC_SYSTEMREGISTERTRAP'
VM exits after enabling trap exceptions with
'hv_vcpu_set_trap_debug_exceptions()'.
Signed-off-by: Fran
> I was planning to move hypervisor-specific code to target/arm/$hypervisor/,
> but here Francesco wants to re-use the same code
> between 2 hypervisors... Maybe move it to target/arm/hyp_gdbstub.c
> and let meson add it conditionally?
Something like this?
-arm_ss.add(when: 'CONFIG_KVM', if_true
> In my version, I added the sw breakpoints to `hvf_vcpu_state` so they would
> follow each CPU, but it's effectively a copy of the global set of breakpoints.
Ah, I missed this field, and it seems the proper one to use. I'll switch
to this.
> Moving it to `hvf_arch_update_guest_debug` would proba
Mads, thanks for the review and feedbacks. I worked on this a few months
ago but only managed to have it published now, I'm sorry for work being
done twice.
I'll add support for SSTEP_NOIRQ as you suggested.
For multi-core systems there's no particular issue, just I'm not
familiar with all of the
From: Francesco Cagnin
Support is added for single-stepping, software breakpoints, hardware
breakpoints and watchpoints. The code has been structured like the KVM
counterpart (and many parts are basically identical).
Guests can be debugged through the gdbstub.
Signed-off-by: Francesco Cagnin
From: Francesco Cagnin
This proved to be required when debugging the Linux kernel's initial
code, as the Hypervisor framework was triggering 'EC_SYSTEMREGISTERTRAP'
VM exits after enabling trap exceptions with
'hv_vcpu_set_trap_debug_exceptions()'.
Signed-off-by: Fran
From: Francesco Cagnin
These helpers will be also used for HVF. Aside from reformatting a
couple of comments for 'checkpatch.pl', this is just code motion.
Signed-off-by: Francesco Cagnin
---
target/arm/debug_helper.c | 241 +
target/arm/internals.
From: Francesco Cagnin
Hello,
This patch series aims to add gdbstub support to HVF (the 'QEMU
accelerator on macOS that employs Hypervisor.framework') on Apple
Silicon hosts.
The proposed implementation, structured like the KVM counterpart,
handles single-stepping, software b
29 matches
Mail list logo