96 lines
2.3 KiB
Plaintext
96 lines
2.3 KiB
Plaintext
#
|
|
# @(#)README 1.1 8/6/90 SMI
|
|
#
|
|
|
|
Last updated: 8/6/90
|
|
Location: ~mce/sun4m/sas_support/README
|
|
Author: Mark Elgood (mce@East)
|
|
|
|
./
|
|
fakeprom fakeprom code
|
|
sunergy sunergy tree
|
|
galaxy galaxy tree
|
|
campus2 campus-2 tree
|
|
test fakeprom standalone tests
|
|
eeprom MPSAS eeprom generator
|
|
file MPSAS file stubs
|
|
|
|
1. Introduction
|
|
---------------
|
|
|
|
This directory hierarchy contains a number of MPSAS support
|
|
programs that provide a more realistic environment in which to test
|
|
kernels & other standalone programs under MPSAS. Also included are a
|
|
number of test programs that exercise the fakeprom functionality.
|
|
|
|
|
|
2. eeprom
|
|
---------
|
|
|
|
This directory contains the program that will built an EEPROM image
|
|
suitable to load into MPSAS. The EEPROM differs for each machine since
|
|
it contains IDPROM information.
|
|
|
|
3. fakeprom
|
|
-----------
|
|
|
|
This is consists of two a.out images that are loaded into MPSAS before
|
|
the simulation is started. The first image 'fakeprom' contains:
|
|
|
|
i) a sunromvec structure
|
|
|
|
ii) OBP routines
|
|
config_ops - next, child, getproplen, getprop
|
|
|
|
iii) support of:
|
|
v_putchar, v_printf
|
|
v_open, v_read, v_seek, v_write to simdisk
|
|
|
|
iv) data structures (these go away with real OBP??)
|
|
*mem
|
|
|
|
The second image 'fakepte' contains a set of page tables that will
|
|
correctly map 'fakeprom' from it's kernel virtual address.
|
|
|
|
|
|
Fakeprom is linked at an address of 0xFFD00000 (these will be the
|
|
virtual addresses used when the MMU is enabled). Fakeprom is loaded
|
|
into ram at address 0x700000 (see fakeprom.file below).
|
|
|
|
Fakepte is loaded into ram at address 0x780000. It uses 2 level-2 PTEs
|
|
to map virtual address range 0xFFD00000-0xFFD7FFFF to physical
|
|
addresses 0x700000-0x77FFFF. This is all consistent with the way the
|
|
kernel takes over the PROMs level-2 page tables using routine
|
|
is_vaddr_taken().
|
|
|
|
The data structures pointed to by the romvec are correctly setup to
|
|
show the memory taken by the fakeprom. These are physmem, virtmem &
|
|
availmem.
|
|
|
|
Note also the registers setup in fakeprom.file. The seting of %o0 is
|
|
messy I need to come up with a way of either making this absolute
|
|
(unchanging) or have a short piece of code run and call the kernel first.
|
|
|
|
This is all setup assuming MPSAS has 8MB of RAM and steals the top 1MB
|
|
for fakeprom/pte usage
|
|
|
|
4. test
|
|
-------
|
|
|
|
treetest
|
|
|
|
disktest
|
|
|
|
|
|
|
|
5. files
|
|
--------
|
|
|
|
vmunix.file
|
|
|
|
boot.file
|
|
|
|
|
|
|
|
|