On 03/09/2017 04:54 PM, Thomas Garnier wrote: > On Thu, Mar 9, 2017 at 1:46 PM, Andy Lutomirski <l...@amacapital.net> wrote: >> On Thu, Mar 9, 2017 at 1:43 PM, Andrew Cooper <andrew.coop...@citrix.com> >> wrote: >>> On 09/03/2017 21:32, Andy Lutomirski wrote: >>>> On Mon, Mar 6, 2017 at 2:03 PM, Thomas Garnier <thgar...@google.com> wrote: >>>> >>>>> --- a/arch/x86/xen/enlighten.c >>>>> +++ b/arch/x86/xen/enlighten.c >>>>> @@ -710,7 +710,7 @@ static void load_TLS_descriptor(struct thread_struct >>>>> *t, >>>>> >>>>> *shadow = t->tls_array[i]; >>>>> >>>>> - gdt = get_cpu_gdt_table(cpu); >>>>> + gdt = get_cpu_gdt_rw(cpu); >>>>> maddr = arbitrary_virt_to_machine(&gdt[GDT_ENTRY_TLS_MIN+i]); >>>>> mc = __xen_mc_entry(0); >>>> Boris, is this right? I don't see why it wouldn't be, but Xen is special. >>> Under Xen PV, the GDT is already read-only at this point. (It is not >>> safe to let the guest have writeable access to system tables, so the >>> guest must relinquish write access to the frames wishing to be used as >>> LDTs or GDTs.) >>> >>> The hypercall acts on the frame, not a virtual address, so either alias >>> should be fine here. >>> >>> Under this new scheme, there will be two read-only aliases. I guess >>> this is easier to maintain the split consistently across Linux, than to >>> special case Xen PV because it doesn't need the second alias. >>> >> I think we would gain nothing at all by special-casing Xen PV -- Linux >> allocates the fixmap vaddrs at compile time, so we'd still allocate >> them even if we rejigger all the helpers to avoid using them. >> > I don't have any experience with Xen so it would be great if virtme can test > it.
I am pretty sure I tested this series at some point but I'll test it again. -boris > > I can remove the unused functions, I just thought they were useful > shortcuts given some of them are already used. > >> --Andy > > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel