Re: [PATCH 4/5] x86/traps: Drop exception_table[] and use if/else dispatching

2021-11-23 Thread Jan Beulich
On 19.11.2021 19:21, Andrew Cooper wrote: > There is also a lot of redundancy in the table. 8 vectors head to do_trap(), > 3 are handled in the IST logic, and that only leaves 7 others not heading to > the do_reserved_trap() catch-all. This also removes the fragility that any > accidental NULL en

Re: [PATCH 4/5] x86/traps: Drop exception_table[] and use if/else dispatching

2021-11-22 Thread Jan Beulich
On 22.11.2021 17:16, Andrew Cooper wrote: > On 22/11/2021 09:04, Jan Beulich wrote: >> On 19.11.2021 19:21, Andrew Cooper wrote: >>> --- a/xen/arch/x86/x86_64/entry.S >>> +++ b/xen/arch/x86/x86_64/entry.S >>> @@ -773,14 +773,48 @@ handle_exception_saved: >>> sti >>> 1: movq %rsp,%rd

Re: [PATCH 4/5] x86/traps: Drop exception_table[] and use if/else dispatching

2021-11-22 Thread Andrew Cooper
On 22/11/2021 09:04, Jan Beulich wrote: > On 19.11.2021 19:21, Andrew Cooper wrote: >> --- a/xen/arch/x86/x86_64/entry.S >> +++ b/xen/arch/x86/x86_64/entry.S >> @@ -773,14 +773,48 @@ handle_exception_saved: >> sti >> 1: movq %rsp,%rdi >> movzbl UREGS_entry_vector(%rsp),%eax

Re: [PATCH 4/5] x86/traps: Drop exception_table[] and use if/else dispatching

2021-11-22 Thread Jan Beulich
On 19.11.2021 19:21, Andrew Cooper wrote: > --- a/xen/arch/x86/x86_64/entry.S > +++ b/xen/arch/x86/x86_64/entry.S > @@ -773,14 +773,48 @@ handle_exception_saved: > sti > 1: movq %rsp,%rdi > movzbl UREGS_entry_vector(%rsp),%eax > -leaq exception_table(%rip),%rdx >

[PATCH 4/5] x86/traps: Drop exception_table[] and use if/else dispatching

2021-11-19 Thread Andrew Cooper
There is also a lot of redundancy in the table. 8 vectors head to do_trap(), 3 are handled in the IST logic, and that only leaves 7 others not heading to the do_reserved_trap() catch-all. This also removes the fragility that any accidental NULL entry in the table becomes a ticking timebomb. Func