From Msim

Revision as of 18:00, 4 December 2009 by Jloew (Talk | contribs)
Jump to: navigation, search

This page refers to the changes made in the 3.0.13 release of M-sim.

Release Date:



EIO Handler

The EIO code has been modified to support the retention of file descriptors.


All EIO files that support this are marked as file version 4. This is internally referred to as "EIO_FILE_VERSION_NEW" (this name will change after testing).

Version 3 EIO files are still supported if they do not require the file descriptors to be repaired. Note that syscall traces were never really well supported in M-sim and were usually ignored (or not ignored by crashing).


The file descriptors are stored in the EIO file as follows (refer to file_table.c):

(<Number of entries>, <entry0>, <entry1>, <entry2>, ..., <entryN>)


<Number of entries> is the number of file descriptors that a context has access to (file_table_t::entries.size())


<entryX> refers to the Xth entry in file_table_t::entries (which is a vector of type file_entry_t)

All contexts have a minimum of 3 entries (stdin, stdout, stderr):

(3, <entry0>, <entry1>, <entry2>)

Obsolete Code

file_table.c and file_table.h replace "translation_table" and "name_table" objects that were part of a context. file_table_t is the object that replaces this.
Redirection replacement now comes from file_table_t rather than the context.
EIO file descriptor handling in syscall.c is no longer needed.

File Table

Personal tools