Project

General

Profile

Actions

Bug #272

open

Lenovo T60: GRUB command `halt` does not power off system

Added by Paul Menzel almost 4 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
07/18/2020
Due date:
% Done:

0%

Estimated time:
Affected versions:
Needs backport to:
Affected hardware:
Affected OS:

Description

On the Lenovo T60 with dedicated AMD/ATI graphics card, running coreboot, for example, commit 23b874a374 (device: Switch to resource allocator v4 by default treewide), with GRUB payload, commit 6a34fdb76 arm: Fix 32-bit ARM handling of the CTR register), the command halt does not power off the system. It works with the vendor firmware. (To my knowledge, it has never worked with coreboot and GRUB.)

grub> set debug=acpi
grub> halt
kern/i386/pc/acpi.c:57: Looking for RSDP. Scanning EBDA
kern/i386/pc/acpi.c:72: Looking for RSDP. Scanning BIOS
commands/acpihalt.c:403: rsdp1=0xf0400
commands/acpihalt.c:423: PM1a port=504
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 24
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 2a
commands/acpihalt.c:107: data type = 0xc
commands/acpihalt.c:241: Opcode 0xa0
commands/acpihalt.c:242: Tell 34
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell bc
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 10c
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 141
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 147
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 161
commands/acpihalt.c:107: data type = 0x0
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 167
commands/acpihalt.c:188: Extended opcode: 0x80
commands/acpihalt.c:107: data type = 0x4e
commands/acpihalt.c:107: data type = 0xb
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 175
commands/acpihalt.c:188: Extended opcode: 0x81
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 378
commands/acpihalt.c:188: Extended opcode: 0x80
commands/acpihalt.c:107: data type = 0xa
commands/acpihalt.c:107: data type = 0xa
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 383
commands/acpihalt.c:188: Extended opcode: 0x81
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 395
commands/acpihalt.c:188: Extended opcode: 0x80
commands/acpihalt.c:107: data type = 0xa
commands/acpihalt.c:107: data type = 0x1
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 39f
commands/acpihalt.c:188: Extended opcode: 0x81
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 3ac
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 3c4
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 3d1
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 463
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 469
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 48b
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 490
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 495
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 4b5
commands/acpihalt.c:241: Opcode 0x14
commands/acpihalt.c:242: Tell 4d5
commands/acpihalt.c:241: Opcode 0x10
commands/acpihalt.c:242: Tell 51f
commands/acpihalt.c:241: Opcode 0x5b
commands/acpihalt.c:242: Tell 527
commands/acpihalt.c:188: Extended opcode: 0x82
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 3088
commands/acpihalt.c:107: data type = 0x12
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 3094
commands/acpihalt.c:107: data type = 0x12
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 30a1
commands/acpihalt.c:107: data type = 0x12
commands/acpihalt.c:241: Opcode 0x8
commands/acpihalt.c:242: Tell 30ae
commands/acpihalt.c:269: S5 found
commands/acpihalt.c:444: SLP_TYP = 7, port = 0x504
Actions #1

Updated by Paul Menzel almost 4 years ago

I was told to fix the FADT.

Unrelated, with SMI debug logs enabled, pressing the power button causes the message below to be printed (after two seconds).

coreboot-4.12-287-g9210cb09e3 Sat Jul 18 10:39:01 UTC 2020 smm starting (log level: 7)...
EC event 48
GPI (mask 1000)

Sometimes GRUB freezes after pressing the power button (often with delay).

Actions #2

Updated by Paul Menzel almost 4 years ago

Unrelated, with SMI debug logs enabled, pressing the power button causes the message below to be printed (after two seconds).

That was incorrect. This seems to be a spurious event, without me having pressed anything (though the touchpad is not connected).

Actions #3

Updated by Paul Menzel almost 4 years ago

Executing halt in GRUB, coreboot prints the message below.

commands/acpihalt.c:444: SLP_TYP = 7, port = 0x504


coreboot-4.12-292-g260d85e2ca Sat Jul 18 11:36:51 UTC 2020 smm starting (log level: 7)...
SMI#: Entering S5 (Soft Power off)
Actions #4

Updated by Paul Menzel almost 4 years ago

Powering the system off from GNU/Linux, the system powers off, and, when that happens, coreboot also prints

coreboot-4.12-1529-g9572c305e6 Sat Jul 18 18:36:02 UTC 2020 smm starting (log level: 7)...

SMI#: Entering S5 (Soft Power off)

on the serial console.

Actions

Also available in: Atom PDF