mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
       [not found] <54F6AD4B.8080607@hotmail.com>
@ 2015-03-04  7:05 ` Chen Gang
  2015-03-26 14:58   ` Mark Salter
  0 siblings, 1 reply; 6+ messages in thread
From: Chen Gang @ 2015-03-04  7:05 UTC (permalink / raw)
  To: msalter, a-jacquiot, linux-c6x-dev, linux-kernel

They are needed by other modules, the related error with allmodconfig:

    MODPOST 3327 modules
  ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
  ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 arch/c6x/platforms/cache.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/c6x/platforms/cache.c b/arch/c6x/platforms/cache.c
index 86318a1..46fd2d5 100644
--- a/arch/c6x/platforms/cache.c
+++ b/arch/c6x/platforms/cache.c
@@ -350,6 +350,7 @@ void L1P_cache_block_invalidate(unsigned int start, unsigned int end)
 			      (unsigned int *) end,
 			      IMCR_L1PIBAR, IMCR_L1PIWC);
 }
+EXPORT_SYMBOL(L1P_cache_block_invalidate);
 
 void L1D_cache_block_invalidate(unsigned int start, unsigned int end)
 {
@@ -371,6 +372,7 @@ void L1D_cache_block_writeback(unsigned int start, unsigned int end)
 			      (unsigned int *) end,
 			      IMCR_L1DWBAR, IMCR_L1DWWC);
 }
+EXPORT_SYMBOL(L1D_cache_block_writeback);
 
 /*
  *  L2 block operations
-- 
1.9.3



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

* Re: [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  2015-03-04  7:05 ` [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback Chen Gang
@ 2015-03-26 14:58   ` Mark Salter
  2015-03-26 21:31     ` Chen Gang
  0 siblings, 1 reply; 6+ messages in thread
From: Mark Salter @ 2015-03-26 14:58 UTC (permalink / raw)
  To: Chen Gang; +Cc: a-jacquiot, linux-c6x-dev, linux-kernel

On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote:
> They are needed by other modules, the related error with allmodconfig:
> 
>     MODPOST 3327 modules
>   ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
>   ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
> 
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---

Thanks! I added this to the c6x tree for next merge window.

>  arch/c6x/platforms/cache.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/c6x/platforms/cache.c b/arch/c6x/platforms/cache.c
> index 86318a1..46fd2d5 100644
> --- a/arch/c6x/platforms/cache.c
> +++ b/arch/c6x/platforms/cache.c
> @@ -350,6 +350,7 @@ void L1P_cache_block_invalidate(unsigned int start, unsigned int end)
>  			      (unsigned int *) end,
>  			      IMCR_L1PIBAR, IMCR_L1PIWC);
>  }
> +EXPORT_SYMBOL(L1P_cache_block_invalidate);
>  
>  void L1D_cache_block_invalidate(unsigned int start, unsigned int end)
>  {
> @@ -371,6 +372,7 @@ void L1D_cache_block_writeback(unsigned int start, unsigned int end)
>  			      (unsigned int *) end,
>  			      IMCR_L1DWBAR, IMCR_L1DWWC);
>  }
> +EXPORT_SYMBOL(L1D_cache_block_writeback);
>  
>  /*
>   *  L2 block operations



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

* Re: [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  2015-03-26 14:58   ` Mark Salter
@ 2015-03-26 21:31     ` Chen Gang
  2015-03-31 19:19       ` Chen Gang
  2015-03-31 19:19       ` Chen Gang
  0 siblings, 2 replies; 6+ messages in thread
From: Chen Gang @ 2015-03-26 21:31 UTC (permalink / raw)
  To: Mark Salter; +Cc: a-jacquiot, linux-c6x-dev, linux-kernel

On 3/26/15 22:58, Mark Salter wrote:
> On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote:
>> They are needed by other modules, the related error with allmodconfig:
>>
>>     MODPOST 3327 modules
>>   ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
>>   ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>> ---
> 
> Thanks! I added this to the c6x tree for next merge window.
> 

Thank you for your work for all the related patches. And I am analyzing
related c6x gcc/binutils issues:

 - For binutils/ld issue, I have sent fix patch for it, the patch is OK
   (really fix the root cause), but need some additional improvement, I
   shall sent patch v2 for it within this month.

 - For gcc issue, I am analyzing, hope I can find root cause today, and
   send fix patch within this month.


Thanks.
-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

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

* Re: [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  2015-03-26 21:31     ` Chen Gang
@ 2015-03-31 19:19       ` Chen Gang
  2015-03-31 19:19       ` Chen Gang
  1 sibling, 0 replies; 6+ messages in thread
From: Chen Gang @ 2015-03-31 19:19 UTC (permalink / raw)
  To: Mark Salter; +Cc: a-jacquiot, linux-c6x-dev, linux-kernel, Bernd Schmidt

[-- Attachment #1: Type: text/plain, Size: 1703 bytes --]

On 3/27/15 05:31, Chen Gang wrote:
> On 3/26/15 22:58, Mark Salter wrote:
>> On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote:
>>> They are needed by other modules, the related error with allmodconfig:
>>>
>>>     MODPOST 3327 modules
>>>   ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
>>>   ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
>>>
>>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>>> ---
>>
>> Thanks! I added this to the c6x tree for next merge window.
>>

Sorry, I did not finish the gcc/binutils issues on time. 

 - For binutils patch, it is fixed by me, it is passed binutils related
   member's first checking, I guess it can correctly fix the related
   issue (although may still need improvement). It is in attachment.

 - For gcc, it is fixed by c6x gcc related member and it is integrated
   into gcc main line.  (I sent fix patch for it, but my original patch
   is incorrect).

I guess, I reported issues and sent patches were too late. And next I
should report and send fix patches in time (within 20??-??-20), so can
leave a little more time to others for reviewing and integrating 

> 
> Thank you for your work for all the related patches. And I am analyzing
> related c6x gcc/binutils issues:
> 
>  - For binutils/ld issue, I have sent fix patch for it, the patch is OK
>    (really fix the root cause), but need some additional improvement, I
>    shall sent patch v2 for it within this month.
> 
>  - For gcc issue, I am analyzing, hope I can find root cause today, and
>    send fix patch within this month.
> 
> 
> Thanks.
> 

-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

[-- Attachment #2: binutils_ld.patch --]
[-- Type: text/plain, Size: 1718 bytes --]



It will cause multiple definitions for _HEAP_START, _HEAP_MAX, and
_STACK_START (e.g. build linux kernel).

2015-03-27  Chen Gang  <gang.chen.5i5j@gmail.com>

	* emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
	relocating operation.
---
 ld/ChangeLog                    | 5 +++++
 ld/emulparams/elf32_tic6x_le.sh | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3a5edf2..587e2be 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-27  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	* emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
+	relocating operation.
+
 2015-03-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
 	* emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
diff --git a/ld/emulparams/elf32_tic6x_le.sh b/ld/emulparams/elf32_tic6x_le.sh
index dfd64c1..6533c7f 100644
--- a/ld/emulparams/elf32_tic6x_le.sh
+++ b/ld/emulparams/elf32_tic6x_le.sh
@@ -44,7 +44,11 @@ OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ .
 OTHER_READWRITE_RELOC_SECTIONS="
   .rel.fardata     ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) }
   .rela.fardata    ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }"
-case ${target} in
+# For relocating operation, skip OTHER_BSS_SECTIONS, or will cause multiple definition.
+if [ ${RELOCATING-0} ]; then
+  OTHER_BSS_SECTIONS="";
+else
+  case ${target} in
     *-elf)
 	OTHER_BSS_SECTIONS="
   .heap :
@@ -60,5 +64,6 @@ case ${target} in
     _STACK_START = .;
   }"
 	;;
-esac
+  esac
+fi
 ATTRS_SECTIONS='.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) }'
-- 1.9.3



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

* Re: [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  2015-03-26 21:31     ` Chen Gang
  2015-03-31 19:19       ` Chen Gang
@ 2015-03-31 19:19       ` Chen Gang
  2015-04-01 18:20         ` Chen Gang
  1 sibling, 1 reply; 6+ messages in thread
From: Chen Gang @ 2015-03-31 19:19 UTC (permalink / raw)
  To: Mark Salter; +Cc: a-jacquiot, linux-c6x-dev, linux-kernel, Bernd Schmidt

[-- Attachment #1: Type: text/plain, Size: 1703 bytes --]

On 3/27/15 05:31, Chen Gang wrote:
> On 3/26/15 22:58, Mark Salter wrote:
>> On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote:
>>> They are needed by other modules, the related error with allmodconfig:
>>>
>>>     MODPOST 3327 modules
>>>   ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
>>>   ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
>>>
>>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>>> ---
>>
>> Thanks! I added this to the c6x tree for next merge window.
>>

Sorry, I did not finish the gcc/binutils issues on time. 

 - For binutils patch, it is fixed by me, it is passed binutils related
   member's first checking, I guess it can correctly fix the related
   issue (although may still need improvement). It is in attachment.

 - For gcc, it is fixed by c6x gcc related member and it is integrated
   into gcc main line.  (I sent fix patch for it, but my original patch
   is incorrect).

I guess, I reported issues and sent patches were too late. And next I
should report and send fix patches in time (within 20??-??-20), so can
leave a little more time to others for reviewing and integrating 

> 
> Thank you for your work for all the related patches. And I am analyzing
> related c6x gcc/binutils issues:
> 
>  - For binutils/ld issue, I have sent fix patch for it, the patch is OK
>    (really fix the root cause), but need some additional improvement, I
>    shall sent patch v2 for it within this month.
> 
>  - For gcc issue, I am analyzing, hope I can find root cause today, and
>    send fix patch within this month.
> 
> 
> Thanks.
> 

-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

[-- Attachment #2: binutils_ld.patch --]
[-- Type: text/plain, Size: 1718 bytes --]



It will cause multiple definitions for _HEAP_START, _HEAP_MAX, and
_STACK_START (e.g. build linux kernel).

2015-03-27  Chen Gang  <gang.chen.5i5j@gmail.com>

	* emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
	relocating operation.
---
 ld/ChangeLog                    | 5 +++++
 ld/emulparams/elf32_tic6x_le.sh | 9 +++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index 3a5edf2..587e2be 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-27  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+	* emulparams/elf32_tic6x_le.sh: Skip OTHER_BSS_SECTIONS for
+	relocating operation.
+
 2015-03-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
 	* emultempl/aarch64elf.em (_aarch64_add_stub_section): Set section
diff --git a/ld/emulparams/elf32_tic6x_le.sh b/ld/emulparams/elf32_tic6x_le.sh
index dfd64c1..6533c7f 100644
--- a/ld/emulparams/elf32_tic6x_le.sh
+++ b/ld/emulparams/elf32_tic6x_le.sh
@@ -44,7 +44,11 @@ OTHER_READWRITE_SECTIONS=".fardata ${RELOCATING-0} : { *(.fardata${RELOCATING+ .
 OTHER_READWRITE_RELOC_SECTIONS="
   .rel.fardata     ${RELOCATING-0} : { *(.rel.fardata${RELOCATING+ .rel.fardata.*}) }
   .rela.fardata    ${RELOCATING-0} : { *(.rela.fardata${RELOCATING+ .rela.fardata.*}) }"
-case ${target} in
+# For relocating operation, skip OTHER_BSS_SECTIONS, or will cause multiple definition.
+if [ ${RELOCATING-0} ]; then
+  OTHER_BSS_SECTIONS="";
+else
+  case ${target} in
     *-elf)
 	OTHER_BSS_SECTIONS="
   .heap :
@@ -60,5 +64,6 @@ case ${target} in
     _STACK_START = .;
   }"
 	;;
-esac
+  esac
+fi
 ATTRS_SECTIONS='.c6xabi.attributes 0 : { KEEP (*(.c6xabi.attributes)) KEEP (*(.gnu.attributes)) }'
-- 1.9.3



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

* Re: [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback
  2015-03-31 19:19       ` Chen Gang
@ 2015-04-01 18:20         ` Chen Gang
  0 siblings, 0 replies; 6+ messages in thread
From: Chen Gang @ 2015-04-01 18:20 UTC (permalink / raw)
  To: Mark Salter; +Cc: a-jacquiot, linux-c6x-dev, linux-kernel, Bernd Schmidt

On 4/1/15 03:19, Chen Gang wrote:
> On 3/27/15 05:31, Chen Gang wrote:
>> On 3/26/15 22:58, Mark Salter wrote:
>>> On Wed, 2015-03-04 at 15:05 +0800, Chen Gang wrote:
>>>> They are needed by other modules, the related error with allmodconfig:
>>>>
>>>>     MODPOST 3327 modules
>>>>   ERROR: "L1P_cache_block_invalidate" [drivers/misc/lkdtm.ko] undefined!
>>>>   ERROR: "L1D_cache_block_writeback" [drivers/misc/lkdtm.ko] undefined!
>>>>
>>>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>>>> ---
>>>
>>> Thanks! I added this to the c6x tree for next merge window.
>>>

The related binutils patch is merged into the latest binutils tree. At
present, we can use the latest gcc/binutils to cross compile c6x with
allmodconfig successfully.  :-)

Thanks.

> 
> Sorry, I did not finish the gcc/binutils issues on time. 
> 
>  - For binutils patch, it is fixed by me, it is passed binutils related
>    member's first checking, I guess it can correctly fix the related
>    issue (although may still need improvement). It is in attachment.
> 
>  - For gcc, it is fixed by c6x gcc related member and it is integrated
>    into gcc main line.  (I sent fix patch for it, but my original patch
>    is incorrect).
> 
> I guess, I reported issues and sent patches were too late. And next I
> should report and send fix patches in time (within 20??-??-20), so can
> leave a little more time to others for reviewing and integrating 
> 
>>
>> Thank you for your work for all the related patches. And I am analyzing
>> related c6x gcc/binutils issues:
>>
>>  - For binutils/ld issue, I have sent fix patch for it, the patch is OK
>>    (really fix the root cause), but need some additional improvement, I
>>    shall sent patch v2 for it within this month.
>>
>>  - For gcc issue, I am analyzing, hope I can find root cause today, and
>>    send fix patch within this month.
>>
>>
>> Thanks.
>>
> 

-- 
Chen Gang

Open, share, and attitude like air, water, and life which God blessed

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

end of thread, other threads:[~2015-04-01 18:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <54F6AD4B.8080607@hotmail.com>
2015-03-04  7:05 ` [PATCH] c6x: platforms: cache: Export symbol L1P_cache_block_invalidate and L1D_cache_block_writeback Chen Gang
2015-03-26 14:58   ` Mark Salter
2015-03-26 21:31     ` Chen Gang
2015-03-31 19:19       ` Chen Gang
2015-03-31 19:19       ` Chen Gang
2015-04-01 18:20         ` Chen Gang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®