xen: put more code under CONFIG_CRASH_DEBUG

debugger_trap_entry() is not needed without CONFIG_CRASH_DEBUG, so only
include it if CONFIG_CRASH_DEBUG is defined.

While at it remove CONFIG_HAS_GDBSX as it can easily be replaced by
CONFIG_CRASH_DEBUG.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: George Dunlap <george.dunlap@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
Juergen Gross authored and Andrew Cooper committed 2020-01-03 18:37:25 +00:00
1 parent 1171a93b6c
commit 137a233186
7 files changed
+34 -31

No files matched your search

-1
View File
@@ -13,7 +13,6 @@ config X86
select HAS_EHCI
select HAS_EX_TABLE
select HAS_FAST_MULTIPLY
select HAS_GDBSX
select HAS_IOPORTS
select HAS_KEXEC
select MEM_ACCESS_ALWAYS_ON
+13
View File
@@ -2317,6 +2317,19 @@ static int __init init_vcpu_kick_softirq(void)
}
__initcall(init_vcpu_kick_softirq);
void domain_pause_for_debugger(void)
{
#ifdef CONFIG_CRASH_DEBUG
struct vcpu *curr = current;
struct domain *d = curr->domain;
domain_pause_by_systemcontroller_nosync(d);
/* if gdbsx active, we just need to pause the domain */
if ( curr->arch.gdbsx_vcpu_event == 0 )
send_global_virq(VIRQ_DEBUGGER);
#endif
}
/*
* Local variables:
+1
View File
@@ -14,6 +14,7 @@
#include <xen/sched.h>
#include <xen/paging.h>
#include <xen/softirq.h>
#include <asm/debugger.h>
#include <asm/event.h>
#include <asm/hvm/emulate.h>
#include <asm/hvm/hvm.h>
-3
View File
@@ -57,9 +57,6 @@ config HAS_UBSAN
config HAS_KEXEC
bool
config HAS_GDBSX
bool
config HAS_IOPORTS
bool
-14
View File
@@ -915,20 +915,6 @@ void vcpu_end_shutdown_deferral(struct vcpu *v)
vcpu_check_shutdown(v);
}
#ifdef CONFIG_HAS_GDBSX
void domain_pause_for_debugger(void)
{
struct vcpu *curr = current;
struct domain *d = curr->domain;
domain_pause_by_systemcontroller_nosync(d);
/* if gdbsx active, we just need to pause the domain */
if ( curr->arch.gdbsx_vcpu_event == 0 )
send_global_virq(VIRQ_DEBUGGER);
}
#endif
/* Complete domain destroy after RCU readers are not holding old references. */
static void complete_domain_destroy(struct rcu_head *head)
{
+20 -12
View File
@@ -33,6 +33,8 @@
#include <asm/regs.h>
#include <asm/processor.h>
void domain_pause_for_debugger(void);
#ifdef CONFIG_CRASH_DEBUG
#include <xen/gdbstub.h>
@@ -47,18 +49,6 @@ static inline bool debugger_trap_fatal(
/* Int3 is a trivial way to gather cpu_user_regs context. */
#define debugger_trap_immediate() __asm__ __volatile__ ( "int3" );
#else
static inline bool debugger_trap_fatal(
unsigned int vector, struct cpu_user_regs *regs)
{
return false;
}
#define debugger_trap_immediate() ((void)0)
#endif
static inline bool debugger_trap_entry(
unsigned int vector, struct cpu_user_regs *regs)
{
@@ -84,6 +74,24 @@ static inline bool debugger_trap_entry(
return false;
}
#else
static inline bool debugger_trap_fatal(
unsigned int vector, struct cpu_user_regs *regs)
{
return false;
}
#define debugger_trap_immediate() ((void)0)
static inline bool debugger_trap_entry(
unsigned int vector, struct cpu_user_regs *regs)
{
return false;
}
#endif
unsigned int dbg_rw_mem(void * __user addr, void * __user buf,
unsigned int len, domid_t domid, bool toaddr,
uint64_t pgd3);
-1
View File
@@ -655,7 +655,6 @@ void domain_destroy(struct domain *d);
int domain_kill(struct domain *d);
int domain_shutdown(struct domain *d, u8 reason);
void domain_resume(struct domain *d);
void domain_pause_for_debugger(void);
int domain_soft_reset(struct domain *d);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.