Subject: Re: Booter
To: None <briggs@cray-ymp.acm.stuorg.vt.edu>
From: Matias Giovannini <MGiovann@getinfo.org.ar>
List: macbsd-development
Date: 05/03/1994 17:37:15
In Regards to your letter <199405030043.UAA12466@cray-ymp.acm.stuorg.vt.edu>:
> Well, I've pounded on this a bit more...  It looks like it's dying in a
> loop that looks something like this:
> 
> 	move.l	from, A0	; This is something like 16MB of 20MB machine
> 	move.l	to, A1		; This is zero.
> 	move.l	len, D0		; This is 0x39000 or something close ;-)
> 
> @again:
> 	move.l	(A0)+, (A1)+
> 	subq.l	#1, D0
> 	bne	@again
> 
> The values all look alright (after all, it works on my SE/30 ;-).
> As far as I can tell, it's dying somewhere near the beginning.
> Right above that, it ORs 0x700 into the status register to knock
> off any interrupts.  We *are* writing over the vector table, so if
> we were getting some exception, we'd be rather hosed, but I can't
> see how that's happening.  Then again, I can't see how it's not
> happening.  I don't think I'm getting as far as the "jmp (A0)" that
> follows the loop.  I've tried making that group of pages non-cacheable
> by modifying the page tables.

Have you checked out the processor mode? Having a privilege violation
without the exception vector properly set up is something I wouldn't
try late night at home... =)

----
Matias Giovannini -- Buenos Aires, Argentina
MGiovann@getinfo.org.ar

------------------------------------------------------------------------------