mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
arm: implement VGCF_online
Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Tim Deegan <tim@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
1 parent
417597de75
commit
657d06105b
3 files changed
+10
-1
No files matched your search
@@ -101,6 +101,8 @@ static int vcpu_arm(struct xc_dom_image *dom, void *ptr)
|
||||
|
||||
ctxt->user_regs.cpsr = PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC;
|
||||
|
||||
ctxt->flags = VGCF_online;
|
||||
|
||||
DOMPRINTF("Initial state CPSR %#"PRIx32" PC %#"PRIx32,
|
||||
ctxt->user_regs.cpsr, ctxt->user_regs.pc);
|
||||
|
||||
|
||||
@@ -503,7 +503,10 @@ int arch_set_info_guest(
|
||||
v->arch.ttbr1 = ctxt->ttbr1;
|
||||
v->arch.ttbcr = ctxt->ttbcr;
|
||||
|
||||
clear_bit(_VPF_down, &v->pause_flags);
|
||||
if ( ctxt->flags & VGCF_online )
|
||||
clear_bit(_VPF_down, &v->pause_flags);
|
||||
else
|
||||
set_bit(_VPF_down, &v->pause_flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -125,6 +125,10 @@ typedef uint64_t xen_pfn_t;
|
||||
typedef uint32_t xen_ulong_t;
|
||||
|
||||
struct vcpu_guest_context {
|
||||
#define _VGCF_online 0
|
||||
#define VGCF_online (1<<_VGCF_online)
|
||||
uint32_t flags; /* VGCF_* */
|
||||
|
||||
struct cpu_user_regs user_regs; /* User-level CPU registers */
|
||||
|
||||
uint32_t sctlr;
|
||||
|
||||