forked from auracaster/openocd
target.cfg: remove "-work-area-virt 0"
The semantics of "-work-area-virt 0" (or phys) changed with the patch to require specifying physical or virtrual work area addresses. Specifying zero was previously a NOP. Now it means that address zero is valid. This patch addresses three related issues: - MMU-less processors should never specify work-area-virt; remove those specifications. Such processors include ARM7TDMI, Cortex-M3, and ARM966. - MMU-equipped processors *can* specify work-area-virt... but zero won't be appropriate, except in mischievous contexts (which hide null pointer exceptions). Remove those specs from those processors too. If any of those mappings is valid, someone will need to submit a patch adding it ... along with a comment saying what OS provides the mapping, and in which context. Example, say "works with Linux 2.6.30+, in kernel mode". (Note that ARM Linux doesn't map kernel memory to zero ...) - Clarify docs on that "-virt" and other work area stuff. Seems to me work-area-virt is quite problematic; not every operating system provides such static mappings; if they do, they're not in every MMU context... Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
@@ -3185,13 +3185,18 @@ since performing a backup slows down operations.
|
||||
For example, the beginning of an SRAM block is likely to
|
||||
be used by most build systems, but the end is often unused.
|
||||
|
||||
@item @code{-work-area-size} @var{size} -- specify/set the work area
|
||||
@item @code{-work-area-size} @var{size} -- specify work are size,
|
||||
in bytes. The same size applies regardless of whether its physical
|
||||
or virtual address is being used.
|
||||
|
||||
@item @code{-work-area-phys} @var{address} -- set the work area
|
||||
base @var{address} to be used when no MMU is active.
|
||||
|
||||
@item @code{-work-area-virt} @var{address} -- set the work area
|
||||
base @var{address} to be used when an MMU is active.
|
||||
@emph{Do not specify a value for this except on targets with an MMU.}
|
||||
The value should normally correspond to a static mapping for the
|
||||
@code{-work-area-phys} address, set up by the current operating system.
|
||||
|
||||
@end itemize
|
||||
@end deffn
|
||||
|
||||
Reference in New Issue
Block a user