Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

NovaProgram Class Reference

Contains common code for nova programms. More...

#include <program.h>

Inheritance diagram for NovaProgram:
BaseProgram CapAllocator< NovaProgram > _CapAllocator ab::AdmissionService ab::DummyFS ab::IPCTest ab::RemoteConfig ab::TestConfig ab::TestIP Cycleburner IdleTest js::TestIP Rocknshine Sigma0 Tutor Vancouver

List of all members.

Public Member Functions

 NovaProgram ()

Static Public Member Functions

static void exit (const char *msg)
 Default exit function.

Protected Member Functions

Utcballoc_utcb ()
 Alloc a region of virtual memory to put an EC into.
template<class C >
unsigned create_ec_helper (C *tls, unsigned cpunr, unsigned excbase, Utcb **utcb_out=0, void *func=0, unsigned cap=alloc_cap())
 Create an ec and setup the stack.
unsigned init (Hip *hip)
 Initialize ourself.
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 Attributes

Hip_hip
unsigned _cap_block
RegionList< 512 > _free_virt
RegionList< 512 > _free_phys
RegionList< 512 > _virt_phys

Detailed Description

Contains common code for nova programms.


Constructor & Destructor Documentation

NovaProgram::NovaProgram (  )  [inline]

Member Function Documentation

void NovaProgram::__attribute__ ( (noreturn)   )  [inline, protected]

Block ourself.

Utcb* NovaProgram::alloc_utcb (  )  [inline, protected]

Alloc a region of virtual memory to put an EC into.

template<class C >
unsigned NovaProgram::create_ec_helper ( C *  tls,
unsigned  cpunr,
unsigned  excbase,
Utcb **  utcb_out = 0,
void *  func = 0,
unsigned  cap = alloc_cap() 
) [inline, protected]

Create an ec and setup the stack.

static void NovaProgram::exit ( const char *  msg  )  [inline, static]

Default exit function.

unsigned NovaProgram::init ( Hip hip  )  [inline, protected]

Initialize ourself.

void NovaProgram::init_mem ( Hip hip  )  [inline, protected]

Init the memory map from the HIP as we get them from sigma0.


Member Data Documentation

unsigned NovaProgram::_cap_block [protected]
Hip* NovaProgram::_hip [protected]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines