linux/arch/e2k/boot/romstartup.S

52 lines
1.1 KiB
ArmAsm

/* $Id: romstartup.S,v 1.8 2005/08/16 12:32:40 atic Exp $ */
//
// primary linux startup module
// lintel_startup.s, written by <karbo@lab.sun.mcst.ru>
// linux_startup.s, written by <atic@soft.sun.mcst.ru> as modification
// of 'lintel_startup.s' to start up linux secondary module
//
#define WSZ 0x20 /* 20 quadwords */
#define RBS 0x10 /* 10 quadwords */
#define RSZ 0x10 /* 10 quadwords */
#define UPSR 0x1 /* fpu enabled */
#define OSEM_LO 0x0 /* no software traps enabled */
#define OSEM_HI 0x0
.text
.global start
.global loader
// We are starting first steps and call loader(). See romloader.S
// Static memory allocation is defined by romloader.lds
start:
{
setwd wsz=WSZ
setbn rbs = RBS, rsz = RSZ, rcur = 0x0
setbp psz = 0
}
rws UPSR,%upsr
disp %ctpr1,loader
rwd OSEM_LO,%osem
ct %ctpr1
.size start, . - start
/*
[probably] pending stuff:
physprot: address=0x70, val=addr, lower 12 buts unused
pcilb: address=0x80, val=addr, lower 12 bits unused
not needed stuff:
*NO* USD;
*NO* CU table and CUTD;
*NO* turn virtual addressing on;
*/