summaryrefslogtreecommitdiffstats
path: root/target-i386/bpt_helper.c
Commit message (Collapse)AuthorAgeFilesLines
* target-i386: Ensure always-1 bits on DR6 can't be clearedEduardo Habkost2015-10-231-1/+1
| | | | | | | | Bits 4-11 and 16-31 on DR6 are documented as always 1, so ensure they can't be cleared by software. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Check CR4[DE] for processing DR4/DR5Richard Henderson2015-10-231-5/+41
| | | | | | | | | Introduce helper_get_dr so that we don't have to put CR4[DE] into the scarce HFLAGS resource. At the same time, rename helper_movl_drN_T0 to helper_set_dr and set the helper flags. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Handle I/O breakpointsEduardo Habkost2015-10-231-27/+72
| | | | | Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Optimize setting dr[0-3]Richard Henderson2015-10-231-3/+8
| | | | | | | | If the debug register is not enabled, we need do nothing besides update the register. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Move hw_*breakpoint_* functionsRichard Henderson2015-10-231-1/+28
| | | | | | | They're only used from bpt_helper.c now. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Ensure bit 10 on DR7 is never clearedEduardo Habkost2015-10-231-0/+2
| | | | | | | | Bit 10 of DR7 is documented as always set to 1, so ensure that's always the case. Reviewed-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Re-introduce optimal breakpoint removalRichard Henderson2015-10-231-6/+28
| | | | | | | | | | Before the last patch, we had an efficient loop that disabled local breakpoints on task switch. Re-add that, but in a more general way that handles changes to the global enable bits too. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Introduce cpu_x86_update_dr7Richard Henderson2015-10-231-11/+18
| | | | | | | | | This moves the last of the iteration over breakpoints into the bpt_helper.c file. This also allows us to make several breakpoint functions static. Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Make check_hw_breakpoints staticRichard Henderson2015-10-021-1/+1
| | | | | | | | The function is now only used from within a single file. Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
* target-i386: Move breakpoint related functions to new fileRichard Henderson2015-10-021-0/+182
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
OpenPOWER on IntegriCloud