LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/5] xen: various cleanups
@ 2015-01-28  6:44 Juergen Gross
  2015-01-28  6:44 ` [PATCH 1/5] xen: cleanup arch/x86/xen/setup.c Juergen Gross
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

Several cleanups in xen kernel files:
- move declarations to header file
- delete not needed lines
- annotate functions as __init
- make functions static
- use correct types for addresses

No functional changes.

Juergen Gross (5):
  xen: cleanup arch/x86/xen/setup.c
  xen: use correct types for addresses in arch/x86/xen/setup.c
  xen: add some __init and static annotations in arch/x86/xen/setup.c
  xen: add some __init annotations in arch/x86/xen/mmu.c
  xen: cleanup arch/x86/xen/mmu.c

 arch/x86/xen/mmu.c     | 17 ++++++++---------
 arch/x86/xen/setup.c   | 37 ++++++++++++++-----------------------
 arch/x86/xen/xen-ops.h |  6 ++++++
 3 files changed, 28 insertions(+), 32 deletions(-)

-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/5] xen: cleanup arch/x86/xen/setup.c
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
@ 2015-01-28  6:44 ` Juergen Gross
  2015-01-28  6:44 ` [PATCH 2/5] xen: use correct types for addresses in arch/x86/xen/setup.c Juergen Gross
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

Remove extern declarations in arch/x86/xen/setup.c which are either
not used or redundant. Move needed other extern declarations to
xen-ops.h

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/setup.c   | 10 ----------
 arch/x86/xen/xen-ops.h |  6 ++++++
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 865e56c..d2520c3 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -32,16 +32,6 @@
 #include "p2m.h"
 #include "mmu.h"
 
-/* These are code, but not functions.  Defined in entry.S */
-extern const char xen_hypervisor_callback[];
-extern const char xen_failsafe_callback[];
-#ifdef CONFIG_X86_64
-extern asmlinkage void nmi(void);
-#endif
-extern void xen_sysenter_target(void);
-extern void xen_syscall_target(void);
-extern void xen_syscall32_target(void);
-
 /* Amount of extra memory space we add to the e820 ranges */
 struct xen_memory_region xen_extra_mem[XEN_EXTRA_MEM_MAX_REGIONS] __initdata;
 
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 5686bd9..9e195c6 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -10,6 +10,12 @@
 extern const char xen_hypervisor_callback[];
 extern const char xen_failsafe_callback[];
 
+void xen_sysenter_target(void);
+#ifdef CONFIG_X86_64
+void xen_syscall_target(void);
+void xen_syscall32_target(void);
+#endif
+
 extern void *xen_initial_gdt;
 
 struct trap_info;
-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 2/5] xen: use correct types for addresses in arch/x86/xen/setup.c
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
  2015-01-28  6:44 ` [PATCH 1/5] xen: cleanup arch/x86/xen/setup.c Juergen Gross
@ 2015-01-28  6:44 ` Juergen Gross
  2015-01-28  6:44 ` [PATCH 3/5] xen: add some __init and static annotations " Juergen Gross
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

In many places in arch/x86/xen/setup.c wrong types are used for
physical addresses (u64 or unsigned long long). Use phys_addr_t
instead.

Use macros already defined instead of open coding them.

Correct some other type mismatches.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/setup.c | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index d2520c3..4dcc608 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -64,7 +64,7 @@ static unsigned long xen_remap_mfn __initdata = INVALID_P2M_ENTRY;
  */
 #define EXTRA_MEM_RATIO		(10)
 
-static void __init xen_add_extra_mem(u64 start, u64 size)
+static void __init xen_add_extra_mem(phys_addr_t start, phys_addr_t size)
 {
 	int i;
 
@@ -87,10 +87,10 @@ static void __init xen_add_extra_mem(u64 start, u64 size)
 	memblock_reserve(start, size);
 }
 
-static void __init xen_del_extra_mem(u64 start, u64 size)
+static void __init xen_del_extra_mem(phys_addr_t start, phys_addr_t size)
 {
 	int i;
-	u64 start_r, size_r;
+	phys_addr_t start_r, size_r;
 
 	for (i = 0; i < XEN_EXTRA_MEM_MAX_REGIONS; i++) {
 		start_r = xen_extra_mem[i].start;
@@ -257,7 +257,7 @@ static void __init xen_set_identity_and_release_chunk(unsigned long start_pfn,
 static void __init xen_update_mem_tables(unsigned long pfn, unsigned long mfn)
 {
 	struct mmu_update update = {
-		.ptr = ((unsigned long long)mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE,
+		.ptr = ((uint64_t)mfn << PAGE_SHIFT) | MMU_MACHPHYS_UPDATE,
 		.val = pfn
 	};
 
@@ -535,14 +535,15 @@ static unsigned long __init xen_get_max_pages(void)
 	return min(max_pages, MAX_DOMAIN_PAGES);
 }
 
-static void xen_align_and_add_e820_region(u64 start, u64 size, int type)
+static void xen_align_and_add_e820_region(phys_addr_t start, phys_addr_t size,
+					  int type)
 {
-	u64 end = start + size;
+	phys_addr_t end = start + size;
 
 	/* Align RAM regions to page boundaries. */
 	if (type == E820_RAM) {
 		start = PAGE_ALIGN(start);
-		end &= ~((u64)PAGE_SIZE - 1);
+		end &= ~((phys_addr_t)PAGE_SIZE - 1);
 	}
 
 	e820_add_region(start, end - start, type);
@@ -567,7 +568,7 @@ char * __init xen_memory_setup(void)
 	static struct e820entry map[E820MAX] __initdata;
 
 	unsigned long max_pfn = xen_start_info->nr_pages;
-	unsigned long long mem_end;
+	phys_addr_t mem_end;
 	int rc;
 	struct xen_memory_map memmap;
 	unsigned long max_pages;
@@ -642,16 +643,16 @@ char * __init xen_memory_setup(void)
 			  extra_pages);
 	i = 0;
 	while (i < memmap.nr_entries) {
-		u64 addr = map[i].addr;
-		u64 size = map[i].size;
+		phys_addr_t addr = map[i].addr;
+		phys_addr_t size = map[i].size;
 		u32 type = map[i].type;
 
 		if (type == E820_RAM) {
 			if (addr < mem_end) {
 				size = min(size, mem_end - addr);
 			} else if (extra_pages) {
-				size = min(size, (u64)extra_pages * PAGE_SIZE);
-				extra_pages -= size / PAGE_SIZE;
+				size = min(size, PFN_PHYS(extra_pages));
+				extra_pages -= PFN_DOWN(size);
 				xen_add_extra_mem(addr, size);
 				xen_max_p2m_pfn = PFN_DOWN(addr + size);
 			} else
-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 3/5] xen: add some __init and static annotations in arch/x86/xen/setup.c
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
  2015-01-28  6:44 ` [PATCH 1/5] xen: cleanup arch/x86/xen/setup.c Juergen Gross
  2015-01-28  6:44 ` [PATCH 2/5] xen: use correct types for addresses in arch/x86/xen/setup.c Juergen Gross
@ 2015-01-28  6:44 ` Juergen Gross
  2015-01-28  6:44 ` [PATCH 4/5] xen: add some __init annotations in arch/x86/xen/mmu.c Juergen Gross
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

Some more functions in arch/x86/xen/setup.c can be made "__init".
xen_ignore_unusable() can be made "static".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/setup.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 4dcc608..55f388e 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -535,8 +535,8 @@ static unsigned long __init xen_get_max_pages(void)
 	return min(max_pages, MAX_DOMAIN_PAGES);
 }
 
-static void xen_align_and_add_e820_region(phys_addr_t start, phys_addr_t size,
-					  int type)
+static void __init xen_align_and_add_e820_region(phys_addr_t start,
+						 phys_addr_t size, int type)
 {
 	phys_addr_t end = start + size;
 
@@ -549,7 +549,7 @@ static void xen_align_and_add_e820_region(phys_addr_t start, phys_addr_t size,
 	e820_add_region(start, end - start, type);
 }
 
-void xen_ignore_unusable(struct e820entry *list, size_t map_size)
+static void __init xen_ignore_unusable(struct e820entry *list, size_t map_size)
 {
 	struct e820entry *entry;
 	unsigned int i;
-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 4/5] xen: add some __init annotations in arch/x86/xen/mmu.c
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
                   ` (2 preceding siblings ...)
  2015-01-28  6:44 ` [PATCH 3/5] xen: add some __init and static annotations " Juergen Gross
@ 2015-01-28  6:44 ` Juergen Gross
  2015-01-28  6:44 ` [PATCH 5/5] xen: cleanup arch/x86/xen/mmu.c Juergen Gross
  2015-01-28 10:04 ` [Xen-devel] [PATCH 0/5] xen: various cleanups David Vrabel
  5 siblings, 0 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

The file arch/x86/xen/mmu.c has some functions that can be annotated
with "__init".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/mmu.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 5c1f9ac..6a8bbf4 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1489,7 +1489,7 @@ static void __init xen_set_pte_init(pte_t *ptep, pte_t pte)
 	native_set_pte(ptep, pte);
 }
 
-static void pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
+static void __init pin_pagetable_pfn(unsigned cmd, unsigned long pfn)
 {
 	struct mmuext_op op;
 	op.cmd = cmd;
@@ -1657,7 +1657,7 @@ void __init xen_reserve_top(void)
  * Like __va(), but returns address in the kernel mapping (which is
  * all we have until the physical memory mapping has been set up.
  */
-static void *__ka(phys_addr_t paddr)
+static void * __init __ka(phys_addr_t paddr)
 {
 #ifdef CONFIG_X86_64
 	return (void *)(paddr + __START_KERNEL_map);
@@ -1667,7 +1667,7 @@ static void *__ka(phys_addr_t paddr)
 }
 
 /* Convert a machine address to physical address */
-static unsigned long m2p(phys_addr_t maddr)
+static unsigned long __init m2p(phys_addr_t maddr)
 {
 	phys_addr_t paddr;
 
@@ -1678,13 +1678,14 @@ static unsigned long m2p(phys_addr_t maddr)
 }
 
 /* Convert a machine address to kernel virtual */
-static void *m2v(phys_addr_t maddr)
+static void * __init m2v(phys_addr_t maddr)
 {
 	return __ka(m2p(maddr));
 }
 
 /* Set the page permissions on an identity-mapped pages */
-static void set_page_prot_flags(void *addr, pgprot_t prot, unsigned long flags)
+static void __init set_page_prot_flags(void *addr, pgprot_t prot,
+				       unsigned long flags)
 {
 	unsigned long pfn = __pa(addr) >> PAGE_SHIFT;
 	pte_t pte = pfn_pte(pfn, prot);
@@ -1696,7 +1697,7 @@ static void set_page_prot_flags(void *addr, pgprot_t prot, unsigned long flags)
 	if (HYPERVISOR_update_va_mapping((unsigned long)addr, pte, flags))
 		BUG();
 }
-static void set_page_prot(void *addr, pgprot_t prot)
+static void __init set_page_prot(void *addr, pgprot_t prot)
 {
 	return set_page_prot_flags(addr, prot, UVMF_NONE);
 }
@@ -1769,7 +1770,7 @@ void __init xen_setup_machphys_mapping(void)
 }
 
 #ifdef CONFIG_X86_64
-static void convert_pfn_mfn(void *v)
+static void __init convert_pfn_mfn(void *v)
 {
 	pte_t *pte = v;
 	int i;
-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 5/5] xen: cleanup arch/x86/xen/mmu.c
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
                   ` (3 preceding siblings ...)
  2015-01-28  6:44 ` [PATCH 4/5] xen: add some __init annotations in arch/x86/xen/mmu.c Juergen Gross
@ 2015-01-28  6:44 ` Juergen Gross
  2015-01-28 10:04 ` [Xen-devel] [PATCH 0/5] xen: various cleanups David Vrabel
  5 siblings, 0 replies; 7+ messages in thread
From: Juergen Gross @ 2015-01-28  6:44 UTC (permalink / raw)
  To: linux-kernel, xen-devel, konrad.wilk, david.vrabel, boris.ostrovsky
  Cc: Juergen Gross

Remove a nested ifdef.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/mmu.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 6a8bbf4..adca9e2 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -1734,10 +1734,8 @@ static void __init xen_map_identity_early(pmd_t *pmd, unsigned long max_pfn)
 		for (pteidx = 0; pteidx < PTRS_PER_PTE; pteidx++, pfn++) {
 			pte_t pte;
 
-#ifdef CONFIG_X86_32
 			if (pfn > max_pfn_mapped)
 				max_pfn_mapped = pfn;
-#endif
 
 			if (!pte_none(pte_page[pteidx]))
 				continue;
-- 
2.1.2


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [Xen-devel] [PATCH 0/5] xen: various cleanups
  2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
                   ` (4 preceding siblings ...)
  2015-01-28  6:44 ` [PATCH 5/5] xen: cleanup arch/x86/xen/mmu.c Juergen Gross
@ 2015-01-28 10:04 ` David Vrabel
  5 siblings, 0 replies; 7+ messages in thread
From: David Vrabel @ 2015-01-28 10:04 UTC (permalink / raw)
  To: Juergen Gross, linux-kernel, xen-devel, konrad.wilk,
	david.vrabel, boris.ostrovsky

On 28/01/15 06:44, Juergen Gross wrote:
> Several cleanups in xen kernel files:
> - move declarations to header file
> - delete not needed lines
> - annotate functions as __init
> - make functions static
> - use correct types for addresses
> 
> No functional changes.

Applied to devel/for-linus-3.20, thanks.

David

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-01-28 20:32 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-28  6:44 [PATCH 0/5] xen: various cleanups Juergen Gross
2015-01-28  6:44 ` [PATCH 1/5] xen: cleanup arch/x86/xen/setup.c Juergen Gross
2015-01-28  6:44 ` [PATCH 2/5] xen: use correct types for addresses in arch/x86/xen/setup.c Juergen Gross
2015-01-28  6:44 ` [PATCH 3/5] xen: add some __init and static annotations " Juergen Gross
2015-01-28  6:44 ` [PATCH 4/5] xen: add some __init annotations in arch/x86/xen/mmu.c Juergen Gross
2015-01-28  6:44 ` [PATCH 5/5] xen: cleanup arch/x86/xen/mmu.c Juergen Gross
2015-01-28 10:04 ` [Xen-devel] [PATCH 0/5] xen: various cleanups David Vrabel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).