Loading include/xen/hvm.h +32 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,36 @@ #include <xen/interface/hvm/params.h> #include <asm/xen/hypercall.h> static const char *param_name(int op) { #define PARAM(x) [HVM_PARAM_##x] = #x static const char *const names[] = { PARAM(CALLBACK_IRQ), PARAM(STORE_PFN), PARAM(STORE_EVTCHN), PARAM(PAE_ENABLED), PARAM(IOREQ_PFN), PARAM(BUFIOREQ_PFN), PARAM(TIMER_MODE), PARAM(HPET_ENABLED), PARAM(IDENT_PT), PARAM(DM_DOMAIN), PARAM(ACPI_S_STATE), PARAM(VM86_TSS), PARAM(VPT_ALIGN), PARAM(CONSOLE_PFN), PARAM(CONSOLE_EVTCHN), }; #undef PARAM if (op >= ARRAY_SIZE(names)) return "unknown"; if (!names[op]) return "reserved"; return names[op]; } static inline int hvm_get_parameter(int idx, uint64_t *value) { struct xen_hvm_param xhv; Loading @@ -14,8 +44,8 @@ static inline int hvm_get_parameter(int idx, uint64_t *value) xhv.index = idx; r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv); if (r < 0) { printk(KERN_ERR "Cannot get hvm parameter %d: %d!\n", idx, r); printk(KERN_ERR "Cannot get hvm parameter %s (%d): %d!\n", param_name(idx), idx, r); return r; } *value = xhv.value; Loading Loading
include/xen/hvm.h +32 −2 Original line number Diff line number Diff line Loading @@ -5,6 +5,36 @@ #include <xen/interface/hvm/params.h> #include <asm/xen/hypercall.h> static const char *param_name(int op) { #define PARAM(x) [HVM_PARAM_##x] = #x static const char *const names[] = { PARAM(CALLBACK_IRQ), PARAM(STORE_PFN), PARAM(STORE_EVTCHN), PARAM(PAE_ENABLED), PARAM(IOREQ_PFN), PARAM(BUFIOREQ_PFN), PARAM(TIMER_MODE), PARAM(HPET_ENABLED), PARAM(IDENT_PT), PARAM(DM_DOMAIN), PARAM(ACPI_S_STATE), PARAM(VM86_TSS), PARAM(VPT_ALIGN), PARAM(CONSOLE_PFN), PARAM(CONSOLE_EVTCHN), }; #undef PARAM if (op >= ARRAY_SIZE(names)) return "unknown"; if (!names[op]) return "reserved"; return names[op]; } static inline int hvm_get_parameter(int idx, uint64_t *value) { struct xen_hvm_param xhv; Loading @@ -14,8 +44,8 @@ static inline int hvm_get_parameter(int idx, uint64_t *value) xhv.index = idx; r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv); if (r < 0) { printk(KERN_ERR "Cannot get hvm parameter %d: %d!\n", idx, r); printk(KERN_ERR "Cannot get hvm parameter %s (%d): %d!\n", param_name(idx), idx, r); return r; } *value = xhv.value; Loading