[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XEN PATCH v2 1/2] xen/arm: Rename all early printk macro
On Fri, 6 Mar 2020, Anthony PERARD wrote: > We are going to move the generation of the early printk macro into > Kconfig. This means all macro will be prefix with CONFIG_. We do that > ahead of the change. > > We also take the opportunity to better name some variables, which are > used by only one driver and wouldn't make sens for other UART driver. > Thus, > - EARLY_UART_REG_SHIFT became CONFIG_EARLY_UART_8250_REG_SHIFT > - EARLY_PRINTK_VERSION_* became CONFIG_EARLY_UART_SCIF_VERSION_* > > The other variables are change to have the prefix CONFIG_EARLY_UART_ > when they change a parameter of the driver. So we have now: > - CONFIG_EARLY_UART_BAUD_RATE > - CONFIG_EARLY_UART_BASE_ADDRESS > - CONFIG_EARLY_UART_INIT > > We also reuse CONFIG_EARLY_PRINTK provided by users to enable or not > early printk, thus we need to override the value in makefile. > > Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> I tried this patch and it breaks the build with EARLY_PRINTK. With: export CONFIG_EARLY_PRINTK=zynqmp I get: /local/repos/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc -D__ASSEMBLY__ -DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include /local/repos/xen-upstream/xen/include/xen/config.h '-D__OBJECT_FILE__="arm64/head.o"' -Wa,--strip-local-absolute -g -MMD -MF arm64/.head.o.d -mcpu=generic -mgeneral-regs-only -DCONFIG_EARLY_PRINTK -DCONFIG_EARLY_PRINTK_INC=\"debug-y.inc\" -DCONFIG_EARLY_UART_BAUD_RATE= -DCONFIG_EARLY_UART_BASE_ADDRESS= -DCONFIG_EARLY_UART_8250_REG_SHIFT= -I/local/repos/xen-upstream/xen/include -fno-stack-protector -fno-exceptions -Wnested-externs -c arm64/head.S -o arm64/head.o arm64/head.S:49:33: fatal error: debug-y.inc: No such file or directory I take the patch was not expected to do that? > --- > That's based on early work by Julien > [PATCH for-4.13] xen/arm: Add Skeleton for using configuring early printk > using Kconfig > <20190913103953.8182-1-julien.grall@xxxxxxx> > --- > xen/arch/arm/Makefile | 2 +- > xen/arch/arm/Rules.mk | 20 +++++++++----------- > xen/arch/arm/arm32/Makefile | 2 +- > xen/arch/arm/arm32/debug-8250.inc | 2 +- > xen/arch/arm/arm32/debug-pl011.inc | 4 ++-- > xen/arch/arm/arm32/debug-scif.inc | 4 ++-- > xen/arch/arm/arm32/debug.S | 4 ++-- > xen/arch/arm/arm32/head.S | 10 +++++----- > xen/arch/arm/arm64/Makefile | 2 +- > xen/arch/arm/arm64/debug-8250.inc | 4 ++-- > xen/arch/arm/arm64/debug-pl011.inc | 4 ++-- > xen/arch/arm/arm64/debug.S | 4 ++-- > xen/arch/arm/arm64/head.S | 10 +++++----- > xen/include/asm-arm/early_printk.h | 2 +- > 14 files changed, 36 insertions(+), 38 deletions(-) > > diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile > index 1044c2298a05..12f92a4bd3f9 100644 > --- a/xen/arch/arm/Makefile > +++ b/xen/arch/arm/Makefile > @@ -16,7 +16,7 @@ obj-y += device.o > obj-y += domain.o > obj-y += domain_build.init.o > obj-y += domctl.o > -obj-$(EARLY_PRINTK) += early_printk.o > +obj-$(CONFIG_EARLY_PRINTK) += early_printk.o > obj-y += gic.o > obj-y += gic-v2.o > obj-$(CONFIG_GICV3) += gic-v3.o > diff --git a/xen/arch/arm/Rules.mk b/xen/arch/arm/Rules.mk > index 022a3a6f82ba..85f8a4c6f914 100644 > --- a/xen/arch/arm/Rules.mk > +++ b/xen/arch/arm/Rules.mk > @@ -18,8 +18,6 @@ CFLAGS-$(CONFIG_ARM_32) += -mcpu=cortex-a15 > CFLAGS-$(CONFIG_ARM_64) += -mcpu=generic > CFLAGS-$(CONFIG_ARM_64) += -mgeneral-regs-only # No fp registers etc > > -EARLY_PRINTK := n > - > ifeq ($(CONFIG_DEBUG),y) > > # See docs/misc/arm/early-printk.txt for syntax > @@ -66,22 +64,22 @@ endif > endif > ifeq ($(EARLY_PRINTK_INC),scif) > ifneq ($(word 3,$(EARLY_PRINTK_CFG)),) > -CFLAGS-y += -DEARLY_PRINTK_VERSION_$(word 3,$(EARLY_PRINTK_CFG)) > +CFLAGS-y += -DCONFIG_EARLY_UART_SCIF_VERSION_$(word 3,$(EARLY_PRINTK_CFG)) > else > -CFLAGS-y += -DEARLY_PRINTK_VERSION_NONE > +CFLAGS-y += -DCONFIG_EARLY_UART_SCIF_VERSION_NONE > endif > endif > > ifneq ($(EARLY_PRINTK_INC),) > -EARLY_PRINTK := y > +override CONFIG_EARLY_PRINTK := y > endif > > -CFLAGS-$(EARLY_PRINTK) += -DCONFIG_EARLY_PRINTK > -CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DEARLY_PRINTK_INIT_UART > -CFLAGS-$(EARLY_PRINTK) += > -DEARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\" > -CFLAGS-$(EARLY_PRINTK) += -DEARLY_PRINTK_BAUD=$(EARLY_PRINTK_BAUD) > -CFLAGS-$(EARLY_PRINTK) += > -DEARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS) > -CFLAGS-$(EARLY_PRINTK) += -DEARLY_UART_REG_SHIFT=$(EARLY_UART_REG_SHIFT) > +CFLAGS-$(CONFIG_EARLY_PRINTK) += -DCONFIG_EARLY_PRINTK > +CFLAGS-$(EARLY_PRINTK_INIT_UART) += -DCONFIG_EARLY_UART_INIT > +CFLAGS-$(CONFIG_EARLY_PRINTK) += > -DCONFIG_EARLY_PRINTK_INC=\"debug-$(EARLY_PRINTK_INC).inc\" > +CFLAGS-$(CONFIG_EARLY_PRINTK) += > -DCONFIG_EARLY_UART_BAUD_RATE=$(EARLY_PRINTK_BAUD) > +CFLAGS-$(CONFIG_EARLY_PRINTK) += > -DCONFIG_EARLY_UART_BASE_ADDRESS=$(EARLY_UART_BASE_ADDRESS) > +CFLAGS-$(CONFIG_EARLY_PRINTK) += > -DCONFIG_EARLY_UART_8250_REG_SHIFT=$(EARLY_UART_REG_SHIFT) > > else # !CONFIG_DEBUG > > diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile > index 539bbef298a7..96105d238307 100644 > --- a/xen/arch/arm/arm32/Makefile > +++ b/xen/arch/arm/arm32/Makefile > @@ -1,6 +1,6 @@ > obj-y += lib/ > > -obj-$(EARLY_PRINTK) += debug.o > +obj-$(CONFIG_EARLY_PRINTK) += debug.o > obj-y += domctl.o > obj-y += domain.o > obj-y += entry.o > diff --git a/xen/arch/arm/arm32/debug-8250.inc > b/xen/arch/arm/arm32/debug-8250.inc > index 0759a27ee157..c47e8be4aaf3 100644 > --- a/xen/arch/arm/arm32/debug-8250.inc > +++ b/xen/arch/arm/arm32/debug-8250.inc > @@ -23,7 +23,7 @@ > */ > .macro early_uart_ready rb rc > 1: > - ldr \rc, [\rb, #(UART_LSR << EARLY_UART_REG_SHIFT)] /* Read LSR > */ > + ldr \rc, [\rb, #(UART_LSR << CONFIG_EARLY_UART_8250_REG_SHIFT)] > /* Read LSR */ > tst \rc, #UART_LSR_THRE /* Check Xmit holding register flag > */ > beq 1b /* Wait for the UART to be ready > */ > .endm > diff --git a/xen/arch/arm/arm32/debug-pl011.inc > b/xen/arch/arm/arm32/debug-pl011.inc > index ec462eabab5c..82a22984d9b5 100644 > --- a/xen/arch/arm/arm32/debug-pl011.inc > +++ b/xen/arch/arm/arm32/debug-pl011.inc > @@ -25,9 +25,9 @@ > * rd: scratch register 2 (unused here) > */ > .macro early_uart_init rb, rc, rd > - mov \rc, #(7372800 / EARLY_PRINTK_BAUD % 16) > + mov \rc, #(7372800 / CONFIG_EARLY_UART_BAUD_RATE % 16) > str \rc, [\rb, #FBRD] /* -> UARTFBRD (Baud divisor fraction) */ > - mov \rc, #(7372800 / EARLY_PRINTK_BAUD / 16) > + mov \rc, #(7372800 / CONFIG_EARLY_UART_BAUD_RATE / 16) > str \rc, [\rb, #IBRD] /* -> UARTIBRD (Baud divisor integer) */ > mov \rc, #0x60 /* 8n1 */ > str \rc, [\rb, #LCR_H] /* -> UARTLCR_H (Line control) */ > diff --git a/xen/arch/arm/arm32/debug-scif.inc > b/xen/arch/arm/arm32/debug-scif.inc > index 3f01c909c238..b2b82501e792 100644 > --- a/xen/arch/arm/arm32/debug-scif.inc > +++ b/xen/arch/arm/arm32/debug-scif.inc > @@ -19,10 +19,10 @@ > > #include <asm/scif-uart.h> > > -#ifdef EARLY_PRINTK_VERSION_NONE > +#ifdef CONFIG_EARLY_UART_SCIF_VERSION_NONE > #define STATUS_REG SCIF_SCFSR > #define TX_FIFO_REG SCIF_SCFTDR > -#elif EARLY_PRINTK_VERSION_A > +#elif CONFIG_EARLY_UART_SCIF_VERSION_A > #define STATUS_REG SCIFA_SCASSR > #define TX_FIFO_REG SCIFA_SCAFTDR > #endif > diff --git a/xen/arch/arm/arm32/debug.S b/xen/arch/arm/arm32/debug.S > index 1829b29915e0..e77c76d0debc 100644 > --- a/xen/arch/arm/arm32/debug.S > +++ b/xen/arch/arm/arm32/debug.S > @@ -19,8 +19,8 @@ > > #include <asm/early_printk.h> > > -#ifdef EARLY_PRINTK_INC > -#include EARLY_PRINTK_INC > +#if defined (CONFIG_EARLY_PRINTK_INC) > +#include CONFIG_EARLY_PRINTK_INC > #endif > > /* > diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S > index e9d356f05c2b..2b593c5ef99a 100644 > --- a/xen/arch/arm/arm32/head.S > +++ b/xen/arch/arm/arm32/head.S > @@ -36,8 +36,8 @@ > #define XEN_FIRST_SLOT first_table_offset(XEN_VIRT_START) > #define XEN_SECOND_SLOT second_table_offset(XEN_VIRT_START) > > -#if (defined (CONFIG_EARLY_PRINTK)) && (defined (EARLY_PRINTK_INC)) > -#include EARLY_PRINTK_INC > +#if (defined (CONFIG_EARLY_PRINTK)) && (defined (CONFIG_EARLY_PRINTK_INC)) > +#include CONFIG_EARLY_PRINTK_INC > #endif > > /* > @@ -223,7 +223,7 @@ GLOBAL(init_secondary) > 1: > > #ifdef CONFIG_EARLY_PRINTK > - mov_w r11, EARLY_UART_BASE_ADDRESS /* r11 := UART base address */ > + mov_w r11, CONFIG_EARLY_UART_BASE_ADDRESS /* r11 := UART base > address */ > PRINT("- CPU ") > print_reg r7 > PRINT(" booting -\r\n") > @@ -706,8 +706,8 @@ ENTRY(switch_ttbr) > * Clobbers r0 - r3 > */ > init_uart: > - mov_w r11, EARLY_UART_BASE_ADDRESS > -#ifdef EARLY_PRINTK_INIT_UART > + mov_w r11, CONFIG_EARLY_UART_BASE_ADDRESS > +#ifdef CONFIG_EARLY_UART_INIT > early_uart_init r11, r1, r2 > #endif > PRINT("- UART enabled -\r\n") > diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile > index db8565b71a33..40642ff57494 100644 > --- a/xen/arch/arm/arm64/Makefile > +++ b/xen/arch/arm/arm64/Makefile > @@ -2,7 +2,7 @@ obj-y += lib/ > > obj-y += cache.o > obj-$(CONFIG_HARDEN_BRANCH_PREDICTOR) += bpi.o > -obj-$(EARLY_PRINTK) += debug.o > +obj-$(CONFIG_EARLY_PRINTK) += debug.o > obj-y += domctl.o > obj-y += domain.o > obj-y += entry.o > diff --git a/xen/arch/arm/arm64/debug-8250.inc > b/xen/arch/arm/arm64/debug-8250.inc > index 53d6828bfafe..30ea13077e22 100644 > --- a/xen/arch/arm/arm64/debug-8250.inc > +++ b/xen/arch/arm/arm64/debug-8250.inc > @@ -25,7 +25,7 @@ > */ > .macro early_uart_ready xb c > 1: > - ldrb w\c, [\xb, #UART_LSR << EARLY_UART_REG_SHIFT] > + ldrb w\c, [\xb, #UART_LSR << CONFIG_EARLY_UART_8250_REG_SHIFT] > and w\c, w\c, #UART_LSR_THRE > cmp w\c, #UART_LSR_THRE > b.ne 1b > @@ -38,7 +38,7 @@ > */ > .macro early_uart_transmit xb wt > /* UART_THR transmit holding */ > - strb \wt, [\xb, #UART_THR << EARLY_UART_REG_SHIFT] > + strb \wt, [\xb, #UART_THR << CONFIG_EARLY_UART_8250_REG_SHIFT] > .endm > > /* > diff --git a/xen/arch/arm/arm64/debug-pl011.inc > b/xen/arch/arm/arm64/debug-pl011.inc > index 569c3dfbcf47..117b5b256405 100644 > --- a/xen/arch/arm/arm64/debug-pl011.inc > +++ b/xen/arch/arm/arm64/debug-pl011.inc > @@ -24,9 +24,9 @@ > * c: scratch register number > */ > .macro early_uart_init xb, c > - mov x\c, #(7372800 / EARLY_PRINTK_BAUD % 16) > + mov x\c, #(7372800 / CONFIG_EARLY_UART_BAUD_RATE % 16) > strh w\c, [\xb, #0x28] /* -> UARTFBRD (Baud divisor fraction) > */ > - mov x\c, #(7372800 / EARLY_PRINTK_BAUD / 16) > + mov x\c, #(7372800 / CONFIG_EARLY_UART_BAUD_RATE / 16) > strh w\c, [\xb, #0x24] /* -> UARTIBRD (Baud divisor integer) */ > mov x\c, #0x60 /* 8n1 */ > str w\c, [\xb, #0x2C] /* -> UARTLCR_H (Line control) */ > diff --git a/xen/arch/arm/arm64/debug.S b/xen/arch/arm/arm64/debug.S > index b7f53ac0519b..71cad9d762b2 100644 > --- a/xen/arch/arm/arm64/debug.S > +++ b/xen/arch/arm/arm64/debug.S > @@ -19,8 +19,8 @@ > > #include <asm/early_printk.h> > > -#ifdef EARLY_PRINTK_INC > -#include EARLY_PRINTK_INC > +#ifdef CONFIG_EARLY_PRINTK_INC > +#include CONFIG_EARLY_PRINTK_INC > #endif > > /* > diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S > index e5015f93a2d8..4d45ea3dac3c 100644 > --- a/xen/arch/arm/arm64/head.S > +++ b/xen/arch/arm/arm64/head.S > @@ -45,8 +45,8 @@ > #define __HEAD_FLAGS ((__HEAD_FLAG_PAGE_SIZE << 1) | \ > (__HEAD_FLAG_PHYS_BASE << 3)) > > -#if (defined (CONFIG_EARLY_PRINTK)) && (defined (EARLY_PRINTK_INC)) > -#include EARLY_PRINTK_INC > +#if (defined (CONFIG_EARLY_PRINTK)) && (defined (CONFIG_EARLY_PRINTK_INC)) > +#include CONFIG_EARLY_PRINTK_INC > #endif > > /* > @@ -363,7 +363,7 @@ GLOBAL(init_secondary) > 1: > > #ifdef CONFIG_EARLY_PRINTK > - ldr x23, =EARLY_UART_BASE_ADDRESS /* x23 := UART base address */ > + ldr x23, =CONFIG_EARLY_UART_BASE_ADDRESS /* x23 := UART base > address */ > PRINT("- CPU ") > print_reg x24 > PRINT(" booting -\r\n") > @@ -843,8 +843,8 @@ ENTRY(switch_ttbr) > * Clobbers x0 - x1 > */ > init_uart: > - ldr x23, =EARLY_UART_BASE_ADDRESS > -#ifdef EARLY_PRINTK_INIT_UART > + ldr x23, =CONFIG_EARLY_UART_BASE_ADDRESS > +#ifdef CONFIG_EARLY_UART_INIT > early_uart_init x23, 0 > #endif > PRINT("- UART enabled -\r\n") > diff --git a/xen/include/asm-arm/early_printk.h > b/xen/include/asm-arm/early_printk.h > index 078cf701dcb0..d5485decfa9f 100644 > --- a/xen/include/asm-arm/early_printk.h > +++ b/xen/include/asm-arm/early_printk.h > @@ -15,7 +15,7 @@ > > /* need to add the uart address offset in page to the fixmap address */ > #define EARLY_UART_VIRTUAL_ADDRESS \ > - (FIXMAP_ADDR(FIXMAP_CONSOLE) +(EARLY_UART_BASE_ADDRESS & ~PAGE_MASK)) > + (FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & > ~PAGE_MASK)) > > #endif /* !CONFIG_EARLY_PRINTK */ > > -- > Anthony PERARD > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |