Skip to content

Commit ca9ac02

Browse files
committed
set_mem_event & slat_control functions added
1 parent c21af83 commit ca9ac02

File tree

3 files changed

+21
-0
lines changed

3 files changed

+21
-0
lines changed

libvmi/events_cdef.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,12 @@ struct vmi_event {
215215
status_t vmi_register_event(
216216
vmi_instance_t vmi,
217217
vmi_event_t *event);
218+
219+
status_t vmi_set_mem_event(
220+
vmi_instance_t vmi,
221+
addr_t gfn,
222+
vmi_mem_access_t access,
223+
uint16_t slat_id);
218224

219225
status_t vmi_events_listen(
220226
vmi_instance_t vmi,

libvmi/libvmi.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -982,6 +982,13 @@ def register_event(self, event):
982982
cffi_event = event.to_cffi()
983983
status = lib.vmi_register_event(self.vmi, cffi_event)
984984
check(status)
985+
986+
def set_mem_event(self, gfn,access,slatid):
987+
cffgfn = ffi.new("addr_t *",gfn)
988+
cffaccess = ffi.new("uint8_t *",access)
989+
cffslatid = ffi.new("uint16_t *",slatid)
990+
status = lib.vmi_set_mem_event(self.vmi, gfn,access,slatid)
991+
check(status)
985992

986993
def clear_event(self, event):
987994
cffi_event = event.to_cffi()
@@ -1017,6 +1024,10 @@ def get_va_pages(self, dtb):
10171024
return va_pages
10181025

10191026
# slat
1027+
def slat_control(self,state):
1028+
state = ffi.new("bool *")
1029+
status = lib.vmi_slat_control(self.vmi, state)
1030+
check(status)
10201031
def slat_get_domain_state(self):
10211032
state = ffi.new("bool *")
10221033
status = lib.vmi_slat_get_domain_state(self.vmi, state)

libvmi/slat_cdef.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@ status_t vmi_slat_change_gfn (
2323
uint16_t slat_idx,
2424
addr_t old_gfn,
2525
addr_t new_gfn);
26+
27+
status_t vmi_slat_control (
28+
vmi_instance_t vmi,
29+
bool *state);

0 commit comments

Comments
 (0)