Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2023-01-04 Thread Jan Beulich
On 04.01.2023 21:04, Andrew Cooper wrote: > On 21/12/2022 7:40 am, Jan Beulich wrote: >> On 20.12.2022 21:56, Andrew Cooper wrote: >>> On 20/12/2022 1:51 pm, Jan Beulich wrote: On 16.12.2022 21:17, Andrew Cooper wrote: > +"mov%[cr4], %%cr4\n\t" /* CR4.PGE = 1 */ > +

Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2023-01-04 Thread Andrew Cooper
On 21/12/2022 7:40 am, Jan Beulich wrote: > On 20.12.2022 21:56, Andrew Cooper wrote: >> On 20/12/2022 1:51 pm, Jan Beulich wrote: >>> On 16.12.2022 21:17, Andrew Cooper wrote: +"mov%[cr4], %%cr4\n\t" /* CR4.PGE = 1 */ +: [cr4] "=&a" (tmp) /* Could be "r", but "a"

Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2022-12-20 Thread Jan Beulich
On 20.12.2022 21:56, Andrew Cooper wrote: > On 20/12/2022 1:51 pm, Jan Beulich wrote: >> On 16.12.2022 21:17, Andrew Cooper wrote: >>> +"mov%[cr4], %%cr4\n\t" /* CR4.PGE = 1 */ >>> +: [cr4] "=&a" (tmp) /* Could be "r", but "a" makes better asm */ >>> +: [cr3] "r" (__

Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2022-12-20 Thread Andrew Cooper
On 20/12/2022 1:51 pm, Jan Beulich wrote: > On 16.12.2022 21:17, Andrew Cooper wrote: >> Partly for clarity because there is a lot of subtle magic at work here. >> Expand the commentary of what's going on. >> >> Also, because there is no need to double copy the stack (32kB) to retrieve >> local val

Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2022-12-20 Thread Jan Beulich
On 16.12.2022 21:17, Andrew Cooper wrote: > Partly for clarity because there is a lot of subtle magic at work here. > Expand the commentary of what's going on. > > Also, because there is no need to double copy the stack (32kB) to retrieve > local values spilled to the stack under the old alias, wh

[PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()

2022-12-16 Thread Andrew Cooper
Partly for clarity because there is a lot of subtle magic at work here. Expand the commentary of what's going on. Also, because there is no need to double copy the stack (32kB) to retrieve local values spilled to the stack under the old alias, when all of the aforementioned local variables are goi