Patchwork [kvm-unit-tests,v3,1/5] lib: arm: Use UART address from generated config.h

login
register
mail settings
Submitter Alexandru Elisei
Date Feb. 4, 2019, 1:44 p.m.
Message ID <20190204134412.47877-2-alexandru.elisei@arm.com>
Download mbox | patch
Permalink /patch/717317/
State New
Headers show

Comments

Alexandru Elisei - Feb. 4, 2019, 1:44 p.m.
Generate lib/config.h when configuring kvm-unit-tests. The file is empty
for all architectures except for arm and arm64, where it is used to store
the UART base address. This removes the hardcoded address from lib/arm/io.c
and provides a mechanism for using different UART addresses in the future.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
 configure    | 17 +++++++++++++++++
 Makefile     |  2 +-
 lib/arm/io.c | 12 ++++++------
 .gitignore   |  1 +
 4 files changed, 25 insertions(+), 7 deletions(-)
Andrew Jones - Feb. 4, 2019, 2 p.m.
On Mon, Feb 04, 2019 at 01:44:08PM +0000, Alexandru Elisei wrote:
> Generate lib/config.h when configuring kvm-unit-tests. The file is empty
> for all architectures except for arm and arm64, where it is used to store
> the UART base address. This removes the hardcoded address from lib/arm/io.c
> and provides a mechanism for using different UART addresses in the future.
> 
> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> ---
>  configure    | 17 +++++++++++++++++
>  Makefile     |  2 +-
>  lib/arm/io.c | 12 ++++++------
>  .gitignore   |  1 +
>  4 files changed, 25 insertions(+), 7 deletions(-)
> 
> diff --git a/configure b/configure
> index df8581e3a906..b4732c6c04e4 100755
> --- a/configure
> +++ b/configure
> @@ -198,3 +198,20 @@ ENVIRON_DEFAULT=$environ_default
>  ERRATATXT=errata.txt
>  U32_LONG_FMT=$u32_long
>  EOF
> +
> +cat <<EOF > lib/config.h
> +#ifndef CONFIG_H
> +#define CONFIG_H 1
> +/*
> + * Generated file. DO NOT MODIFY.
> + *
> + */
> +EOF
> +if [ "$arch" = "arm" ] || [ "$arch" = "arm64" ]; then
> +cat <<EOF >> lib/config.h
> +
> +#define CONFIG_UART_EARLY_BASE 0x09000000
> +
> +EOF
> +fi
> +echo "#endif" >> lib/config.h
> diff --git a/Makefile b/Makefile
> index e9f02272e156..643af05678ad 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -115,7 +115,7 @@ libfdt_clean:
>  	$(LIBFDT_objdir)/.*.d
>  
>  distclean: clean libfdt_clean
> -	$(RM) lib/asm config.mak $(TEST_DIR)-run msr.out cscope.* build-head
> +	$(RM) lib/asm lib/config.h config.mak $(TEST_DIR)-run msr.out cscope.* build-head
>  	$(RM) -r tests logs logs.old
>  
>  cscope: cscope_dirs = lib lib/libfdt lib/linux $(TEST_DIR) $(ARCH_LIBDIRS) lib/asm-generic
> diff --git a/lib/arm/io.c b/lib/arm/io.c
> index d2c1a07c19ee..e84a5c89fcb1 100644
> --- a/lib/arm/io.c
> +++ b/lib/arm/io.c
> @@ -11,6 +11,7 @@
>  #include <libcflat.h>
>  #include <devicetree.h>
>  #include <chr-testdev.h>
> +#include <config.h>
>  #include <asm/spinlock.h>
>  #include <asm/io.h>
>  
> @@ -18,6 +19,7 @@
>  
>  extern void halt(int code);
>  
> +static struct spinlock uart_lock;
>  /*
>   * Use this guess for the pl011 base in order to make an attempt at
>   * having earlier printf support. We'll overwrite it with the real
> @@ -25,10 +27,8 @@ extern void halt(int code);
>   * the address we expect QEMU's mach-virt machine type to put in
>   * its generated device tree.
>   */
> -#define UART_EARLY_BASE 0x09000000UL
> -
> -static struct spinlock uart_lock;
> -static volatile u8 *uart0_base = (u8 *)UART_EARLY_BASE;
> +#define UART_EARLY_BASE (u8 *)(unsigned long)CONFIG_UART_EARLY_BASE
> +static volatile u8 *uart0_base = UART_EARLY_BASE;
>  
>  static void uart0_init(void)
>  {
> @@ -58,10 +58,10 @@ static void uart0_init(void)
>  
>  	uart0_base = ioremap(base.addr, base.size);
>  
> -	if (uart0_base != (u8 *)UART_EARLY_BASE) {
> +	if (uart0_base != UART_EARLY_BASE) {
>  		printf("WARNING: early print support may not work. "
>  		       "Found uart at %p, but early base is %p.\n",
> -			uart0_base, (u8 *)UART_EARLY_BASE);
> +			uart0_base, UART_EARLY_BASE);
>  	}
>  }
>  
> diff --git a/.gitignore b/.gitignore
> index 2405a8087ae5..483f7c7a09ea 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -10,6 +10,7 @@ patches
>  cscope.*
>  *.swp
>  /lib/asm
> +/lib/config.h
>  /config.mak
>  /*-run
>  /msr.out
> -- 
> 2.17.0
>

Reviewed-by: Andrew Jones <drjones@redhat.com>
Alexandru Elisei - Feb. 4, 2019, 2:17 p.m.
On 2/4/19 2:00 PM, Andrew Jones wrote:
> On Mon, Feb 04, 2019 at 01:44:08PM +0000, Alexandru Elisei wrote:
>> Generate lib/config.h when configuring kvm-unit-tests. The file is empty
>> for all architectures except for arm and arm64, where it is used to store
>> the UART base address. This removes the hardcoded address from lib/arm/io.c
>> and provides a mechanism for using different UART addresses in the future.
>>
>> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
>> ---
>>  configure    | 17 +++++++++++++++++
>>  Makefile     |  2 +-
>>  lib/arm/io.c | 12 ++++++------
>>  .gitignore   |  1 +
>>  4 files changed, 25 insertions(+), 7 deletions(-)
>>
>> diff --git a/configure b/configure
>> index df8581e3a906..b4732c6c04e4 100755
>> --- a/configure
>> +++ b/configure
>> @@ -198,3 +198,20 @@ ENVIRON_DEFAULT=$environ_default
>>  ERRATATXT=errata.txt
>>  U32_LONG_FMT=$u32_long
>>  EOF
>> +
>> +cat <<EOF > lib/config.h
>> +#ifndef CONFIG_H
>> +#define CONFIG_H 1
>> +/*
>> + * Generated file. DO NOT MODIFY.
>> + *
>> + */
>> +EOF
>> +if [ "$arch" = "arm" ] || [ "$arch" = "arm64" ]; then
>> +cat <<EOF >> lib/config.h
>> +
>> +#define CONFIG_UART_EARLY_BASE 0x09000000
>> +
>> +EOF
>> +fi
>> +echo "#endif" >> lib/config.h
>> diff --git a/Makefile b/Makefile
>> index e9f02272e156..643af05678ad 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -115,7 +115,7 @@ libfdt_clean:
>>  	$(LIBFDT_objdir)/.*.d
>>  
>>  distclean: clean libfdt_clean
>> -	$(RM) lib/asm config.mak $(TEST_DIR)-run msr.out cscope.* build-head
>> +	$(RM) lib/asm lib/config.h config.mak $(TEST_DIR)-run msr.out cscope.* build-head
>>  	$(RM) -r tests logs logs.old
>>  
>>  cscope: cscope_dirs = lib lib/libfdt lib/linux $(TEST_DIR) $(ARCH_LIBDIRS) lib/asm-generic
>> diff --git a/lib/arm/io.c b/lib/arm/io.c
>> index d2c1a07c19ee..e84a5c89fcb1 100644
>> --- a/lib/arm/io.c
>> +++ b/lib/arm/io.c
>> @@ -11,6 +11,7 @@
>>  #include <libcflat.h>
>>  #include <devicetree.h>
>>  #include <chr-testdev.h>
>> +#include <config.h>
>>  #include <asm/spinlock.h>
>>  #include <asm/io.h>
>>  
>> @@ -18,6 +19,7 @@
>>  
>>  extern void halt(int code);
>>  
>> +static struct spinlock uart_lock;
>>  /*
>>   * Use this guess for the pl011 base in order to make an attempt at
>>   * having earlier printf support. We'll overwrite it with the real
>> @@ -25,10 +27,8 @@ extern void halt(int code);
>>   * the address we expect QEMU's mach-virt machine type to put in
>>   * its generated device tree.
>>   */
>> -#define UART_EARLY_BASE 0x09000000UL
>> -
>> -static struct spinlock uart_lock;
>> -static volatile u8 *uart0_base = (u8 *)UART_EARLY_BASE;
>> +#define UART_EARLY_BASE (u8 *)(unsigned long)CONFIG_UART_EARLY_BASE
>> +static volatile u8 *uart0_base = UART_EARLY_BASE;
>>  
>>  static void uart0_init(void)
>>  {
>> @@ -58,10 +58,10 @@ static void uart0_init(void)
>>  
>>  	uart0_base = ioremap(base.addr, base.size);
>>  
>> -	if (uart0_base != (u8 *)UART_EARLY_BASE) {
>> +	if (uart0_base != UART_EARLY_BASE) {
>>  		printf("WARNING: early print support may not work. "
>>  		       "Found uart at %p, but early base is %p.\n",
>> -			uart0_base, (u8 *)UART_EARLY_BASE);
>> +			uart0_base, UART_EARLY_BASE);
>>  	}
>>  }
>>  
>> diff --git a/.gitignore b/.gitignore
>> index 2405a8087ae5..483f7c7a09ea 100644
>> --- a/.gitignore
>> +++ b/.gitignore
>> @@ -10,6 +10,7 @@ patches
>>  cscope.*
>>  *.swp
>>  /lib/asm
>> +/lib/config.h
>>  /config.mak
>>  /*-run
>>  /msr.out
>> -- 
>> 2.17.0
>>
> Reviewed-by: Andrew Jones <drjones@redhat.com>

Thank you for taking the time to review the patches!

What is my next step?
Andrew Jones - Feb. 4, 2019, 2:40 p.m.
On Mon, Feb 04, 2019 at 02:17:05PM +0000, Alexandru Elisei wrote:
> On 2/4/19 2:00 PM, Andrew Jones wrote:
> > On Mon, Feb 04, 2019 at 01:44:08PM +0000, Alexandru Elisei wrote:
> >> Generate lib/config.h when configuring kvm-unit-tests. The file is empty
> >> for all architectures except for arm and arm64, where it is used to store
> >> the UART base address. This removes the hardcoded address from lib/arm/io.c
> >> and provides a mechanism for using different UART addresses in the future.
> >>
> >> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
> >> ---
> >>  configure    | 17 +++++++++++++++++
> >>  Makefile     |  2 +-
> >>  lib/arm/io.c | 12 ++++++------
> >>  .gitignore   |  1 +
> >>  4 files changed, 25 insertions(+), 7 deletions(-)
> >>
> >> diff --git a/configure b/configure
> >> index df8581e3a906..b4732c6c04e4 100755
> >> --- a/configure
> >> +++ b/configure
> >> @@ -198,3 +198,20 @@ ENVIRON_DEFAULT=$environ_default
> >>  ERRATATXT=errata.txt
> >>  U32_LONG_FMT=$u32_long
> >>  EOF
> >> +
> >> +cat <<EOF > lib/config.h
> >> +#ifndef CONFIG_H
> >> +#define CONFIG_H 1
> >> +/*
> >> + * Generated file. DO NOT MODIFY.
> >> + *
> >> + */
> >> +EOF
> >> +if [ "$arch" = "arm" ] || [ "$arch" = "arm64" ]; then
> >> +cat <<EOF >> lib/config.h
> >> +
> >> +#define CONFIG_UART_EARLY_BASE 0x09000000
> >> +
> >> +EOF
> >> +fi
> >> +echo "#endif" >> lib/config.h
> >> diff --git a/Makefile b/Makefile
> >> index e9f02272e156..643af05678ad 100644
> >> --- a/Makefile
> >> +++ b/Makefile
> >> @@ -115,7 +115,7 @@ libfdt_clean:
> >>  	$(LIBFDT_objdir)/.*.d
> >>  
> >>  distclean: clean libfdt_clean
> >> -	$(RM) lib/asm config.mak $(TEST_DIR)-run msr.out cscope.* build-head
> >> +	$(RM) lib/asm lib/config.h config.mak $(TEST_DIR)-run msr.out cscope.* build-head
> >>  	$(RM) -r tests logs logs.old
> >>  
> >>  cscope: cscope_dirs = lib lib/libfdt lib/linux $(TEST_DIR) $(ARCH_LIBDIRS) lib/asm-generic
> >> diff --git a/lib/arm/io.c b/lib/arm/io.c
> >> index d2c1a07c19ee..e84a5c89fcb1 100644
> >> --- a/lib/arm/io.c
> >> +++ b/lib/arm/io.c
> >> @@ -11,6 +11,7 @@
> >>  #include <libcflat.h>
> >>  #include <devicetree.h>
> >>  #include <chr-testdev.h>
> >> +#include <config.h>
> >>  #include <asm/spinlock.h>
> >>  #include <asm/io.h>
> >>  
> >> @@ -18,6 +19,7 @@
> >>  
> >>  extern void halt(int code);
> >>  
> >> +static struct spinlock uart_lock;
> >>  /*
> >>   * Use this guess for the pl011 base in order to make an attempt at
> >>   * having earlier printf support. We'll overwrite it with the real
> >> @@ -25,10 +27,8 @@ extern void halt(int code);
> >>   * the address we expect QEMU's mach-virt machine type to put in
> >>   * its generated device tree.
> >>   */
> >> -#define UART_EARLY_BASE 0x09000000UL
> >> -
> >> -static struct spinlock uart_lock;
> >> -static volatile u8 *uart0_base = (u8 *)UART_EARLY_BASE;
> >> +#define UART_EARLY_BASE (u8 *)(unsigned long)CONFIG_UART_EARLY_BASE
> >> +static volatile u8 *uart0_base = UART_EARLY_BASE;
> >>  
> >>  static void uart0_init(void)
> >>  {
> >> @@ -58,10 +58,10 @@ static void uart0_init(void)
> >>  
> >>  	uart0_base = ioremap(base.addr, base.size);
> >>  
> >> -	if (uart0_base != (u8 *)UART_EARLY_BASE) {
> >> +	if (uart0_base != UART_EARLY_BASE) {
> >>  		printf("WARNING: early print support may not work. "
> >>  		       "Found uart at %p, but early base is %p.\n",
> >> -			uart0_base, (u8 *)UART_EARLY_BASE);
> >> +			uart0_base, UART_EARLY_BASE);
> >>  	}
> >>  }
> >>  
> >> diff --git a/.gitignore b/.gitignore
> >> index 2405a8087ae5..483f7c7a09ea 100644
> >> --- a/.gitignore
> >> +++ b/.gitignore
> >> @@ -10,6 +10,7 @@ patches
> >>  cscope.*
> >>  *.swp
> >>  /lib/asm
> >> +/lib/config.h
> >>  /config.mak
> >>  /*-run
> >>  /msr.out
> >> -- 
> >> 2.17.0
> >>
> > Reviewed-by: Andrew Jones <drjones@redhat.com>
> 
> Thank you for taking the time to review the patches!
> 
> What is my next step?
>

Wait for Paolo or Radim to merge :-)  I've added them to CC.

drew
Alexandru Elisei - Feb. 20, 2019, 1:14 p.m.
On 2/4/19 2:40 PM, Andrew Jones wrote:
> On Mon, Feb 04, 2019 at 02:17:05PM +0000, Alexandru Elisei wrote:
>> On 2/4/19 2:00 PM, Andrew Jones wrote:
>>> On Mon, Feb 04, 2019 at 01:44:08PM +0000, Alexandru Elisei wrote:
>>>> Generate lib/config.h when configuring kvm-unit-tests. The file is empty
>>>> for all architectures except for arm and arm64, where it is used to store
>>>> the UART base address. This removes the hardcoded address from lib/arm/io.c
>>>> and provides a mechanism for using different UART addresses in the future.
>>>>
>>>> Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
>>>> ---
>>>>  configure    | 17 +++++++++++++++++
>>>>  Makefile     |  2 +-
>>>>  lib/arm/io.c | 12 ++++++------
>>>>  .gitignore   |  1 +
>>>>  4 files changed, 25 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/configure b/configure
>>>> index df8581e3a906..b4732c6c04e4 100755
>>>> --- a/configure
>>>> +++ b/configure
>>>> @@ -198,3 +198,20 @@ ENVIRON_DEFAULT=$environ_default
>>>>  ERRATATXT=errata.txt
>>>>  U32_LONG_FMT=$u32_long
>>>>  EOF
>>>> +
>>>> +cat <<EOF > lib/config.h
>>>> +#ifndef CONFIG_H
>>>> +#define CONFIG_H 1
>>>> +/*
>>>> + * Generated file. DO NOT MODIFY.
>>>> + *
>>>> + */
>>>> +EOF
>>>> +if [ "$arch" = "arm" ] || [ "$arch" = "arm64" ]; then
>>>> +cat <<EOF >> lib/config.h
>>>> +
>>>> +#define CONFIG_UART_EARLY_BASE 0x09000000
>>>> +
>>>> +EOF
>>>> +fi
>>>> +echo "#endif" >> lib/config.h
>>>> diff --git a/Makefile b/Makefile
>>>> index e9f02272e156..643af05678ad 100644
>>>> --- a/Makefile
>>>> +++ b/Makefile
>>>> @@ -115,7 +115,7 @@ libfdt_clean:
>>>>  	$(LIBFDT_objdir)/.*.d
>>>>  
>>>>  distclean: clean libfdt_clean
>>>> -	$(RM) lib/asm config.mak $(TEST_DIR)-run msr.out cscope.* build-head
>>>> +	$(RM) lib/asm lib/config.h config.mak $(TEST_DIR)-run msr.out cscope.* build-head
>>>>  	$(RM) -r tests logs logs.old
>>>>  
>>>>  cscope: cscope_dirs = lib lib/libfdt lib/linux $(TEST_DIR) $(ARCH_LIBDIRS) lib/asm-generic
>>>> diff --git a/lib/arm/io.c b/lib/arm/io.c
>>>> index d2c1a07c19ee..e84a5c89fcb1 100644
>>>> --- a/lib/arm/io.c
>>>> +++ b/lib/arm/io.c
>>>> @@ -11,6 +11,7 @@
>>>>  #include <libcflat.h>
>>>>  #include <devicetree.h>
>>>>  #include <chr-testdev.h>
>>>> +#include <config.h>
>>>>  #include <asm/spinlock.h>
>>>>  #include <asm/io.h>
>>>>  
>>>> @@ -18,6 +19,7 @@
>>>>  
>>>>  extern void halt(int code);
>>>>  
>>>> +static struct spinlock uart_lock;
>>>>  /*
>>>>   * Use this guess for the pl011 base in order to make an attempt at
>>>>   * having earlier printf support. We'll overwrite it with the real
>>>> @@ -25,10 +27,8 @@ extern void halt(int code);
>>>>   * the address we expect QEMU's mach-virt machine type to put in
>>>>   * its generated device tree.
>>>>   */
>>>> -#define UART_EARLY_BASE 0x09000000UL
>>>> -
>>>> -static struct spinlock uart_lock;
>>>> -static volatile u8 *uart0_base = (u8 *)UART_EARLY_BASE;
>>>> +#define UART_EARLY_BASE (u8 *)(unsigned long)CONFIG_UART_EARLY_BASE
>>>> +static volatile u8 *uart0_base = UART_EARLY_BASE;
>>>>  
>>>>  static void uart0_init(void)
>>>>  {
>>>> @@ -58,10 +58,10 @@ static void uart0_init(void)
>>>>  
>>>>  	uart0_base = ioremap(base.addr, base.size);
>>>>  
>>>> -	if (uart0_base != (u8 *)UART_EARLY_BASE) {
>>>> +	if (uart0_base != UART_EARLY_BASE) {
>>>>  		printf("WARNING: early print support may not work. "
>>>>  		       "Found uart at %p, but early base is %p.\n",
>>>> -			uart0_base, (u8 *)UART_EARLY_BASE);
>>>> +			uart0_base, UART_EARLY_BASE);
>>>>  	}
>>>>  }
>>>>  
>>>> diff --git a/.gitignore b/.gitignore
>>>> index 2405a8087ae5..483f7c7a09ea 100644
>>>> --- a/.gitignore
>>>> +++ b/.gitignore
>>>> @@ -10,6 +10,7 @@ patches
>>>>  cscope.*
>>>>  *.swp
>>>>  /lib/asm
>>>> +/lib/config.h
>>>>  /config.mak
>>>>  /*-run
>>>>  /msr.out
>>>> -- 
>>>> 2.17.0
>>>>
>>> Reviewed-by: Andrew Jones <drjones@redhat.com>
>> Thank you for taking the time to review the patches!
>>
>> What is my next step?
>>
> Wait for Paolo or Radim to merge :-)  I've added them to CC.

Hi,

Any updates?

Thank you,

Alex

>
> drew

Patch

diff --git a/configure b/configure
index df8581e3a906..b4732c6c04e4 100755
--- a/configure
+++ b/configure
@@ -198,3 +198,20 @@  ENVIRON_DEFAULT=$environ_default
 ERRATATXT=errata.txt
 U32_LONG_FMT=$u32_long
 EOF
+
+cat <<EOF > lib/config.h
+#ifndef CONFIG_H
+#define CONFIG_H 1
+/*
+ * Generated file. DO NOT MODIFY.
+ *
+ */
+EOF
+if [ "$arch" = "arm" ] || [ "$arch" = "arm64" ]; then
+cat <<EOF >> lib/config.h
+
+#define CONFIG_UART_EARLY_BASE 0x09000000
+
+EOF
+fi
+echo "#endif" >> lib/config.h
diff --git a/Makefile b/Makefile
index e9f02272e156..643af05678ad 100644
--- a/Makefile
+++ b/Makefile
@@ -115,7 +115,7 @@  libfdt_clean:
 	$(LIBFDT_objdir)/.*.d
 
 distclean: clean libfdt_clean
-	$(RM) lib/asm config.mak $(TEST_DIR)-run msr.out cscope.* build-head
+	$(RM) lib/asm lib/config.h config.mak $(TEST_DIR)-run msr.out cscope.* build-head
 	$(RM) -r tests logs logs.old
 
 cscope: cscope_dirs = lib lib/libfdt lib/linux $(TEST_DIR) $(ARCH_LIBDIRS) lib/asm-generic
diff --git a/lib/arm/io.c b/lib/arm/io.c
index d2c1a07c19ee..e84a5c89fcb1 100644
--- a/lib/arm/io.c
+++ b/lib/arm/io.c
@@ -11,6 +11,7 @@ 
 #include <libcflat.h>
 #include <devicetree.h>
 #include <chr-testdev.h>
+#include <config.h>
 #include <asm/spinlock.h>
 #include <asm/io.h>
 
@@ -18,6 +19,7 @@ 
 
 extern void halt(int code);
 
+static struct spinlock uart_lock;
 /*
  * Use this guess for the pl011 base in order to make an attempt at
  * having earlier printf support. We'll overwrite it with the real
@@ -25,10 +27,8 @@  extern void halt(int code);
  * the address we expect QEMU's mach-virt machine type to put in
  * its generated device tree.
  */
-#define UART_EARLY_BASE 0x09000000UL
-
-static struct spinlock uart_lock;
-static volatile u8 *uart0_base = (u8 *)UART_EARLY_BASE;
+#define UART_EARLY_BASE (u8 *)(unsigned long)CONFIG_UART_EARLY_BASE
+static volatile u8 *uart0_base = UART_EARLY_BASE;
 
 static void uart0_init(void)
 {
@@ -58,10 +58,10 @@  static void uart0_init(void)
 
 	uart0_base = ioremap(base.addr, base.size);
 
-	if (uart0_base != (u8 *)UART_EARLY_BASE) {
+	if (uart0_base != UART_EARLY_BASE) {
 		printf("WARNING: early print support may not work. "
 		       "Found uart at %p, but early base is %p.\n",
-			uart0_base, (u8 *)UART_EARLY_BASE);
+			uart0_base, UART_EARLY_BASE);
 	}
 }
 
diff --git a/.gitignore b/.gitignore
index 2405a8087ae5..483f7c7a09ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@  patches
 cscope.*
 *.swp
 /lib/asm
+/lib/config.h
 /config.mak
 /*-run
 /msr.out