NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ab::RemoteConfig Class Reference
Inheritance diagram for ab::RemoteConfig:
NovaProgram ProgramConsole BaseProgram CapAllocator InternalCapAllocator

Public Member Functions

unsigned create_ec4pt (void *tls, phy_cpu_no cpunr, unsigned excbase, Utcb **utcb_out=0, unsigned long cap=~0UL)
bool start_services (Utcb *utcb, Hip *hip, EventProducer *prod_event)
bool use_network (Utcb *utcb, Hip *hip, EventConsumer *sendconsumer, Clock *_clock, KernelSemaphore &sem, TimerProtocol *timer_service)
void run (Utcb *utcb, Hip *hip)
- Public Member Functions inherited from NovaProgram
 NovaProgram ()
- Public Member Functions inherited from CapAllocator
 CapAllocator (unsigned long cap_, unsigned long cap_start, unsigned long cap_order)
unsigned alloc_cap (unsigned count=1)
void dealloc_cap (unsigned cap, unsigned count=1)

Static Public Member Functions

static void send_network (char unsigned const *data, unsigned len)
static void write_out (uint16 localport, void *out, size_t out_len)
static void recv_call_back_file (uint32 remoteip, uint16 remoteport, uint16 localport, void *in, size_t in_len)
static void recv_call_back (uint32 remoteip, uint16 remoteport, uint16 localport, void *in, size_t in_len)
- Static Public Member Functions inherited from NovaProgram
static void exit (const char *msg)
 Default exit function.
- 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.

Private Types

enum  { LIBVIRT_CMD_PORT = 9999, LIBVIRT_EVT_PORT = 10000, LIBVIRT_FILE_PORT = 10043 }

Static Private Attributes

static Remconremcon
static void * tls_session_cmd
static void * tls_session_event
static bool enable_tls

Additional Inherited Members

- Public Attributes inherited from CapAllocator
unsigned long _cap_
unsigned long _cap_start
unsigned long _cap_order
- Static Public Attributes inherited from BaseProgram
static const unsigned stack_size_shift = 12
static const unsigned stack_size = (1U << stack_size_shift)
- Protected Member Functions inherited from NovaProgram
Utcballoc_utcb ()
 Alloc a region of virtual memory to put an EC into.
template<class C >
 __attribute__ ((nonnull(6))) unsigned create_ec_helper(C *tls
 Create an EC and setup the stack.
void init_mem (Hip *hip)
 Init the memory map from the HIP as we get them from sigma0.
void __attribute__ ((noreturn)) block_forever()
 Block ourself.
- Protected Member Functions inherited from ProgramConsole
void console_init (const char *name, Semaphore *sem)
- Static Protected Member Functions inherited from ProgramConsole
static void putc (void *data, int value)
- Protected Attributes inherited from NovaProgram
Hip_hip
unsigned _cap_block
RegionList< 512 > _free_virt
RegionList< 512 > _free_phys
RegionList< 512 > _virt_phys
phy_cpu_no cpunr
phy_cpu_no unsigned excbase
phy_cpu_no unsigned Utcb ** utcb_out
phy_cpu_no unsigned Utcb void * func
phy_cpu_no unsigned Utcb void
unsigned long 
cap = ~0UL
phy_cpu_no unsigned Utcb void
unsigned long bool 
local
- Protected Attributes inherited from ProgramConsole
VgaRegs _vga_regs
struct console_data _console_data
char _vga_console [0x1000]

Member Enumeration Documentation

anonymous enum
private
Enumerator:
LIBVIRT_CMD_PORT 
LIBVIRT_EVT_PORT 
LIBVIRT_FILE_PORT 

Member Function Documentation

unsigned ab::RemoteConfig::create_ec4pt ( void *  tls,
phy_cpu_no  cpunr,
unsigned  excbase,
Utcb **  utcb_out = 0,
unsigned long  cap = ~0UL 
)
inline
static void ab::RemoteConfig::recv_call_back ( uint32  remoteip,
uint16  remoteport,
uint16  localport,
void *  in,
size_t  in_len 
)
inlinestatic
static void ab::RemoteConfig::recv_call_back_file ( uint32  remoteip,
uint16  remoteport,
uint16  localport,
void *  in,
size_t  in_len 
)
inlinestatic
void ab::RemoteConfig::run ( Utcb utcb,
Hip hip 
)
inline
static void ab::RemoteConfig::send_network ( char unsigned const *  data,
unsigned  len 
)
inlinestatic
bool ab::RemoteConfig::start_services ( Utcb utcb,
Hip hip,
EventProducer prod_event 
)
inline
bool ab::RemoteConfig::use_network ( Utcb utcb,
Hip hip,
EventConsumer sendconsumer,
Clock _clock,
KernelSemaphore sem,
TimerProtocol timer_service 
)
inline
static void ab::RemoteConfig::write_out ( uint16  localport,
void *  out,
size_t  out_len 
)
inlinestatic

Member Data Documentation

bool ab::RemoteConfig::enable_tls
staticprivate
Remcon * ab::RemoteConfig::remcon
staticprivate
void * ab::RemoteConfig::tls_session_cmd
staticprivate
void * ab::RemoteConfig::tls_session_event
staticprivate

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