Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754138AbdLHPcB (ORCPT ); Fri, 8 Dec 2017 10:32:01 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:47260 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753921AbdLHPb5 (ORCPT ); Fri, 8 Dec 2017 10:31:57 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org BED3E60581 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=jhugo@codeaurora.org Subject: Re: [PATCH 0/2] acpi, x86: Add SPCR table support To: Prarit Bhargava , Ingo Molnar Cc: Jonathan Corbet , x86@kernel.org, linux-pm@vger.kernel.org, Catalin Marinas , Bhupesh Sharma , linux-doc@vger.kernel.org, Will Deacon , linux-kernel@vger.kernel.org, linux-acpi@vger.kernel.org, Ingo Molnar , "Rafael J. Wysocki" , Lv Zheng , linux-serial@vger.kernel.org, "H. Peter Anvin" , Thomas Gleixner , linux-arm-kernel@lists.infradead.org References: <20171207172912.17868-1-prarit@redhat.com> <20171208062925.64ov23u7oxmdfzyk@gmail.com> From: Jeffrey Hugo Message-ID: Date: Fri, 8 Dec 2017 08:31:53 -0700 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3352 Lines: 83 On 12/8/2017 7:29 AM, Prarit Bhargava wrote: > > > On 12/08/2017 01:29 AM, Ingo Molnar wrote: >> >> * Prarit Bhargava wrote: >> >>> The SPCR (Serial Port Console Redirection) Table provides information >>> about the configuration of serial port. This information can be used >>> to configure the early console. >> >> s/about the configuration of serial port >> /about the configuration of the serial port >> >>> SPCR support was added for arm64 and is made available across all arches >>> in this patchset. The first patch adds a weak per-arch configuration function >>> and moves the SPCR code into ACPI. The second patch adds support to x86. >>> >>> The existing behaviour on arm64 is maintained. If the SPCR exists the >>> earlycon and console are automatically configured. >> >> s/arm64 >> /ARM64 >> >> which is easier to read and it's also the prevalent spelling: >> >> triton:~/tip> for N in $(git grep -ih arm64 arch/arm64/ | sed 's/[[:punct:]]/ /g'); do echo $N | grep -iw arm64; done | sort | uniq -c >> 412 arm64 >> 1 Arm64 >> 854 ARM64 >> >>> The existing default behaviour on x86 is also maintained. If no console or >>> earlycon parameter is defined and the SPCR exists , the serial port is not >>> configured. If the earlycon parameter is used both the early console >>> and the console are configured using the data from the SPCR. >> >> s/exists , the >> /exists, the >> >> But, the logic to not use the SPCR looks confusing to me. >> >> The SPCR is only present if the user has explicitly configured a serial console >> for that machine, either in the firmware, or remotely via IPMI, correct? I.e. SPCR >> will not be spuriously present by default on systems that have a serial console >> but the user never expressed any interest for them, right? > > If I disable "Serial Port Console Debug" in my BIOS I still see the SPCR configured: > > [root@prarit-lab ~]# dmesg | grep SPCR > [ 0.000000] ACPI: SPCR 0x0000000069031000 000050 (v01 > 00000000 00000000) > > AFAICT the SPCR is always enabled on some systems. "Serial Port Console Debug" sounds like DBG2 to me, although I am unsure of the specific platform you are referencing. > >> >> If so then we should pick up that serial console configuration and activate it, >> regardless of any kernel boot options! > > I'm worried about someone who doesn't want a console on ttyS0 suddenly ending up > with one. The SPCR could contain incorrect data, etc. > > I originally wanted this on by default, but the chances of breaking someone's > setup seems significant doesn't it? Maybe I'm being too cautious. Anyone else > want to weigh in? I'm not ignoring your idea Ingo, I'm just worried about being > yelled at by a user :) because I broke their default console setup. > SPCR is always present on QDF2400 (ARM64 platform). Firmware will automatically update the SPCR table to point to the correct console (IE Serial-over-LAN or SOL if configured via IPMI). Unless a user specifically chooses to override the SPCR via "console=", we expect that a console will be present based on the data in SPCR. -- Jeffrey Hugo Qualcomm Datacenter Technologies as an affiliate of Qualcomm Technologies, Inc. Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.