mirror of
https://github.com/genodelabs/genode.git
synced 2025-03-29 07:06:25 +00:00
This patch splits the 'Request' definition into smaller types that are suitable for the client-side API too. The new 'Operation' type comprises the block operation's type (opcode) and the operation's arguments (block number, block count). The former 'Request::operation_defined' is now 'Operation::valid'. The 'Request' aggregates an 'Operation', which changes its object layout. Note that this commit relaxes the bit-precise definition of 'Request' to facilitate the use of 'unsigned long' where appropriate, in particular for the request tag (which should correspond to an 'Id_space::Id'). The originally bit-precise definition was pursued to allow the sharing of the 'Request' type between SPARK and C++ code. However, it turns out that defining a native type in each language and a (set of) converting constructors is a more natural approach. Issue #3283
This source-code repository contains genuine low-level OS components and interfaces of Genode. It solely depends on the framework's base API.