Re: Alternate Injection related questions
"Melody (Huibo) Wang" <[email protected]>
| Newsgroups | dev.linux.lists.coconut-svsm |
|---|---|
| Message-ID | <[email protected]> |
Sorry for re-sending this since I had the wrong mailing list in the previous one.
On 5/27/2025 10:39 AM, Melody (Huibo) Wang wrote:
> Hi Folks,
>
> I have a few questions, can you please help?
>
> I found that when an #HV arrives when interrupts are disabled in the SVSM, the #HV handler will postpone the #HV, but the postponing simply returns.
>
> Who should re-inject this #HV again?
>
> postpone_hv:
> // HV gets postponed
> popq %rcx
> popq %rbx
> popq %rax
> addq $8, %rsp
> iretq
>
> Is the hypervisor supposed to re-inject the #HV hoping that interrupts will be enabled?
>
> How is the hypervisor supposed to know whether a #HV which was postponed, was actually handled so that it doesn't inject it again?
>
> In SVSM code now, the SVSM will read the doorbell page for extended interrupt information without checking even there is a #HV coming in. Why are we doing this? I think this needs to be triggered by a #HV handler instead of reading the doorbell page automatically. Right?
>
> I have one more question about gdb tool, "https://coconut-svsm.github.io/svsm/installation/INSTALL/#debugging-using-gdb". I tried to use the tool, but it does not work, I have enabled it :
>
> "kernel": {
> "svsm": {
> "features": "enable-gdb",
> But not able to make it work. This is the log:
>
> $ sudo gdb --ex "target extended-remote /dev/pts/4"
> GNU gdb (Ubuntu 15.0.50.20240403-0ubuntu1) 15.0.50.20240403-git
> Copyright (C) 2024 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.
> Type "show copying" and "show warranty" for details.
> This GDB was configured as "x86_64-linux-gnu".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <https://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
>
> For help, type "help".
> Type "apropos word" to search for commands related to "word".
> Remote debugging using /dev/pts/4
> Ignoring packet error, continuing...
> warning: unrecognized item "timeout" in "qSupported" response
> Ignoring packet error, continuing...
> Ignoring packet error, continuing...
> Remote replied unexpectedly to 'vMustReplyEmpty': timeout
> (gdb) quit
>
>
> Thanks,
> Melody
>