All of lore.kernel.org
 help / color / mirror / Atom feed
* Multiple-page mem_event ring buffer?
@ 2013-03-05 13:21 Razvan Cojocaru
  2013-03-05 14:21 ` Konrad Rzeszutek Wilk
  0 siblings, 1 reply; 6+ messages in thread
From: Razvan Cojocaru @ 2013-03-05 13:21 UTC (permalink / raw)
  To: xen-devel@lists.xen.org

Hello,

currently my code (and all the examples I could find in the Xen source 
code) uses a single page mem_event ring buffer, using code along the 
lines of:

/* Map the ring page */
unsigned long ring_pfn;
xc_get_hvm_param(xci_, domain_, HVM_PARAM_ACCESS_RING_PFN, &ring_pfn);

unsigned long mmap_pfn = ring_pfn;
ringPage_ = xc_map_foreign_batch(xci_, domain_, PROT_READ | PROT_WRITE,
                                  &mmap_pfn, 1);

if (mmap_pfn & XEN_DOMCTL_PFINFO_XTAB) {

     /* Map failed, populate ring page */
     if (xc_domain_populate_physmap_exact(xci_, domain_,
                                          1, 0, 0, &ring_pfn))
         return SOME_ERROR;

     mmap_pfn = ring_pfn;
     ringPage = xc_map_foreign_batch(xci_, domain_,
                                     PROT_READ | PROT_WRITE,
                                     &mmap_pfn, 1);

     if (mmap_pfn & XEN_DOMCTL_PFINFO_XTAB)
         return SOME_OTHER ERROR;
}

Could I safely use more than one page for the ring buffer (passing '2' 
as the last parameter of xc_map_foreign_batch(), and so on), or am I 
limited to 1 page by design?


Thanks,
Razvan Cojocaru

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-03-05 15:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.25393.1362491391.1399.xen-devel@lists.xen.org>
2013-03-05 15:25 ` Multiple-page mem_event ring buffer? Andres Lagar-Cavilla
2013-03-05 15:35   ` Razvan Cojocaru
2013-03-05 13:21 Razvan Cojocaru
2013-03-05 14:21 ` Konrad Rzeszutek Wilk
2013-03-05 14:34   ` Razvan Cojocaru
2013-03-05 15:00   ` Razvan Cojocaru

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.