target/arm/kvm: Move kvm_arm_copy_hw_debug_data and unexport
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Gavin Shan <gshan@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
20c83dc9ed
commit
ec4145f728
@ -1021,6 +1021,30 @@ int kvm_arch_process_async_events(CPUState *cs)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* kvm_arm_copy_hw_debug_data:
|
||||||
|
* @ptr: kvm_guest_debug_arch structure
|
||||||
|
*
|
||||||
|
* Copy the architecture specific debug registers into the
|
||||||
|
* kvm_guest_debug ioctl structure.
|
||||||
|
*/
|
||||||
|
static void kvm_arm_copy_hw_debug_data(struct kvm_guest_debug_arch *ptr)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
memset(ptr, 0, sizeof(struct kvm_guest_debug_arch));
|
||||||
|
|
||||||
|
for (i = 0; i < max_hw_wps; i++) {
|
||||||
|
HWWatchpoint *wp = get_hw_wp(i);
|
||||||
|
ptr->dbg_wcr[i] = wp->wcr;
|
||||||
|
ptr->dbg_wvr[i] = wp->wvr;
|
||||||
|
}
|
||||||
|
for (i = 0; i < max_hw_bps; i++) {
|
||||||
|
HWBreakpoint *bp = get_hw_bp(i);
|
||||||
|
ptr->dbg_bcr[i] = bp->bcr;
|
||||||
|
ptr->dbg_bvr[i] = bp->bvr;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void kvm_arch_update_guest_debug(CPUState *cs, struct kvm_guest_debug *dbg)
|
void kvm_arch_update_guest_debug(CPUState *cs, struct kvm_guest_debug *dbg)
|
||||||
{
|
{
|
||||||
if (kvm_sw_breakpoints_active(cs)) {
|
if (kvm_sw_breakpoints_active(cs)) {
|
||||||
|
@ -73,23 +73,6 @@ void kvm_arch_remove_all_hw_breakpoints(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void kvm_arm_copy_hw_debug_data(struct kvm_guest_debug_arch *ptr)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
memset(ptr, 0, sizeof(struct kvm_guest_debug_arch));
|
|
||||||
|
|
||||||
for (i = 0; i < max_hw_wps; i++) {
|
|
||||||
HWWatchpoint *wp = get_hw_wp(i);
|
|
||||||
ptr->dbg_wcr[i] = wp->wcr;
|
|
||||||
ptr->dbg_wvr[i] = wp->wvr;
|
|
||||||
}
|
|
||||||
for (i = 0; i < max_hw_bps; i++) {
|
|
||||||
HWBreakpoint *bp = get_hw_bp(i);
|
|
||||||
ptr->dbg_bcr[i] = bp->bcr;
|
|
||||||
ptr->dbg_bvr[i] = bp->bvr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bool kvm_arm_hw_debug_active(CPUState *cs)
|
bool kvm_arm_hw_debug_active(CPUState *cs)
|
||||||
{
|
{
|
||||||
return ((cur_hw_wps > 0) || (cur_hw_bps > 0));
|
return ((cur_hw_wps > 0) || (cur_hw_bps > 0));
|
||||||
|
@ -462,14 +462,4 @@ bool kvm_arm_handle_debug(CPUState *cs, struct kvm_debug_exit_arch *debug_exit);
|
|||||||
*/
|
*/
|
||||||
bool kvm_arm_hw_debug_active(CPUState *cs);
|
bool kvm_arm_hw_debug_active(CPUState *cs);
|
||||||
|
|
||||||
/**
|
|
||||||
* kvm_arm_copy_hw_debug_data:
|
|
||||||
* @ptr: kvm_guest_debug_arch structure
|
|
||||||
*
|
|
||||||
* Copy the architecture specific debug registers into the
|
|
||||||
* kvm_guest_debug ioctl structure.
|
|
||||||
*/
|
|
||||||
struct kvm_guest_debug_arch;
|
|
||||||
void kvm_arm_copy_hw_debug_data(struct kvm_guest_debug_arch *ptr);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user