[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] xen/arm: debug-pl011.inc: Use macros instead of hardcoded values


  • To: Julien Grall <julien@xxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Michal Orzel <michal.orzel@xxxxxxx>
  • Date: Wed, 16 Nov 2022 09:05:29 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=w+CQIaOUaKAQN/pAJ34lGE1EUSECEdRiBdCEXK6uM6A=; b=gnKOmT/SwqFC6B2xf/2vSF9iRGbHV7lW5Xj9FbJvLNnh3DZAwDOmfy1qvoT6CzHsiqutB5eKKKVTVB20N5+3+G96O6l6klDWGSEnaZX2QTpR2sVilpC97hzC6w4u1l9vvLXwDWL4XWKivnvRVnuPTS9VQxOcXWNFfjMmQpvpcyb9eTTflLh21o6J9mK80sAnEArQD2uF9ZgvODiBWJaJiBZsdHfUhK5+63LHdTZFSvt+5s50gDggOPDpW0u1N/CXQQGC50tTEXXPlNOX2s10XsL2JDUc1hM7MBgXlrjGNZ+mjHYetMLZ/cw6MCxlTAcmcmpJ9JKA7K4otH7iH3NZ+w==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mJ+onLxfyreeqpzFJO31ZNqGpwj6QHEeUZjneG7qMmFQiEFpIVGfYqq3g3ICsTLnKztVo5AmwWBjx9vj2T+NEtNGqZRqAF56UmPCUnJjXJkXxQusyEmGJLji1MHRVQunWXgpzQ94LscwtR5I9Vs7Sr/J3Uolas6Fvn4B1zTRwse53r0QuvZGFkq39TlwcjMZS+ZVug28iVhqMromAkLHNRrgu9W+Lgor3ez/9kiPmJZgwPcxK4gZAGocT/GxS1DMI1FxPMc2H+Fqjck4NA4zalYOIaM2/aFWRvcnfCj2l3OHMAaBc0tEd+mMiChmmRneuGm//6nE4SQntgkCiWa6yQ==
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Wed, 16 Nov 2022 08:05:49 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi Julien,

On 16/11/2022 00:10, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 24/10/2022 11:05, Michal Orzel wrote:
>> Make use of the macros defined in asm/pl011-uart.h instead of hardcoding
>> the values. Also, take the opportunity to fix the file extension in a
>> top-level comment.
>>
>> No functional change intended.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
> 
> With one comment below:
> 
> Acked-by: Julien Grall <jgrall@xxxxxxxxxx>
> 
>> ---
>>   xen/arch/arm/arm64/debug-pl011.inc | 20 +++++++++++---------
>>   1 file changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm64/debug-pl011.inc 
>> b/xen/arch/arm/arm64/debug-pl011.inc
>> index 1928a2e3ffbb..d82f2f1de197 100644
>> --- a/xen/arch/arm/arm64/debug-pl011.inc
>> +++ b/xen/arch/arm/arm64/debug-pl011.inc
>> @@ -1,5 +1,5 @@
>>   /*
>> - * xen/arch/arm/arm64/debug-pl011.S
>> + * xen/arch/arm/arm64/debug-pl011.inc
>>    *
>>    * PL011 specific debug code
>>    *
>> @@ -16,6 +16,8 @@
>>    * GNU General Public License for more details.
>>    */
>>
>> + #include <asm/pl011-uart.h>
>> +
>>   /*
>>    * PL011 UART initialization
>>    * xb: register which containts the UART base address
>> @@ -23,13 +25,13 @@
>>    */
>>   .macro early_uart_init xb, c
>>           mov   x\c, #(7372800 / CONFIG_EARLY_UART_PL011_BAUD_RATE % 16)
>> -        strh  w\c, [\xb, #0x28]      /* -> UARTFBRD (Baud divisor fraction) 
>> */
>> +        strh  w\c, [\xb, #FBRD]      /* -> UARTFBRD (Baud divisor fraction) 
>> */
>>           mov   x\c, #(7372800 / CONFIG_EARLY_UART_PL011_BAUD_RATE / 16)
>> -        strh  w\c, [\xb, #0x24]      /* -> UARTIBRD (Baud divisor integer) 
>> */
>> +        strh  w\c, [\xb, #IBRD]      /* -> UARTIBRD (Baud divisor integer) 
>> */
>>           mov   x\c, #0x60             /* 8n1 */
> 
> Can we introduce macro/define for 0x60?
We could but I think this should not be part of this patch.
The reason being, the arm32 code also uses hardcoded 0x60 so it should be 
changed as well.
I can create a prerequisite patch introducing the macro and changing the arm32 
code first unless you prefer to have everything in a single patch.

As for the macro itself, because 8n1 only requires setting bits for WLEN (1 
stop bit and no parity are 0 by default), we can do
the following in pl011-uart.h:
#define WLEN_8 0x60
and use it in the pl011-debug files (+ there is a question whether we should 
define WLEN_7-5 for completeness).


> 
>> -        str   w\c, [\xb, #0x2C]      /* -> UARTLCR_H (Line control) */
>> -        ldr   x\c, =0x00000301       /* RXE | TXE | UARTEN */
>> -        str   w\c, [\xb, #0x30]      /* -> UARTCR (Control Register) */
>> +        str   w\c, [\xb, #LCR_H]     /* -> UARTLCR_H (Line control) */
>> +        ldr   x\c, =(RXE | TXE | UARTEN)
>> +        str   w\c, [\xb, #CR]        /* -> UARTCR (Control Register) */
>>   .endm
> 
> Cheers,
> 
> --
> Julien Grall

~Michal



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.