[PATCH] powerpc/64s: Make boot look nice(r)
Subsystems:
linux for powerpc (32-bit and 64-bit) , the rest
STALE2559d
LANDED
Landed in mainline as 2b87a2553aa0 on 2019-08-15.
5 messages,
4 authors,
2019-08-10 · open the first message on its own page
Radix boot looks like this:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
hash-mmu: ppc64_pft_size = 0x0
hash-mmu: kernel vmalloc start = 0xc008000000000000
hash-mmu: kernel IO start = 0xc00a000000000000
hash-mmu: kernel vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Fix:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
vmalloc start = 0xc008000000000000
IO start = 0xc00a000000000000
vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/kernel/setup-common.c | 8 +++++++-
arch/powerpc/mm/book3s64/hash_utils.c | 3 ---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index aad9f5df6ab6..f2da8c809c85 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c @@ -810,9 +810,15 @@ static __init void print_system_info(void)
pr_info ( "mmu_features = 0x%08x \n " , cur_cpu_spec -> mmu_features );
#ifdef CONFIG_PPC64
pr_info ( "firmware_features = 0x%016lx \n " , powerpc_firmware_features );
+ #ifdef CONFIG_PPC_BOOK3S
+ pr_info ( "vmalloc start = 0x%lx \n " , KERN_VIRT_START );
+ pr_info ( "IO start = 0x%lx \n " , KERN_IO_START );
+ pr_info ( "vmemmap start = 0x%lx \n " , ( unsigned long ) vmemmap );
+ #endif
#endif
- print_system_hash_info ();
+ if ( ! early_radix_enabled ())
+ print_system_hash_info ();
if ( PHYSICAL_START > 0 )
pr_info ( "physical_start = 0x%llx \n " , diff --git a/arch/powerpc/mm/book3s64/hash_utils.c b/arch/powerpc/mm/book3s64/hash_utils.c
index 919a861a8ec0..8b307b796b83 100644
--- a/arch/powerpc/mm/book3s64/hash_utils.c
+++ b/arch/powerpc/mm/book3s64/hash_utils.c @@ -1954,7 +1954,4 @@ void __init print_system_hash_info(void)
if ( htab_hash_mask )
pr_info ( "htab_hash_mask = 0x%lx \n " , htab_hash_mask );
- pr_info ( "kernel vmalloc start = 0x%lx \n " , KERN_VIRT_START );
- pr_info ( "kernel IO start = 0x%lx \n " , KERN_IO_START );
- pr_info ( "kernel vmemmap start = 0x%lx \n " , ( unsigned long ) vmemmap );
} --
2.20.1
Le 16/05/2019 à 04:04, Nicholas Piggin a écrit : Radix boot looks like this:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
hash-mmu: ppc64_pft_size = 0x0
hash-mmu: kernel vmalloc start = 0xc008000000000000
hash-mmu: kernel IO start = 0xc00a000000000000
hash-mmu: kernel vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Fix:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
vmalloc start = 0xc008000000000000
IO start = 0xc00a000000000000
vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
I fear your change defeats most of the purpose of commit
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20190515&id=e4dccf9092ab48a6f902003b9558c0e45d0e849a
As far as I understand, the main issue is the "hash-mmu:" prefix ?
That's due to the following define in top of book3s64/hash_utils.c:
#define pr_fmt(fmt) "hash-mmu: " fmt
Could we simply undef it just before print_system_hash_info() ?
Or move print_system_hash_info() in another book3s64 specific file which
doesn't set pr_fmt ?
Christophe
quoted hunk ---
arch/powerpc/kernel/setup-common.c | 8 +++++++-
arch/powerpc/mm/book3s64/hash_utils.c | 3 ---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index aad9f5df6ab6..f2da8c809c85 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c @@ -810,9 +810,15 @@ static __init void print_system_info(void)
pr_info ( "mmu_features = 0x%08x \n " , cur_cpu_spec -> mmu_features );
#ifdef CONFIG_PPC64
pr_info ( "firmware_features = 0x%016lx \n " , powerpc_firmware_features );
+ #ifdef CONFIG_PPC_BOOK3S
+ pr_info ( "vmalloc start = 0x%lx \n " , KERN_VIRT_START );
+ pr_info ( "IO start = 0x%lx \n " , KERN_IO_START );
+ pr_info ( "vmemmap start = 0x%lx \n " , ( unsigned long ) vmemmap );
+ #endif
#endif
- print_system_hash_info ();
+ if ( ! early_radix_enabled ())
+ print_system_hash_info ();
if ( PHYSICAL_START > 0 )
pr_info ( "physical_start = 0x%llx \n " , diff --git a/arch/powerpc/mm/book3s64/hash_utils.c b/arch/powerpc/mm/book3s64/hash_utils.c
index 919a861a8ec0..8b307b796b83 100644
--- a/arch/powerpc/mm/book3s64/hash_utils.c
+++ b/arch/powerpc/mm/book3s64/hash_utils.c @@ -1954,7 +1954,4 @@ void __init print_system_hash_info(void)
if ( htab_hash_mask )
pr_info ( "htab_hash_mask = 0x%lx \n " , htab_hash_mask );
- pr_info ( "kernel vmalloc start = 0x%lx \n " , KERN_VIRT_START );
- pr_info ( "kernel IO start = 0x%lx \n " , KERN_IO_START );
- pr_info ( "kernel vmemmap start = 0x%lx \n " , ( unsigned long ) vmemmap );
}
Christophe Leroy's on May 16, 2019 2:47 pm:
Le 16/05/2019 à 04:04, Nicholas Piggin a écrit : quoted Radix boot looks like this:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
hash-mmu: ppc64_pft_size = 0x0
hash-mmu: kernel vmalloc start = 0xc008000000000000
hash-mmu: kernel IO start = 0xc00a000000000000
hash-mmu: kernel vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Fix:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
vmalloc start = 0xc008000000000000
IO start = 0xc00a000000000000
vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
I fear your change defeats most of the purpose of commit
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20190515&id=e4dccf9092ab48a6f902003b9558c0e45d0e849a
I think it's still a significant improvement without introducing
the regression :)
As far as I understand, the main issue is the "hash-mmu:" prefix ?
That's due to the following define in top of book3s64/hash_utils.c:
#define pr_fmt(fmt) "hash-mmu: " fmt
Could we simply undef it just before print_system_hash_info() ?
Little bit fragile I think.
Or move print_system_hash_info() in another book3s64 specific file which
doesn't set pr_fmt ?
print_system_info() would be okay for me and allow getting rid of
that PPC64 config. Although it also needs to go in a file without
pr_fmt I guess that's not so hard.
Thanks,
Nick
Hello,
Nicholas Piggin [off-list ref] writes:
Christophe Leroy's on May 16, 2019 2:47 pm: quoted
Le 16/05/2019 à 04:04, Nicholas Piggin a écrit: quoted Radix boot looks like this:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
hash-mmu: ppc64_pft_size = 0x0
hash-mmu: kernel vmalloc start = 0xc008000000000000
hash-mmu: kernel IO start = 0xc00a000000000000
hash-mmu: kernel vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Fix:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
vmalloc start = 0xc008000000000000
IO start = 0xc00a000000000000
vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
I fear your change defeats most of the purpose of commit
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20190515&id=e4dccf9092ab48a6f902003b9558c0e45d0e849a
I think it's still a significant improvement without introducing
the regression :)
quoted As far as I understand, the main issue is the "hash-mmu:" prefix ?
That's due to the following define in top of book3s64/hash_utils.c:
#define pr_fmt(fmt) "hash-mmu: " fmt
Could we simply undef it just before print_system_hash_info() ?
Little bit fragile I think.
quoted Or move print_system_hash_info() in another book3s64 specific file which
doesn't set pr_fmt ?
print_system_info() would be okay for me and allow getting rid of
that PPC64 config. Although it also needs to go in a file without
pr_fmt I guess that's not so hard.
Or it could use printk(KERN_INFO "...") instead of pr_info(), which I
think makes sense if the pr_fmt prefix is undesired.
--
Thiago Jung Bauermann
IBM Linux Technology Center
On Thu, 2019-05-16 at 02:04:37 UTC, Nicholas Piggin wrote: Radix boot looks like this:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
hash-mmu: ppc64_pft_size = 0x0
hash-mmu: kernel vmalloc start = 0xc008000000000000
hash-mmu: kernel IO start = 0xc00a000000000000
hash-mmu: kernel vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Fix:
-----------------------------------------------------
phys_mem_size = 0x200000000
dcache_bsize = 0x80
icache_bsize = 0x80
cpu_features = 0x0000c06f8f5fb1a7
possible = 0x0000fbffcf5fb1a7
always = 0x00000003800081a1
cpu_user_features = 0xdc0065c2 0xaee00000
mmu_features = 0xbc006041
firmware_features = 0x0000000010000000
vmalloc start = 0xc008000000000000
IO start = 0xc00a000000000000
vmemmap start = 0xc00c000000000000
-----------------------------------------------------
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/a26c29a00f20015a30e618caf7c0720a351e1d03
cheers