diff --git a/doc/user/emulation/events.md b/doc/user/emulation/events.md
index 639b7ea..ae3ad80 100644
--- a/doc/user/emulation/events.md
+++ b/doc/user/emulation/events.md
@@ -1,7 +1,7 @@
# Emulator events
This is a exhaustive list of the events recognized by the emulator.
-Built on Mar 20 2024.
+Built on Jun 12 2024.
## Model nanos6
@@ -615,7 +615,7 @@ List of events for the model *tampi* with identifier **`T`** at version `1.0.0`:
## Model nosv
-List of events for the model *nosv* with identifier **`V`** at version `2.1.0`:
+List of events for the model *nosv* with identifier **`V`** at version `2.2.0`:
VTc(u32 taskid, u32 typeid)
- creates task %{taskid} with type %{typeid}
@@ -721,4 +721,10 @@ List of events for the model *nosv* with identifier **`V`** at version `2.1.0`:
- begins execution as delegate
VHD
- ceases execution as delegate
+VPp
+- sets progress state to Progressing
+VPr
+- sets progress state to Resting
+VPa
+- sets progress state to Absorbing
diff --git a/doc/user/emulation/versions.md b/doc/user/emulation/versions.md
index affaefa..617021c 100644
--- a/doc/user/emulation/versions.md
+++ b/doc/user/emulation/versions.md
@@ -39,9 +39,11 @@ Track changes in emulator model versions.
## nOS-V
+- nosv 2.2.0
+ - Add support for progress events `VP{pra}`.
- nosv 2.1.0
- - Add support for `nosv_mutex_lock`, `nosv_mutex_trylock` and `nosv_mutex_unlock` events VA{lLtTuU}.
- - Add support for `nosv_barrier_wait` event VA{bB}.
+ - Add support for `nosv_mutex_lock`, `nosv_mutex_trylock` and `nosv_mutex_unlock` events `VA{lLtTuU}`.
+ - Add support for `nosv_barrier_wait` event `VA{bB}`.
- nosv 2.0.0
- Add support for parallel tasks, adding a new `bodyid` argument in `VT*` events.
- Remove support for old attach events `VH{aA}`.
diff --git a/src/emu/nosv/setup.c b/src/emu/nosv/setup.c
index b4eaf5c..5539e5c 100644
--- a/src/emu/nosv/setup.c
+++ b/src/emu/nosv/setup.c
@@ -73,12 +73,16 @@ static struct ev_decl model_evlist[] = {
PAIR_B("VHw", "VHW", "execution as worker")
PAIR_B("VHd", "VHD", "execution as delegate")
+ { "VPp", "sets progress state to Progressing" },
+ { "VPr", "sets progress state to Resting" },
+ { "VPa", "sets progress state to Absorbing" },
+
{ NULL, NULL },
};
struct model_spec model_nosv = {
.name = model_name,
- .version = "2.1.0",
+ .version = "2.2.0",
.evlist = model_evlist,
.model = model_id,
.create = model_nosv_create,