xenalyze: Basic TRC_HVM_EMUL handling

For now, mainly just do volume analysis and get rid of the warnings.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
This commit is contained in:
George Dunlap committed 2023-06-30 11:29:06 +01:00
1 parent aab4b38b5d
commit c81b287e00
1 file changed
+11 -6
+11 -6
View File
@@ -987,6 +987,7 @@ enum {
HVM_VOL_VMENTRY,
HVM_VOL_VMEXIT,
HVM_VOL_HANDLER,
HVM_VOL_EMUL,
HVM_VOL_MAX
};
@@ -1013,6 +1014,7 @@ const char *hvm_vol_name[HVM_VOL_MAX] = {
[HVM_VOL_VMENTRY]="vmentry",
[HVM_VOL_VMEXIT] ="vmexit",
[HVM_VOL_HANDLER]="handler",
[HVM_VOL_EMUL]="emul",
};
enum {
@@ -5275,15 +5277,18 @@ void hvm_process(struct pcpu_info *p)
if(vcpu_set_data_type(p->current, VCPU_DATA_HVM))
return;
if(ri->evt.sub == 2)
{
switch ( ri->evt.sub ) {
case 2: /* HVM_HANDLER */
UPDATE_VOLUME(p, hvm[HVM_VOL_HANDLER], ri->size);
hvm_handler_process(ri, h);
}
else
{
break;
case 4: /* HVM_EMUL */
UPDATE_VOLUME(p, hvm[HVM_VOL_EMUL], ri->size);
warn_once("WARNING: We don't yet analyze HVM_EMUL events.\n");
/* FIXME: Collect analysis on this */
break;
default:
switch(ri->event) {
/* HVM */
case TRC_HVM_VMEXIT:
case TRC_HVM_VMEXIT64:
UPDATE_VOLUME(p, hvm[HVM_VOL_VMEXIT], ri->size);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.