Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1514132 > unrolled thread
| Started by | Laura Abbott <labbott@redhat.com> |
|---|---|
| First post | 2016-11-02 22:10 +0100 |
| Last post | 2016-11-03 00:10 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
[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
| From | Laura Abbott <labbott@redhat.com> |
|---|---|
| Date | 2016-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]
| From | Laura Abbott <labbott@redhat.com> |
|---|---|
| Date | 2016-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]
| From | Mark Rutland <mark.rutland@arm.com> |
|---|---|
| Date | 2016-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