ACPI PXM ones, not Xen internal node numbers. `relaxed` sets up vCPU
affinities to prefer but be not limited to the specified node(s).
-### dom0\_shadow
-> `= <boolean>`
-
-This option is deprecated, please use `dom0=shadow` instead.
-
### dom0\_vcpus\_pin
> `= <boolean>`
> Default: `false`
-Flag that makes a dom0 use shadow paging.
+Flag that makes a dom0 use shadow paging. Only works when "pvh" is
+enabled.
### dtuart (ARM)
> `= path [:options]`
#ifdef CONFIG_SHADOW_PAGING
bool __initdata opt_dom0_shadow;
-boolean_param("dom0_shadow", opt_dom0_shadow);
#endif
bool __initdata dom0_pvh;
avail -= max_pdx >> s;
}
- need_paging = is_hvm_domain(d) ? !iommu_hap_pt_share || !paging_mode_hap(d)
- : opt_dom0_shadow;
+ need_paging = is_hvm_domain(d) &&
+ (!iommu_hap_pt_share || !paging_mode_hap(d));
for ( ; ; need_paging = 0 )
{
nr_pages = dom0_nrpages;
process_pending_softirqs();
+#ifdef CONFIG_SHADOW_PAGING
+ if ( opt_dom0_shadow && !dom0_pvh )
+ {
+ opt_dom0_shadow = false;
+ printk(XENLOG_WARNING "Shadow Dom0 requires PVH. Option ignored.\n");
+ }
+#endif
+
return (is_hvm_domain(d) ? dom0_construct_pvh : dom0_construct_pv)
(d, image, image_headroom, initrd,bootstrap_map, cmdline);
}
regs->rsi = vstartinfo_start;
regs->eflags = X86_EFLAGS_IF;
-#ifdef CONFIG_SHADOW_PAGING
- if ( opt_dom0_shadow && paging_enable(d, PG_SH_enable) == 0 )
- paging_update_paging_modes(v);
-#endif
-
if ( test_bit(XENFEAT_supervisor_mode_kernel, parms.f_required) )
panic("Dom0 requires supervisor-mode execution");