Messages in this thread | | | From | Dan Williams <> | Date | Tue, 11 May 2021 08:43:59 -0700 | Subject | Re: [RFC v2 14/32] x86/tdx: Handle port I/O |
| |
On Tue, May 11, 2021 at 8:36 AM Dave Hansen <dave.hansen@intel.com> wrote: > > On 5/10/21 2:57 PM, Dan Williams wrote: > >> Decompression code uses port IO for earlyprintk. We must use > >> paravirt calls there too if we want to allow earlyprintk. > > What is the tradeoff between teaching the decompression code to handle > > #VE (the implied assumption) vs teaching it to avoid #VE with direct > > TDVMCALLs (the chosen direction)? > > To me, the tradeoff is not just "teaching" the code to handle a #VE, but > ensuring that the entire architecture works. > > Intentionally invoking a #VE is like making a function call that *MIGHT* > recurse on itself. Sure, you can try to come up with a story about > bounding the recursion. But, I don't see any semblance of that in this > series. > > Exception-based recursion is really nasty because it's implicit, not > explicit. That's why I'm advocating for a design where the kernel never > intentionally causes a #VE: it never intentionally recurses without bounds.
Thanks Dave, this really helps.
| |