(create_map): Make -1 imply a non-fixed address, not 0. All
callers changed. Only prefer the next higher unmapped address if
the last mapped address is no less than 0x40000000. Check that
the address to be mapped is not already mapped. Update head
comment.
(unmap_pages): Don't call abort when recursive call fails, just
note and return an error if a page in the range couldn't be unmapped.
(cris_bmod_handler, h_supr_set_handler, h_supr_get_handler)
(schedule, make_first_thread, cris_pipe_empty): New local variable sd.
(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle
non-MAP_FIXED argument overlapping existing map. For MAP_FIXED,
don't abort on page not being mapped. Handle non-anon filemap
with length padded to pagesize.
set_target_thread_data.
* cris/crisv32f.c (CRIS_TLS_REGISTER): Define.
* cris/crisv10f.c: Ditto.
* cris/cris-tmpl.c (MY (set_target_thread_data)): New function.
(MY (f_specific_init)): Set new _sim_cpu member to new function.
* cris/traps.c (TARGET_SYS_set_thread_area): Define.
(cris_break_13_handler) <case TARGET_SYS_set_thread_area>: New
case.
(TARGET_EPOCH): Update to match TARGET_UTSNAME. Correct comment.
(cris_break_13_handler) <case TARGET_SYS_uname>: Update to
2.6.27. Set machine field to the BFD printable name of the
machine.
(is_mapped_only, cris_dump_map): New functions.
(cris_break_13_handler) <case TARGET_SYS_mmap2>: Handle more flags
and prot combinations and a non-zero page-offset. If
TARGET_MAP_FIXED, unmap pages before mapping them.
<case TARGET_SYS_mprotect>: When checking, allow any length
argument. Don't actually do anything.
<case TARGET_SYS_writev>: New case.
(cris_unknown_syscall_action): Declare.
* cris/sim-if.c (cris_unknown_syscall_action): Define.
(cris_options): Add cris-unknown-syscall option.
(cris_option_handler): Correct comment about and error message for
invalid --cris-cycles argument. Handle --cris-unknown-syscall.
* cris/traps.c: Include stdarg.h
(cris_unknown_syscall): New function.
(cris_break_13_handler): Instead of sim_io_eprintf and
sim_engine_halt, call cris_unknown_syscall to handle more or less
unknown syscalls. Adjust code as necessary to handle return
value.
(open_map): Use TARGET_O_ACCMODE, TARGET_O_RDONLY and
TARGET_O_WRONLY.
(cris_break_13_handler) <case TARGET_SYS_fcntl>: Add support for
F_GETFL on fd 0, 1 and 2.
last_open_fd, last_open_flags.
* cris/traps.c: Don't include targ-vals.h.
(TARGET_O_ACCMODE): Define.
(cris_break_13_handler): Set new _sim_cpu members.
<case TARGET_SYS_fcntl>: Support special case of F_GETFL.
Rearrange code as switch. Emit "unimplemented" abort for
unimplemented fcntl calls.