diff options
author | Ian Campbell <ian.campbell@xensource.com> | 2007-06-19 15:03:55 +0100 |
---|---|---|
committer | Ian Campbell <ian.campbell@xensource.com> | 2007-06-19 15:03:55 +0100 |
commit | 3f945b103c430aa733f17d72194635d213247584 (patch) | |
tree | 3afd402a5b1af4e1d499035befbe7f763e726271 /xen/common/kexec.c | |
parent | b3318d3351cf4d87b70f69c10978e949b31de010 (diff) | |
download | xen-3f945b103c430aa733f17d72194635d213247584.tar.gz xen-3f945b103c430aa733f17d72194635d213247584.tar.bz2 xen-3f945b103c430aa733f17d72194635d213247584.zip |
Further fixes for 32on64 bit kexec.
* switch to a suitable stack before jumping to compatibility mode.
* return the correct range for KEXEC_RANGE_MA_XEN.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
Diffstat (limited to 'xen/common/kexec.c')
-rw-r--r-- | xen/common/kexec.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/xen/common/kexec.c b/xen/common/kexec.c index 577492fec0..2437799d63 100644 --- a/xen/common/kexec.c +++ b/xen/common/kexec.c @@ -169,7 +169,11 @@ static int kexec_get(reserve)(xen_kexec_range_t *range) static int kexec_get(xen)(xen_kexec_range_t *range) { +#ifdef CONFIG_X86_64 + range->start = xenheap_phys_start; +#else range->start = virt_to_maddr(_start); +#endif range->size = (unsigned long)xenheap_phys_end - (unsigned long)range->start; return 0; } |