NOVA User-Level Environment  Version testbox/changed-memory-timing-317-g320d8b5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SServiceProgram< Session, A, Base > Class Template Reference

#include <sserviceprogram.h>

Inheritance diagram for SServiceProgram< Session, A, Base >:
NovaProgram ProgramConsole BaseProgram CapAllocator InternalCapAllocator

Public Member Functions

virtual cap_sel alloc_cap (unsigned count=1)
virtual void dealloc_cap (cap_sel c)
virtual cap_sel create_ec4pt (phy_cpu_no cpu, Utcb **utcb_out, cap_sel ec=~0u)
 SServiceProgram (const char *console_name="service")
NORETURN 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)
void dealloc_cap (unsigned cap, unsigned count=1)

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 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]

Constructor & Destructor Documentation

template<class Session, class A, template< class Session, class A > class Base>
SServiceProgram< Session, A, Base >::SServiceProgram ( const char *  console_name = "service")
inline

Member Function Documentation

template<class Session, class A, template< class Session, class A > class Base>
virtual cap_sel SServiceProgram< Session, A, Base >::alloc_cap ( unsigned  count = 1)
inlinevirtual

Reimplemented from CapAllocator.

template<class Session, class A, template< class Session, class A > class Base>
virtual cap_sel SServiceProgram< Session, A, Base >::create_ec4pt ( phy_cpu_no  cpu,
Utcb **  utcb_out,
cap_sel  ec = ~0u 
)
inlinevirtual
template<class Session, class A, template< class Session, class A > class Base>
virtual void SServiceProgram< Session, A, Base >::dealloc_cap ( cap_sel  c)
inlinevirtual
template<class Session, class A, template< class Session, class A > class Base>
NORETURN void SServiceProgram< Session, A, Base >::run ( Utcb utcb,
Hip hip 
)
inline

Reimplemented in EchoService, and EchoService.


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