On 23.04.2020 20:49, Andrew Cooper wrote:
> On 21/04/2020 08:48, Jan Beulich wrote:
>> On 20.04.2020 16:59, Andrew Cooper wrote:
>>> --- a/xen/include/asm-x86/processor.h
>>> +++ b/xen/include/asm-x86/processor.h
>>> @@ -441,12 +441,18 @@ struct tss_page {
>>> };
>>> DECLARE_PER_CPU(struct tss_pa
On 21/04/2020 08:48, Jan Beulich wrote:
> On 20.04.2020 16:59, Andrew Cooper wrote:
>> --- a/xen/include/asm-x86/processor.h
>> +++ b/xen/include/asm-x86/processor.h
>> @@ -441,12 +441,18 @@ struct tss_page {
>> };
>> DECLARE_PER_CPU(struct tss_page, tss_page);
>>
>> +/*
>> + * Interrupt Stack
On 20.04.2020 16:59, Andrew Cooper wrote:
> --- a/xen/include/asm-x86/processor.h
> +++ b/xen/include/asm-x86/processor.h
> @@ -441,12 +441,18 @@ struct tss_page {
> };
> DECLARE_PER_CPU(struct tss_page, tss_page);
>
> +/*
> + * Interrupt Stack Tables. Used to force a stack switch on a CPL0=>0
ISTs are used to force a stack switch on CPL0=>0 interrupts/exceptions. They
however come with a nasty corner case in the case of reentrancy where the
outer exception frame gets clobbered.
When the SYSCALL/SYSRET instructions aren't used, there is no need to use IST
for anything other than #DF, w