ARM linker scripts

Jon Ringle jon@ringle.org
Thu Apr 24 12:18:00 GMT 2008


Jonathan,

I suspect the reason is to allow room for the installation of a FIQ handler.
From arch/arm/kernel/fiq.c:

void set_fiq_handler(void *start, unsigned int length)
{
	memcpy((void *)0xffff001c, start, length);
	flush_icache_range(0xffff001c, 0xffff001c + length);
	if (!vectors_high())
		flush_icache_range(0x1c, 0x1c + length);
}

Jon

> -----Original Message-----
> From: crossgcc-owner@sourceware.org [mailto:crossgcc-owner@sourceware.org]
> On Behalf Of Jonathan S. Shapiro
> Sent: Thursday, April 24, 2008 07:23
> To: crossgcc@sourceware.org
> Subject: ARM linker scripts
> 
> This is probably a question for the binutils list, but I suspect people
> here may know the answer, because I suspect this is motivated by an
> embedded system issue.
> 
> The ARM-elf linker scripts introduce a 256 byte gap between text and
> data.
> 
> I could understand rounding up to next page. I could also understand not
> rounding up at all (following the convention of other platforms). What I
> do not understand is why 256 bytes makes any sense here.
> 
> Does anybody happen to know?
> 
> 
> --
> For unsubscribe information see http://sourceware.org/lists.html#faq



--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list