All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
@ 2017-06-07  8:59 ` Yisheng Xie
  0 siblings, 0 replies; 6+ messages in thread
From: Yisheng Xie @ 2017-06-07  8:59 UTC (permalink / raw)
  To: linux
  Cc: rmk+kernel, matthias.bgg, viro, nico, catalin.marinas,
	will.deacon, guohanjun, wangfangpeng1, linux-arm-kernel,
	linux-kernel

This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.

When enable VMSPLIT_3G_OPT, the PAGE_OFFSET will be 0xB0000000, and then
we will get the value "1" for TTBR1_SIZE(T1SZ) as the following MACRO:

   #define TTBR1_SIZE     (((PAGE_OFFSET >> 30) - 1) << 16)

which means TTBR1's range will be 0x80000000 to 0xffffffff, and it is
waster of VA [0x80000000, 0xB0000000). So it is better to use VMSPLIT_2G
instead, to achieve the goal "allows for 1GB systems to have their RAM
entirely mapped as low memory".

Meanwhile, It will trigger a bug of boot fail with CONFIG_ARM_LPAE=y,
which I reported:
    https://patchwork.kernel.org/patch/9768573/

For ARM_LPAE only support 3:1, 2:2, 1:3 split of TTBR1, which mention in:
  http://elinux.org/images/6/6a/Elce11_marinas.pdf - p16

Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
---
 arch/arm/Kconfig | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c1a35f..5961835a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1415,8 +1415,6 @@ choice
 
 	config VMSPLIT_3G
 		bool "3G/1G user/kernel split"
-	config VMSPLIT_3G_OPT
-		bool "3G/1G user/kernel split (for full 1G low memory)"
 	config VMSPLIT_2G
 		bool "2G/2G user/kernel split"
 	config VMSPLIT_1G
@@ -1428,7 +1426,6 @@ config PAGE_OFFSET
 	default PHYS_OFFSET if !MMU
 	default 0x40000000 if VMSPLIT_1G
 	default 0x80000000 if VMSPLIT_2G
-	default 0xB0000000 if VMSPLIT_3G_OPT
 	default 0xC0000000
 
 config NR_CPUS
-- 
1.7.12.4

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

* [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
@ 2017-06-07  8:59 ` Yisheng Xie
  0 siblings, 0 replies; 6+ messages in thread
From: Yisheng Xie @ 2017-06-07  8:59 UTC (permalink / raw)
  To: linux-arm-kernel

This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.

When enable VMSPLIT_3G_OPT, the PAGE_OFFSET will be 0xB0000000, and then
we will get the value "1" for TTBR1_SIZE(T1SZ) as the following MACRO:

   #define TTBR1_SIZE     (((PAGE_OFFSET >> 30) - 1) << 16)

which means TTBR1's range will be 0x80000000 to 0xffffffff, and it is
waster of VA [0x80000000, 0xB0000000). So it is better to use VMSPLIT_2G
instead, to achieve the goal "allows for 1GB systems to have their RAM
entirely mapped as low memory".

Meanwhile, It will trigger a bug of boot fail with CONFIG_ARM_LPAE=y,
which I reported:
    https://patchwork.kernel.org/patch/9768573/

For ARM_LPAE only support 3:1, 2:2, 1:3 split of TTBR1, which mention in:
  http://elinux.org/images/6/6a/Elce11_marinas.pdf - p16

Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
---
 arch/arm/Kconfig | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 4c1a35f..5961835a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1415,8 +1415,6 @@ choice
 
 	config VMSPLIT_3G
 		bool "3G/1G user/kernel split"
-	config VMSPLIT_3G_OPT
-		bool "3G/1G user/kernel split (for full 1G low memory)"
 	config VMSPLIT_2G
 		bool "2G/2G user/kernel split"
 	config VMSPLIT_1G
@@ -1428,7 +1426,6 @@ config PAGE_OFFSET
 	default PHYS_OFFSET if !MMU
 	default 0x40000000 if VMSPLIT_1G
 	default 0x80000000 if VMSPLIT_2G
-	default 0xB0000000 if VMSPLIT_3G_OPT
 	default 0xC0000000
 
 config NR_CPUS
-- 
1.7.12.4

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

* Re: [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
  2017-06-07  8:59 ` Yisheng Xie
@ 2017-06-07  9:33   ` Russell King - ARM Linux
  -1 siblings, 0 replies; 6+ messages in thread
From: Russell King - ARM Linux @ 2017-06-07  9:33 UTC (permalink / raw)
  To: Yisheng Xie
  Cc: nico, catalin.marinas, will.deacon, linux-kernel, viro,
	wangfangpeng1, guohanjun, matthias.bgg, linux-arm-kernel

On Wed, Jun 07, 2017 at 04:59:32PM +0800, Yisheng Xie wrote:
> This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.

There's no real reason to revert this, thereby removing it from non-LPAE
cases where it does work.  You've already shown adding a dependency for
LPAE on this option (or even vice versa) is enough to stop the problem
occuring.

IMHO, It would be better to make VMSPLIT_3G_OPT depend on !ARM_LPAE.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
@ 2017-06-07  9:33   ` Russell King - ARM Linux
  0 siblings, 0 replies; 6+ messages in thread
From: Russell King - ARM Linux @ 2017-06-07  9:33 UTC (permalink / raw)
  To: linux-arm-kernel

On Wed, Jun 07, 2017 at 04:59:32PM +0800, Yisheng Xie wrote:
> This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.

There's no real reason to revert this, thereby removing it from non-LPAE
cases where it does work.  You've already shown adding a dependency for
LPAE on this option (or even vice versa) is enough to stop the problem
occuring.

IMHO, It would be better to make VMSPLIT_3G_OPT depend on !ARM_LPAE.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.

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

* Re: [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
  2017-06-07  9:33   ` Russell King - ARM Linux
@ 2017-06-08  1:23     ` Yisheng Xie
  -1 siblings, 0 replies; 6+ messages in thread
From: Yisheng Xie @ 2017-06-08  1:23 UTC (permalink / raw)
  To: Russell King - ARM Linux
  Cc: nico, catalin.marinas, will.deacon, linux-kernel, viro,
	wangfangpeng1, guohanjun, matthias.bgg, linux-arm-kernel

Hi Russell,

Thanks for comment!
On 2017/6/7 17:33, Russell King - ARM Linux wrote:
> On Wed, Jun 07, 2017 at 04:59:32PM +0800, Yisheng Xie wrote:
>> This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.
> 
> There's no real reason to revert this, thereby removing it from non-LPAE
> cases where it does work.  You've already shown adding a dependency for
> LPAE on this option (or even vice versa) is enough to stop the problem
> occuring.
> 
> IMHO, It would be better to make VMSPLIT_3G_OPT depend on !ARM_LPAE.

OK, I will send a patch as your suggestion.

Thanks
Yisheng Xie

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

* [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option"
@ 2017-06-08  1:23     ` Yisheng Xie
  0 siblings, 0 replies; 6+ messages in thread
From: Yisheng Xie @ 2017-06-08  1:23 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Russell,

Thanks for comment!
On 2017/6/7 17:33, Russell King - ARM Linux wrote:
> On Wed, Jun 07, 2017 at 04:59:32PM +0800, Yisheng Xie wrote:
>> This reverts commit 63ce446c9b5787a94ed875bab20772e1a2b3092f.
> 
> There's no real reason to revert this, thereby removing it from non-LPAE
> cases where it does work.  You've already shown adding a dependency for
> LPAE on this option (or even vice versa) is enough to stop the problem
> occuring.
> 
> IMHO, It would be better to make VMSPLIT_3G_OPT depend on !ARM_LPAE.

OK, I will send a patch as your suggestion.

Thanks
Yisheng Xie

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

end of thread, other threads:[~2017-06-08  1:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-06-07  8:59 [PATCH] Revert "ARM: 8433/1: add a VMSPLIT_3G_OPT config option" Yisheng Xie
2017-06-07  8:59 ` Yisheng Xie
2017-06-07  9:33 ` Russell King - ARM Linux
2017-06-07  9:33   ` Russell King - ARM Linux
2017-06-08  1:23   ` Yisheng Xie
2017-06-08  1:23     ` Yisheng Xie

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.