Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 82616f95 authored by Juergen Gross's avatar Juergen Gross Committed by Boris Ostrovsky
Browse files

xen: remove tests for pvh mode in pure pv paths



Remove the last tests for XENFEAT_auto_translated_physmap in pure
PV-domain specific paths. PVH V1 is gone and the feature will always
be "false" in PV guests.

Signed-off-by: default avatarJuergen Gross <jgross@suse.com>
Reviewed-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: default avatarBoris Ostrovsky <boris.ostrovsky@oracle.com>
parent fff219d9
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -158,9 +158,6 @@ static inline unsigned long mfn_to_pfn_no_overrides(unsigned long mfn)
	unsigned long pfn;
	unsigned long pfn;
	int ret;
	int ret;


	if (xen_feature(XENFEAT_auto_translated_physmap))
		return mfn;

	if (unlikely(mfn >= machine_to_phys_nr))
	if (unlikely(mfn >= machine_to_phys_nr))
		return ~0;
		return ~0;


+1 −24
Original line number Original line Diff line number Diff line
@@ -212,8 +212,7 @@ void __ref xen_build_mfn_list_list(void)
	unsigned int level, topidx, mididx;
	unsigned int level, topidx, mididx;
	unsigned long *mid_mfn_p;
	unsigned long *mid_mfn_p;


	if (xen_feature(XENFEAT_auto_translated_physmap) ||
	if (xen_start_info->flags & SIF_VIRT_P2M_4TOOLS)
	    xen_start_info->flags & SIF_VIRT_P2M_4TOOLS)
		return;
		return;


	/* Pre-initialize p2m_top_mfn to be completely missing */
	/* Pre-initialize p2m_top_mfn to be completely missing */
@@ -269,9 +268,6 @@ void __ref xen_build_mfn_list_list(void)


void xen_setup_mfn_list_list(void)
void xen_setup_mfn_list_list(void)
{
{
	if (xen_feature(XENFEAT_auto_translated_physmap))
		return;

	BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info);
	BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info);


	if (xen_start_info->flags & SIF_VIRT_P2M_4TOOLS)
	if (xen_start_info->flags & SIF_VIRT_P2M_4TOOLS)
@@ -291,9 +287,6 @@ void __init xen_build_dynamic_phys_to_machine(void)
{
{
	unsigned long pfn;
	unsigned long pfn;


	 if (xen_feature(XENFEAT_auto_translated_physmap))
		return;

	xen_p2m_addr = (unsigned long *)xen_start_info->mfn_list;
	xen_p2m_addr = (unsigned long *)xen_start_info->mfn_list;
	xen_p2m_size = ALIGN(xen_start_info->nr_pages, P2M_PER_PAGE);
	xen_p2m_size = ALIGN(xen_start_info->nr_pages, P2M_PER_PAGE);


@@ -540,9 +533,6 @@ int xen_alloc_p2m_entry(unsigned long pfn)
	unsigned long addr = (unsigned long)(xen_p2m_addr + pfn);
	unsigned long addr = (unsigned long)(xen_p2m_addr + pfn);
	unsigned long p2m_pfn;
	unsigned long p2m_pfn;


	if (xen_feature(XENFEAT_auto_translated_physmap))
		return 0;

	ptep = lookup_address(addr, &level);
	ptep = lookup_address(addr, &level);
	BUG_ON(!ptep || level != PG_LEVEL_4K);
	BUG_ON(!ptep || level != PG_LEVEL_4K);
	pte_pg = (pte_t *)((unsigned long)ptep & ~(PAGE_SIZE - 1));
	pte_pg = (pte_t *)((unsigned long)ptep & ~(PAGE_SIZE - 1));
@@ -640,9 +630,6 @@ unsigned long __init set_phys_range_identity(unsigned long pfn_s,
	if (unlikely(pfn_s >= xen_p2m_size))
	if (unlikely(pfn_s >= xen_p2m_size))
		return 0;
		return 0;


	if (unlikely(xen_feature(XENFEAT_auto_translated_physmap)))
		return pfn_e - pfn_s;

	if (pfn_s > pfn_e)
	if (pfn_s > pfn_e)
		return 0;
		return 0;


@@ -660,10 +647,6 @@ bool __set_phys_to_machine(unsigned long pfn, unsigned long mfn)
	pte_t *ptep;
	pte_t *ptep;
	unsigned int level;
	unsigned int level;


	/* don't track P2M changes in autotranslate guests */
	if (unlikely(xen_feature(XENFEAT_auto_translated_physmap)))
		return true;

	if (unlikely(pfn >= xen_p2m_size)) {
	if (unlikely(pfn >= xen_p2m_size)) {
		BUG_ON(mfn != INVALID_P2M_ENTRY);
		BUG_ON(mfn != INVALID_P2M_ENTRY);
		return true;
		return true;
@@ -711,9 +694,6 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
	int i, ret = 0;
	int i, ret = 0;
	pte_t *pte;
	pte_t *pte;


	if (xen_feature(XENFEAT_auto_translated_physmap))
		return 0;

	if (kmap_ops) {
	if (kmap_ops) {
		ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
		ret = HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref,
						kmap_ops, count);
						kmap_ops, count);
@@ -756,9 +736,6 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
{
{
	int i, ret = 0;
	int i, ret = 0;


	if (xen_feature(XENFEAT_auto_translated_physmap))
		return 0;

	for (i = 0; i < count; i++) {
	for (i = 0; i < count; i++) {
		unsigned long mfn = __pfn_to_mfn(page_to_pfn(pages[i]));
		unsigned long mfn = __pfn_to_mfn(page_to_pfn(pages[i]));
		unsigned long pfn = page_to_pfn(pages[i]);
		unsigned long pfn = page_to_pfn(pages[i]);
+1 −4
Original line number Original line Diff line number Diff line
@@ -340,8 +340,6 @@ static void __init xen_do_set_identity_and_remap_chunk(


	WARN_ON(size == 0);
	WARN_ON(size == 0);


	BUG_ON(xen_feature(XENFEAT_auto_translated_physmap));

	mfn_save = virt_to_mfn(buf);
	mfn_save = virt_to_mfn(buf);


	for (ident_pfn_iter = start_pfn, remap_pfn_iter = remap_pfn;
	for (ident_pfn_iter = start_pfn, remap_pfn_iter = remap_pfn;
@@ -1024,7 +1022,6 @@ void __init xen_pvmmu_arch_setup(void)
void __init xen_arch_setup(void)
void __init xen_arch_setup(void)
{
{
	xen_panic_handler_init();
	xen_panic_handler_init();
	if (!xen_feature(XENFEAT_auto_translated_physmap))
	xen_pvmmu_arch_setup();
	xen_pvmmu_arch_setup();


#ifdef CONFIG_ACPI
#ifdef CONFIG_ACPI