[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 1/6] x86/Hyper-V: use standard C types in hyperv-tlfs.h
This is the only file left with a use of an __s<N> type coming from Linux. Since the file has been using an apparently random mix of all three classes of fixed-width types (__{s,u}<N>, {s,u}<N>, and {,u}int<N>_t), consolidate this to use exclusively standard types. No functional change intended. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- a/xen/arch/x86/include/asm/guest/hyperv-tlfs.h +++ b/xen/arch/x86/include/asm/guest/hyperv-tlfs.h @@ -283,11 +283,11 @@ * Declare the MSR used to setup pages used to communicate with the hypervisor. */ union hv_x64_msr_hypercall_contents { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 enable:1; - u64 reserved:11; - u64 guest_physical_address:52; + uint64_t enable:1; + uint64_t reserved:11; + uint64_t guest_physical_address:52; }; }; @@ -295,11 +295,11 @@ union hv_x64_msr_hypercall_contents { * TSC page layout. */ struct ms_hyperv_tsc_page { - volatile u32 tsc_sequence; - u32 reserved1; - volatile u64 tsc_scale; - volatile s64 tsc_offset; - u64 reserved2[509]; + volatile uint32_t tsc_sequence; + uint32_t reserved1; + volatile uint64_t tsc_scale; + volatile int64_t tsc_offset; + uint64_t reserved2[509]; }; /* @@ -343,21 +343,21 @@ union hv_guest_os_id }; struct hv_reenlightenment_control { - __u64 vector:8; - __u64 reserved1:8; - __u64 enabled:1; - __u64 reserved2:15; - __u64 target_vp:32; + uint64_t vector:8; + uint64_t reserved1:8; + uint64_t enabled:1; + uint64_t reserved2:15; + uint64_t target_vp:32; }; struct hv_tsc_emulation_control { - __u64 enabled:1; - __u64 reserved:63; + uint64_t enabled:1; + uint64_t reserved:63; }; struct hv_tsc_emulation_status { - __u64 inprogress:1; - __u64 reserved:63; + uint64_t inprogress:1; + uint64_t reserved:63; }; #define HV_X64_MSR_HYPERCALL_ENABLE 0x00000001 @@ -442,10 +442,10 @@ enum HV_GENERIC_SET_FORMAT { #define HV_CLOCK_HZ (NSEC_PER_SEC/100) typedef struct _HV_REFERENCE_TSC_PAGE { - __u32 tsc_sequence; - __u32 res1; - __u64 tsc_scale; - __s64 tsc_offset; + uint32_t tsc_sequence; + uint32_t res1; + uint64_t tsc_scale; + int64_t tsc_offset; } HV_REFERENCE_TSC_PAGE, *PHV_REFERENCE_TSC_PAGE; /* Define the number of synthetic interrupt sources. */ @@ -499,30 +499,30 @@ enum hv_message_type { /* Define synthetic interrupt controller message flags. */ union hv_message_flags { - __u8 asu8; + uint8_t asu8; struct { - __u8 msg_pending:1; - __u8 reserved:7; + uint8_t msg_pending:1; + uint8_t reserved:7; }; }; /* Define port identifier type. */ union hv_port_id { - __u32 asu32; + uint32_t asu32; struct { - __u32 id:24; - __u32 reserved:8; + uint32_t id:24; + uint32_t reserved:8; } u; }; /* Define synthetic interrupt controller message header. */ struct hv_message_header { - __u32 message_type; - __u8 payload_size; + uint32_t message_type; + uint8_t payload_size; union hv_message_flags message_flags; - __u8 reserved[2]; + uint8_t reserved[2]; union { - __u64 sender; + uint64_t sender; union hv_port_id port; }; }; @@ -531,7 +531,7 @@ struct hv_message_header { struct hv_message { struct hv_message_header header; union { - __u64 payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT]; + uint64_t payload[HV_MESSAGE_PAYLOAD_QWORD_COUNT]; } u; }; @@ -542,19 +542,19 @@ struct hv_message_page { /* Define timer message payload structure. */ struct hv_timer_message_payload { - __u32 timer_index; - __u32 reserved; - __u64 expiration_time; /* When the timer expired */ - __u64 delivery_time; /* When the message was delivered */ + uint32_t timer_index; + uint32_t reserved; + uint64_t expiration_time; /* When the timer expired */ + uint64_t delivery_time; /* When the message was delivered */ }; struct hv_nested_enlightenments_control { struct { - __u32 directhypercall:1; - __u32 reserved:31; + uint32_t directhypercall:1; + uint32_t reserved:31; } features; struct { - __u32 reserved; + uint32_t reserved; } hypercallControls; }; @@ -571,199 +571,199 @@ union hv_vp_assist_page_msr /* Define virtual processor assist page structure. */ struct hv_vp_assist_page { - __u32 apic_assist; - __u32 reserved1; - __u64 vtl_control[3]; + uint32_t apic_assist; + uint32_t reserved1; + uint64_t vtl_control[3]; struct hv_nested_enlightenments_control nested_control; - __u8 enlighten_vmentry; - __u8 reserved2[7]; - __u64 current_nested_vmcs; + uint8_t enlighten_vmentry; + uint8_t reserved2[7]; + uint64_t current_nested_vmcs; }; struct hv_enlightened_vmcs { - u32 revision_id; - u32 abort; + uint32_t revision_id; + uint32_t abort; - u16 host_es_selector; - u16 host_cs_selector; - u16 host_ss_selector; - u16 host_ds_selector; - u16 host_fs_selector; - u16 host_gs_selector; - u16 host_tr_selector; - - u16 padding16_1; - - u64 host_ia32_pat; - u64 host_ia32_efer; - - u64 host_cr0; - u64 host_cr3; - u64 host_cr4; - - u64 host_ia32_sysenter_esp; - u64 host_ia32_sysenter_eip; - u64 host_rip; - u32 host_ia32_sysenter_cs; - - u32 pin_based_vm_exec_control; - u32 vm_exit_controls; - u32 secondary_vm_exec_control; - - u64 io_bitmap_a; - u64 io_bitmap_b; - u64 msr_bitmap; - - u16 guest_es_selector; - u16 guest_cs_selector; - u16 guest_ss_selector; - u16 guest_ds_selector; - u16 guest_fs_selector; - u16 guest_gs_selector; - u16 guest_ldtr_selector; - u16 guest_tr_selector; - - u32 guest_es_limit; - u32 guest_cs_limit; - u32 guest_ss_limit; - u32 guest_ds_limit; - u32 guest_fs_limit; - u32 guest_gs_limit; - u32 guest_ldtr_limit; - u32 guest_tr_limit; - u32 guest_gdtr_limit; - u32 guest_idtr_limit; - - u32 guest_es_ar_bytes; - u32 guest_cs_ar_bytes; - u32 guest_ss_ar_bytes; - u32 guest_ds_ar_bytes; - u32 guest_fs_ar_bytes; - u32 guest_gs_ar_bytes; - u32 guest_ldtr_ar_bytes; - u32 guest_tr_ar_bytes; - - u64 guest_es_base; - u64 guest_cs_base; - u64 guest_ss_base; - u64 guest_ds_base; - u64 guest_fs_base; - u64 guest_gs_base; - u64 guest_ldtr_base; - u64 guest_tr_base; - u64 guest_gdtr_base; - u64 guest_idtr_base; - - u64 padding64_1[3]; - - u64 vm_exit_msr_store_addr; - u64 vm_exit_msr_load_addr; - u64 vm_entry_msr_load_addr; - - u64 cr3_target_value0; - u64 cr3_target_value1; - u64 cr3_target_value2; - u64 cr3_target_value3; - - u32 page_fault_error_code_mask; - u32 page_fault_error_code_match; - - u32 cr3_target_count; - u32 vm_exit_msr_store_count; - u32 vm_exit_msr_load_count; - u32 vm_entry_msr_load_count; - - u64 tsc_offset; - u64 virtual_apic_page_addr; - u64 vmcs_link_pointer; - - u64 guest_ia32_debugctl; - u64 guest_ia32_pat; - u64 guest_ia32_efer; - - u64 guest_pdptr0; - u64 guest_pdptr1; - u64 guest_pdptr2; - u64 guest_pdptr3; - - u64 guest_pending_dbg_exceptions; - u64 guest_sysenter_esp; - u64 guest_sysenter_eip; - - u32 guest_activity_state; - u32 guest_sysenter_cs; - - u64 cr0_guest_host_mask; - u64 cr4_guest_host_mask; - u64 cr0_read_shadow; - u64 cr4_read_shadow; - u64 guest_cr0; - u64 guest_cr3; - u64 guest_cr4; - u64 guest_dr7; - - u64 host_fs_base; - u64 host_gs_base; - u64 host_tr_base; - u64 host_gdtr_base; - u64 host_idtr_base; - u64 host_rsp; - - u64 ept_pointer; - - u16 virtual_processor_id; - u16 padding16_2[3]; - - u64 padding64_2[5]; - u64 guest_physical_address; - - u32 vm_instruction_error; - u32 vm_exit_reason; - u32 vm_exit_intr_info; - u32 vm_exit_intr_error_code; - u32 idt_vectoring_info_field; - u32 idt_vectoring_error_code; - u32 vm_exit_instruction_len; - u32 vmx_instruction_info; - - u64 exit_qualification; - u64 exit_io_instruction_ecx; - u64 exit_io_instruction_esi; - u64 exit_io_instruction_edi; - u64 exit_io_instruction_eip; - - u64 guest_linear_address; - u64 guest_rsp; - u64 guest_rflags; - - u32 guest_interruptibility_info; - u32 cpu_based_vm_exec_control; - u32 exception_bitmap; - u32 vm_entry_controls; - u32 vm_entry_intr_info_field; - u32 vm_entry_exception_error_code; - u32 vm_entry_instruction_len; - u32 tpr_threshold; - - u64 guest_rip; - - u32 hv_clean_fields; - u32 hv_padding_32; - u32 hv_synthetic_controls; - struct { - u32 nested_flush_hypercall:1; - u32 msr_bitmap:1; - u32 reserved:30; + uint16_t host_es_selector; + uint16_t host_cs_selector; + uint16_t host_ss_selector; + uint16_t host_ds_selector; + uint16_t host_fs_selector; + uint16_t host_gs_selector; + uint16_t host_tr_selector; + + uint16_t padding16_1; + + uint64_t host_ia32_pat; + uint64_t host_ia32_efer; + + uint64_t host_cr0; + uint64_t host_cr3; + uint64_t host_cr4; + + uint64_t host_ia32_sysenter_esp; + uint64_t host_ia32_sysenter_eip; + uint64_t host_rip; + uint32_t host_ia32_sysenter_cs; + + uint32_t pin_based_vm_exec_control; + uint32_t vm_exit_controls; + uint32_t secondary_vm_exec_control; + + uint64_t io_bitmap_a; + uint64_t io_bitmap_b; + uint64_t msr_bitmap; + + uint16_t guest_es_selector; + uint16_t guest_cs_selector; + uint16_t guest_ss_selector; + uint16_t guest_ds_selector; + uint16_t guest_fs_selector; + uint16_t guest_gs_selector; + uint16_t guest_ldtr_selector; + uint16_t guest_tr_selector; + + uint32_t guest_es_limit; + uint32_t guest_cs_limit; + uint32_t guest_ss_limit; + uint32_t guest_ds_limit; + uint32_t guest_fs_limit; + uint32_t guest_gs_limit; + uint32_t guest_ldtr_limit; + uint32_t guest_tr_limit; + uint32_t guest_gdtr_limit; + uint32_t guest_idtr_limit; + + uint32_t guest_es_ar_bytes; + uint32_t guest_cs_ar_bytes; + uint32_t guest_ss_ar_bytes; + uint32_t guest_ds_ar_bytes; + uint32_t guest_fs_ar_bytes; + uint32_t guest_gs_ar_bytes; + uint32_t guest_ldtr_ar_bytes; + uint32_t guest_tr_ar_bytes; + + uint64_t guest_es_base; + uint64_t guest_cs_base; + uint64_t guest_ss_base; + uint64_t guest_ds_base; + uint64_t guest_fs_base; + uint64_t guest_gs_base; + uint64_t guest_ldtr_base; + uint64_t guest_tr_base; + uint64_t guest_gdtr_base; + uint64_t guest_idtr_base; + + uint64_t padding64_1[3]; + + uint64_t vm_exit_msr_store_addr; + uint64_t vm_exit_msr_load_addr; + uint64_t vm_entry_msr_load_addr; + + uint64_t cr3_target_value0; + uint64_t cr3_target_value1; + uint64_t cr3_target_value2; + uint64_t cr3_target_value3; + + uint32_t page_fault_error_code_mask; + uint32_t page_fault_error_code_match; + + uint32_t cr3_target_count; + uint32_t vm_exit_msr_store_count; + uint32_t vm_exit_msr_load_count; + uint32_t vm_entry_msr_load_count; + + uint64_t tsc_offset; + uint64_t virtual_apic_page_addr; + uint64_t vmcs_link_pointer; + + uint64_t guest_ia32_debugctl; + uint64_t guest_ia32_pat; + uint64_t guest_ia32_efer; + + uint64_t guest_pdptr0; + uint64_t guest_pdptr1; + uint64_t guest_pdptr2; + uint64_t guest_pdptr3; + + uint64_t guest_pending_dbg_exceptions; + uint64_t guest_sysenter_esp; + uint64_t guest_sysenter_eip; + + uint32_t guest_activity_state; + uint32_t guest_sysenter_cs; + + uint64_t cr0_guest_host_mask; + uint64_t cr4_guest_host_mask; + uint64_t cr0_read_shadow; + uint64_t cr4_read_shadow; + uint64_t guest_cr0; + uint64_t guest_cr3; + uint64_t guest_cr4; + uint64_t guest_dr7; + + uint64_t host_fs_base; + uint64_t host_gs_base; + uint64_t host_tr_base; + uint64_t host_gdtr_base; + uint64_t host_idtr_base; + uint64_t host_rsp; + + uint64_t ept_pointer; + + uint16_t virtual_processor_id; + uint16_t padding16_2[3]; + + uint64_t padding64_2[5]; + uint64_t guest_physical_address; + + uint32_t vm_instruction_error; + uint32_t vm_exit_reason; + uint32_t vm_exit_intr_info; + uint32_t vm_exit_intr_error_code; + uint32_t idt_vectoring_info_field; + uint32_t idt_vectoring_error_code; + uint32_t vm_exit_instruction_len; + uint32_t vmx_instruction_info; + + uint64_t exit_qualification; + uint64_t exit_io_instruction_ecx; + uint64_t exit_io_instruction_esi; + uint64_t exit_io_instruction_edi; + uint64_t exit_io_instruction_eip; + + uint64_t guest_linear_address; + uint64_t guest_rsp; + uint64_t guest_rflags; + + uint32_t guest_interruptibility_info; + uint32_t cpu_based_vm_exec_control; + uint32_t exception_bitmap; + uint32_t vm_entry_controls; + uint32_t vm_entry_intr_info_field; + uint32_t vm_entry_exception_error_code; + uint32_t vm_entry_instruction_len; + uint32_t tpr_threshold; + + uint64_t guest_rip; + + uint32_t hv_clean_fields; + uint32_t hv_padding_32; + uint32_t hv_synthetic_controls; + struct { + uint32_t nested_flush_hypercall:1; + uint32_t msr_bitmap:1; + uint32_t reserved:30; } hv_enlightenments_control; - u32 hv_vp_id; + uint32_t hv_vp_id; - u64 hv_vm_id; - u64 partition_assist_page; - u64 padding64_4[4]; - u64 guest_bndcfgs; - u64 padding64_5[7]; - u64 xss_exit_bitmap; - u64 padding64_6[7]; + uint64_t hv_vm_id; + uint64_t partition_assist_page; + uint64_t padding64_4[4]; + uint64_t guest_bndcfgs; + uint64_t padding64_5[7]; + uint64_t xss_exit_bitmap; + uint64_t padding64_6[7]; }; #define HV_VMX_ENLIGHTENED_CLEAN_FIELD_NONE 0 @@ -794,17 +794,17 @@ struct hv_enlightened_vmcs { * Synthetic timer configuration. */ union hv_stimer_config { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 enable:1; - u64 periodic:1; - u64 lazy:1; - u64 auto_enable:1; - u64 apic_vector:8; - u64 direct_mode:1; - u64 reserved_z0:3; - u64 sintx:4; - u64 reserved_z1:44; + uint64_t enable:1; + uint64_t periodic:1; + uint64_t lazy:1; + uint64_t auto_enable:1; + uint64_t apic_vector:8; + uint64_t direct_mode:1; + uint64_t reserved_z0:3; + uint64_t sintx:4; + uint64_t reserved_z1:44; }; }; @@ -816,70 +816,70 @@ union hv_synic_event_flags { /* Define SynIC control register. */ union hv_synic_scontrol { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 enable:1; - u64 reserved:63; + uint64_t enable:1; + uint64_t reserved:63; }; }; /* Define synthetic interrupt source. */ union hv_synic_sint { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 vector:8; - u64 reserved1:8; - u64 masked:1; - u64 auto_eoi:1; - u64 polling:1; - u64 reserved2:45; + uint64_t vector:8; + uint64_t reserved1:8; + uint64_t masked:1; + uint64_t auto_eoi:1; + uint64_t polling:1; + uint64_t reserved2:45; }; }; /* Define the format of the SIMP register */ union hv_synic_simp { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 simp_enabled:1; - u64 preserved:11; - u64 base_simp_gpa:52; + uint64_t simp_enabled:1; + uint64_t preserved:11; + uint64_t base_simp_gpa:52; }; }; /* Define the format of the SIEFP register */ union hv_synic_siefp { - u64 as_uint64; + uint64_t as_uint64; struct { - u64 siefp_enabled:1; - u64 preserved:11; - u64 base_siefp_gpa:52; + uint64_t siefp_enabled:1; + uint64_t preserved:11; + uint64_t base_siefp_gpa:52; }; }; struct hv_vpset { - u64 format; - u64 valid_bank_mask; - u64 bank_contents[]; + uint64_t format; + uint64_t valid_bank_mask; + uint64_t bank_contents[]; }; /* HvCallSendSyntheticClusterIpi hypercall */ struct hv_send_ipi { - u32 vector; - u32 reserved; - u64 cpu_mask; + uint32_t vector; + uint32_t reserved; + uint64_t cpu_mask; }; /* HvCallSendSyntheticClusterIpiEx hypercall */ struct hv_send_ipi_ex { - u32 vector; - u32 reserved; + uint32_t vector; + uint32_t reserved; struct hv_vpset vp_set; }; /* HvFlushGuestPhysicalAddressSpace hypercalls */ struct hv_guest_mapping_flush { - u64 address_space; - u64 flags; + uint64_t address_space; + uint64_t flags; }; /* @@ -890,11 +890,11 @@ struct hv_guest_mapping_flush { /* HvFlushGuestPhysicalAddressList hypercall */ union hv_gpa_page_range { - u64 address_space; + uint64_t address_space; struct { - u64 additional_pages:11; - u64 largepage:1; - u64 basepfn:52; + uint64_t additional_pages:11; + uint64_t largepage:1; + uint64_t basepfn:52; } page; }; @@ -903,32 +903,32 @@ union hv_gpa_page_range { * count is equal with how many entries of union hv_gpa_page_range can * be populated into the input parameter page. */ -#define HV_MAX_FLUSH_REP_COUNT ((HV_HYP_PAGE_SIZE - 2 * sizeof(u64)) / \ +#define HV_MAX_FLUSH_REP_COUNT ((HV_HYP_PAGE_SIZE - 2 * sizeof(uint64_t)) / \ sizeof(union hv_gpa_page_range)) struct hv_guest_mapping_flush_list { - u64 address_space; - u64 flags; + uint64_t address_space; + uint64_t flags; union hv_gpa_page_range gpa_list[HV_MAX_FLUSH_REP_COUNT]; }; /* HvFlushVirtualAddressSpace, HvFlushVirtualAddressList hypercalls */ struct hv_tlb_flush { - u64 address_space; - u64 flags; - u64 processor_mask; - u64 gva_list[]; + uint64_t address_space; + uint64_t flags; + uint64_t processor_mask; + uint64_t gva_list[]; }; /* HvFlushVirtualAddressSpaceEx hypercall */ struct hv_tlb_flush_ex { - u64 address_space; - u64 flags; + uint64_t address_space; + uint64_t flags; struct hv_vpset hv_vp_set; - /* u64 gva_list[]; */ + /* uint64_t gva_list[]; */ }; struct hv_partition_assist_pg { - u32 tlb_lock_count; + uint32_t tlb_lock_count; }; #endif
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |