From 6d848cfdfc2f63838a3c93dee430a8bcc8bd44a7 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Fri, 14 Dec 2001 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 2001-12-14 --- mtx/l.s | 8 ++++++-- mtx/main.c | 11 +++++------ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/mtx/l.s b/mtx/l.s index 75878fae56d604a97b379a8cf28ce72a0d021dd3..9fe6677c87af96d05366282e5169a6a50ab411e5 100644 --- a/mtx/l.s +++ b/mtx/l.s @@ -50,9 +50,12 @@ MOVW $setSB(SB), R2 /* save SPR(SPRG3), or else we can't go back to firmware! */ - MOVW SPR(SAVEXX), R3 + MOVW SPR(SPRG3), R3 MOVW R3, initsprg3(SB) + /* debugger sets R1 to top of usable memory +1 */ + MOVW R1, memsize(SB) + /* set up Mach */ MOVW $mach0(SB), R(MACH) ADD $(MACHSIZE-8), R(MACH), R1 /* set stack */ @@ -66,6 +69,7 @@ GLOBL mach0(SB), $(MAXMACH*BY2PG) GLOBL initsprg3(SB), $4 +GLOBL memsize(SB), $4 /* * on return from this function we will be running in virtual mode. @@ -236,7 +240,7 @@ tas0: TEXT firmware(SB), $0 MOVW initsprg3(SB), R3 - MOVW R3, SPR(SAVEXX) + MOVW R3, SPR(SPRG3) MOVW $MSR_IP, R4 MOVW R4, SPR(SRR1) MOVW $0xfff00100, R5 diff --git a/mtx/main.c b/mtx/main.c index c6c64c41117969a53abb70e6f1c0b52c9bdcd9bc..e24203addcec23ec6554efb89cc7d41ea6f21347 100644 --- a/mtx/main.c +++ b/mtx/main.c @@ -218,7 +218,7 @@ exit(int ispanic) if(active.ispanic && m->machno == 0){ if(cpuserver) delay(10000); - else + else if(conf.monitor) for(;;); } else @@ -248,16 +248,15 @@ procsave(Proc *p) void confinit(void) { - int nbytes; ulong pa; + extern ulong memsize; /* passed in from ROM monitor */ conf.nmach = 1; /* processors */ - conf.nproc = 60; /* processes */ + conf.nproc = 60; /* processes */ pa = PGROUND(PADDR(end)); - nbytes = 256*1024*1024; // hard wire for now - - conf.npage0 = nbytes/BY2PG; + + conf.npage0 = memsize/BY2PG; conf.base0 = pa; conf.npage1 = 0;