Subject: RE: MMU bug in Dec/Intel ARMs?

From: Winnie Wong <[email-masked]>
Date: Thu, 11 Mar 1999 10:03:48 -0800

I have heard this problem.  In addition to Stephen's question below, does
anybody know where I can read or get the part number xA or xB from the CPU /
21281 chip during the run time?

Winnie
> -----Original Message-----
> From:	Stephen Noftall [SMTP:[email-masked]]
> Sent:	Thursday, March 11, 1999 8:47 AM
> To:	linux_arm list
> Subject:	MMU bug in Dec/Intel ARMs?
> 
> I just heard from Intel that they are coming out with a new SA-110, that
> supposedly fixes a bug only found in demand paged memory management OS's.
> The
> new part numbers are 21281-xB.
> 
> Has anyone heard more on this? Does the MMU unit work around this "bug" or
> was
> the field ap person mis-informed?
> 
> {- Stephen Noftall, LCS : http://www.lcsaudio.com -}
> 
> unsubscribe: body of `unsubscribe linux-arm' to [email-masked]
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Winnie Wong <[email-masked]>
Date: Fri, 12 Mar 1999 14:28:52 -0800

What kind of tests / applications you think may trigger this issue to occur
under ARM LINUX?

Winnie

> From:	Russell King - ARM Linux Admin [SMTP:[email-masked]]
> Sent:	Friday, March 12, 1999 8:50 AM
> To:	[email-masked]
> Cc:	[email-masked]
> Subject:	Re: MMU bug in Dec/Intel ARMs?
> 
> Dave Baukus writes:
> > Stephen Noftall wrote:
> > > supposedly fixes a bug only found in demand paged memory management
> OS's. The
> > The errata reads:
> > 	"There is an anomaly in the SA-110 device that may occur during
> DATA_ABORT
> > 	in environments that use demand-paging management schemes. This
> problem
> > 	has been seen only in demand-page memory-management operating
> systems when
> > 	a memory access crosses a page boundary from a mapped page to an
> unmapped
> > 	page during the sequence of data fetches."
> > 
> > It goes on to list some RTOSs that, since they do not use demand paging,
> > are not susceptible to the problem.
> > 
> > I heard that via a 3id party that and Intel rep. said Linux was not
> susceptible
> > to this problem. If true I'd like to know why. 
> > 
> > Any know the real answer ?
> 
> Any program in a demand paged OS would be susceptible to this problem.
> However,
> The Linux kernel itself is not.  The routines which use the ldm
> instruction are
> carefully coded to handle the user space permissions anyway, so a ldm
> instruction
> is never used to cross a page boundary.
> 
> It is, however, an issue for user programs.  The user stack is a
> conventional
> full decending stack, which means that the affected instruction (ldmib)
> will not
> be used.
> 
> Hence, I think the answer to this is that the ARM Linux OS is not
> susceptible
> to this problem, but user programs could be.  My current experiance
> suggests that
> no user programs currently exist which hit this problem.
>    _____
>   |_____| ------------------------------------------------- ---+---+-
>   |   |        Russell King       [email-masked]      --- ---
>   | | | |  http://www.arm.linux.org.uk/~rmk/armlinux.html    /  /  |
>   | +-+-+                                                     --- -+-
>   /   |               THE developer of ARM Linux              |+| /|\
>  /  | | |                                                     ---  |
>     +-+-+ -------------------------------------------------  /\\\  |

---

From: "Stephen Noftall" <[email-masked]>
Date: Fri, 12 Mar 1999 15:43:39 -0700

From: Winnie Wong <[email-masked]>

>What kind of tests / applications you think may trigger this issue to occur

I think this bug only occurs in Virtual Memory hits. The best way to test it (I
think), would be to write a simple app that allocates 128MB (or how much you
have as memory), and be constantly hitting hit, while at the same time have the
susceptible program running. Don't know what the error would be, but maybe make
the VM test program a memory tester as well...

Stephen