

-- 12/5/94

Add EnterInteractiveMode, Halt, PowerDown, Restart, Reboot somewhere
to the IPMH code (finit????) so that the libsk fake versions don't get
incorporated into the prom. (12/4/94) I've defined stubs for the above
routines.


tpsc.c PREEMPT_.. depends on IPxx.  I've temporarily make IPMH equivalent to 
IP22.

nvram.c contains IPxx specific compilations.  However, the ENV model
(offset and length) is inappropriate for IPMH.  A separate env.c is in
libmsk for now so I've temporarily caused IPMH-nvram.c to generate a null
.o file.  The differences between the old and the new may be too great to
just interpolate changes into nvram.c.  The makefile presently builds
EVERESTnvram.c.  I could make IPMHnvram.c to handle the problem.

passwd_cmd.c 1) contains IPxx specific compilations; 2) calls the
nvram routines directly and is sensitive to the physical implemenation
of the nvram storage.  I've temporarily modified passwd_cmd.c to generate
a null object for IPMH.

-- 12/8/94

arcs/lib/Makefile clobber fails in libsk/graphis because no graphics
option is defined.  I've TEMPORARILY defined  (IPMH_X)SUBDIRS=none.


** It looks like the 64 bit trees have cleaned up sbd.h enough that I'll switch
back to using sbd.h instead of r4k.h.

endian_cmd.c references a bunch of SER_xxx symbols that come from
IPxxnvram.h and EEROM_xx symbols that come from mc.h.  Both .h's get
sucked in via cpu.h so I've provided temporary definitions in IPMH.h
to satisify endian_cmd.  It may be that endian_cmd.c needs to be changed
or not included.

stand/arcslib/cfg needs a IPxxconf.cf for some reason.  Temporarily created
a symlink to the one in IPMH.


--12/9/94

In mp_show_fault, which prints part of the registers on an exception,
the pointer to the register area is varc_reg_t* rp (32bit)
bit). Everywhere else its k_machreg_t* rp (64bit).  This means that
some of the code indexes into the register array as 64 bit values and
some as 32 bit values, the result being that part of the values
fetched are right, part are wrong.  I believe that the code that views
the registers as varc_reg_t is wrong as the gpda code allocates using
k_machreg_t.


2/16/95

Significant clean up of the tree in preparation to checking it into
the pulpwood tree.


2/17/95	


Filled in a lot of the stubs.  Note, r4kcache.s doesn't simulate but does
build.  In stubs.c there's a conditional section (#ifndef CACHEOPS) that
stubs out all the r4kcache routines.  For a real platform this must be disable.




Resolved
==============================================================================


-- 12/8/94

pc_kbtable.c has been revised and the change isn't reflected in the
latest ROOT.  I edited pckm.h in $ROOT/usr/include/sys/pckm.h.
Presumably it will catch up in a subsequent ROOT update.

The init_malloc code is sensitive to dmabuf_linemask.  This is set in
config_cache so the stub for config_cache must do this.

The menu code requires the validate_pw code for most of the menu
items.  With passwd_cmd stubbed, validate_pw must return 1.

The uprom code is such that if you issue the exit command, either
explictly or implicitly, code calls EnterInteractiveMode.  That
recurses in the uprom code because in uprom, the stack isn't reset.
No problem unless you do it alot.


-- 12/12/94

I've added some exception simulation to SIM.c.  SIGSEGV, SIGBUS and
SIGILL are caught and "handled".


-- 12/13/94

I've moved the simulator startup back to "start" which is in csu.s
which is in the sloader.  That code does cache ops so I added
sillHandler which basically ignores cache ops.  That code also fiddles
with the stack so I've added instructions that check for the code
being in the USEG and skip over the stack operations and the stack
memory validation if in USEG.

I've added code that model the coprocessor registers as simple ram
registers.  There's no side effects for now.

--12/21/94

Env/FLASH is pretty screwy.  I'm moving everything into flash.c and env.c,
platform specific modules.  Everything is a lot cleaner.  Remains to be seen
if this code stays platform specific.

-- 12/7/94

$ROOT/usr/include/sys/immu.h is referenced in libsk and depends on a
conditional compilation depending on IPXX.  I've got a temporary hack
in that equates IPMH with IP22.
***** NOTE: temporary immu.h that is IP32 aware is in arcs/include/sys
Temporary hack removed 5/22/95.


-- 12/8/94
dump_cmd.c depends on K0_RAMBASE.  K0_RAMBASE comes from mc.h which is
included in IP22.h which is included in sys/cpu.h. I'v added K0_RAMBASE
to IPMH.h
K0_RAMBASE is now defined in IP32.h

scsi.c references $HOME/usr/include/sys/cpu.h which doesn't define
IPMH.  cpu.h is expected to define scuzzy_t for scsi.c. I've put a temporary
mod to cpu.h in arcs/include/sys and IPMH/Makefile headers installs IPMH.h
in arcs/include/sys.

