Re: Regression in 5.1.0-rc2: PowerBook G4 Aluminum fails to boot - bisected to commit 0df977eafc792

2019-03-25 Thread Larry Finger

On 3/25/19 3:46 AM, Christophe Leroy wrote:



Le 25/03/2019 à 01:49, Larry Finger a écrit :
A build of kernel 5.1.0-rc2 resulted in a failure to boot on my PowerBook G4 
Aluminum. The bootstrap loads the initial kernel and issues the appropriate 
start, but the machine hangs at that point.


The problem does not depend on the choice of PPC32 processor type. This 
machine has a 7447A according to /proc/cpuinfo.


The problem was bisected to the following:

commit 0df977eafc792a5365a7f81d8d5920132e03afad
Author: Christophe Leroy 
Date:   Thu Feb 21 10:37:54 2019 +

 powerpc/6xx: Don't use SPRN_SPRG2 for storing stack pointer while in RTAS

 When calling RTAS, the stack pointer is stored in SPRN_SPRG2
 in order to be able to restore it in case of machine check in RTAS.

 As machine check is not a perfomance critical path, this patch
 frees SPRN_SPRG2 by using a field in thread struct instead.

 Signed-off-by: Christophe Leroy 
 Signed-off-by: Michael Ellerman 

I reverted this patch and found that the system began execution, and then 
failed, likely due to the reassignment of SPRN_SPRG2.


I had found this problem with 5.1.0-rc1, but -rc2 was out by the time I 
finished the bisection. Unfortunately, none of the changes in -rc2 fixed the 
problem.


I think I identified the issue, see https://patchwork.ozlabs.org/patch/1063962/

It is now booting properly under QEMU with your .config

Could you please test it on your target ?


Thanks. That patch fixes the issue.

Larry





Re: Regression in 5.1.0-rc2: PowerBook G4 Aluminum fails to boot - bisected to commit 0df977eafc792

2019-03-25 Thread Larry Finger

On 3/25/19 1:53 AM, Christophe Leroy wrote:



Le 25/03/2019 à 01:49, Larry Finger a écrit :
A build of kernel 5.1.0-rc2 resulted in a failure to boot on my PowerBook G4 
Aluminum. The bootstrap loads the initial kernel and issues the appropriate 
start, but the machine hangs at that point.


Can you please be more explicit ? What do you mean by "issues the appropriate 
start" ? What is "that point" ? Any messages on the console ?


Sorry to be unclear. The bootstrap code prints a line saying "Booting Linux via 
__start() @ 0x00c0" and then hangs.


Your idea of confusion between physical and virtual address sounds right. I am 
building a kernel with that patch applied now. As it seems to be going quickly, 
I should have the answer fairly quickly.


Thanks,

Larry




Re: Regression in 5.1.0-rc2: PowerBook G4 Aluminum fails to boot - bisected to commit 0df977eafc792

2019-03-25 Thread Christophe Leroy




Le 25/03/2019 à 01:49, Larry Finger a écrit :
A build of kernel 5.1.0-rc2 resulted in a failure to boot on my 
PowerBook G4 Aluminum. The bootstrap loads the initial kernel and issues 
the appropriate start, but the machine hangs at that point.


The problem does not depend on the choice of PPC32 processor type. This 
machine has a 7447A according to /proc/cpuinfo.


The problem was bisected to the following:

commit 0df977eafc792a5365a7f81d8d5920132e03afad
Author: Christophe Leroy 
Date:   Thu Feb 21 10:37:54 2019 +

     powerpc/6xx: Don't use SPRN_SPRG2 for storing stack pointer while 
in RTAS


     When calling RTAS, the stack pointer is stored in SPRN_SPRG2
     in order to be able to restore it in case of machine check in RTAS.

     As machine check is not a perfomance critical path, this patch
     frees SPRN_SPRG2 by using a field in thread struct instead.

     Signed-off-by: Christophe Leroy 
     Signed-off-by: Michael Ellerman 

I reverted this patch and found that the system began execution, and 
then failed, likely due to the reassignment of SPRN_SPRG2.


I had found this problem with 5.1.0-rc1, but -rc2 was out by the time I 
finished the bisection. Unfortunately, none of the changes in -rc2 fixed 
the problem.


I think I identified the issue, see 
https://patchwork.ozlabs.org/patch/1063962/


It is now booting properly under QEMU with your .config

Could you please test it on your target ?

Thanks
Christophe



Attached is the .config that I used.

Thanks,

Larry


Re: Regression in 5.1.0-rc2: PowerBook G4 Aluminum fails to boot - bisected to commit 0df977eafc792

2019-03-25 Thread Christophe Leroy




Le 25/03/2019 à 01:49, Larry Finger a écrit :
A build of kernel 5.1.0-rc2 resulted in a failure to boot on my 
PowerBook G4 Aluminum. The bootstrap loads the initial kernel and issues 
the appropriate start, but the machine hangs at that point.


Can you please be more explicit ? What do you mean by "issues the 
appropriate start" ? What is "that point" ? Any messages on the console ?


Thanks
Christophe




The problem does not depend on the choice of PPC32 processor type. This 
machine has a 7447A according to /proc/cpuinfo.


The problem was bisected to the following:

commit 0df977eafc792a5365a7f81d8d5920132e03afad
Author: Christophe Leroy 
Date:   Thu Feb 21 10:37:54 2019 +

     powerpc/6xx: Don't use SPRN_SPRG2 for storing stack pointer while 
in RTAS


     When calling RTAS, the stack pointer is stored in SPRN_SPRG2
     in order to be able to restore it in case of machine check in RTAS.

     As machine check is not a perfomance critical path, this patch
     frees SPRN_SPRG2 by using a field in thread struct instead.

     Signed-off-by: Christophe Leroy 
     Signed-off-by: Michael Ellerman 

I reverted this patch and found that the system began execution, and 
then failed, likely due to the reassignment of SPRN_SPRG2.


I had found this problem with 5.1.0-rc1, but -rc2 was out by the time I 
finished the bisection. Unfortunately, none of the changes in -rc2 fixed 
the problem.


Attached is the .config that I used.

Thanks,

Larry


Regression in 5.1.0-rc2: PowerBook G4 Aluminum fails to boot - bisected to commit 0df977eafc792

2019-03-24 Thread Larry Finger
A build of kernel 5.1.0-rc2 resulted in a failure to boot on my PowerBook G4 
Aluminum. The bootstrap loads the initial kernel and issues the appropriate 
start, but the machine hangs at that point.


The problem does not depend on the choice of PPC32 processor type. This machine 
has a 7447A according to /proc/cpuinfo.


The problem was bisected to the following:

commit 0df977eafc792a5365a7f81d8d5920132e03afad
Author: Christophe Leroy 
Date:   Thu Feb 21 10:37:54 2019 +

powerpc/6xx: Don't use SPRN_SPRG2 for storing stack pointer while in RTAS

When calling RTAS, the stack pointer is stored in SPRN_SPRG2
in order to be able to restore it in case of machine check in RTAS.

As machine check is not a perfomance critical path, this patch
frees SPRN_SPRG2 by using a field in thread struct instead.

Signed-off-by: Christophe Leroy 
Signed-off-by: Michael Ellerman 

I reverted this patch and found that the system began execution, and then 
failed, likely due to the reassignment of SPRN_SPRG2.


I had found this problem with 5.1.0-rc1, but -rc2 was out by the time I finished 
the bisection. Unfortunately, none of the changes in -rc2 fixed the problem.


Attached is the .config that I used.

Thanks,

Larry
#
# Automatically generated file; DO NOT EDIT.
# Linux/powerpc 5.1.0-rc2 Kernel Configuration
#

#
# Compiler: gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
#
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=40603
CONFIG_CLANG_VERSION=0
CONFIG_CC_HAS_ASM_GOTO=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_EXTABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_XZ is not set
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_USELIB=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_IRQ_DOMAIN=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CMOS_UPDATE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set
# CONFIG_IRQ_TIME_ACCOUNTING is not set
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set

#
# RCU Subsystem
#
CONFIG_TINY_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
CONFIG_TINY_SRCU=y
CONFIG_BUILD_BIN2C=y
# CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_CGROUPS=y
# CONFIG_MEMCG is not set
CONFIG_BLK_CGROUP=y
# CONFIG_DEBUG_BLK_CGROUP is not set
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_CFS_BANDWIDTH is not set
# CONFIG_RT_GROUP_SCHED is not set
# CONFIG_CGROUP_PIDS is not set
# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
# CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
CONFIG_SYSCTL=y
CONFIG_ANON_INODES=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_BPF=y
# CONFIG_EXPERT is not set
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_PRINTK_NMI=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_ALL is not set
CONFIG_KALLSYMS_BASE_RELATIVE=y
# CONFIG_BPF_SYSCALL is not set
# CONFIG_USERFAULTFD is not set
CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y
CONFIG_RSEQ=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_VM_EVENT_COUNTERS=y
#