[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 00/15] mini-os: remove struct file dependency from config



Hello,

I had a glimpse at the changes, this looks good to me!

Acked-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxx>
on the whole series.

I'll see when I'll be able to find time to review the changes, unless
somebody beats me to it :)

Samuel

Juergen Gross, le jeu. 06 janv. 2022 12:57:26 +0100, a ecrit:
> Today the layout of struct file is depending on the Mini-OS
> configuration. This is especially bad as the layout is exported to
> external users like the Xen libraries built for Mini-OS, and those
> are being built only once for multiple stubdom configurations.
> 
> Today there is no direct problem resulting from this, as the main
> difference between struct file layouts is a large union containing all
> the device specific data for the different file types. The largest
> union member is not configuration dependant, so the build is currently
> not broken.
> 
> In order to avoid any future problems this patch series is eliminating
> the configuration dependency by replacing most of the device specific
> union members by a single pointer.
> 
> The two union members used by Xen libraries can't be replaced yet, as
> those need to be switched to use the generic pointer first.
> 
> In order to hide the Mini-OS internal implementation of the files
> array, the last patch is introducing a service function for obtaining
> the pointer to struct file for a given file descriptor, which must be
> used for that purpose by all Mini-OS external components.
> 
> Juergen Gross (15):
>   mini-os: split struct file definition from its usage
>   mini-os: makes file.read bool and move it ahead of device specific
>     part
>   mini-os: make offset a common struct file member for all types
>   mini-os: replace multiple fd elements in struct file by common one
>   mini-os: introduce a common dev pointer in struct file
>   mini-os: eliminate blkfront union member in struct file
>   mini-os: eliminate consfront union member in struct file
>   mini-os: eliminate fbfront union member in struct file
>   mini-os: eliminate kbdfront union member in struct file
>   mini-os: eliminate netfront union member in struct file
>   mini-os: move tpm respgot member of struct file to device specific
>     data
>   mini-os: eliminate tpmfront union member in struct file
>   mini-os: eliminate tpmtis union member in struct file
>   mini-os: eliminate xenbus union member in struct file
>   mini-os: introduce get_file_from_fd()
> 
>  blkfront.c             |  15 +++---
>  console/xencons_ring.c |   2 +-
>  fbfront.c              |  16 +++----
>  include/lib.h          |  59 ++++-------------------
>  include/tpmfront.h     |   2 +
>  lib/sys.c              | 103 ++++++++++++++++++++++-------------------
>  lib/xs.c               |  13 +++---
>  netfront.c             |   6 +--
>  tpm_tis.c              |  23 ++++-----
>  tpmfront.c             |  33 +++++++------
>  10 files changed, 119 insertions(+), 153 deletions(-)
> 
> -- 
> 2.26.2



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.