* [PATCH 0/2] section name cleanup for microblaze
@ 2009-04-30 23:51 Tim Abbott
2009-04-30 23:51 ` [PATCH 1/2] microblaze: use new macro for .data.cacheline_aligned section Tim Abbott
0 siblings, 1 reply; 3+ messages in thread
From: Tim Abbott @ 2009-04-30 23:51 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Linux kernel mailing list, Anders Kaseorg, Waseem Daher,
Denys Vlasenko, Jeff Arnold, Michal Simek, microblaze-uclinux,
Tim Abbott
This patch series cleans up the section names on the microblaze
architecture. It requires the architecture-independent macro
definitions from this patch series:
<http://www.spinics.net/lists/mips/msg33499.html>
The long-term goal here is to add support for building the kernel with
-ffunction-sections -fdata-sections. This requires renaming all the
magic section names in the kernel of the form .text.foo, .data.foo,
.bss.foo, and .rodata.foo to not have collisions with sections
generated for code like:
static int nosave = 0; /* -fdata-sections places in .data.nosave */
static void head(); /* -ffunction-sections places in .text.head */
Note that these patches have not been boot-tested (aside from testing
the analogous changes on x86), since I don't have access to the
appropriate hardware.
-Tim Abbott
Tim Abbott (2):
microblaze: use new macro for .data.cacheline_aligned section.
microblaze: use new macros for .data.init_task
arch/microblaze/kernel/init_task.c | 3 +--
arch/microblaze/kernel/vmlinux.lds.S | 8 ++------
2 files changed, 3 insertions(+), 8 deletions(-)
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 1/2] microblaze: use new macro for .data.cacheline_aligned section.
2009-04-30 23:51 [PATCH 0/2] section name cleanup for microblaze Tim Abbott
@ 2009-04-30 23:51 ` Tim Abbott
2009-04-30 23:51 ` [PATCH 2/2] microblaze: use new macros for .data.init_task Tim Abbott
0 siblings, 1 reply; 3+ messages in thread
From: Tim Abbott @ 2009-04-30 23:51 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Linux kernel mailing list, Anders Kaseorg, Waseem Daher,
Denys Vlasenko, Jeff Arnold, Michal Simek, microblaze-uclinux,
Tim Abbott
Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Michal Simek <monstr@monstr.eu>
Cc: microblaze-uclinux@itee.uq.edu.au
---
arch/microblaze/kernel/vmlinux.lds.S | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
index 840385e..de25a68 100644
--- a/arch/microblaze/kernel/vmlinux.lds.S
+++ b/arch/microblaze/kernel/vmlinux.lds.S
@@ -64,9 +64,8 @@ SECTIONS {
_sdata = . ;
.data ALIGN (4096) : { /* page aligned when MMU used - origin 0x4 */
*(.data)
+ CACHELINE_ALIGNED_DATA(32)
}
- . = ALIGN(32);
- .data.cacheline_aligned : { *(.data.cacheline_aligned) }
_edata = . ;
/* Reserve some low RAM for r0 based memory references */
--
1.6.2.1
^ permalink raw reply [flat|nested] 3+ messages in thread* [PATCH 2/2] microblaze: use new macros for .data.init_task
2009-04-30 23:51 ` [PATCH 1/2] microblaze: use new macro for .data.cacheline_aligned section Tim Abbott
@ 2009-04-30 23:51 ` Tim Abbott
0 siblings, 0 replies; 3+ messages in thread
From: Tim Abbott @ 2009-04-30 23:51 UTC (permalink / raw)
To: Sam Ravnborg
Cc: Linux kernel mailing list, Anders Kaseorg, Waseem Daher,
Denys Vlasenko, Jeff Arnold, Michal Simek, microblaze-uclinux,
Tim Abbott
.data.init_task should not need a separate output section; this change
moves it into the .data section.
Signed-off-by: Tim Abbott <tabbott@mit.edu>
Cc: Michal Simek <monstr@monstr.eu>
Cc: microblaze-uclinux@itee.uq.edu.au
---
arch/microblaze/kernel/init_task.c | 3 +--
arch/microblaze/kernel/vmlinux.lds.S | 5 +----
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/arch/microblaze/kernel/init_task.c b/arch/microblaze/kernel/init_task.c
index 48eb9fb..d765fc1 100644
--- a/arch/microblaze/kernel/init_task.c
+++ b/arch/microblaze/kernel/init_task.c
@@ -21,8 +21,7 @@ static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand);
struct mm_struct init_mm = INIT_MM(init_mm);
EXPORT_SYMBOL(init_mm);
-union thread_union init_thread_union
- __attribute__((__section__(".data.init_task"))) =
+union thread_union init_thread_union __init_task_data =
{ INIT_THREAD_INFO(init_task) };
struct task_struct init_task = INIT_TASK(init_task);
diff --git a/arch/microblaze/kernel/vmlinux.lds.S b/arch/microblaze/kernel/vmlinux.lds.S
index de25a68..dcb2bc1 100644
--- a/arch/microblaze/kernel/vmlinux.lds.S
+++ b/arch/microblaze/kernel/vmlinux.lds.S
@@ -63,6 +63,7 @@ SECTIONS {
_sdata = . ;
.data ALIGN (4096) : { /* page aligned when MMU used - origin 0x4 */
+ INIT_TASK_DATA(THREAD_SIZE)
*(.data)
CACHELINE_ALIGNED_DATA(32)
}
@@ -73,10 +74,6 @@ SECTIONS {
r0_ram = . ;
. = . + 4096; /* a page should be enough */
- /* The initial task */
- . = ALIGN(8192);
- .data.init_task : { *(.data.init_task) }
-
/* Under the microblaze ABI, .sdata and .sbss must be contiguous */
. = ALIGN(8);
.sdata : {
--
1.6.2.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-04-30 23:57 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-30 23:51 [PATCH 0/2] section name cleanup for microblaze Tim Abbott
2009-04-30 23:51 ` [PATCH 1/2] microblaze: use new macro for .data.cacheline_aligned section Tim Abbott
2009-04-30 23:51 ` [PATCH 2/2] microblaze: use new macros for .data.init_task Tim Abbott
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®