From: Thorsten Blum <thorsten.b...@linux.dev> Sent: Monday, March 10, 2025 12:26 PM > > The union vmpacket_largest_possible_header and several structs have not > been used for a long time afaict - remove them. > > Signed-off-by: Thorsten Blum <thorsten.b...@linux.dev> > --- > include/linux/hyperv.h | 47 ------------------------------------------ > 1 file changed, 47 deletions(-) > > diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h > index 4179add2864b..bff91788c8a3 100644 > --- a/include/linux/hyperv.h > +++ b/include/linux/hyperv.h > @@ -371,19 +371,6 @@ struct vmtransfer_page_packet_header { > struct vmtransfer_page_range ranges[]; > } __packed; > > -struct vmgpadl_packet_header { > - struct vmpacket_descriptor d; > - u32 gpadl; > - u32 reserved; > -} __packed; > - > -struct vmadd_remove_transfer_page_set { > - struct vmpacket_descriptor d; > - u32 gpadl; > - u16 xfer_pageset_id; > - u16 reserved; > -} __packed; > - > /* > * This structure defines a range in guest physical space that can be made to > * look virtually contiguous. > @@ -394,30 +381,6 @@ struct gpa_range { > u64 pfn_array[]; > }; > > -/* > - * This is the format for an Establish Gpadl packet, which contains a handle > by > - * which this GPADL will be known and a set of GPA ranges associated with it. > - * This can be converted to a MDL by the guest OS. If there are multiple GPA > - * ranges, then the resulting MDL will be "chained," representing multiple VA > - * ranges. > - */ > -struct vmestablish_gpadl { > - struct vmpacket_descriptor d; > - u32 gpadl; > - u32 range_cnt; > - struct gpa_range range[1]; > -} __packed; > - > -/* > - * This is the format for a Teardown Gpadl packet, which indicates that the > - * GPADL handle in the Establish Gpadl packet will never be referenced again. > - */ > -struct vmteardown_gpadl { > - struct vmpacket_descriptor d; > - u32 gpadl; > - u32 reserved; /* for alignment to a 8-byte boundary */ > -} __packed; > - > /* > * This is the format for a GPA-Direct packet, which contains a set of GPA > * ranges, in addition to commands and/or data. > @@ -438,16 +401,6 @@ struct vmadditional_data { > unsigned char data[1]; > } __packed;
It appears to me that struct vmdata_gpa_direct and struct vmadditional_data are also unused. Did you keep them for some reason? Or could they also be deleted in this patch? > > -union vmpacket_largest_possible_header { > - struct vmpacket_descriptor simple_hdr; > - struct vmtransfer_page_packet_header xfer_page_hdr; > - struct vmgpadl_packet_header gpadl_hdr; > - struct vmadd_remove_transfer_page_set add_rm_xfer_page_hdr; > - struct vmestablish_gpadl establish_gpadl_hdr; > - struct vmteardown_gpadl teardown_gpadl_hdr; > - struct vmdata_gpa_direct data_gpa_direct_hdr; > -}; > - > #define VMPACKET_DATA_START_ADDRESS(__packet) \ > (void *)(((unsigned char *)__packet) + \ > ((struct vmpacket_descriptor)__packet)->offset8 * 8) > -- > 2.48.1 > I can see from "git blame" that these structs originated back in 2011 when the Hyper-V drivers were still in staging. Going back as far as the 3.4 kernel, I don't see any references to them. I don't know anything more about the history, and lacking such information, I'm certainly OK with deleting them as unnecessary. Reviewed-by: Michael Kelley <mhkli...@outlook.com>