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

Public Member Functions

void __attribute__ ((noreturn)) run(Utcb *utcb
 Block ourself.
void Hip *hip init (hip)
 init_mem (hip)
 console_init ("CYC", new Semaphore(alloc_cap(), true))
 dlmalloc_init (alloc_cap(0x1000))
 gen_sinlut ()
 gen_sqrtlut ()
 while (1)
 block_forever ()
- 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)

Public Attributes

TimerProtocoltimer_service = new TimerProtocol(alloc_cap(TimerProtocol::CAP_SERVER_PT + hip->cpu_desc_count()))
KernelSemaphore sem = KernelSemaphore(timer_service->get_notify_sm())
Clockclock = new Clock(hip->freq_tsc*1000)
IntroAnimatoria = new IntroAnimator
PlasmaAnimator< 25, 80 > * pa = new PlasmaAnimator<25, 80>
QuoteAnimator< 25, 80 > * qa = new QuoteAnimator<25, 80>(pa)
timevalue starttime = clock->time()

Private Member Functions

const char * debug_getname ()

Additional Inherited Members

- Static Public Member Functions inherited from NovaProgram
static void exit (const char *msg)
 Default exit function.
- 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.
- 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 Function Documentation

void Cycleburner::__attribute__ ( (noreturn)  )

Block ourself.

Reimplemented from NovaProgram.

Cycleburner::block_forever ( )
Cycleburner::console_init ( "CYC"  ,
new   Semaphorealloc_cap(), true 
)
const char* Cycleburner::debug_getname ( )
inlineprivate
Cycleburner::dlmalloc_init ( alloc_cap(0x1000)  )
Cycleburner::gen_sinlut ( )
Cycleburner::gen_sqrtlut ( )
void Hip* hip Cycleburner::init ( hip  )
Cycleburner::init_mem ( hip  )
Cycleburner::while ( )
inline

Member Data Documentation

Clock* Cycleburner::clock = new Clock(hip->freq_tsc*1000)
IntroAnimator* Cycleburner::ia = new IntroAnimator
PlasmaAnimator<25, 80>* Cycleburner::pa = new PlasmaAnimator<25, 80>
QuoteAnimator<25, 80>* Cycleburner::qa = new QuoteAnimator<25, 80>(pa)
KernelSemaphore Cycleburner::sem = KernelSemaphore(timer_service->get_notify_sm())
timevalue Cycleburner::starttime = clock->time()
TimerProtocol* Cycleburner::timer_service = new TimerProtocol(alloc_cap(TimerProtocol::CAP_SERVER_PT + hip->cpu_desc_count()))

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