Run Nanos6 connect hook at init for breakdown
This commit is contained in:
parent
1c82470bfc
commit
999a79b074
@ -565,6 +565,9 @@ model_nanos6_event(struct emu *emu)
|
|||||||
static int enabled = 0;
|
static int enabled = 0;
|
||||||
|
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
|
struct nanos6_emu *memu = EXT(emu, '6');
|
||||||
|
memu->event = 1;
|
||||||
|
|
||||||
if (model_nanos6_connect(emu) != 0) {
|
if (model_nanos6_connect(emu) != 0) {
|
||||||
err("nanos6_connect failed");
|
err("nanos6_connect failed");
|
||||||
return -1;
|
return -1;
|
||||||
|
@ -87,6 +87,8 @@ struct nanos6_proc {
|
|||||||
};
|
};
|
||||||
|
|
||||||
struct nanos6_emu {
|
struct nanos6_emu {
|
||||||
|
int connected;
|
||||||
|
int event;
|
||||||
struct breakdown_emu brk;
|
struct breakdown_emu brk;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -35,7 +35,7 @@ struct model_spec model_nanos6 = {
|
|||||||
.name = model_name,
|
.name = model_name,
|
||||||
.model = model_id,
|
.model = model_id,
|
||||||
.create = model_nanos6_create,
|
.create = model_nanos6_create,
|
||||||
// .connect = model_nanos6_connect,
|
.connect = model_nanos6_connect,
|
||||||
.event = model_nanos6_event,
|
.event = model_nanos6_event,
|
||||||
.probe = model_nanos6_probe,
|
.probe = model_nanos6_probe,
|
||||||
.finish = model_nanos6_finish,
|
.finish = model_nanos6_finish,
|
||||||
@ -282,6 +282,16 @@ model_nanos6_create(struct emu *emu)
|
|||||||
int
|
int
|
||||||
model_nanos6_connect(struct emu *emu)
|
model_nanos6_connect(struct emu *emu)
|
||||||
{
|
{
|
||||||
|
struct nanos6_emu *memu = EXT(emu, model_id);
|
||||||
|
|
||||||
|
if (memu->connected)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
/* Only skip connection if event not reached and
|
||||||
|
* breakdown not enabled */
|
||||||
|
if (!memu->event && !emu->args.breakdown)
|
||||||
|
return 0;
|
||||||
|
|
||||||
if (model_thread_connect(emu, &th_spec) != 0) {
|
if (model_thread_connect(emu, &th_spec) != 0) {
|
||||||
err("model_thread_connect failed");
|
err("model_thread_connect failed");
|
||||||
return -1;
|
return -1;
|
||||||
@ -314,6 +324,8 @@ model_nanos6_connect(struct emu *emu)
|
|||||||
mux_set_default(mux, value_int64(ST_WORKER_IDLE));
|
mux_set_default(mux, value_int64(ST_WORKER_IDLE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
memu->connected = 1;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user