Messages in this thread | | | Date | Wed, 2 Feb 2022 20:20:26 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCHv2 11/29] x86/boot: Allow to hook up alternative port I/O helpers |
| |
On Tue, Feb 01, 2022 at 11:53:28PM +0100, Thomas Gleixner wrote: > On Tue, Feb 01 2022 at 23:39, Thomas Gleixner wrote: > > > On Mon, Jan 24 2022 at 18:01, Kirill A. Shutemov wrote: > > > >> Port I/O instructions trigger #VE in the TDX environment. In response to > >> the exception, kernel emulates these instructions using hypercalls. > >> > >> But during early boot, on the decompression stage, it is cumbersome to > >> deal with #VE. It is cleaner to go to hypercalls directly, bypassing #VE > >> handling. > >> > >> Add a way to hook up alternative port I/O helpers in the boot stub. > >> All port I/O operations are routed via 'pio_ops'. By default 'pio_ops' > >> initialized with native port I/O implementations. > >> > >> This is a preparation patch. The next patch will override 'pio_ops' if > >> the kernel booted in the TDX environment. > >> > >> Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> > > > > Aside of Borislav's comments: > > > > Reviewed-by: Thomas Gleixner <tglx@linutronix.de> > > Second thoughts. > > > +#include <asm/shared/io.h> > > + > > +struct port_io_ops { > > + unsigned char (*inb)(int port); > > + unsigned short (*inw)(int port); > > + unsigned int (*inl)(int port); > > + void (*outb)(unsigned char v, int port); > > + void (*outw)(unsigned short v, int port); > > + void (*outl)(unsigned int v, int port); > > +}; > > Can we please make that u8, u16, u32 instead of unsigned char,short,int? > > That's the kernel convention for hardware related functions for many > years now.
I inherited these prototypes from the main kernel I/O helpers. See patch 10/29.
Do you want 10/29 to be changed to use u8/16/32?
Maybe a separate patch to convert main kernel to u8/16/32 before consolidation with boot stub?
-- Kirill A. Shutemov
| |