linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Compile problem due to compressor changes, UART referenced in section .txt
@ 2010-03-07 17:19 J.I. Cameron
  2010-03-07 20:13 ` Ryan Mallon
  2010-03-08 10:14 ` Russell King - ARM Linux
  0 siblings, 2 replies; 7+ messages in thread
From: J.I. Cameron @ 2010-03-07 17:19 UTC (permalink / raw)
  To: linux-arm-kernel

Dear  All,

Ran into the following problem on a pxa stargate2 platform (I think it will
effect a number of others).

`UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o: 
defined in discarded section `.data' of arch/arm/boot/compressed/misc.o 
`UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o: 
defined in discarded section `.data' of arch/arm/boot/compressed/misc.o

There is a hack in mach-pxa/include/mach/uncompress.h
that changes the primary uart for some platforms:

static inline void arch_decomp_setup(void)
{
	if (machine_is_littleton() || machine_is_intelmote2()
	    || machine_is_csb726() || machine_is_stargate2()
	  || machine_is_cm_x300() || machine_is_balloon3())
	UART = STUART;
}

Simply changing the initial assignment of UART and commenting this function
out acts as a work around.  I'm not entirely sure how to fix the problem
properly.

Jonathan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-07 17:19 Compile problem due to compressor changes, UART referenced in section .txt J.I. Cameron
@ 2010-03-07 20:13 ` Ryan Mallon
  2010-03-08  9:55   ` Uwe Kleine-König
  2010-03-08 10:14 ` Russell King - ARM Linux
  1 sibling, 1 reply; 7+ messages in thread
From: Ryan Mallon @ 2010-03-07 20:13 UTC (permalink / raw)
  To: linux-arm-kernel

J.I. Cameron wrote:
> Dear  All,
>
> Ran into the following problem on a pxa stargate2 platform (I think it
> will
> effect a number of others).
>
> `UART' referenced in section `.text' of
> arch/arm/boot/compressed/misc.o: defined in discarded section `.data'
> of arch/arm/boot/compressed/misc.o `UART' referenced in section
> `.text' of arch/arm/boot/compressed/misc.o: defined in discarded
> section `.data' of arch/arm/boot/compressed/misc.o
>
> There is a hack in mach-pxa/include/mach/uncompress.h
> that changes the primary uart for some platforms:
>
> static inline void arch_decomp_setup(void)
> {
>     if (machine_is_littleton() || machine_is_intelmote2()
>         || machine_is_csb726() || machine_is_stargate2()
>       || machine_is_cm_x300() || machine_is_balloon3())
>     UART = STUART;
> }
>
> Simply changing the initial assignment of UART and commenting this
> function
> out acts as a work around.  I'm not entirely sure how to fix the problem
> properly.
Perhaps something like this untested patch:

Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
---

diff --git a/arch/arm/mach-pxa/include/mach/uncompress.h b/arch/arm/mach-pxa/include/mach/uncompress.h
index 237734b..efd9c0d 100644
--- a/arch/arm/mach-pxa/include/mach/uncompress.h
+++ b/arch/arm/mach-pxa/include/mach/uncompress.h
@@ -15,7 +15,16 @@
 
 #define __REG(x)       ((volatile unsigned long *)x)
 
+#if defined(CONFIG_MACH_LITTLETON)  ||	\
+    defined(CONFIG_MACH_INTELMOTE2) ||	\
+    defined(CONFIG_MACH_CSB726)     ||	\
+    defined(CONFIG_MACH_STARGATE2)  ||	\
+    defined(CONFIG_MACH_CM_X300)    ||	\
+    defined(CONFIG_MACH_BALLOON3)
+static volatile unsigned long *UART = STUART;
+#else
 static volatile unsigned long *UART = FFUART;
+#endif
 
 static inline void putc(char c)
 {
@@ -35,10 +44,6 @@ static inline void flush(void)
 
 static inline void arch_decomp_setup(void)
 {
-	if (machine_is_littleton() || machine_is_intelmote2()
-	    || machine_is_csb726() || machine_is_stargate2()
-	    || machine_is_cm_x300() || machine_is_balloon3())
-		UART = STUART;
 }
 
 /*

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-07 20:13 ` Ryan Mallon
@ 2010-03-08  9:55   ` Uwe Kleine-König
  0 siblings, 0 replies; 7+ messages in thread
From: Uwe Kleine-König @ 2010-03-08  9:55 UTC (permalink / raw)
  To: linux-arm-kernel

Hello,

On Mon, Mar 08, 2010 at 09:13:33AM +1300, Ryan Mallon wrote:
> J.I. Cameron wrote:
> > Dear  All,
> >
> > Ran into the following problem on a pxa stargate2 platform (I think it
> > will
> > effect a number of others).
> >
> > `UART' referenced in section `.text' of
> > arch/arm/boot/compressed/misc.o: defined in discarded section `.data'
> > of arch/arm/boot/compressed/misc.o `UART' referenced in section
> > `.text' of arch/arm/boot/compressed/misc.o: defined in discarded
> > section `.data' of arch/arm/boot/compressed/misc.o
> >
> > There is a hack in mach-pxa/include/mach/uncompress.h
> > that changes the primary uart for some platforms:
> >
> > static inline void arch_decomp_setup(void)
> > {
> >     if (machine_is_littleton() || machine_is_intelmote2()
> >         || machine_is_csb726() || machine_is_stargate2()
> >       || machine_is_cm_x300() || machine_is_balloon3())
> >     UART = STUART;
> > }
> >
> > Simply changing the initial assignment of UART and commenting this
> > function
> > out acts as a work around.  I'm not entirely sure how to fix the problem
> > properly.
> Perhaps something like this untested patch:
> 
> Signed-off-by: Ryan Mallon <ryan@bluewatersys.com>
> ---
> 
> diff --git a/arch/arm/mach-pxa/include/mach/uncompress.h b/arch/arm/mach-pxa/include/mach/uncompress.h
> index 237734b..efd9c0d 100644
> --- a/arch/arm/mach-pxa/include/mach/uncompress.h
> +++ b/arch/arm/mach-pxa/include/mach/uncompress.h
> @@ -15,7 +15,16 @@
>  
>  #define __REG(x)       ((volatile unsigned long *)x)
>  
> +#if defined(CONFIG_MACH_LITTLETON)  ||	\
> +    defined(CONFIG_MACH_INTELMOTE2) ||	\
> +    defined(CONFIG_MACH_CSB726)     ||	\
> +    defined(CONFIG_MACH_STARGATE2)  ||	\
> +    defined(CONFIG_MACH_CM_X300)    ||	\
> +    defined(CONFIG_MACH_BALLOON3)
> +static volatile unsigned long *UART = STUART;
> +#else
>  static volatile unsigned long *UART = FFUART;
> +#endif
This doesn't work for kernels that have support for both types of
machines.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-K?nig            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-07 17:19 Compile problem due to compressor changes, UART referenced in section .txt J.I. Cameron
  2010-03-07 20:13 ` Ryan Mallon
@ 2010-03-08 10:14 ` Russell King - ARM Linux
  2010-03-09  7:27   ` Mike Rapoport
  1 sibling, 1 reply; 7+ messages in thread
From: Russell King - ARM Linux @ 2010-03-08 10:14 UTC (permalink / raw)
  To: linux-arm-kernel

On Sun, Mar 07, 2010 at 05:19:08PM +0000, J.I. Cameron wrote:
> Dear  All,
>
> Ran into the following problem on a pxa stargate2 platform (I think it will
> effect a number of others).
>
> `UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o:  
> defined in discarded section `.data' of arch/arm/boot/compressed/misc.o  
> `UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o:  
> defined in discarded section `.data' of arch/arm/boot/compressed/misc.o
>
> There is a hack in mach-pxa/include/mach/uncompress.h
> that changes the primary uart for some platforms:
>
> static inline void arch_decomp_setup(void)
> {
> 	if (machine_is_littleton() || machine_is_intelmote2()
> 	    || machine_is_csb726() || machine_is_stargate2()
> 	  || machine_is_cm_x300() || machine_is_balloon3())
> 	UART = STUART;

	else
		UART = FFUART;

and remove the initializer from UART.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-08 10:14 ` Russell King - ARM Linux
@ 2010-03-09  7:27   ` Mike Rapoport
  2010-03-09 12:27     ` Jonathan Cameron
  0 siblings, 1 reply; 7+ messages in thread
From: Mike Rapoport @ 2010-03-09  7:27 UTC (permalink / raw)
  To: linux-arm-kernel

Russell King - ARM Linux wrote:
> On Sun, Mar 07, 2010 at 05:19:08PM +0000, J.I. Cameron wrote:
>> Dear  All,
>>
>> Ran into the following problem on a pxa stargate2 platform (I think it will
>> effect a number of others).
>>
>> `UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o:  
>> defined in discarded section `.data' of arch/arm/boot/compressed/misc.o  
>> `UART' referenced in section `.text' of arch/arm/boot/compressed/misc.o:  
>> defined in discarded section `.data' of arch/arm/boot/compressed/misc.o
>>
>> There is a hack in mach-pxa/include/mach/uncompress.h
>> that changes the primary uart for some platforms:
>>
>> static inline void arch_decomp_setup(void)
>> {
>> 	if (machine_is_littleton() || machine_is_intelmote2()
>> 	    || machine_is_csb726() || machine_is_stargate2()
>> 	  || machine_is_cm_x300() || machine_is_balloon3())
>> 	UART = STUART;
> 
> 	else
> 		UART = FFUART;
> 
> and remove the initializer from UART.

Something like that:

Signed-off-by: Mike Rapoport <mike@compulab.co.il>
---
  arch/arm/mach-pxa/include/mach/uncompress.h |    4 +++-
  1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mach-pxa/include/mach/uncompress.h b/arch/arm/mach-pxa/include/mach/uncompress.h
index 237734b..b009299 100644
--- a/arch/arm/mach-pxa/include/mach/uncompress.h
+++ b/arch/arm/mach-pxa/include/mach/uncompress.h
@@ -15,7 +15,7 @@

  #define __REG(x)       ((volatile unsigned long *)x)

-static volatile unsigned long *UART = FFUART;
+static volatile unsigned long *UART;

  static inline void putc(char c)
  {
@@ -39,6 +39,8 @@ static inline void arch_decomp_setup(void)
  	    || machine_is_csb726() || machine_is_stargate2()
  	    || machine_is_cm_x300() || machine_is_balloon3())
  		UART = STUART;
+	else
+		UART = FFUART;
  }

  /*
-- 
1.6.4.4



> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


-- 
Sincerely yours,
Mike.

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-09  7:27   ` Mike Rapoport
@ 2010-03-09 12:27     ` Jonathan Cameron
  2010-03-09 13:00       ` Mike Rapoport
  0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Cameron @ 2010-03-09 12:27 UTC (permalink / raw)
  To: linux-arm-kernel

On 03/09/10 07:27, Mike Rapoport wrote:
> Russell King - ARM Linux wrote:
>> On Sun, Mar 07, 2010 at 05:19:08PM +0000, J.I. Cameron wrote:
>>> Dear  All,
>>>
>>> Ran into the following problem on a pxa stargate2 platform (I think
>>> it will
>>> effect a number of others).
>>>
>>> `UART' referenced in section `.text' of
>>> arch/arm/boot/compressed/misc.o:  defined in discarded section
>>> `.data' of arch/arm/boot/compressed/misc.o  `UART' referenced in
>>> section `.text' of arch/arm/boot/compressed/misc.o:  defined in
>>> discarded section `.data' of arch/arm/boot/compressed/misc.o
>>>
>>> There is a hack in mach-pxa/include/mach/uncompress.h
>>> that changes the primary uart for some platforms:
>>>
>>> static inline void arch_decomp_setup(void)
>>> {
>>>     if (machine_is_littleton() || machine_is_intelmote2()
>>>         || machine_is_csb726() || machine_is_stargate2()
>>>       || machine_is_cm_x300() || machine_is_balloon3())
>>>     UART = STUART;
>>
>>     else
>>         UART = FFUART;
>>
>> and remove the initializer from UART.
> 
> Something like that:
> 
> Signed-off-by: Mike Rapoport <mike@compulab.co.il>
> ---
>  arch/arm/mach-pxa/include/mach/uncompress.h |    4 +++-
>  1 files changed, 3 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/arm/mach-pxa/include/mach/uncompress.h
> b/arch/arm/mach-pxa/include/mach/uncompress.h
> index 237734b..b009299 100644
> --- a/arch/arm/mach-pxa/include/mach/uncompress.h
> +++ b/arch/arm/mach-pxa/include/mach/uncompress.h
> @@ -15,7 +15,7 @@
> 
>  #define __REG(x)       ((volatile unsigned long *)x)
> 
> -static volatile unsigned long *UART = FFUART;
> +static volatile unsigned long *UART;
> 
>  static inline void putc(char c)
>  {
> @@ -39,6 +39,8 @@ static inline void arch_decomp_setup(void)
>          || machine_is_csb726() || machine_is_stargate2()
>          || machine_is_cm_x300() || machine_is_balloon3())
>          UART = STUART;
> +    else
> +        UART = FFUART;
>  }
Hi Mike,

Sorry my email client was messing about yesterday so I ended up
creating a new thread.  As Eric pointed out there, this is a little
more complex due to some changes in the pxa devel tree.  Patch that 
effectively did the same thing (but adapted for the devel
tree was in the thread:

 [PATCH] pxa: fix for UART reference in section text for a number of platforms.

http://lists.infradead.org/pipermail/linux-arm-kernel/2010-March/011010.html

Thanks and sorry again for wasting your time.

Jonathan

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Compile problem due to compressor changes, UART referenced in section .txt
  2010-03-09 12:27     ` Jonathan Cameron
@ 2010-03-09 13:00       ` Mike Rapoport
  0 siblings, 0 replies; 7+ messages in thread
From: Mike Rapoport @ 2010-03-09 13:00 UTC (permalink / raw)
  To: linux-arm-kernel

Jonathan Cameron wrote:
> On 03/09/10 07:27, Mike Rapoport wrote:
>> Russell King - ARM Linux wrote:
>>> On Sun, Mar 07, 2010 at 05:19:08PM +0000, J.I. Cameron wrote:
>>>> Dear  All,
>>>>
>>>> Ran into the following problem on a pxa stargate2 platform (I think
>>>> it will
>>>> effect a number of others).
>>>>
>>>> `UART' referenced in section `.text' of
>>>> arch/arm/boot/compressed/misc.o:  defined in discarded section
>>>> `.data' of arch/arm/boot/compressed/misc.o  `UART' referenced in
>>>> section `.text' of arch/arm/boot/compressed/misc.o:  defined in
>>>> discarded section `.data' of arch/arm/boot/compressed/misc.o
>>>>
>>>> There is a hack in mach-pxa/include/mach/uncompress.h
>>>> that changes the primary uart for some platforms:
>>>>
>>>> static inline void arch_decomp_setup(void)
>>>> {
>>>>     if (machine_is_littleton() || machine_is_intelmote2()
>>>>         || machine_is_csb726() || machine_is_stargate2()
>>>>       || machine_is_cm_x300() || machine_is_balloon3())
>>>>     UART = STUART;
>>>     else
>>>         UART = FFUART;
>>>
>>> and remove the initializer from UART.
>> Something like that:
>>
>> Signed-off-by: Mike Rapoport <mike@compulab.co.il>
>> ---
>>  arch/arm/mach-pxa/include/mach/uncompress.h |    4 +++-
>>  1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/arch/arm/mach-pxa/include/mach/uncompress.h
>> b/arch/arm/mach-pxa/include/mach/uncompress.h
>> index 237734b..b009299 100644
>> --- a/arch/arm/mach-pxa/include/mach/uncompress.h
>> +++ b/arch/arm/mach-pxa/include/mach/uncompress.h
>> @@ -15,7 +15,7 @@
>>
>>  #define __REG(x)       ((volatile unsigned long *)x)
>>
>> -static volatile unsigned long *UART = FFUART;
>> +static volatile unsigned long *UART;
>>
>>  static inline void putc(char c)
>>  {
>> @@ -39,6 +39,8 @@ static inline void arch_decomp_setup(void)
>>          || machine_is_csb726() || machine_is_stargate2()
>>          || machine_is_cm_x300() || machine_is_balloon3())
>>          UART = STUART;
>> +    else
>> +        UART = FFUART;
>>  }
> Hi Mike,
> 
> Sorry my email client was messing about yesterday so I ended up
> creating a new thread.

Yeah, I've missed that one...

>.  As Eric pointed out there, this is a little
> more complex due to some changes in the pxa devel tree.  Patch that 
> effectively did the same thing (but adapted for the devel
> tree was in the thread:
> 
>  [PATCH] pxa: fix for UART reference in section text for a number of platforms.
> 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2010-March/011010.html
> 
> Thanks and sorry again for wasting your time.

Welcome :)

> Jonathan


-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2010-03-09 13:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-07 17:19 Compile problem due to compressor changes, UART referenced in section .txt J.I. Cameron
2010-03-07 20:13 ` Ryan Mallon
2010-03-08  9:55   ` Uwe Kleine-König
2010-03-08 10:14 ` Russell King - ARM Linux
2010-03-09  7:27   ` Mike Rapoport
2010-03-09 12:27     ` Jonathan Cameron
2010-03-09 13:00       ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).