Messages in this thread |  | | Date | Mon, 10 May 2021 17:01:19 -0700 | | From | Andi Kleen <> | | Subject | Re: [RFC v2 14/32] x86/tdx: Handle port I/O |
| |
On Mon, May 10, 2021 at 04:34:34PM -0700, Dan Williams wrote: > > > Outside the boot decompression code isn't this branch of the "ifdef > > > BOOT_COMPRESSED_MISC_H" handled by #VE? I also don't see any usage of > > > __{in,out}() in this patch. > > > > I thought it was all alternative after decompression, so the #VE code > > shouldn't be called. We still have it for some reason though. > > Right, I'm struggling to understand where these spurious in/out > instructions are coming from that are not replaced by the > alternative's code?
There should be nothing in the main tree at least.
> Shouldn't those be dropped on the floor and warned > about rather than handled?
It might be related to eventually handling them in ring 3, but I believe we disallow that currently too and it's not all that useful anyways. So yes it could be forbidden.
> I.e. shouldn't port-io instruction escapes > that would cause #VE be precluded at build-time?
You mean in objtool? That would seem like overkill for a more theoretical problem.
> > There used to be SAVE_ALL/SAVE_REGS, but they have been all removed in > > some past refactorings. > > Not a huge deal, but at a minimum it seems a generic construct that > deserves to be declared centrally rather than tdx-guest-port-io local.
Yes I agree. We should just bring SAVE_ALL/SAVE_REGS back.
-Andi
|  |