Xen Test Framework
Macros | Functions | Variables
main.c File Reference

argo More...

#include <xtf.h>
+ Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define TEST_RING_NPAGES   (sizeof(ring_buffer) / PAGE_SIZE)
 
#define XEN_ARGO_ROUNDUP(x)   ROUNDUP(x, XEN_ARGO_MSG_SLOT_SIZE)
 
#define ARGO_RING_OVERHEAD   80
 
#define TEST_RING_SIZE(npages)    (XEN_ARGO_ROUNDUP((((PAGE_SIZE)*npages) - ARGO_RING_OVERHEAD)))
 

Functions

static int probe_for_argo (domid_t own_domid)
 
static int test_notify_for_one_ring (domid_t query_domid, xen_argo_port_t query_port, bool exists)
 
static int test_register_ring (domid_t own_domid, xen_argo_port_t aport)
 
static int test_unregister_ring (domid_t partner_domid, xen_argo_port_t aport, bool exists)
 
static int test_sendv (domid_t src_domid, xen_argo_port_t src_aport, domid_t dst_domid, xen_argo_port_t dst_aport, const char *msg_text, size_t msg_len, unsigned int msg_type)
 
static int inspect_ring_after_first_single_sendv (domid_t src_domid, xen_argo_port_t src_aport, const char *sent_msg, unsigned int sent_msg_len, unsigned int sent_msg_type)
 
static void clear_test_ring (void)
 
void test_main (void)
 To be implemented by each test, as its entry point. More...
 

Variables

const char test_title [] = "Argo test"
 The title of the test. More...
 
static uint8_t ring_buffer [32 *PAGE_SIZE]
 

Detailed Description

argo

Definition in file main.c.

Macro Definition Documentation

◆ TEST_RING_NPAGES

#define TEST_RING_NPAGES   (sizeof(ring_buffer) / PAGE_SIZE)

Definition at line 19 of file main.c.

◆ XEN_ARGO_ROUNDUP

#define XEN_ARGO_ROUNDUP (   x)    ROUNDUP(x, XEN_ARGO_MSG_SLOT_SIZE)

Definition at line 112 of file main.c.

◆ ARGO_RING_OVERHEAD

#define ARGO_RING_OVERHEAD   80

Definition at line 113 of file main.c.

◆ TEST_RING_SIZE

#define TEST_RING_SIZE (   npages)     (XEN_ARGO_ROUNDUP((((PAGE_SIZE)*npages) - ARGO_RING_OVERHEAD)))

Definition at line 114 of file main.c.

Function Documentation

◆ probe_for_argo()

static int probe_for_argo ( domid_t  own_domid)
static

Definition at line 21 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_notify_for_one_ring()

static int test_notify_for_one_ring ( domid_t  query_domid,
xen_argo_port_t  query_port,
bool  exists 
)
static

Definition at line 63 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_register_ring()

static int test_register_ring ( domid_t  own_domid,
xen_argo_port_t  aport 
)
static

Definition at line 118 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_unregister_ring()

static int test_unregister_ring ( domid_t  partner_domid,
xen_argo_port_t  aport,
bool  exists 
)
static

Definition at line 152 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ test_sendv()

static int test_sendv ( domid_t  src_domid,
xen_argo_port_t  src_aport,
domid_t  dst_domid,
xen_argo_port_t  dst_aport,
const char *  msg_text,
size_t  msg_len,
unsigned int  msg_type 
)
static

Definition at line 183 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ inspect_ring_after_first_single_sendv()

static int inspect_ring_after_first_single_sendv ( domid_t  src_domid,
xen_argo_port_t  src_aport,
const char *  sent_msg,
unsigned int  sent_msg_len,
unsigned int  sent_msg_type 
)
static

Definition at line 222 of file main.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clear_test_ring()

static void clear_test_ring ( void  )
static

Definition at line 296 of file main.c.

+ Here is the caller graph for this function:

◆ test_main()

void test_main ( void  )

To be implemented by each test, as its entry point.

Definition at line 301 of file main.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ test_title

const char test_title[] = "Argo test"

The title of the test.

Definition at line 13 of file main.c.

◆ ring_buffer

uint8_t ring_buffer[32 *PAGE_SIZE]
static

Definition at line 18 of file main.c.