All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shannon Zhao <zhaoshenglong@huawei.com>
To: xen-devel@lists.xen.org
Cc: ian.campbell@citrix.com, peter.huangpeng@huawei.com,
	julien.grall@citrix.com, stefano.stabellini@citrix.com,
	shannon.zhao@linaro.org, Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v5 3/8] acpi: Refactor acpi_os_map_memory to be architecturally independent
Date: Sat, 23 Jan 2016 16:00:15 +0800	[thread overview]
Message-ID: <1453536020-16196-4-git-send-email-zhaoshenglong@huawei.com> (raw)
In-Reply-To: <1453536020-16196-1-git-send-email-zhaoshenglong@huawei.com>

From: Shannon Zhao <shannon.zhao@linaro.org>

The first Mb handling is not necessary and the attribute of __vmap() is
different for ARM. Factor the first Mb handling only for x86 and define
a mapping attribute for each architecture.

Cc: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org>
---
v5: only factor the first Mb handling and the attribute of __vmap()
---
 xen/drivers/acpi/osl.c     | 11 +++++++----
 xen/include/asm-x86/acpi.h |  2 ++
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index a2fc8c4..63a4b1f 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -92,11 +92,14 @@ acpi_os_map_memory(acpi_physical_address phys, acpi_size size)
 		mfn_t mfn = _mfn(PFN_DOWN(phys));
 		unsigned int offs = phys & (PAGE_SIZE - 1);
 
-		/* The low first Mb is always mapped. */
-		if ( !((phys + size - 1) >> 20) )
-			return __va(phys);
+		if (IS_ENABLED(CONFIG_X86)) {
+			/* The low first Mb is always mapped. */
+			if ( !((phys + size - 1) >> 20) )
+				return __va(phys);
+		}
+
 		return __vmap(&mfn, PFN_UP(offs + size), 1, 1,
-			      PAGE_HYPERVISOR_NOCACHE) + offs;
+			      ACPI_MAP_MEM_ATTR) + offs;
 	}
 	return __acpi_map_table(phys, size);
 }
diff --git a/xen/include/asm-x86/acpi.h b/xen/include/asm-x86/acpi.h
index d3bde78..d532e3d 100644
--- a/xen/include/asm-x86/acpi.h
+++ b/xen/include/asm-x86/acpi.h
@@ -163,4 +163,6 @@ void hvm_acpi_sleep_button(struct domain *d);
 void save_rest_processor_state(void);
 void restore_rest_processor_state(void);
 
+#define ACPI_MAP_MEM_ATTR	PAGE_HYPERVISOR_NOCACHE
+
 #endif /*__X86_ASM_ACPI_H*/
-- 
2.0.4

  parent reply	other threads:[~2016-01-23  8:00 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-23  8:00 [PATCH v5 0/8] Refactor DT specific codes preparing for ACPI support on ARM64 Shannon Zhao
2016-01-23  8:00 ` [PATCH v5 1/8] Kconfig: import kconfig.h from Linux 4.3 Shannon Zhao
2016-01-23 17:14   ` Jonathan Creekmore
2016-01-23 18:42     ` Andrew Cooper
2016-01-25  1:58       ` Shannon Zhao
2016-01-25 14:35   ` Jan Beulich
2016-01-26 10:23     ` Shannon Zhao
2016-01-23  8:00 ` [PATCH v5 2/8] ACPI: add config for BIOS table scan Shannon Zhao
2016-01-23 17:25   ` Jonathan Creekmore
2016-01-25  1:57     ` Shannon Zhao
2016-01-25 14:42     ` Jan Beulich
2016-01-23  8:00 ` Shannon Zhao [this message]
2016-01-25 14:43   ` [PATCH v5 3/8] acpi: Refactor acpi_os_map_memory to be architecturally independent Jan Beulich
2016-01-23  8:00 ` [PATCH v5 4/8] arm/smpboot: Move dt specific code in smp to seperate functions Shannon Zhao
2016-01-23  8:00 ` [PATCH v5 5/8] arm/gic-v2: Refactor gicv2_init into generic and dt specific parts Shannon Zhao
2016-01-23  8:00 ` [PATCH v5 6/8] arm/gic-v3: Refactor gicv3_init " Shannon Zhao
2016-01-27 12:18   ` Stefano Stabellini
2016-01-27 12:59     ` Shannon Zhao
2016-01-27 13:59       ` Stefano Stabellini
2016-01-28  2:33   ` [PATCH v6 " Shannon Zhao
2016-01-28 10:27     ` Stefano Stabellini
2016-01-30  9:03       ` Shannon Zhao
2016-02-03 12:14         ` Ian Campbell
2016-01-23  8:00 ` [PATCH v5 7/8] arm/uart: Rename dt-uart.c to arm-uart.c Shannon Zhao
2016-01-25 12:07   ` Ian Campbell
2016-01-23  8:00 ` [PATCH v5 8/8] pl011: Refactor pl011 driver to dt and common initialization parts Shannon Zhao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1453536020-16196-4-git-send-email-zhaoshenglong@huawei.com \
    --to=zhaoshenglong@huawei.com \
    --cc=ian.campbell@citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@citrix.com \
    --cc=peter.huangpeng@huawei.com \
    --cc=shannon.zhao@linaro.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.