minix/minix/include/minix/ipc_filter.h
David van Moolenbroek 2867e60add SEF: query VM about holes during state transfer
The 'memory' service has holes in its data section, which causes
problems during state transfer.  Since VM cannot handle page faults
during a multicomponent-with-VM live update, the state transfer must
ensure that no page faults occur during copying.  Therefore, we now
query VM about the regions to copy, thus skipping holes.  While the
solution is not ideal, it is sufficiently generic that it can be used
for the data section state transfer of all processes, and possibly
for state transfer of other regions in the future as well.

Change-Id: I2a71383a18643ebd36956c396fbd22c8fd137202
2015-09-17 13:43:06 +00:00

31 lines
754 B
C

/* IPC filter definitions. */
#ifndef _MINIX_IPC_FILTER_H
#define _MINIX_IPC_FILTER_H
#include <minix/com.h>
#include <minix/config.h>
/* Special message sources, allowed in IPC filters only. */
#define ANY_USR _ENDPOINT(1, _ENDPOINT_P(ANY))
#define ANY_SYS _ENDPOINT(2, _ENDPOINT_P(ANY))
#define ANY_TSK _ENDPOINT(3, _ENDPOINT_P(ANY))
/* IPC filter constants. */
#define IPCF_MAX_ELEMENTS (NR_SYS_PROCS * 2)
/* IPC filter flags. */
#define IPCF_MATCH_M_SOURCE 0x1
#define IPCF_MATCH_M_TYPE 0x2
#define IPCF_EL_BLACKLIST 0x4
#define IPCF_EL_WHITELIST 0x8
struct ipc_filter_el_s {
int flags;
endpoint_t m_source;
int m_type;
};
typedef struct ipc_filter_el_s ipc_filter_el_t;
#endif /* _MINIX_IPC_FILTER_H */