Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1514132 > unrolled thread

[PATCHv2 0/6] CONFIG_DEBUG_VIRTUAL for arm64

Started byLaura Abbott <labbott@redhat.com>
First post2016-11-02 22:10 +0100
Last post2016-11-03 00:10 +0100
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCHv2 0/6] CONFIG_DEBUG_VIRTUAL for arm64 Laura Abbott <labbott@redhat.com> - 2016-11-02 22:10 +0100
    [PATCHv2 4/6] arm64: Add cast for virt_to_pfn Laura Abbott <labbott@redhat.com> - 2016-11-02 22:10 +0100
    Re: [PATCHv2 0/6] CONFIG_DEBUG_VIRTUAL for arm64 Mark Rutland <mark.rutland@arm.com> - 2016-11-03 00:10 +0100

#1514132 — [PATCHv2 0/6] CONFIG_DEBUG_VIRTUAL for arm64

FromLaura Abbott <labbott@redhat.com>
Date2016-11-02 22:10 +0100
Subject[PATCHv2 0/6] CONFIG_DEBUG_VIRTUAL for arm64
Message-ID<szaXf-34T-23@gated-at.bofh.it>
Hi,

This is v2 of the series to add CONFIG_DEBUG_VIRTUAL support from arm64. This
has been split out into a number of patches:

Patch #1 Adds ARCH_HAS_DEBUG_VIRTUAL to avoid the need for adding arch
dependencies for DEBUG_VIRTUAL. This touches arch/x86/Kconfig

Patch #2 Cleans up cma to not rely on __pa_nodebug and have an #ifdef inline
in the function.

Patch #3 Adjust some macros in arm64 memory.h to be under __ASSEMBLY__
protection

Patch #4 Adds a cast for virt_to_pfn since __virt_to_phys for DEBUG_VIRTUAL no
longer has a cast.

Patch #5 Switches to using __pa_symbol for _end to avoid erroneously triggering
a bounds error with the debugging.

Patch #6 is the actual implementation of DEBUG_VIRTUAL. The biggest change from
the RFCv1 is the addition of __phys_addr_symbol. This is to handle several
places where the physical address of _end is needed. x86 avoids this problem by
doing its bounds check based on the entire possible image space which is well
beyond where _end would end up.

There are a few dependencies outside of arm64, so I don't know if
it will be easier for this to eventually go through arm64 or the mm tree.

Thanks,
Laura




Laura Abbott (6):
  lib/Kconfig.debug: Add ARCH_HAS_DEBUG_VIRTUAL
  mm/cma: Cleanup highmem check
  arm64: Move some macros under #ifndef __ASSEMBLY__
  arm64: Add cast for virt_to_pfn
  arm64: Use __pa_symbol for _end
  arm64: Add support for CONFIG_DEBUG_VIRTUAL

 arch/arm64/Kconfig              |  1 +
 arch/arm64/include/asm/memory.h | 50 ++++++++++++++++++++++++-----------------
 arch/arm64/mm/Makefile          |  2 ++
 arch/arm64/mm/init.c            |  4 ++--
 arch/arm64/mm/physaddr.c        | 34 ++++++++++++++++++++++++++++
 arch/x86/Kconfig                |  1 +
 lib/Kconfig.debug               |  5 ++++-
 mm/cma.c                        | 15 +++++--------
 8 files changed, 79 insertions(+), 33 deletions(-)
 create mode 100644 arch/arm64/mm/physaddr.c

-- 
2.10.1

[toc] | [next] | [standalone]


#1514135 — [PATCHv2 4/6] arm64: Add cast for virt_to_pfn

FromLaura Abbott <labbott@redhat.com>
Date2016-11-02 22:10 +0100
Subject[PATCHv2 4/6] arm64: Add cast for virt_to_pfn
Message-ID<szaXg-34T-39@gated-at.bofh.it>
In reply to#1514132
virt_to_pfn lacks a cast at the top level. Don't rely on __virt_to_phys
and explicitly cast to unsigned long.

Signed-off-by: Laura Abbott <labbott@redhat.com>
---
 arch/arm64/include/asm/memory.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h
index b4d2b32..d773e2c 100644
--- a/arch/arm64/include/asm/memory.h
+++ b/arch/arm64/include/asm/memory.h
@@ -204,7 +204,7 @@ static inline void *phys_to_virt(phys_addr_t x)
 #define __pa(x)			__virt_to_phys((unsigned long)(x))
 #define __va(x)			((void *)__phys_to_virt((phys_addr_t)(x)))
 #define pfn_to_kaddr(pfn)	__va((pfn) << PAGE_SHIFT)
-#define virt_to_pfn(x)      __phys_to_pfn(__virt_to_phys(x))
+#define virt_to_pfn(x)      __phys_to_pfn(__virt_to_phys((unsigned long)(x)))
 
 /*
  *  virt_to_page(k)	convert a _valid_ virtual address to struct page *
-- 
2.10.1

[toc] | [prev] | [next] | [standalone]


#1514201

FromMark Rutland <mark.rutland@arm.com>
Date2016-11-03 00:10 +0100
Message-ID<szcPo-4hv-33@gated-at.bofh.it>
In reply to#1514132
Hi Laura,

FWIW, for patches 1-4:

Reviewed-by: Mark Rutland <mark.rutland@arm.com>

I still need to figure out the __pa() stuff in the last two patches.

Thanks,
Mark.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web