On Monday 10 March 2008 20:11:27 Rafal Boni wrote:
Oops, I guess there isn't a separate evbarm list; forwarding here.
--rafal
Encapsulated message
evbarm ldscript vs. KERNEL_BASE_PHYS != KERNEL_BASE_VIRT
From: Rafal Boni <rafal%pobox.com@localhost>
To: port-evbarm%netbsd.org@localhost
CC: port-hpcarm%netbsd.org@localhost
If I build a kernel where KERNEL_BASE_PHYS != KERNEL_BASE_VIRT, the BSS
ends up having it's (ELF) physaddr set to one based at KERNEL_BASE_VIRT
instead of KERNEL_BASE_PHYS. This seems like a bug to me and it makes
it hard for me to correctly load such a kernel, since my loader tries
to zero memory that's likely unmapped at the time.
Diff that fixes it for me is below; I thought I'd pass this by the list
for feedback since I'm far from an ARM gooroo.
I think this is standard linker behaviour
" The linker will normally set the LMA equal to the VMA. You can
change that by using the `AT' keyword. The expression LMA that follows
the `AT' keyword specifies the load address of the section."