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."

Sorry, I guess I should have added a bit of context. The LMA is set to
an address based at KERNEL_BASE_PHYS for the text & data sections in the
evbarm linker script already; it just isn't done so for the BSS (& sbss,
etc.).

My question is whether it was only done for text & data (not bss, sbss,
etc.) due to an oversight, or was this intentional? It certainly seems
wrong to me, but I don't own any of the evbarm-supported eval boards, so
can't say it has no side effects there.