NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Sigma0Base Class Reference

This class defines the legacy call interface to sigma0 services. More...

#include <sigma0.h>

Inheritance diagram for Sigma0Base:
BaseProgram Sigma0

Classes

struct  PutsRequest

Public Types

enum  {
  REQUEST_STDIN_ATTACH = 0x1001, REQUEST_DISKS_ATTACH, REQUEST_NETWORK_ATTACH, REQUEST_DISK,
  REQUEST_CONSOLE, REQUEST_HOSTOP, REQUEST_NETWORK, REQUEST_PCICFG,
  REQUEST_ACPI
}

Static Public Member Functions

static unsigned request_stdin (Utcb *utcb, StdinConsumer *consumer, unsigned sem_nq)
static unsigned request_disks_attach (Utcb *utcb, DiskConsumer *consumer, unsigned sem_nq)
static unsigned request_network_attach (Utcb *utcb, NetworkConsumer *consumer, unsigned sem_nq)
static unsigned disk (MessageDisk &msg)
static unsigned console (MessageConsole &msg)
static unsigned hostop (MessageHostOp &msg)
static unsigned network (MessageNetwork &msg)
static unsigned pcicfg (MessagePciConfig &msg)
static unsigned acpi (MessageAcpi &msg)
- Static Public Member Functions inherited from BaseProgram
static Utcbmyutcb (unsigned long esp=0)
 Get the UTCB pointer from the top of the stack, which is laid out as follows:
static phy_cpu_no mycpu ()
 Return my CPU number.
static void revoke_all_mem (void *address, unsigned long size, unsigned rights, bool myself)
 Revoke all memory for a given virtual region.
static Crd request_mapping (char *start, unsigned long size, unsigned long hotspot)
 Request the mapping for a memory area.

Static Protected Member Functions

static unsigned request_portal ()
template<unsigned OP>
static unsigned request_attach (Utcb *utcb, void *consumer, unsigned sem_nq)
 Creates a producer in Sigma0 and attaches it to a consumer in the calling PD.
template<class MESSAGE , unsigned OP>
static unsigned sigma0_message (MESSAGE &msg)

Additional Inherited Members

- Static Public Attributes inherited from BaseProgram
static const unsigned stack_size_shift = 12
static const unsigned stack_size = (1U << stack_size_shift)

Detailed Description

This class defines the legacy call interface to sigma0 services.

Member Enumeration Documentation

anonymous enum
Enumerator:
REQUEST_STDIN_ATTACH 
REQUEST_DISKS_ATTACH 
REQUEST_NETWORK_ATTACH 
REQUEST_DISK 
REQUEST_CONSOLE 
REQUEST_HOSTOP 
REQUEST_NETWORK 
REQUEST_PCICFG 
REQUEST_ACPI 

Member Function Documentation

static unsigned Sigma0Base::acpi ( MessageAcpi msg)
inlinestatic
static unsigned Sigma0Base::console ( MessageConsole msg)
inlinestatic
static unsigned Sigma0Base::disk ( MessageDisk msg)
inlinestatic
static unsigned Sigma0Base::hostop ( MessageHostOp msg)
inlinestatic
static unsigned Sigma0Base::network ( MessageNetwork msg)
inlinestatic
static unsigned Sigma0Base::pcicfg ( MessagePciConfig msg)
inlinestatic
template<unsigned OP>
static unsigned Sigma0Base::request_attach ( Utcb utcb,
void *  consumer,
unsigned  sem_nq 
)
inlinestaticprotected

Creates a producer in Sigma0 and attaches it to a consumer in the calling PD.

static unsigned Sigma0Base::request_disks_attach ( Utcb utcb,
DiskConsumer consumer,
unsigned  sem_nq 
)
inlinestatic
static unsigned Sigma0Base::request_network_attach ( Utcb utcb,
NetworkConsumer consumer,
unsigned  sem_nq 
)
inlinestatic
static unsigned Sigma0Base::request_portal ( )
inlinestaticprotected
static unsigned Sigma0Base::request_stdin ( Utcb utcb,
StdinConsumer consumer,
unsigned  sem_nq 
)
inlinestatic
template<class MESSAGE , unsigned OP>
static unsigned Sigma0Base::sigma0_message ( MESSAGE &  msg)
inlinestaticprotected

The documentation for this class was generated from the following file: