lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 8 Jun 2010 17:25:52 +0100
From:	Stefano Stabellini <stefano.stabellini@...citrix.com>
To:	Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>
CC:	Stefano Stabellini <Stefano.Stabellini@...citrix.com>,
	"jeremy@...p.org" <jeremy@...p.org>,
	"xen-devel@...ts.xensource.com" <xen-devel@...ts.xensource.com>,
	"Yaozu (Eddie) Dong" <eddie.dong@...el.com>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"ddutile@...hat.com" <ddutile@...hat.com>,
	"sheng@...ux.intel.com" <sheng@...ux.intel.com>
Subject: Re: [Xen-devel] [PATCH 02/12] early PV on HVM

On Tue, 8 Jun 2010, Konrad Rzeszutek Wilk wrote:
> On Tue, Jun 08, 2010 at 04:55:33PM +0100, Stefano Stabellini wrote:
> > On Tue, 8 Jun 2010, Konrad Rzeszutek Wilk wrote:
> > > > > > +	HYPERVISOR_shared_info = (struct shared_info *)shared_info_page;
> > > > > > +
> > > > > > +	/* Don't do the full vcpu_info placement stuff until we have a
> > > > > > +	   possible map and a non-dummy shared_info. */
> > > > > 
> > > > > Might want to mention where the full vpcu placement is done.
> > > > 
> > > > The comment is not accurate, we actually don't do any vcpu_info
> > > > placement on hvm because it is not very useful there.
> > > > Better just to remove the comment (I have done so in my tree).
> > > > 
> > > > > > +	per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];
> > > > > 
> > > So.. what is the purpose of the per_cpu(xen_vcpu, 0) then?
> > > 
> > 
> > the vcpu info placement memory area is stored in per_cpu(xen_vcpu_info, cpu);
> > per_cpu(xen_vcpu, cpu) is just a pointer to that area if it is
> > available, otherwise it points to the vcpu_info struct in the shared
> > info page.
> 
> I was just wondering why are we doing this when you say:
> " don't do any vcpu_info placement on hvm because it is not very useful there."
> 
> So if it is not useful, why do it?
> 

I think Jeremy replied to your question better than me: we still need
the vcpu_info stuff for the timer and event channels, but we don't need
it to be at a specific address in kernel memory.
That is useful only for the following pvops operations:

pv_irq_ops.save_fl = __PV_IS_CALLEE_SAVE(xen_save_fl_direct);
pv_irq_ops.restore_fl = __PV_IS_CALLEE_SAVE(xen_restore_fl_direct);
pv_irq_ops.irq_disable = __PV_IS_CALLEE_SAVE(xen_irq_disable_direct);
pv_irq_ops.irq_enable = __PV_IS_CALLEE_SAVE(xen_irq_enable_direct);
pv_mmu_ops.read_cr2 = xen_read_cr2_direct;

none of which are used in the hvm case.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists