blob: 8fa95c0e9d8c4b5b84aa76fef5fd90aee0301069 [file]
/*
* Copyright 2017, Data61, CSIRO (ABN 41 687 119 230)
*
* SPDX-License-Identifier: BSD-2-Clause
*/
import <std_connector.camkes>;
procedure Lock {
void lock(void);
void unlock(void);
}
component Client {
control;
uses Lock l;
}
component Server {
has mutex m;
provides Lock a;
provides Lock b;
provides Lock c;
}
assembly {
composition {
component Client c1;
component Client c2;
component Client c3;
component Server s;
connection seL4RPCCall s1(from c1.l, to s.a);
connection seL4RPCCall s2(from c2.l, to s.b);
connection seL4RPCCall s3(from c3.l, to s.c);
}
}