|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH for-4.12 4/8] xen/arm: domain_build: Don't switch to the guest P2M when copying data
Until recently, kernel/initrd/dtb were loaded using guest VA and
therefore requiring to restore temporarily the P2M. This reworked in a
series of commits (up to 9292086 "xen/arm: domain_build: Use
copy_to_guest_phys_flush_dcache in dtb_load") to use a guest PA.
This will also help a follow-up patch which will require
p2m_{save,restore}_state to work in pair to workaround an erratum.
Signed-off-by: Julien Grall <julien.grall@xxxxxxx>
---
xen/arch/arm/domain_build.c | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b0ec3f0b72..ffbf7c6760 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1920,7 +1920,6 @@ static void __init find_gnttab_region(struct domain *d,
static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
{
- struct vcpu *saved_current;
int i, cpu;
struct vcpu *v = d->vcpu[0];
struct cpu_user_regs *regs = &v->arch.cpu_info->guest_cpu_user_regs;
@@ -1942,14 +1941,6 @@ static int __init construct_domain(struct domain *d,
struct kernel_info *kinfo)
#endif
/*
- * The following loads use the domain's p2m and require current to
- * be a vcpu of the domain, temporarily switch
- */
- saved_current = current;
- p2m_restore_state(v);
- set_current(v);
-
- /*
* kernel_load will determine the placement of the kernel as well
* as the initrd & fdt in RAM, so call it first.
*/
@@ -1958,10 +1949,6 @@ static int __init construct_domain(struct domain *d,
struct kernel_info *kinfo)
initrd_load(kinfo);
dtb_load(kinfo);
- /* Now that we are done restore the original p2m and current. */
- set_current(saved_current);
- p2m_restore_state(saved_current);
-
memset(regs, 0, sizeof(*regs));
regs->pc = (register_t)kinfo->entry;
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |