mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-19 05:37:54 +00:00
9fc3344ee8
When the former trace buffer implementation wrapped, the last entry according to commit order couldn't be detected anymore. Now, the last committed entry is always followed by an entry with length 0. As a downside of this, there are now two meanings of "last" entry: It means either that the entry marks the empty padding after the entry with the highest memory address or that it actually marks the end of the buffer according to commit order. This is an example state of the buffer with the two types of "last" entry: last last +-------------+------------+---+---------+-------------+------------+---+-------+ | len3 data3 | len4 data4 | 0 | empty | len1 data1 | len2 data2 | 0 | empty | +-------------+------------+---+---------+-------------+------------+---+-------+ If the entry with the highest memory address fits perfectly, the first type of "last" entry is not needed: last +------------+--------------------+---+-------+-------------+-------------------+ | len3 data3 | len4 data4 | 0 | empty | len1 data1 | len2 data2 | +------------+--------------------+---+-------+-------------+-------------------+ If the buffer didn't wrap so far, there is only one "last" entry that has both meanings: last +--------------------------+------------+-------------+---+---------------------+ | len1 data1 | len2 data2 | len3 data3 | 0 | empty | +--------------------------+------------+-------------+---+---------------------+ Issue #2735 Co-authored-by: Martin Stein <martin.stein@genode-labs.com> |
||
---|---|---|
.. | ||
base | ||
cap_session | ||
cpu | ||
cpu_session | ||
cpu_thread | ||
dataspace | ||
deprecated | ||
drivers | ||
io_mem_session | ||
io_port_session | ||
irq_session | ||
log_session | ||
parent | ||
pd_session | ||
ram_session | ||
region_map | ||
rm_session | ||
rom_session | ||
root | ||
session | ||
spec | ||
thread | ||
trace_session | ||
util | ||
README |
This directory contains include files of interfaces that are exported by components to be used by other components. Each subdirectory corresponds to the component exporting the interface.