/* osinit.c
   L. Stewart August 24, 1982  5:42 PM
   L. Stewart November 9, 1982  9:56 AM, osstatics
   L. Stewart January 21, 1983  1:25 PM, static added to some statics
   L. Stewart February 23, 1983  12:52 PM, flush some statics
   L. Stewart February 25, 1983  11:03 AM, reset SLC before IntOn
   L. Stewart February 26, 1983  3:43 PM, InitIO
   L. Stewart March 6, 1983  5:37 PM, InitFA
 */

#include	<Env.h>
#include	<Alloc.h>
#include	<Queue.h>
#include	<Encrypt.h>
#include	<RingBuffer.h>

extern IntInit();
extern InitAnalog();
extern Init8274();
extern InitEncrypt();
extern InitCtxPkg();
/* extern struct ZN *GetAll(); */
extern InitFA();

static struct ZN *sysZone;
struct Queue ctxQ;	/* main system context queue */
static int largest		/* Alloc variables */
static int ototAv;
int getsv;		/* signaller */
int sigid;
int signame;
int origLargest		/* original Alloc variables */
int origTotAv;

/* This function should be called first ! */
InitOS()
  {
  int *p;
  p = (int *) 0x03fe;
  *p = (int) &sysZone;
  IntInit();
  InitIO();
  InitAnalog();
  Init8274();
  InitCtxPkg();
  InitEncrypt();
  InitQueue(&ctxQ);
  InitFA();
/*
  sysZone = GetAll();
  Allocate(sysZone, 0);
  origLargest = largest;
  origTotAv = ototAv;
 */
  /*
  make sure that Ethernet chip is turned off!
   */
  SLCInit(EtherHost());
  IntOn();
  };