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

Classes

struct  Session

Public Member Functions

 PerCpuService ()
NORETURN void run (Utcb *utcb, Hip *hip)

Protected Member Functions

BaseSessionnew_session ()
unsigned client_func (unsigned pt_id, Session *session)
- Protected Member Functions inherited from ServiceProgram
virtual cap_sel alloc_cap ()
virtual void dealloc_cap (cap_sel c)
cap_sel create_ec (phy_cpu_no cpu, Utcb **utcb_out)
 ServiceProgram (const char *console_name="service")
- Protected Member Functions inherited from BaseService
void garbace_collect (per_cpu &local)
virtual void close_session (per_cpu &local, BaseSession *s)
- 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

static unsigned client_func_s (unsigned pt_id, Session *s, PerCpuService *tls, Utcb *utcb) REGPARM(2)

Additional Inherited Members

- Static Public Member Functions inherited from NovaProgram
static void exit (const char *msg)
 Default exit function.
- 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 Attributes inherited from BaseService
Queue< BaseSession_free_sessions
struct BaseService::per_cpu _per_cpu [Config::MAX_CPUS]
- 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]

Constructor & Destructor Documentation

PerCpuService::PerCpuService ( )
inline

Member Function Documentation

unsigned PerCpuService::client_func ( unsigned  pt_id,
Session session 
)
inlineprotected
static unsigned PerCpuService::client_func_s ( unsigned  pt_id,
Session s,
PerCpuService tls,
Utcb utcb 
)
inlinestaticprotected
BaseSession* PerCpuService::new_session ( )
inlineprotectedvirtual

Implements BaseService.

NORETURN void PerCpuService::run ( Utcb utcb,
Hip hip 
)
inline

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