All of lore.kernel.org
 help / color / mirror / Atom feed
* powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM?
@ 2017-12-16 21:34 Rob Landley
  2017-12-16 22:33   ` Balbir Singh
  2017-12-19 13:05 ` Michael Ellerman
  0 siblings, 2 replies; 4+ messages in thread
From: Rob Landley @ 2017-12-16 21:34 UTC (permalink / raw)
  To: Kernel Mailing List, linuxppc-dev, Benjamin Herrenschmidt,
	Paul Mackerras, Michael Ellerman

[-- Attachment #1: Type: text/plain, Size: 1068 bytes --]

I just added a ppc64 target to https://github.com/landley/mkroot which
means I built 4.14 with the attached miniconfig and ran it with the
attached qemu command line, and it works fine as is but if you remove
the transactional mem line from the config the kernel panics instead
of launching a shell prompt:

init[1]: unhandled signal 4 at 0000000010001a04 nip 0000000010001a04
lr 000000001002ebe8 code 1
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

CPU: 0 PID: 1 Comm: init Not tainted 4.14.0 #1
Call Trace:
[c00000000e02fa40] [c0000000004ba730] dump_stack+0xb0/0xf0 (unreliable)
[c00000000e02fa80] [c0000000000602a0] panic+0x138/0x2f8
[c00000000e02fb20] [c00000000006541c] do_exit+0xa9c/0xaa0
[c00000000e02fbe0] [c0000000000654d8] do_group_exit+0x58/0xf0
[c00000000e02fc20] [c000000000073274] get_signal+0x1c4/0x6b0
[c00000000e02fd10] [c0000000000142a0] do_signal+0x60/0x290
[c00000000e02fe00] [c00000000001461c] do_notify_resume+0x8c/0xd0
[c00000000e02fe30] [c00000000000b630] ret_from_except_lite+0x5c/0x60
Rebooting in 1 seconds..

Rob

[-- Attachment #2: powerpc64le.miniconf --]
[-- Type: application/octet-stream, Size: 1117 bytes --]

# make ARCH=powerpc allnoconfig KCONFIG_ALLCONFIG=powerpc64le.miniconf
# make ARCH=powerpc -j $(nproc)
# boot vmlinux

CONFIG_PPC64=y
CONFIG_PPC_PSERIES=y
CONFIG_CPU_LITTLE_ENDIAN=y
CONFIG_PPC_OF_BOOT_TRAMPOLINE=y

CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_LOWLEVEL=y
CONFIG_SCSI_IBMVSCSI=y
CONFIG_ATA=y

CONFIG_NET_VENDOR_IBM=y
CONFIG_IBMVETH=y
CONFIG_HVC_CONSOLE=y

# None of this should be necessary
CONFIG_PPC_TRANSACTIONAL_MEM=y
CONFIG_PPC_DISABLE_WERROR=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y


# CONFIG_EMBEDDED is not set
CONFIG_EARLY_PRINTK=y
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y

CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_RD_GZIP=y

CONFIG_BLK_DEV_LOOP=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_UTF8=y
CONFIG_MISC_FILESYSTEMS=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y

CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IPV6=y
CONFIG_NETDEVICES=y
#CONFIG_NET_CORE=y
#CONFIG_NETCONSOLE=y
CONFIG_ETHERNET=y


[-- Attachment #3: qemu-powerpc64le.sh --]
[-- Type: application/x-sh, Size: 186 bytes --]

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

* Re: powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM?
  2017-12-16 21:34 powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM? Rob Landley
@ 2017-12-16 22:33   ` Balbir Singh
  2017-12-19 13:05 ` Michael Ellerman
  1 sibling, 0 replies; 4+ messages in thread
From: Balbir Singh @ 2017-12-16 22:33 UTC (permalink / raw)
  To: Rob Landley
  Cc: Kernel Mailing List,
	open list:LINUX FOR POWERPC (32-BIT AND 64-BIT),
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman

On Sun, Dec 17, 2017 at 8:34 AM, Rob Landley <rob@landley.net> wrote:
> I just added a ppc64 target to https://github.com/landley/mkroot which
> means I built 4.14 with the attached miniconfig and ran it with the
> attached qemu command line, and it works fine as is but if you remove
> the transactional mem line from the config the kernel panics instead
> of launching a shell prompt:
>
> init[1]: unhandled signal 4 at 0000000010001a04 nip 0000000010001a04
> lr 000000001002ebe8 code 1
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>

what does the instruction at 10001a04 look like?

Balbir Singh.

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

* Re: powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM?
@ 2017-12-16 22:33   ` Balbir Singh
  0 siblings, 0 replies; 4+ messages in thread
From: Balbir Singh @ 2017-12-16 22:33 UTC (permalink / raw)
  To: Rob Landley
  Cc: Kernel Mailing List,
	open list:LINUX FOR POWERPC (32-BIT AND 64-BIT),
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman

On Sun, Dec 17, 2017 at 8:34 AM, Rob Landley <rob@landley.net> wrote:
> I just added a ppc64 target to https://github.com/landley/mkroot which
> means I built 4.14 with the attached miniconfig and ran it with the
> attached qemu command line, and it works fine as is but if you remove
> the transactional mem line from the config the kernel panics instead
> of launching a shell prompt:
>
> init[1]: unhandled signal 4 at 0000000010001a04 nip 0000000010001a04
> lr 000000001002ebe8 code 1
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>

what does the instruction at 10001a04 look like?

Balbir Singh.

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

* Re: powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM?
  2017-12-16 21:34 powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM? Rob Landley
  2017-12-16 22:33   ` Balbir Singh
@ 2017-12-19 13:05 ` Michael Ellerman
  1 sibling, 0 replies; 4+ messages in thread
From: Michael Ellerman @ 2017-12-19 13:05 UTC (permalink / raw)
  To: Rob Landley, Kernel Mailing List, linuxppc-dev,
	Benjamin Herrenschmidt, Paul Mackerras

Rob Landley <rob@landley.net> writes:

> I just added a ppc64 target to https://github.com/landley/mkroot which
> means I built 4.14 with the attached miniconfig and ran it with the
> attached qemu command line, and it works fine as is but if you remove
> the transactional mem line from the config the kernel panics instead
> of launching a shell prompt:
>
> init[1]: unhandled signal 4 at 0000000010001a04 nip 0000000010001a04
> lr 000000001002ebe8 code 1
> Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
>
> CPU: 0 PID: 1 Comm: init Not tainted 4.14.0 #1
> Call Trace:
> [c00000000e02fa40] [c0000000004ba730] dump_stack+0xb0/0xf0 (unreliable)
> [c00000000e02fa80] [c0000000000602a0] panic+0x138/0x2f8
> [c00000000e02fb20] [c00000000006541c] do_exit+0xa9c/0xaa0
> [c00000000e02fbe0] [c0000000000654d8] do_group_exit+0x58/0xf0
> [c00000000e02fc20] [c000000000073274] get_signal+0x1c4/0x6b0
> [c00000000e02fd10] [c0000000000142a0] do_signal+0x60/0x290
> [c00000000e02fe00] [c00000000001461c] do_notify_resume+0x8c/0xd0
> [c00000000e02fe30] [c00000000000b630] ret_from_except_lite+0x5c/0x60
> Rebooting in 1 seconds..

I built it here and got:

init[1]: unhandled signal 4 at 00000000100f3eb4 nip 00000000100f3eb4 lr 00000000100d1e38 code 1

Which looking at objdump is:

00000000100f3eb0 <_savevr_30>:
    100f3eb0:   e0 ff 80 39     li      r12,-32
    100f3eb4:   ce 01 cc 7f     stvx    v30,r12,r0

stvx is an ALTIVEC (vmx) instruction, so you need a kernel built with
CONFIG_ALTIVEC.

When you turn on TRANSACTIONAL_MEM it selects ALTIVEC, so that's why
enabling that "fixes" it for you.

If you just add CONFIG_ALTIVEC=y it should work.

cheers

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

end of thread, other threads:[~2017-12-19 13:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-12-16 21:34 powerpc64 kernel panic if you disable CONFIG_PPC_TRANSACTIONAL_MEM? Rob Landley
2017-12-16 22:33 ` Balbir Singh
2017-12-16 22:33   ` Balbir Singh
2017-12-19 13:05 ` Michael Ellerman

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.