driver.h 1.06 KB
/*
 * Copyright (C) 1996-1998 by the Board of Trustees
 *    of Leland Stanford Junior University.
 * 
 * This file is part of the SimOS distribution. 
 * See LICENSE file for terms of the license. 
 *
 */

#ifndef MSHADE_DRIVER_H
#define MSHADE_DRIVER_H
#include <setjmp.h>

typedef enum { UNSTALL_NOW = 11, UNSTALL_IN_TURN = 0 } EmUnstallCode;
extern void Embra_Init( int cpu_num, int swtch );
extern void Embra_Run( int cpuNum,  int clobber_machine_regs );
extern void ProcInsertFirst( int cpuNum );
extern void ProcInsert(int cpuNum );
extern void ProcRemove( int cpuNum );
extern int  Get_Alloc_Fd(void);
extern void EmContinueStall( void ); /* main_run.s */
extern void Clear_Translation_State(int cache );
extern void EmbraCheckpoint(int cpuNum);
extern void EmbraInstallMemAnnotation(VA vAddr);

/* Exports */

void Embra_DoAnn( int cpuNum);
void Embra_DoPrePCAnn( int cpuNum);
void TNS( int cpuNum );
void ReenterTC( EmbraState* );
void ReenterTC_CX( EmbraState* );

/*
 * translation cache management
 */

#define TC_USER 0
#define TC_KERN 1


extern jmp_buf embra_env;
#endif