[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH 14/16] paravirtualize IO permission bitmap
On Tue, 12 May 2009, Jeremy Fitzhardinge wrote: > From: Christophe Saout <chtephan@xxxxxxxxxxxxxxxxxxxx> > > A PV Xen guest kernel has no TSS of its own, so the IO permission > bitmap must be paravirtualized. This patch adds set_io_bitmap > as a paravirt op, and defines a native version which updates the tss, > and a Xen version which uses a hypercall. > > This is much easier now that 32 and 64-bit use the same code to > manage the IO bitmap. Sigh, is there a plan to limit the paravirt horror at some point or are we keeping on adding to it forever ? > --- a/arch/x86/kernel/ioport.c > +++ b/arch/x86/kernel/ioport.c > @@ -30,14 +30,31 @@ static void set_bitmap(unsigned long *bitmap, unsigned > int base, > } > } This needs kernel doc annotation and a comment about the calling conventions i.e. preemption disabled. > +void native_set_io_bitmap(struct thread_struct *t, > + int changed, unsigned long bytes_updated) > +{ > + struct tss_struct *tss; > + > + if (!bytes_updated) > + return; > + > + tss = &__get_cpu_var(init_tss); > + > + /* Update the TSS: */ > + if (t->io_bitmap_ptr) > + memcpy(tss->io_bitmap, t->io_bitmap_ptr, bytes_updated); > + else > + memset(tss->io_bitmap, 0xff, bytes_updated); > +} > + Thanks, tglx _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |