This is the V2 of this patch series. In the discussion of V1, the
major comments are:
1. dcache.c and target_dcache needs some cleanups and factor.
2. commands "set dcache size" and "set dcahce line-size" needs a
description on semantics when dcache is per-address_space.
3. Use a single global 'target_dcache' for both stack caching and
code caching.
4. Replace "executable code" with "code segment" in doc and NEWS.
V2 addresses these comments as follows:
Patch #1 ~ #4 are about cleanups and factors to dcache.c and
target_dcache. Patch #5 is a minor optimization to target_dcache.
Patch #6 and #7 change target_dcache to per-address_space mode, and
update doc on dcache-related commands.
We decide to use single 'target_dcache' for caching different types
of access, so cache invalidation caused by option "stack-cache"
changes makes troubles. Think a little, I find we don't have to
invalidate target_dcache when option "stack-cache" is changed. This
is what patch #8 does, and looks change in patch #8 doesn't affect
the semantics of option "set stack-cache".
Patch #9 adds command "set code-cache", similar to "set stack-cache", and
patch #10 is to use TARGET_OBJECT_CODE_MEMORY to read for disassembly.
Patch 4, 5, 7, and 9 need doc review.
Each patch is regression tested on x86_64-linux.